diff options
Diffstat (limited to 'drivers/net/ethernet/brocade/bna/bfa_ioc.h')
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bfa_ioc.h | 43 |
1 files changed, 11 insertions, 32 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bfa_ioc.h b/drivers/net/ethernet/brocade/bna/bfa_ioc.h index 3b4460fdc148..63a85e555df8 100644 --- a/drivers/net/ethernet/brocade/bna/bfa_ioc.h +++ b/drivers/net/ethernet/brocade/bna/bfa_ioc.h | |||
@@ -30,9 +30,7 @@ | |||
30 | #define BNA_DBG_FWTRC_LEN (BFI_IOC_TRC_ENTS * BFI_IOC_TRC_ENT_SZ + \ | 30 | #define BNA_DBG_FWTRC_LEN (BFI_IOC_TRC_ENTS * BFI_IOC_TRC_ENT_SZ + \ |
31 | BFI_IOC_TRC_HDR_SZ) | 31 | BFI_IOC_TRC_HDR_SZ) |
32 | 32 | ||
33 | /** | 33 | /* PCI device information required by IOC */ |
34 | * PCI device information required by IOC | ||
35 | */ | ||
36 | struct bfa_pcidev { | 34 | struct bfa_pcidev { |
37 | int pci_slot; | 35 | int pci_slot; |
38 | u8 pci_func; | 36 | u8 pci_func; |
@@ -41,8 +39,7 @@ struct bfa_pcidev { | |||
41 | void __iomem *pci_bar_kva; | 39 | void __iomem *pci_bar_kva; |
42 | }; | 40 | }; |
43 | 41 | ||
44 | /** | 42 | /* Structure used to remember the DMA-able memory block's KVA and Physical |
45 | * Structure used to remember the DMA-able memory block's KVA and Physical | ||
46 | * Address | 43 | * Address |
47 | */ | 44 | */ |
48 | struct bfa_dma { | 45 | struct bfa_dma { |
@@ -52,15 +49,11 @@ struct bfa_dma { | |||
52 | 49 | ||
53 | #define BFA_DMA_ALIGN_SZ 256 | 50 | #define BFA_DMA_ALIGN_SZ 256 |
54 | 51 | ||
55 | /** | 52 | /* smem size for Crossbow and Catapult */ |
56 | * smem size for Crossbow and Catapult | ||
57 | */ | ||
58 | #define BFI_SMEM_CB_SIZE 0x200000U /* ! 2MB for crossbow */ | 53 | #define BFI_SMEM_CB_SIZE 0x200000U /* ! 2MB for crossbow */ |
59 | #define BFI_SMEM_CT_SIZE 0x280000U /* ! 2.5MB for catapult */ | 54 | #define BFI_SMEM_CT_SIZE 0x280000U /* ! 2.5MB for catapult */ |
60 | 55 | ||
61 | /** | 56 | /* BFA dma address assignment macro. (big endian format) */ |
62 | * @brief BFA dma address assignment macro. (big endian format) | ||
63 | */ | ||
64 | #define bfa_dma_be_addr_set(dma_addr, pa) \ | 57 | #define bfa_dma_be_addr_set(dma_addr, pa) \ |
65 | __bfa_dma_be_addr_set(&dma_addr, (u64)pa) | 58 | __bfa_dma_be_addr_set(&dma_addr, (u64)pa) |
66 | static inline void | 59 | static inline void |
@@ -108,9 +101,7 @@ struct bfa_ioc_regs { | |||
108 | u32 smem_pg0; | 101 | u32 smem_pg0; |
109 | }; | 102 | }; |
110 | 103 | ||
111 | /** | 104 | /* IOC Mailbox structures */ |
112 | * IOC Mailbox structures | ||
113 | */ | ||
114 | typedef void (*bfa_mbox_cmd_cbfn_t)(void *cbarg); | 105 | typedef void (*bfa_mbox_cmd_cbfn_t)(void *cbarg); |
115 | struct bfa_mbox_cmd { | 106 | struct bfa_mbox_cmd { |
116 | struct list_head qe; | 107 | struct list_head qe; |
@@ -119,9 +110,7 @@ struct bfa_mbox_cmd { | |||
119 | u32 msg[BFI_IOC_MSGSZ]; | 110 | u32 msg[BFI_IOC_MSGSZ]; |
120 | }; | 111 | }; |
121 | 112 | ||
122 | /** | 113 | /* IOC mailbox module */ |
123 | * IOC mailbox module | ||
124 | */ | ||
125 | typedef void (*bfa_ioc_mbox_mcfunc_t)(void *cbarg, struct bfi_mbmsg *m); | 114 | typedef void (*bfa_ioc_mbox_mcfunc_t)(void *cbarg, struct bfi_mbmsg *m); |
126 | struct bfa_ioc_mbox_mod { | 115 | struct bfa_ioc_mbox_mod { |
127 | struct list_head cmd_q; /*!< pending mbox queue */ | 116 | struct list_head cmd_q; /*!< pending mbox queue */ |
@@ -132,9 +121,7 @@ struct bfa_ioc_mbox_mod { | |||
132 | } mbhdlr[BFI_MC_MAX]; | 121 | } mbhdlr[BFI_MC_MAX]; |
133 | }; | 122 | }; |
134 | 123 | ||
135 | /** | 124 | /* IOC callback function interfaces */ |
136 | * IOC callback function interfaces | ||
137 | */ | ||
138 | typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status); | 125 | typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status); |
139 | typedef void (*bfa_ioc_disable_cbfn_t)(void *bfa); | 126 | typedef void (*bfa_ioc_disable_cbfn_t)(void *bfa); |
140 | typedef void (*bfa_ioc_hbfail_cbfn_t)(void *bfa); | 127 | typedef void (*bfa_ioc_hbfail_cbfn_t)(void *bfa); |
@@ -146,9 +133,7 @@ struct bfa_ioc_cbfn { | |||
146 | bfa_ioc_reset_cbfn_t reset_cbfn; | 133 | bfa_ioc_reset_cbfn_t reset_cbfn; |
147 | }; | 134 | }; |
148 | 135 | ||
149 | /** | 136 | /* IOC event notification mechanism. */ |
150 | * IOC event notification mechanism. | ||
151 | */ | ||
152 | enum bfa_ioc_event { | 137 | enum bfa_ioc_event { |
153 | BFA_IOC_E_ENABLED = 1, | 138 | BFA_IOC_E_ENABLED = 1, |
154 | BFA_IOC_E_DISABLED = 2, | 139 | BFA_IOC_E_DISABLED = 2, |
@@ -163,9 +148,7 @@ struct bfa_ioc_notify { | |||
163 | void *cbarg; | 148 | void *cbarg; |
164 | }; | 149 | }; |
165 | 150 | ||
166 | /** | 151 | /* Initialize a IOC event notification structure */ |
167 | * Initialize a IOC event notification structure | ||
168 | */ | ||
169 | #define bfa_ioc_notify_init(__notify, __cbfn, __cbarg) do { \ | 152 | #define bfa_ioc_notify_init(__notify, __cbfn, __cbarg) do { \ |
170 | (__notify)->cbfn = (__cbfn); \ | 153 | (__notify)->cbfn = (__cbfn); \ |
171 | (__notify)->cbarg = (__cbarg); \ | 154 | (__notify)->cbarg = (__cbarg); \ |
@@ -261,9 +244,7 @@ struct bfa_ioc_hwif { | |||
261 | #define BFA_IOC_FLASH_OFFSET_IN_CHUNK(off) (off % BFI_FLASH_CHUNK_SZ_WORDS) | 244 | #define BFA_IOC_FLASH_OFFSET_IN_CHUNK(off) (off % BFI_FLASH_CHUNK_SZ_WORDS) |
262 | #define BFA_IOC_FLASH_CHUNK_ADDR(chunkno) (chunkno * BFI_FLASH_CHUNK_SZ_WORDS) | 245 | #define BFA_IOC_FLASH_CHUNK_ADDR(chunkno) (chunkno * BFI_FLASH_CHUNK_SZ_WORDS) |
263 | 246 | ||
264 | /** | 247 | /* IOC mailbox interface */ |
265 | * IOC mailbox interface | ||
266 | */ | ||
267 | bool bfa_nw_ioc_mbox_queue(struct bfa_ioc *ioc, | 248 | bool bfa_nw_ioc_mbox_queue(struct bfa_ioc *ioc, |
268 | struct bfa_mbox_cmd *cmd, | 249 | struct bfa_mbox_cmd *cmd, |
269 | bfa_mbox_cmd_cbfn_t cbfn, void *cbarg); | 250 | bfa_mbox_cmd_cbfn_t cbfn, void *cbarg); |
@@ -271,9 +252,7 @@ void bfa_nw_ioc_mbox_isr(struct bfa_ioc *ioc); | |||
271 | void bfa_nw_ioc_mbox_regisr(struct bfa_ioc *ioc, enum bfi_mclass mc, | 252 | void bfa_nw_ioc_mbox_regisr(struct bfa_ioc *ioc, enum bfi_mclass mc, |
272 | bfa_ioc_mbox_mcfunc_t cbfn, void *cbarg); | 253 | bfa_ioc_mbox_mcfunc_t cbfn, void *cbarg); |
273 | 254 | ||
274 | /** | 255 | /* IOC interfaces */ |
275 | * IOC interfaces | ||
276 | */ | ||
277 | 256 | ||
278 | #define bfa_ioc_pll_init_asic(__ioc) \ | 257 | #define bfa_ioc_pll_init_asic(__ioc) \ |
279 | ((__ioc)->ioc_hwif->ioc_pll_init((__ioc)->pcidev.pci_bar_kva, \ | 258 | ((__ioc)->ioc_hwif->ioc_pll_init((__ioc)->pcidev.pci_bar_kva, \ |