132a47e72SYuval Mintz /* QLogic qed NIC Driver
232a47e72SYuval Mintz  * Copyright (c) 2015 QLogic Corporation
332a47e72SYuval Mintz  *
432a47e72SYuval Mintz  * This software is available under the terms of the GNU General Public License
532a47e72SYuval Mintz  * (GPL) Version 2, available from the file COPYING in the main directory of
632a47e72SYuval Mintz  * this source tree.
732a47e72SYuval Mintz  */
832a47e72SYuval Mintz 
932a47e72SYuval Mintz #ifndef _QED_VF_H
1032a47e72SYuval Mintz #define _QED_VF_H
1132a47e72SYuval Mintz 
1232a47e72SYuval Mintz #define TLV_BUFFER_SIZE                 1024
1332a47e72SYuval Mintz struct tlv_buffer_size {
1432a47e72SYuval Mintz 	u8 tlv_buffer[TLV_BUFFER_SIZE];
1532a47e72SYuval Mintz };
1632a47e72SYuval Mintz 
1732a47e72SYuval Mintz union vfpf_tlvs {
1832a47e72SYuval Mintz 	struct tlv_buffer_size tlv_buf_size;
1932a47e72SYuval Mintz };
2032a47e72SYuval Mintz 
2132a47e72SYuval Mintz union pfvf_tlvs {
2232a47e72SYuval Mintz 	struct tlv_buffer_size tlv_buf_size;
2332a47e72SYuval Mintz };
2432a47e72SYuval Mintz 
2532a47e72SYuval Mintz struct qed_bulletin_content {
2632a47e72SYuval Mintz 	/* crc of structure to ensure is not in mid-update */
2732a47e72SYuval Mintz 	u32 crc;
2832a47e72SYuval Mintz 
2932a47e72SYuval Mintz 	u32 version;
3032a47e72SYuval Mintz 
3132a47e72SYuval Mintz 	/* bitmap indicating which fields hold valid values */
3232a47e72SYuval Mintz 	u64 valid_bitmap;
3332a47e72SYuval Mintz };
3432a47e72SYuval Mintz 
3532a47e72SYuval Mintz struct qed_bulletin {
3632a47e72SYuval Mintz 	dma_addr_t phys;
3732a47e72SYuval Mintz 	struct qed_bulletin_content *p_virt;
3832a47e72SYuval Mintz 	u32 size;
3932a47e72SYuval Mintz };
4032a47e72SYuval Mintz 
4132a47e72SYuval Mintz #endif
42