1ee824f4bSOmkar Kulkarni /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2ee824f4bSOmkar Kulkarni /* QLogic qed NIC Driver
3ee824f4bSOmkar Kulkarni  * Copyright (c) 2019-2021 Marvell International Ltd.
4ee824f4bSOmkar Kulkarni  */
5ee824f4bSOmkar Kulkarni 
6ee824f4bSOmkar Kulkarni #ifndef _QED_IRO_HSI_H
7ee824f4bSOmkar Kulkarni #define _QED_IRO_HSI_H
8ee824f4bSOmkar Kulkarni 
9ee824f4bSOmkar Kulkarni #include <linux/types.h>
10ee824f4bSOmkar Kulkarni 
113091be06SPrabhakar Kushwaha enum {
12*e2dbc223SPrabhakar Kushwaha 	IRO_YSTORM_FLOW_CONTROL_MODE_GTT,
13*e2dbc223SPrabhakar Kushwaha 	IRO_PSTORM_PKT_DUPLICATION_CFG,
143091be06SPrabhakar Kushwaha 	IRO_TSTORM_PORT_STAT,
153091be06SPrabhakar Kushwaha 	IRO_TSTORM_LL2_PORT_STAT,
16*e2dbc223SPrabhakar Kushwaha 	IRO_TSTORM_PKT_DUPLICATION_CFG,
17*e2dbc223SPrabhakar Kushwaha 	IRO_USTORM_VF_PF_CHANNEL_READY_GTT,
18*e2dbc223SPrabhakar Kushwaha 	IRO_USTORM_FLR_FINAL_ACK_GTT,
19*e2dbc223SPrabhakar Kushwaha 	IRO_USTORM_EQE_CONS_GTT,
20*e2dbc223SPrabhakar Kushwaha 	IRO_USTORM_ETH_QUEUE_ZONE_GTT,
21*e2dbc223SPrabhakar Kushwaha 	IRO_USTORM_COMMON_QUEUE_CONS_GTT,
223091be06SPrabhakar Kushwaha 	IRO_XSTORM_PQ_INFO,
233091be06SPrabhakar Kushwaha 	IRO_XSTORM_INTEG_TEST_DATA,
243091be06SPrabhakar Kushwaha 	IRO_YSTORM_INTEG_TEST_DATA,
253091be06SPrabhakar Kushwaha 	IRO_PSTORM_INTEG_TEST_DATA,
263091be06SPrabhakar Kushwaha 	IRO_TSTORM_INTEG_TEST_DATA,
273091be06SPrabhakar Kushwaha 	IRO_MSTORM_INTEG_TEST_DATA,
283091be06SPrabhakar Kushwaha 	IRO_USTORM_INTEG_TEST_DATA,
293091be06SPrabhakar Kushwaha 	IRO_XSTORM_OVERLAY_BUF_ADDR,
303091be06SPrabhakar Kushwaha 	IRO_YSTORM_OVERLAY_BUF_ADDR,
313091be06SPrabhakar Kushwaha 	IRO_PSTORM_OVERLAY_BUF_ADDR,
323091be06SPrabhakar Kushwaha 	IRO_TSTORM_OVERLAY_BUF_ADDR,
333091be06SPrabhakar Kushwaha 	IRO_MSTORM_OVERLAY_BUF_ADDR,
343091be06SPrabhakar Kushwaha 	IRO_USTORM_OVERLAY_BUF_ADDR,
35*e2dbc223SPrabhakar Kushwaha 	IRO_TSTORM_LL2_RX_PRODS_GTT,
363091be06SPrabhakar Kushwaha 	IRO_CORE_LL2_TSTORM_PER_QUEUE_STAT,
373091be06SPrabhakar Kushwaha 	IRO_CORE_LL2_USTORM_PER_QUEUE_STAT,
383091be06SPrabhakar Kushwaha 	IRO_CORE_LL2_PSTORM_PER_QUEUE_STAT,
393091be06SPrabhakar Kushwaha 	IRO_MSTORM_QUEUE_STAT,
403091be06SPrabhakar Kushwaha 	IRO_MSTORM_TPA_TIMEOUT_US,
413091be06SPrabhakar Kushwaha 	IRO_MSTORM_ETH_VF_PRODS,
42*e2dbc223SPrabhakar Kushwaha 	IRO_MSTORM_ETH_PF_PRODS_GTT,
433091be06SPrabhakar Kushwaha 	IRO_MSTORM_ETH_PF_STAT,
443091be06SPrabhakar Kushwaha 	IRO_USTORM_QUEUE_STAT,
453091be06SPrabhakar Kushwaha 	IRO_USTORM_ETH_PF_STAT,
463091be06SPrabhakar Kushwaha 	IRO_PSTORM_QUEUE_STAT,
473091be06SPrabhakar Kushwaha 	IRO_PSTORM_ETH_PF_STAT,
48*e2dbc223SPrabhakar Kushwaha 	IRO_PSTORM_CTL_FRAME_ETHTYPE_GTT,
493091be06SPrabhakar Kushwaha 	IRO_TSTORM_ETH_PRS_INPUT,
503091be06SPrabhakar Kushwaha 	IRO_ETH_RX_RATE_LIMIT,
51*e2dbc223SPrabhakar Kushwaha 	IRO_TSTORM_ETH_RSS_UPDATE_GTT,
52*e2dbc223SPrabhakar Kushwaha 	IRO_XSTORM_ETH_QUEUE_ZONE_GTT,
533091be06SPrabhakar Kushwaha 	IRO_YSTORM_TOE_CQ_PROD,
543091be06SPrabhakar Kushwaha 	IRO_USTORM_TOE_CQ_PROD,
553091be06SPrabhakar Kushwaha 	IRO_USTORM_TOE_GRQ_PROD,
56*e2dbc223SPrabhakar Kushwaha 	IRO_TSTORM_SCSI_CMDQ_CONS_GTT,
57*e2dbc223SPrabhakar Kushwaha 	IRO_TSTORM_SCSI_BDQ_EXT_PROD_GTT,
58*e2dbc223SPrabhakar Kushwaha 	IRO_MSTORM_SCSI_BDQ_EXT_PROD_GTT,
593091be06SPrabhakar Kushwaha 	IRO_TSTORM_ISCSI_RX_STATS,
603091be06SPrabhakar Kushwaha 	IRO_MSTORM_ISCSI_RX_STATS,
613091be06SPrabhakar Kushwaha 	IRO_USTORM_ISCSI_RX_STATS,
623091be06SPrabhakar Kushwaha 	IRO_XSTORM_ISCSI_TX_STATS,
633091be06SPrabhakar Kushwaha 	IRO_YSTORM_ISCSI_TX_STATS,
643091be06SPrabhakar Kushwaha 	IRO_PSTORM_ISCSI_TX_STATS,
653091be06SPrabhakar Kushwaha 	IRO_TSTORM_FCOE_RX_STATS,
663091be06SPrabhakar Kushwaha 	IRO_PSTORM_FCOE_TX_STATS,
673091be06SPrabhakar Kushwaha 	IRO_PSTORM_RDMA_QUEUE_STAT,
683091be06SPrabhakar Kushwaha 	IRO_TSTORM_RDMA_QUEUE_STAT,
693091be06SPrabhakar Kushwaha 	IRO_XSTORM_RDMA_ASSERT_LEVEL,
703091be06SPrabhakar Kushwaha 	IRO_YSTORM_RDMA_ASSERT_LEVEL,
713091be06SPrabhakar Kushwaha 	IRO_PSTORM_RDMA_ASSERT_LEVEL,
723091be06SPrabhakar Kushwaha 	IRO_TSTORM_RDMA_ASSERT_LEVEL,
733091be06SPrabhakar Kushwaha 	IRO_MSTORM_RDMA_ASSERT_LEVEL,
743091be06SPrabhakar Kushwaha 	IRO_USTORM_RDMA_ASSERT_LEVEL,
753091be06SPrabhakar Kushwaha 	IRO_XSTORM_IWARP_RXMIT_STATS,
763091be06SPrabhakar Kushwaha 	IRO_TSTORM_ROCE_EVENTS_STAT,
773091be06SPrabhakar Kushwaha 	IRO_YSTORM_ROCE_DCQCN_RECEIVED_STATS,
783091be06SPrabhakar Kushwaha 	IRO_YSTORM_ROCE_ERROR_STATS,
793091be06SPrabhakar Kushwaha 	IRO_PSTORM_ROCE_DCQCN_SENT_STATS,
803091be06SPrabhakar Kushwaha 	IRO_USTORM_ROCE_CQE_STATS,
813091be06SPrabhakar Kushwaha };
82ee824f4bSOmkar Kulkarni 
833091be06SPrabhakar Kushwaha /* Pstorm LiteL2 queue statistics */
84ee824f4bSOmkar Kulkarni 
853091be06SPrabhakar Kushwaha #define CORE_LL2_PSTORM_PER_QUEUE_STAT_OFFSET(core_tx_stats_id) \
863091be06SPrabhakar Kushwaha 	(IRO[IRO_CORE_LL2_PSTORM_PER_QUEUE_STAT].base           \
873091be06SPrabhakar Kushwaha 	+ ((core_tx_stats_id) * IRO[IRO_CORE_LL2_PSTORM_PER_QUEUE_STAT].m1))
883091be06SPrabhakar Kushwaha #define CORE_LL2_PSTORM_PER_QUEUE_STAT_SIZE \
893091be06SPrabhakar Kushwaha 				(IRO[IRO_CORE_LL2_PSTORM_PER_QUEUE_STAT].size)
90ee824f4bSOmkar Kulkarni 
91ee824f4bSOmkar Kulkarni /* Tstorm LightL2 queue statistics */
92ee824f4bSOmkar Kulkarni #define CORE_LL2_TSTORM_PER_QUEUE_STAT_OFFSET(core_rx_queue_id) \
933091be06SPrabhakar Kushwaha 	(IRO[IRO_CORE_LL2_TSTORM_PER_QUEUE_STAT].base           \
943091be06SPrabhakar Kushwaha 	 + ((core_rx_queue_id) * IRO[IRO_CORE_LL2_TSTORM_PER_QUEUE_STAT].m1))
953091be06SPrabhakar Kushwaha #define CORE_LL2_TSTORM_PER_QUEUE_STAT_SIZE \
963091be06SPrabhakar Kushwaha 				(IRO[IRO_CORE_LL2_TSTORM_PER_QUEUE_STAT].size)
97ee824f4bSOmkar Kulkarni 
98ee824f4bSOmkar Kulkarni /* Ustorm LiteL2 queue statistics */
99ee824f4bSOmkar Kulkarni #define CORE_LL2_USTORM_PER_QUEUE_STAT_OFFSET(core_rx_queue_id) \
1003091be06SPrabhakar Kushwaha 	(IRO[IRO_CORE_LL2_USTORM_PER_QUEUE_STAT].base           \
1013091be06SPrabhakar Kushwaha 	 + ((core_rx_queue_id) * IRO[IRO_CORE_LL2_USTORM_PER_QUEUE_STAT].m1))
1023091be06SPrabhakar Kushwaha #define CORE_LL2_USTORM_PER_QUEUE_STAT_SIZE \
1033091be06SPrabhakar Kushwaha 				(IRO[IRO_CORE_LL2_USTORM_PER_QUEUE_STAT].size)
104ee824f4bSOmkar Kulkarni 
105ee824f4bSOmkar Kulkarni /* Tstorm Eth limit Rx rate */
106ee824f4bSOmkar Kulkarni #define ETH_RX_RATE_LIMIT_OFFSET(pf_id)  \
1073091be06SPrabhakar Kushwaha 	(IRO[IRO_ETH_RX_RATE_LIMIT].base \
1083091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_ETH_RX_RATE_LIMIT].m1))
1093091be06SPrabhakar Kushwaha #define ETH_RX_RATE_LIMIT_SIZE (IRO[IRO_ETH_RX_RATE_LIMIT].size)
110ee824f4bSOmkar Kulkarni 
1113091be06SPrabhakar Kushwaha /* Mstorm ETH PF queues producers */
112*e2dbc223SPrabhakar Kushwaha #define MSTORM_ETH_PF_PRODS_GTT_OFFSET(queue_id) \
113*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_ETH_PF_PRODS_GTT].base   \
114*e2dbc223SPrabhakar Kushwaha 	 + ((queue_id) * IRO[IRO_MSTORM_ETH_PF_PRODS_GTT].m1))
115*e2dbc223SPrabhakar Kushwaha #define MSTORM_ETH_PF_PRODS_GTT_SIZE (IRO[IRO_MSTORM_ETH_PF_PRODS_GTT].size)
1163091be06SPrabhakar Kushwaha 
1173091be06SPrabhakar Kushwaha /* Mstorm pf statistics */
1183091be06SPrabhakar Kushwaha #define MSTORM_ETH_PF_STAT_OFFSET(pf_id)  \
1193091be06SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_ETH_PF_STAT].base \
1203091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_MSTORM_ETH_PF_STAT].m1))
1213091be06SPrabhakar Kushwaha #define MSTORM_ETH_PF_STAT_SIZE (IRO[IRO_MSTORM_ETH_PF_STAT].size)
1223091be06SPrabhakar Kushwaha 
1233091be06SPrabhakar Kushwaha /* Mstorm ETH VF queues producers offset in RAM. Used in default VF zone
1243091be06SPrabhakar Kushwaha  * size mode.
125ee824f4bSOmkar Kulkarni  */
1263091be06SPrabhakar Kushwaha #define MSTORM_ETH_VF_PRODS_OFFSET(vf_id, vf_queue_id) \
1273091be06SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_ETH_VF_PRODS].base             \
1283091be06SPrabhakar Kushwaha 	 + ((vf_id) * IRO[IRO_MSTORM_ETH_VF_PRODS].m1) \
1293091be06SPrabhakar Kushwaha 	 + ((vf_queue_id) * IRO[IRO_MSTORM_ETH_VF_PRODS].m2))
1303091be06SPrabhakar Kushwaha #define MSTORM_ETH_VF_PRODS_SIZE (IRO[IRO_MSTORM_ETH_VF_PRODS].size)
131ee824f4bSOmkar Kulkarni 
1323091be06SPrabhakar Kushwaha /* Mstorm Integration Test Data */
1333091be06SPrabhakar Kushwaha #define MSTORM_INTEG_TEST_DATA_OFFSET (IRO[IRO_MSTORM_INTEG_TEST_DATA].base)
1343091be06SPrabhakar Kushwaha #define MSTORM_INTEG_TEST_DATA_SIZE (IRO[IRO_MSTORM_INTEG_TEST_DATA].size)
135ee824f4bSOmkar Kulkarni 
136ee824f4bSOmkar Kulkarni /* Mstorm iSCSI RX stats */
137ee824f4bSOmkar Kulkarni #define MSTORM_ISCSI_RX_STATS_OFFSET(storage_func_id) \
1383091be06SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_ISCSI_RX_STATS].base          \
1393091be06SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_MSTORM_ISCSI_RX_STATS].m1))
1403091be06SPrabhakar Kushwaha #define MSTORM_ISCSI_RX_STATS_SIZE (IRO[IRO_MSTORM_ISCSI_RX_STATS].size)
141ee824f4bSOmkar Kulkarni 
1423091be06SPrabhakar Kushwaha /* Mstorm overlay buffer host address */
1433091be06SPrabhakar Kushwaha #define MSTORM_OVERLAY_BUF_ADDR_OFFSET (IRO[IRO_MSTORM_OVERLAY_BUF_ADDR].base)
1443091be06SPrabhakar Kushwaha #define MSTORM_OVERLAY_BUF_ADDR_SIZE (IRO[IRO_MSTORM_OVERLAY_BUF_ADDR].size)
145ee824f4bSOmkar Kulkarni 
1463091be06SPrabhakar Kushwaha /* Mstorm queue statistics */
1473091be06SPrabhakar Kushwaha #define MSTORM_QUEUE_STAT_OFFSET(stat_counter_id) \
1483091be06SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_QUEUE_STAT].base          \
1493091be06SPrabhakar Kushwaha 	 + ((stat_counter_id) * IRO[IRO_MSTORM_QUEUE_STAT].m1))
1503091be06SPrabhakar Kushwaha #define MSTORM_QUEUE_STAT_SIZ (IRO[IRO_MSTORM_QUEUE_STAT].size)
151ee824f4bSOmkar Kulkarni 
152ee824f4bSOmkar Kulkarni /* Mstorm error level for assert */
153ee824f4bSOmkar Kulkarni #define MSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)  \
1543091be06SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_RDMA_ASSERT_LEVEL].base \
1553091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_MSTORM_RDMA_ASSERT_LEVEL].m1))
1563091be06SPrabhakar Kushwaha #define MSTORM_RDMA_ASSERT_LEVEL_SIZE (IRO[IRO_MSTORM_RDMA_ASSERT_LEVEL].size)
157ee824f4bSOmkar Kulkarni 
1583091be06SPrabhakar Kushwaha /* Mstorm bdq-external-producer of given BDQ resource ID, BDqueue-id */
159*e2dbc223SPrabhakar Kushwaha #define MSTORM_SCSI_BDQ_EXT_PROD_GTT_OFFSET(storage_func_id, bdq_id)      \
160*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_MSTORM_SCSI_BDQ_EXT_PROD_GTT].base                       \
161*e2dbc223SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_MSTORM_SCSI_BDQ_EXT_PROD_GTT].m1) \
162*e2dbc223SPrabhakar Kushwaha 	 + ((bdq_id) * IRO[IRO_MSTORM_SCSI_BDQ_EXT_PROD_GTT].m2))
163*e2dbc223SPrabhakar Kushwaha #define MSTORM_SCSI_BDQ_EXT_PROD_GTT_SIZE \
164*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_MSTORM_SCSI_BDQ_EXT_PROD_GTT].size)
165ee824f4bSOmkar Kulkarni 
1663091be06SPrabhakar Kushwaha /* TPA agregation timeout in us resolution (on ASIC) */
1673091be06SPrabhakar Kushwaha #define MSTORM_TPA_TIMEOUT_US_OFFSET (IRO[IRO_MSTORM_TPA_TIMEOUT_US].base)
1683091be06SPrabhakar Kushwaha #define MSTORM_TPA_TIMEOUT_US_SIZE (IRO[IRO_MSTORM_TPA_TIMEOUT_US].size)
169ee824f4bSOmkar Kulkarni 
1703091be06SPrabhakar Kushwaha /* Control frame's EthType configuration for TX control frame security */
171*e2dbc223SPrabhakar Kushwaha #define PSTORM_CTL_FRAME_ETHTYPE_GTT_OFFSET(ethtype_id) \
172*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_CTL_FRAME_ETHTYPE_GTT].base     \
173*e2dbc223SPrabhakar Kushwaha 	 + ((ethtype_id) * IRO[IRO_PSTORM_CTL_FRAME_ETHTYPE_GTT].m1))
174*e2dbc223SPrabhakar Kushwaha #define PSTORM_CTL_FRAME_ETHTYPE_GTT_SIZE \
175*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_PSTORM_CTL_FRAME_ETHTYPE_GTT].size)
176ee824f4bSOmkar Kulkarni 
1773091be06SPrabhakar Kushwaha /* Pstorm pf statistics */
1783091be06SPrabhakar Kushwaha #define PSTORM_ETH_PF_STAT_OFFSET(pf_id)  \
1793091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_ETH_PF_STAT].base \
1803091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_PSTORM_ETH_PF_STAT].m1))
1813091be06SPrabhakar Kushwaha #define PSTORM_ETH_PF_STAT_SIZE (IRO[IRO_PSTORM_ETH_PF_STAT].size)
182ee824f4bSOmkar Kulkarni 
1833091be06SPrabhakar Kushwaha /* Pstorm FCoE TX stats */
1843091be06SPrabhakar Kushwaha #define PSTORM_FCOE_TX_STATS_OFFSET(pf_id)  \
1853091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_FCOE_TX_STATS].base \
1863091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_PSTORM_FCOE_TX_STATS].m1))
1873091be06SPrabhakar Kushwaha #define PSTORM_FCOE_TX_STATS_SIZE (IRO[IRO_PSTORM_FCOE_TX_STATS].size)
1883091be06SPrabhakar Kushwaha 
1893091be06SPrabhakar Kushwaha /* Pstorm Integration Test Data */
1903091be06SPrabhakar Kushwaha #define PSTORM_INTEG_TEST_DATA_OFFSET (IRO[IRO_PSTORM_INTEG_TEST_DATA].base)
1913091be06SPrabhakar Kushwaha #define PSTORM_INTEG_TEST_DATA_SIZE (IRO[IRO_PSTORM_INTEG_TEST_DATA].size)
1923091be06SPrabhakar Kushwaha 
1933091be06SPrabhakar Kushwaha /* Pstorm iSCSI TX stats */
1943091be06SPrabhakar Kushwaha #define PSTORM_ISCSI_TX_STATS_OFFSET(storage_func_id) \
1953091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_ISCSI_TX_STATS].base          \
1963091be06SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_PSTORM_ISCSI_TX_STATS].m1))
1973091be06SPrabhakar Kushwaha #define PSTORM_ISCSI_TX_STATS_SIZE (IRO[IRO_PSTORM_ISCSI_TX_STATS].size)
1983091be06SPrabhakar Kushwaha 
1993091be06SPrabhakar Kushwaha /* Pstorm overlay buffer host address */
2003091be06SPrabhakar Kushwaha #define PSTORM_OVERLAY_BUF_ADDR_OFFSET (IRO[IRO_PSTORM_OVERLAY_BUF_ADDR].base)
2013091be06SPrabhakar Kushwaha #define PSTORM_OVERLAY_BUF_ADDR_SIZE (IRO[IRO_PSTORM_OVERLAY_BUF_ADDR].size)
2023091be06SPrabhakar Kushwaha 
203*e2dbc223SPrabhakar Kushwaha /* Pstorm LL2 packet duplication configuration. Use pstorm_pkt_dup_cfg
204*e2dbc223SPrabhakar Kushwaha  * data type.
205*e2dbc223SPrabhakar Kushwaha  */
206*e2dbc223SPrabhakar Kushwaha #define PSTORM_PKT_DUPLICATION_CFG_OFFSET(pf_id) \
207*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_PKT_DUPLICATION_CFG].base \
208*e2dbc223SPrabhakar Kushwaha 	+ ((pf_id) * IRO[IRO_PSTORM_PKT_DUPLICATION_CFG].m1))
209*e2dbc223SPrabhakar Kushwaha #define PSTORM_PKT_DUPLICATION_CFG_SIZE \
210*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_PSTORM_PKT_DUPLICATION_CFG].size)
211*e2dbc223SPrabhakar Kushwaha 
2123091be06SPrabhakar Kushwaha /* Pstorm queue statistics */
2133091be06SPrabhakar Kushwaha #define PSTORM_QUEUE_STAT_OFFSET(stat_counter_id) \
2143091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_QUEUE_STAT].base          \
2153091be06SPrabhakar Kushwaha 	 + ((stat_counter_id) * IRO[IRO_PSTORM_QUEUE_STAT].m1))
2163091be06SPrabhakar Kushwaha #define PSTORM_QUEUE_STAT_SIZE (IRO[IRO_PSTORM_QUEUE_STAT].size)
2173091be06SPrabhakar Kushwaha 
2183091be06SPrabhakar Kushwaha /* Pstorm error level for assert */
2193091be06SPrabhakar Kushwaha #define PSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)  \
2203091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_RDMA_ASSERT_LEVEL].base \
2213091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_PSTORM_RDMA_ASSERT_LEVEL].m1))
2223091be06SPrabhakar Kushwaha #define PSTORM_RDMA_ASSERT_LEVEL_SIZE (IRO[IRO_PSTORM_RDMA_ASSERT_LEVEL].size)
2233091be06SPrabhakar Kushwaha 
2243091be06SPrabhakar Kushwaha /* Pstorm RDMA queue statistics */
2253091be06SPrabhakar Kushwaha #define PSTORM_RDMA_QUEUE_STAT_OFFSET(rdma_stat_counter_id) \
2263091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_RDMA_QUEUE_STAT].base               \
2273091be06SPrabhakar Kushwaha 	 + ((rdma_stat_counter_id) * IRO[IRO_PSTORM_RDMA_QUEUE_STAT].m1))
2283091be06SPrabhakar Kushwaha #define PSTORM_RDMA_QUEUE_STAT_SIZE (IRO[IRO_PSTORM_RDMA_QUEUE_STAT].size)
229ee824f4bSOmkar Kulkarni 
230ee824f4bSOmkar Kulkarni /* DCQCN Sent Statistics */
231ee824f4bSOmkar Kulkarni #define PSTORM_ROCE_DCQCN_SENT_STATS_OFFSET(roce_pf_id) \
2323091be06SPrabhakar Kushwaha 	(IRO[IRO_PSTORM_ROCE_DCQCN_SENT_STATS].base     \
2333091be06SPrabhakar Kushwaha 	 + ((roce_pf_id) * IRO[IRO_PSTORM_ROCE_DCQCN_SENT_STATS].m1))
2343091be06SPrabhakar Kushwaha #define PSTORM_ROCE_DCQCN_SENT_STATS_SIZE \
2353091be06SPrabhakar Kushwaha 				(IRO[IRO_PSTORM_ROCE_DCQCN_SENT_STATS].size)
2363091be06SPrabhakar Kushwaha 
2373091be06SPrabhakar Kushwaha /* Tstorm last parser message */
2383091be06SPrabhakar Kushwaha #define TSTORM_ETH_PRS_INPUT_OFFSET (IRO[IRO_TSTORM_ETH_PRS_INPUT].base)
2393091be06SPrabhakar Kushwaha #define TSTORM_ETH_PRS_INPUT_SIZE (IRO[IRO_TSTORM_ETH_PRS_INPUT].size)
2403091be06SPrabhakar Kushwaha 
2413091be06SPrabhakar Kushwaha /* RSS indirection table entry update command per PF offset in TSTORM PF BAR0.
2423091be06SPrabhakar Kushwaha  * Use eth_tstorm_rss_update_data for update.
2433091be06SPrabhakar Kushwaha  */
244*e2dbc223SPrabhakar Kushwaha #define TSTORM_ETH_RSS_UPDATE_GTT_OFFSET(pf_id)  \
245*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_ETH_RSS_UPDATE_GTT].base \
246*e2dbc223SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_TSTORM_ETH_RSS_UPDATE_GTT].m1))
247*e2dbc223SPrabhakar Kushwaha #define TSTORM_ETH_RSS_UPDATE_GTT_SIZE\
248*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_TSTORM_ETH_RSS_UPDATE_GTT].size)
2493091be06SPrabhakar Kushwaha 
2503091be06SPrabhakar Kushwaha /* Tstorm FCoE RX stats */
2513091be06SPrabhakar Kushwaha #define TSTORM_FCOE_RX_STATS_OFFSET(pf_id)  \
2523091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_FCOE_RX_STATS].base \
2533091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_TSTORM_FCOE_RX_STATS].m1))
2543091be06SPrabhakar Kushwaha #define TSTORM_FCOE_RX_STATS_SIZE (IRO[IRO_TSTORM_FCOE_RX_STATS].size)
2553091be06SPrabhakar Kushwaha 
2563091be06SPrabhakar Kushwaha /* Tstorm Integration Test Data */
2573091be06SPrabhakar Kushwaha #define TSTORM_INTEG_TEST_DATA_OFFSET (IRO[IRO_TSTORM_INTEG_TEST_DATA].base)
2583091be06SPrabhakar Kushwaha #define TSTORM_INTEG_TEST_DATA_SIZE (IRO[IRO_TSTORM_INTEG_TEST_DATA].size)
2593091be06SPrabhakar Kushwaha 
2603091be06SPrabhakar Kushwaha /* Tstorm iSCSI RX stats */
2613091be06SPrabhakar Kushwaha #define TSTORM_ISCSI_RX_STATS_OFFSET(storage_func_id) \
2623091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_ISCSI_RX_STATS].base          \
2633091be06SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_TSTORM_ISCSI_RX_STATS].m1))
2643091be06SPrabhakar Kushwaha #define TSTORM_ISCSI_RX_STATS_SIZE (IRO[IRO_TSTORM_ISCSI_RX_STATS].size)
2653091be06SPrabhakar Kushwaha 
2663091be06SPrabhakar Kushwaha /* Tstorm ll2 port statistics */
2673091be06SPrabhakar Kushwaha #define TSTORM_LL2_PORT_STAT_OFFSET(port_id) \
2683091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_LL2_PORT_STAT].base  \
2693091be06SPrabhakar Kushwaha 	 + ((port_id) * IRO[IRO_TSTORM_LL2_PORT_STAT].m1))
2703091be06SPrabhakar Kushwaha #define TSTORM_LL2_PORT_STAT_SIZE (IRO[IRO_TSTORM_LL2_PORT_STAT].size)
2713091be06SPrabhakar Kushwaha 
2723091be06SPrabhakar Kushwaha /* Tstorm producers */
273*e2dbc223SPrabhakar Kushwaha #define TSTORM_LL2_RX_PRODS_GTT_OFFSET(core_rx_queue_id) \
274*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_LL2_RX_PRODS_GTT].base           \
275*e2dbc223SPrabhakar Kushwaha 	 + ((core_rx_queue_id) * IRO[IRO_TSTORM_LL2_RX_PRODS_GTT].m1))
276*e2dbc223SPrabhakar Kushwaha #define TSTORM_LL2_RX_PRODS_GTT_SIZE (IRO[IRO_TSTORM_LL2_RX_PRODS_GTT].size)
2773091be06SPrabhakar Kushwaha 
2783091be06SPrabhakar Kushwaha /* Tstorm overlay buffer host address */
2793091be06SPrabhakar Kushwaha #define TSTORM_OVERLAY_BUF_ADDR_OFFSET	(IRO[IRO_TSTORM_OVERLAY_BUF_ADDR].base)
2803091be06SPrabhakar Kushwaha 
2813091be06SPrabhakar Kushwaha #define TSTORM_OVERLAY_BUF_ADDR_SIZE (IRO[IRO_TSTORM_OVERLAY_BUF_ADDR].size)
2823091be06SPrabhakar Kushwaha 
283*e2dbc223SPrabhakar Kushwaha /* Tstorm LL2 packet duplication configuration.
284*e2dbc223SPrabhakar Kushwaha  * Use tstorm_pkt_dup_cfg data type.
285*e2dbc223SPrabhakar Kushwaha  */
286*e2dbc223SPrabhakar Kushwaha #define TSTORM_PKT_DUPLICATION_CFG_OFFSET(pf_id)  \
287*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_PKT_DUPLICATION_CFG].base \
288*e2dbc223SPrabhakar Kushwaha 	+ ((pf_id) * IRO[IRO_TSTORM_PKT_DUPLICATION_CFG].m1))
289*e2dbc223SPrabhakar Kushwaha #define TSTORM_PKT_DUPLICATION_CFG_SIZE \
290*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_TSTORM_PKT_DUPLICATION_CFG].size)
291*e2dbc223SPrabhakar Kushwaha 
2923091be06SPrabhakar Kushwaha /* Tstorm port statistics */
2933091be06SPrabhakar Kushwaha #define TSTORM_PORT_STAT_OFFSET(port_id) \
2943091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_PORT_STAT].base  \
2953091be06SPrabhakar Kushwaha 	 + ((port_id) * IRO[IRO_TSTORM_PORT_STAT].m1))
2963091be06SPrabhakar Kushwaha #define TSTORM_PORT_STAT_SIZE (IRO[IRO_TSTORM_PORT_STAT].size)
2973091be06SPrabhakar Kushwaha 
2983091be06SPrabhakar Kushwaha /* Tstorm error level for assert */
2993091be06SPrabhakar Kushwaha #define TSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)  \
3003091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_RDMA_ASSERT_LEVEL].base \
3013091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_TSTORM_RDMA_ASSERT_LEVEL].m1))
3023091be06SPrabhakar Kushwaha #define TSTORM_RDMA_ASSERT_LEVEL_SIZE (IRO[IRO_TSTORM_RDMA_ASSERT_LEVEL].size)
3033091be06SPrabhakar Kushwaha 
3043091be06SPrabhakar Kushwaha /* Tstorm RDMA queue statistics */
3053091be06SPrabhakar Kushwaha #define TSTORM_RDMA_QUEUE_STAT_OFFSET(rdma_stat_counter_id) \
3063091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_RDMA_QUEUE_STAT].base               \
3073091be06SPrabhakar Kushwaha 	 + ((rdma_stat_counter_id) * IRO[IRO_TSTORM_RDMA_QUEUE_STAT].m1))
3083091be06SPrabhakar Kushwaha #define TSTORM_RDMA_QUEUE_STAT_SIZE (IRO[IRO_TSTORM_RDMA_QUEUE_STAT].size)
3093091be06SPrabhakar Kushwaha 
3103091be06SPrabhakar Kushwaha /* Tstorm RoCE Event Statistics */
3113091be06SPrabhakar Kushwaha #define TSTORM_ROCE_EVENTS_STAT_OFFSET(roce_pf_id) \
3123091be06SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_ROCE_EVENTS_STAT].base     \
3133091be06SPrabhakar Kushwaha 	 + ((roce_pf_id) * IRO[IRO_TSTORM_ROCE_EVENTS_STAT].m1))
3143091be06SPrabhakar Kushwaha #define TSTORM_ROCE_EVENTS_STAT_SIZE (IRO[IRO_TSTORM_ROCE_EVENTS_STAT].size)
3153091be06SPrabhakar Kushwaha 
3163091be06SPrabhakar Kushwaha /* Tstorm (reflects M-Storm) bdq-external-producer of given function ID,
3173091be06SPrabhakar Kushwaha  * BDqueue-id.
3183091be06SPrabhakar Kushwaha  */
319*e2dbc223SPrabhakar Kushwaha #define TSTORM_SCSI_BDQ_EXT_PROD_GTT_OFFSET(storage_func_id, bdq_id)      \
320*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_SCSI_BDQ_EXT_PROD_GTT].base                       \
321*e2dbc223SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_TSTORM_SCSI_BDQ_EXT_PROD_GTT].m1) \
322*e2dbc223SPrabhakar Kushwaha 	 + ((bdq_id) * IRO[IRO_TSTORM_SCSI_BDQ_EXT_PROD_GTT].m2))
323*e2dbc223SPrabhakar Kushwaha #define TSTORM_SCSI_BDQ_EXT_PROD_GTT_SIZE \
324*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_TSTORM_SCSI_BDQ_EXT_PROD_GTT].size)
3253091be06SPrabhakar Kushwaha 
3263091be06SPrabhakar Kushwaha /* Tstorm cmdq-cons of given command queue-id */
327*e2dbc223SPrabhakar Kushwaha #define TSTORM_SCSI_CMDQ_CONS_GTT_OFFSET(cmdq_queue_id) \
328*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_TSTORM_SCSI_CMDQ_CONS_GTT].base        \
329*e2dbc223SPrabhakar Kushwaha 	 + ((cmdq_queue_id) * IRO[IRO_TSTORM_SCSI_CMDQ_CONS_GTT].m1))
330*e2dbc223SPrabhakar Kushwaha #define TSTORM_SCSI_CMDQ_CONS_GTT_SIZE \
331*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_TSTORM_SCSI_CMDQ_CONS_GTT].size)
3323091be06SPrabhakar Kushwaha 
3333091be06SPrabhakar Kushwaha /* Ustorm Common Queue ring consumer */
334*e2dbc223SPrabhakar Kushwaha #define USTORM_COMMON_QUEUE_CONS_GTT_OFFSET(queue_zone_id) \
335*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_USTORM_COMMON_QUEUE_CONS_GTT].base        \
336*e2dbc223SPrabhakar Kushwaha 	 + ((queue_zone_id) * IRO[IRO_USTORM_COMMON_QUEUE_CONS_GTT].m1))
337*e2dbc223SPrabhakar Kushwaha #define USTORM_COMMON_QUEUE_CONS_GTT_SIZE \
338*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_USTORM_COMMON_QUEUE_CONS_GTT].size)
3393091be06SPrabhakar Kushwaha 
3403091be06SPrabhakar Kushwaha /* Ustorm Event ring consumer */
341*e2dbc223SPrabhakar Kushwaha #define USTORM_EQE_CONS_GTT_OFFSET(pf_id)  \
342*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_USTORM_EQE_CONS_GTT].base \
343*e2dbc223SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_USTORM_EQE_CONS_GTT].m1))
344*e2dbc223SPrabhakar Kushwaha #define USTORM_EQE_CONS_GTT_SIZE (IRO[IRO_USTORM_EQE_CONS_GTT].size)
3453091be06SPrabhakar Kushwaha 
3463091be06SPrabhakar Kushwaha /* Ustorm pf statistics */
3473091be06SPrabhakar Kushwaha #define USTORM_ETH_PF_STAT_OFFSET(pf_id)  \
3483091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_ETH_PF_STAT].base \
3493091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_USTORM_ETH_PF_STAT].m1))
3503091be06SPrabhakar Kushwaha #define USTORM_ETH_PF_STAT_SIZE	(IRO[IRO_USTORM_ETH_PF_STAT].size)
3513091be06SPrabhakar Kushwaha 
3523091be06SPrabhakar Kushwaha /* Ustorm eth queue zone */
353*e2dbc223SPrabhakar Kushwaha #define USTORM_ETH_QUEUE_ZONE_GTT_OFFSET(queue_zone_id) \
354*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_USTORM_ETH_QUEUE_ZONE_GTT].base        \
355*e2dbc223SPrabhakar Kushwaha 	 + ((queue_zone_id) * IRO[IRO_USTORM_ETH_QUEUE_ZONE_GTT].m1))
356*e2dbc223SPrabhakar Kushwaha #define USTORM_ETH_QUEUE_ZONE_GTT_SIZE (IRO[IRO_USTORM_ETH_QUEUE_ZONE_GTT].size)
3573091be06SPrabhakar Kushwaha 
3583091be06SPrabhakar Kushwaha /* Ustorm Final flr cleanup ack */
359*e2dbc223SPrabhakar Kushwaha #define USTORM_FLR_FINAL_ACK_GTT_OFFSET(pf_id)  \
360*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_USTORM_FLR_FINAL_ACK_GTT].base \
361*e2dbc223SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_USTORM_FLR_FINAL_ACK_GTT].m1))
362*e2dbc223SPrabhakar Kushwaha #define USTORM_FLR_FINAL_ACK_GTT_SIZE (IRO[IRO_USTORM_FLR_FINAL_ACK_GTT].size)
3633091be06SPrabhakar Kushwaha 
3643091be06SPrabhakar Kushwaha /* Ustorm Integration Test Data */
3653091be06SPrabhakar Kushwaha #define USTORM_INTEG_TEST_DATA_OFFSET (IRO[IRO_USTORM_INTEG_TEST_DATA].base)
3663091be06SPrabhakar Kushwaha #define USTORM_INTEG_TEST_DATA_SIZE (IRO[IRO_USTORM_INTEG_TEST_DATA].size)
3673091be06SPrabhakar Kushwaha 
3683091be06SPrabhakar Kushwaha /* Ustorm iSCSI RX stats */
3693091be06SPrabhakar Kushwaha #define USTORM_ISCSI_RX_STATS_OFFSET(storage_func_id) \
3703091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_ISCSI_RX_STATS].base          \
3713091be06SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_USTORM_ISCSI_RX_STATS].m1))
3723091be06SPrabhakar Kushwaha #define USTORM_ISCSI_RX_STATS_SIZE (IRO[IRO_USTORM_ISCSI_RX_STATS].size)
3733091be06SPrabhakar Kushwaha 
3743091be06SPrabhakar Kushwaha /* Ustorm overlay buffer host address */
3753091be06SPrabhakar Kushwaha #define USTORM_OVERLAY_BUF_ADDR_OFFSET (IRO[IRO_USTORM_OVERLAY_BUF_ADDR].base)
3763091be06SPrabhakar Kushwaha #define USTORM_OVERLAY_BUF_ADDR_SIZE (IRO[IRO_USTORM_OVERLAY_BUF_ADDR].size)
3773091be06SPrabhakar Kushwaha 
3783091be06SPrabhakar Kushwaha /* Ustorm queue statistics */
3793091be06SPrabhakar Kushwaha #define USTORM_QUEUE_STAT_OFFSET(stat_counter_id) \
3803091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_QUEUE_STAT].base          \
3813091be06SPrabhakar Kushwaha 	 + ((stat_counter_id) * IRO[IRO_USTORM_QUEUE_STAT].m1))
3823091be06SPrabhakar Kushwaha #define USTORM_QUEUE_STAT_SIZE (IRO[IRO_USTORM_QUEUE_STAT].size)
3833091be06SPrabhakar Kushwaha 
3843091be06SPrabhakar Kushwaha /* Ustorm error level for assert */
3853091be06SPrabhakar Kushwaha #define USTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)  \
3863091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_RDMA_ASSERT_LEVEL].base \
3873091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_USTORM_RDMA_ASSERT_LEVEL].m1))
3883091be06SPrabhakar Kushwaha #define USTORM_RDMA_ASSERT_LEVEL_SIZE (IRO[IRO_USTORM_RDMA_ASSERT_LEVEL].size)
389ee824f4bSOmkar Kulkarni 
390ee824f4bSOmkar Kulkarni /* RoCE CQEs Statistics */
391ee824f4bSOmkar Kulkarni #define USTORM_ROCE_CQE_STATS_OFFSET(roce_pf_id) \
3923091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_ROCE_CQE_STATS].base     \
3933091be06SPrabhakar Kushwaha 	 + ((roce_pf_id) * IRO[IRO_USTORM_ROCE_CQE_STATS].m1))
3943091be06SPrabhakar Kushwaha #define USTORM_ROCE_CQE_STATS_SIZE (IRO[IRO_USTORM_ROCE_CQE_STATS].size)
395ee824f4bSOmkar Kulkarni 
3963091be06SPrabhakar Kushwaha /* Ustorm cqe producer */
3973091be06SPrabhakar Kushwaha #define USTORM_TOE_CQ_PROD_OFFSET(rss_id) \
3983091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_TOE_CQ_PROD].base \
3993091be06SPrabhakar Kushwaha 	 + ((rss_id) * IRO[IRO_USTORM_TOE_CQ_PROD].m1))
4003091be06SPrabhakar Kushwaha #define USTORM_TOE_CQ_PROD_SIZE (IRO[IRO_USTORM_TOE_CQ_PROD].size)
4013091be06SPrabhakar Kushwaha 
4023091be06SPrabhakar Kushwaha /* Ustorm grq producer */
4033091be06SPrabhakar Kushwaha #define USTORM_TOE_GRQ_PROD_OFFSET(pf_id)  \
4043091be06SPrabhakar Kushwaha 	(IRO[IRO_USTORM_TOE_GRQ_PROD].base \
4053091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_USTORM_TOE_GRQ_PROD].m1))
4063091be06SPrabhakar Kushwaha #define USTORM_TOE_GRQ_PROD_SIZE (IRO[IRO_USTORM_TOE_GRQ_PROD].size)
4073091be06SPrabhakar Kushwaha 
4083091be06SPrabhakar Kushwaha /* Ustorm VF-PF Channel ready flag */
409*e2dbc223SPrabhakar Kushwaha #define USTORM_VF_PF_CHANNEL_READY_GTT_OFFSET(vf_id)  \
410*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_USTORM_VF_PF_CHANNEL_READY_GTT].base \
411*e2dbc223SPrabhakar Kushwaha 	 + ((vf_id) * IRO[IRO_USTORM_VF_PF_CHANNEL_READY_GTT].m1))
412*e2dbc223SPrabhakar Kushwaha #define USTORM_VF_PF_CHANNEL_READY_GTT_SIZE \
413*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_USTORM_VF_PF_CHANNEL_READY_GTT].size)
4143091be06SPrabhakar Kushwaha 
4153091be06SPrabhakar Kushwaha /* Xstorm queue zone */
416*e2dbc223SPrabhakar Kushwaha #define XSTORM_ETH_QUEUE_ZONE_GTT_OFFSET(queue_id) \
417*e2dbc223SPrabhakar Kushwaha 	(IRO[IRO_XSTORM_ETH_QUEUE_ZONE_GTT].base   \
418*e2dbc223SPrabhakar Kushwaha 	 + ((queue_id) * IRO[IRO_XSTORM_ETH_QUEUE_ZONE_GTT].m1))
419*e2dbc223SPrabhakar Kushwaha #define XSTORM_ETH_QUEUE_ZONE_GTT_SIZE (IRO[IRO_XSTORM_ETH_QUEUE_ZONE_GTT].size)
4203091be06SPrabhakar Kushwaha 
4213091be06SPrabhakar Kushwaha /* Xstorm Integration Test Data */
4223091be06SPrabhakar Kushwaha #define XSTORM_INTEG_TEST_DATA_OFFSET (IRO[IRO_XSTORM_INTEG_TEST_DATA].base)
4233091be06SPrabhakar Kushwaha #define XSTORM_INTEG_TEST_DATA_SIZE (IRO[IRO_XSTORM_INTEG_TEST_DATA].size)
4243091be06SPrabhakar Kushwaha 
4253091be06SPrabhakar Kushwaha /* Xstorm iSCSI TX stats */
4263091be06SPrabhakar Kushwaha #define XSTORM_ISCSI_TX_STATS_OFFSET(storage_func_id) \
4273091be06SPrabhakar Kushwaha 	(IRO[IRO_XSTORM_ISCSI_TX_STATS].base          \
4283091be06SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_XSTORM_ISCSI_TX_STATS].m1))
4293091be06SPrabhakar Kushwaha #define XSTORM_ISCSI_TX_STATS_SIZE (IRO[IRO_XSTORM_ISCSI_TX_STATS].size)
4303091be06SPrabhakar Kushwaha 
4313091be06SPrabhakar Kushwaha /* Xstorm iWARP rxmit stats */
4323091be06SPrabhakar Kushwaha #define XSTORM_IWARP_RXMIT_STATS_OFFSET(pf_id)  \
4333091be06SPrabhakar Kushwaha 	(IRO[IRO_XSTORM_IWARP_RXMIT_STATS].base \
4343091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_XSTORM_IWARP_RXMIT_STATS].m1))
4353091be06SPrabhakar Kushwaha #define XSTORM_IWARP_RXMIT_STATS_SIZE (IRO[IRO_XSTORM_IWARP_RXMIT_STATS].size)
4363091be06SPrabhakar Kushwaha 
4373091be06SPrabhakar Kushwaha /* Xstorm overlay buffer host address */
4383091be06SPrabhakar Kushwaha #define XSTORM_OVERLAY_BUF_ADDR_OFFSET (IRO[IRO_XSTORM_OVERLAY_BUF_ADDR].base)
4393091be06SPrabhakar Kushwaha #define XSTORM_OVERLAY_BUF_ADDR_SIZE (IRO[IRO_XSTORM_OVERLAY_BUF_ADDR].size)
4403091be06SPrabhakar Kushwaha 
4413091be06SPrabhakar Kushwaha /* Xstorm common PQ info */
4423091be06SPrabhakar Kushwaha #define XSTORM_PQ_INFO_OFFSET(pq_id)  \
4433091be06SPrabhakar Kushwaha 	(IRO[IRO_XSTORM_PQ_INFO].base \
4443091be06SPrabhakar Kushwaha 	 + ((pq_id) * IRO[IRO_XSTORM_PQ_INFO].m1))
4453091be06SPrabhakar Kushwaha #define XSTORM_PQ_INFO_SIZE (IRO[IRO_XSTORM_PQ_INFO].size)
4463091be06SPrabhakar Kushwaha 
4473091be06SPrabhakar Kushwaha /* Xstorm error level for assert */
4483091be06SPrabhakar Kushwaha #define XSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)  \
4493091be06SPrabhakar Kushwaha 	(IRO[IRO_XSTORM_RDMA_ASSERT_LEVEL].base \
4503091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_XSTORM_RDMA_ASSERT_LEVEL].m1))
4513091be06SPrabhakar Kushwaha #define XSTORM_RDMA_ASSERT_LEVEL_SIZE (IRO[IRO_XSTORM_RDMA_ASSERT_LEVEL].size)
4523091be06SPrabhakar Kushwaha 
4533091be06SPrabhakar Kushwaha /* Ystorm flow control mode. Use enum fw_flow_ctrl_mode */
454*e2dbc223SPrabhakar Kushwaha #define YSTORM_FLOW_CONTROL_MODE_GTT_OFFSET \
455*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_YSTORM_FLOW_CONTROL_MODE_GTT].base)
456*e2dbc223SPrabhakar Kushwaha #define YSTORM_FLOW_CONTROL_MODE_GTT_SIZE \
457*e2dbc223SPrabhakar Kushwaha 				(IRO[IRO_YSTORM_FLOW_CONTROL_MODE_GTT].size)
4583091be06SPrabhakar Kushwaha 
4593091be06SPrabhakar Kushwaha /* Ystorm Integration Test Data */
4603091be06SPrabhakar Kushwaha #define YSTORM_INTEG_TEST_DATA_OFFSET (IRO[IRO_YSTORM_INTEG_TEST_DATA].base)
4613091be06SPrabhakar Kushwaha #define YSTORM_INTEG_TEST_DATA_SIZE (IRO[IRO_YSTORM_INTEG_TEST_DATA].size)
4623091be06SPrabhakar Kushwaha 
4633091be06SPrabhakar Kushwaha /* Ystorm iSCSI TX stats */
4643091be06SPrabhakar Kushwaha #define YSTORM_ISCSI_TX_STATS_OFFSET(storage_func_id) \
4653091be06SPrabhakar Kushwaha 	(IRO[IRO_YSTORM_ISCSI_TX_STATS].base          \
4663091be06SPrabhakar Kushwaha 	 + ((storage_func_id) * IRO[IRO_YSTORM_ISCSI_TX_STATS].m1))
4673091be06SPrabhakar Kushwaha #define YSTORM_ISCSI_TX_STATS_SIZE (IRO[IRO_YSTORM_ISCSI_TX_STATS].size)
4683091be06SPrabhakar Kushwaha 
4693091be06SPrabhakar Kushwaha /* Ystorm overlay buffer host address */
4703091be06SPrabhakar Kushwaha #define YSTORM_OVERLAY_BUF_ADDR_OFFSET (IRO[IRO_YSTORM_OVERLAY_BUF_ADDR].base)
4713091be06SPrabhakar Kushwaha #define YSTORM_OVERLAY_BUF_ADDR_SIZE (IRO[IRO_YSTORM_OVERLAY_BUF_ADDR].size)
4723091be06SPrabhakar Kushwaha 
4733091be06SPrabhakar Kushwaha /* Ystorm error level for assert */
4743091be06SPrabhakar Kushwaha #define YSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)  \
4753091be06SPrabhakar Kushwaha 	(IRO[IRO_YSTORM_RDMA_ASSERT_LEVEL].base \
4763091be06SPrabhakar Kushwaha 	 + ((pf_id) * IRO[IRO_YSTORM_RDMA_ASSERT_LEVEL].m1))
4773091be06SPrabhakar Kushwaha #define YSTORM_RDMA_ASSERT_LEVEL_SIZE (IRO[IRO_YSTORM_RDMA_ASSERT_LEVEL].size)
4783091be06SPrabhakar Kushwaha 
4793091be06SPrabhakar Kushwaha /* DCQCN Received Statistics */
4803091be06SPrabhakar Kushwaha #define YSTORM_ROCE_DCQCN_RECEIVED_STATS_OFFSET(roce_pf_id) \
4813091be06SPrabhakar Kushwaha 	(IRO[IRO_YSTORM_ROCE_DCQCN_RECEIVED_STATS].base     \
4823091be06SPrabhakar Kushwaha 	 + ((roce_pf_id) * IRO[IRO_YSTORM_ROCE_DCQCN_RECEIVED_STATS].m1))
4833091be06SPrabhakar Kushwaha #define YSTORM_ROCE_DCQCN_RECEIVED_STATS_SIZE \
4843091be06SPrabhakar Kushwaha 			(IRO[IRO_YSTORM_ROCE_DCQCN_RECEIVED_STATS].size)
4853091be06SPrabhakar Kushwaha 
4863091be06SPrabhakar Kushwaha /* RoCE Error Statistics */
4873091be06SPrabhakar Kushwaha #define YSTORM_ROCE_ERROR_STATS_OFFSET(roce_pf_id) \
4883091be06SPrabhakar Kushwaha 	(IRO[IRO_YSTORM_ROCE_ERROR_STATS].base     \
4893091be06SPrabhakar Kushwaha 	 + ((roce_pf_id) * IRO[IRO_YSTORM_ROCE_ERROR_STATS].m1))
4903091be06SPrabhakar Kushwaha #define YSTORM_ROCE_ERROR_STATS_SIZE (IRO[IRO_YSTORM_ROCE_ERROR_STATS].size)
4913091be06SPrabhakar Kushwaha 
4923091be06SPrabhakar Kushwaha /* Ystorm cqe producer */
4933091be06SPrabhakar Kushwaha #define YSTORM_TOE_CQ_PROD_OFFSET(rss_id) \
4943091be06SPrabhakar Kushwaha 	(IRO[IRO_YSTORM_TOE_CQ_PROD].base \
4953091be06SPrabhakar Kushwaha 	 + ((rss_id) * IRO[IRO_YSTORM_TOE_CQ_PROD].m1))
4963091be06SPrabhakar Kushwaha #define YSTORM_TOE_CQ_PROD_SIZE (IRO[IRO_YSTORM_TOE_CQ_PROD].size)
4973091be06SPrabhakar Kushwaha 
4983091be06SPrabhakar Kushwaha /* Per-chip offsets in iro_arr in dwords */
4993091be06SPrabhakar Kushwaha #define E4_IRO_ARR_OFFSET    0
500ee824f4bSOmkar Kulkarni #endif
501