linux/drivers/net/ethernet/qlogic/qed/qed_iro_hsi.h

/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
/* QLogic qed NIC Driver
 * Copyright (c) 2019-2021 Marvell International Ltd.
 */

#ifndef _QED_IRO_HSI_H
#define _QED_IRO_HSI_H

#include <linux/types.h>

enum {};

/* Pstorm LiteL2 queue statistics */

#define CORE_LL2_PSTORM_PER_QUEUE_STAT_OFFSET(core_tx_stats_id)
#define CORE_LL2_PSTORM_PER_QUEUE_STAT_SIZE

/* Tstorm LightL2 queue statistics */
#define CORE_LL2_TSTORM_PER_QUEUE_STAT_OFFSET(core_rx_queue_id)
#define CORE_LL2_TSTORM_PER_QUEUE_STAT_SIZE

/* Ustorm LiteL2 queue statistics */
#define CORE_LL2_USTORM_PER_QUEUE_STAT_OFFSET(core_rx_queue_id)
#define CORE_LL2_USTORM_PER_QUEUE_STAT_SIZE

/* Tstorm Eth limit Rx rate */
#define ETH_RX_RATE_LIMIT_OFFSET(pf_id)
#define ETH_RX_RATE_LIMIT_SIZE

/* Mstorm ETH PF queues producers */
#define MSTORM_ETH_PF_PRODS_GTT_OFFSET(queue_id)
#define MSTORM_ETH_PF_PRODS_GTT_SIZE

/* Mstorm pf statistics */
#define MSTORM_ETH_PF_STAT_OFFSET(pf_id)
#define MSTORM_ETH_PF_STAT_SIZE

/* Mstorm ETH VF queues producers offset in RAM. Used in default VF zone
 * size mode.
 */
#define MSTORM_ETH_VF_PRODS_OFFSET(vf_id, vf_queue_id)
#define MSTORM_ETH_VF_PRODS_SIZE

/* Mstorm Integration Test Data */
#define MSTORM_INTEG_TEST_DATA_OFFSET
#define MSTORM_INTEG_TEST_DATA_SIZE

/* Mstorm iSCSI RX stats */
#define MSTORM_ISCSI_RX_STATS_OFFSET(storage_func_id)
#define MSTORM_ISCSI_RX_STATS_SIZE

/* Mstorm overlay buffer host address */
#define MSTORM_OVERLAY_BUF_ADDR_OFFSET
#define MSTORM_OVERLAY_BUF_ADDR_SIZE

/* Mstorm queue statistics */
#define MSTORM_QUEUE_STAT_OFFSET(stat_counter_id)
#define MSTORM_QUEUE_STAT_SIZ

/* Mstorm error level for assert */
#define MSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)
#define MSTORM_RDMA_ASSERT_LEVEL_SIZE

/* Mstorm bdq-external-producer of given BDQ resource ID, BDqueue-id */
#define MSTORM_SCSI_BDQ_EXT_PROD_GTT_OFFSET(storage_func_id, bdq_id)
#define MSTORM_SCSI_BDQ_EXT_PROD_GTT_SIZE

/* TPA agregation timeout in us resolution (on ASIC) */
#define MSTORM_TPA_TIMEOUT_US_OFFSET
#define MSTORM_TPA_TIMEOUT_US_SIZE

/* Control frame's EthType configuration for TX control frame security */
#define PSTORM_CTL_FRAME_ETHTYPE_GTT_OFFSET(ethtype_id)
#define PSTORM_CTL_FRAME_ETHTYPE_GTT_SIZE

/* Pstorm pf statistics */
#define PSTORM_ETH_PF_STAT_OFFSET(pf_id)
#define PSTORM_ETH_PF_STAT_SIZE

/* Pstorm FCoE TX stats */
#define PSTORM_FCOE_TX_STATS_OFFSET(pf_id)
#define PSTORM_FCOE_TX_STATS_SIZE

/* Pstorm Integration Test Data */
#define PSTORM_INTEG_TEST_DATA_OFFSET
#define PSTORM_INTEG_TEST_DATA_SIZE

/* Pstorm iSCSI TX stats */
#define PSTORM_ISCSI_TX_STATS_OFFSET(storage_func_id)
#define PSTORM_ISCSI_TX_STATS_SIZE

/* Pstorm overlay buffer host address */
#define PSTORM_OVERLAY_BUF_ADDR_OFFSET
#define PSTORM_OVERLAY_BUF_ADDR_SIZE

/* Pstorm LL2 packet duplication configuration. Use pstorm_pkt_dup_cfg
 * data type.
 */
#define PSTORM_PKT_DUPLICATION_CFG_OFFSET(pf_id)
#define PSTORM_PKT_DUPLICATION_CFG_SIZE

/* Pstorm queue statistics */
#define PSTORM_QUEUE_STAT_OFFSET(stat_counter_id)
#define PSTORM_QUEUE_STAT_SIZE

/* Pstorm error level for assert */
#define PSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)
#define PSTORM_RDMA_ASSERT_LEVEL_SIZE

/* Pstorm RDMA queue statistics */
#define PSTORM_RDMA_QUEUE_STAT_OFFSET(rdma_stat_counter_id)
#define PSTORM_RDMA_QUEUE_STAT_SIZE

/* DCQCN Sent Statistics */
#define PSTORM_ROCE_DCQCN_SENT_STATS_OFFSET(roce_pf_id)
#define PSTORM_ROCE_DCQCN_SENT_STATS_SIZE

/* Tstorm last parser message */
#define TSTORM_ETH_PRS_INPUT_OFFSET
#define TSTORM_ETH_PRS_INPUT_SIZE

/* RSS indirection table entry update command per PF offset in TSTORM PF BAR0.
 * Use eth_tstorm_rss_update_data for update.
 */
#define TSTORM_ETH_RSS_UPDATE_GTT_OFFSET(pf_id)
#define TSTORM_ETH_RSS_UPDATE_GTT_SIZE

/* Tstorm FCoE RX stats */
#define TSTORM_FCOE_RX_STATS_OFFSET(pf_id)
#define TSTORM_FCOE_RX_STATS_SIZE

/* Tstorm Integration Test Data */
#define TSTORM_INTEG_TEST_DATA_OFFSET
#define TSTORM_INTEG_TEST_DATA_SIZE

/* Tstorm iSCSI RX stats */
#define TSTORM_ISCSI_RX_STATS_OFFSET(storage_func_id)
#define TSTORM_ISCSI_RX_STATS_SIZE

/* Tstorm ll2 port statistics */
#define TSTORM_LL2_PORT_STAT_OFFSET(port_id)
#define TSTORM_LL2_PORT_STAT_SIZE

/* Tstorm producers */
#define TSTORM_LL2_RX_PRODS_GTT_OFFSET(core_rx_queue_id)
#define TSTORM_LL2_RX_PRODS_GTT_SIZE

/* Tstorm overlay buffer host address */
#define TSTORM_OVERLAY_BUF_ADDR_OFFSET

#define TSTORM_OVERLAY_BUF_ADDR_SIZE

/* Tstorm LL2 packet duplication configuration.
 * Use tstorm_pkt_dup_cfg data type.
 */
#define TSTORM_PKT_DUPLICATION_CFG_OFFSET(pf_id)
#define TSTORM_PKT_DUPLICATION_CFG_SIZE

/* Tstorm port statistics */
#define TSTORM_PORT_STAT_OFFSET(port_id)
#define TSTORM_PORT_STAT_SIZE

/* Tstorm error level for assert */
#define TSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)
#define TSTORM_RDMA_ASSERT_LEVEL_SIZE

/* Tstorm RDMA queue statistics */
#define TSTORM_RDMA_QUEUE_STAT_OFFSET(rdma_stat_counter_id)
#define TSTORM_RDMA_QUEUE_STAT_SIZE

/* Tstorm RoCE Event Statistics */
#define TSTORM_ROCE_EVENTS_STAT_OFFSET(roce_pf_id)
#define TSTORM_ROCE_EVENTS_STAT_SIZE

/* Tstorm (reflects M-Storm) bdq-external-producer of given function ID,
 * BDqueue-id.
 */
#define TSTORM_SCSI_BDQ_EXT_PROD_GTT_OFFSET(storage_func_id, bdq_id)
#define TSTORM_SCSI_BDQ_EXT_PROD_GTT_SIZE

/* Tstorm cmdq-cons of given command queue-id */
#define TSTORM_SCSI_CMDQ_CONS_GTT_OFFSET(cmdq_queue_id)
#define TSTORM_SCSI_CMDQ_CONS_GTT_SIZE

/* Ustorm Common Queue ring consumer */
#define USTORM_COMMON_QUEUE_CONS_GTT_OFFSET(queue_zone_id)
#define USTORM_COMMON_QUEUE_CONS_GTT_SIZE

/* Ustorm Event ring consumer */
#define USTORM_EQE_CONS_GTT_OFFSET(pf_id)
#define USTORM_EQE_CONS_GTT_SIZE

/* Ustorm pf statistics */
#define USTORM_ETH_PF_STAT_OFFSET(pf_id)
#define USTORM_ETH_PF_STAT_SIZE

/* Ustorm eth queue zone */
#define USTORM_ETH_QUEUE_ZONE_GTT_OFFSET(queue_zone_id)
#define USTORM_ETH_QUEUE_ZONE_GTT_SIZE

/* Ustorm Final flr cleanup ack */
#define USTORM_FLR_FINAL_ACK_GTT_OFFSET(pf_id)
#define USTORM_FLR_FINAL_ACK_GTT_SIZE

/* Ustorm Integration Test Data */
#define USTORM_INTEG_TEST_DATA_OFFSET
#define USTORM_INTEG_TEST_DATA_SIZE

/* Ustorm iSCSI RX stats */
#define USTORM_ISCSI_RX_STATS_OFFSET(storage_func_id)
#define USTORM_ISCSI_RX_STATS_SIZE

/* Ustorm overlay buffer host address */
#define USTORM_OVERLAY_BUF_ADDR_OFFSET
#define USTORM_OVERLAY_BUF_ADDR_SIZE

/* Ustorm queue statistics */
#define USTORM_QUEUE_STAT_OFFSET(stat_counter_id)
#define USTORM_QUEUE_STAT_SIZE

/* Ustorm error level for assert */
#define USTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)
#define USTORM_RDMA_ASSERT_LEVEL_SIZE

/* RoCE CQEs Statistics */
#define USTORM_ROCE_CQE_STATS_OFFSET(roce_pf_id)
#define USTORM_ROCE_CQE_STATS_SIZE

/* Ustorm cqe producer */
#define USTORM_TOE_CQ_PROD_OFFSET(rss_id)
#define USTORM_TOE_CQ_PROD_SIZE

/* Ustorm grq producer */
#define USTORM_TOE_GRQ_PROD_OFFSET(pf_id)
#define USTORM_TOE_GRQ_PROD_SIZE

/* Ustorm VF-PF Channel ready flag */
#define USTORM_VF_PF_CHANNEL_READY_GTT_OFFSET(vf_id)
#define USTORM_VF_PF_CHANNEL_READY_GTT_SIZE

/* Xstorm queue zone */
#define XSTORM_ETH_QUEUE_ZONE_GTT_OFFSET(queue_id)
#define XSTORM_ETH_QUEUE_ZONE_GTT_SIZE

/* Xstorm Integration Test Data */
#define XSTORM_INTEG_TEST_DATA_OFFSET
#define XSTORM_INTEG_TEST_DATA_SIZE

/* Xstorm iSCSI TX stats */
#define XSTORM_ISCSI_TX_STATS_OFFSET(storage_func_id)
#define XSTORM_ISCSI_TX_STATS_SIZE

/* Xstorm iWARP rxmit stats */
#define XSTORM_IWARP_RXMIT_STATS_OFFSET(pf_id)
#define XSTORM_IWARP_RXMIT_STATS_SIZE

/* Xstorm overlay buffer host address */
#define XSTORM_OVERLAY_BUF_ADDR_OFFSET
#define XSTORM_OVERLAY_BUF_ADDR_SIZE

/* Xstorm common PQ info */
#define XSTORM_PQ_INFO_OFFSET(pq_id)
#define XSTORM_PQ_INFO_SIZE

/* Xstorm error level for assert */
#define XSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)
#define XSTORM_RDMA_ASSERT_LEVEL_SIZE

/* Ystorm flow control mode. Use enum fw_flow_ctrl_mode */
#define YSTORM_FLOW_CONTROL_MODE_GTT_OFFSET
#define YSTORM_FLOW_CONTROL_MODE_GTT_SIZE

/* Ystorm Integration Test Data */
#define YSTORM_INTEG_TEST_DATA_OFFSET
#define YSTORM_INTEG_TEST_DATA_SIZE

/* Ystorm iSCSI TX stats */
#define YSTORM_ISCSI_TX_STATS_OFFSET(storage_func_id)
#define YSTORM_ISCSI_TX_STATS_SIZE

/* Ystorm overlay buffer host address */
#define YSTORM_OVERLAY_BUF_ADDR_OFFSET
#define YSTORM_OVERLAY_BUF_ADDR_SIZE

/* Ystorm error level for assert */
#define YSTORM_RDMA_ASSERT_LEVEL_OFFSET(pf_id)
#define YSTORM_RDMA_ASSERT_LEVEL_SIZE

/* DCQCN Received Statistics */
#define YSTORM_ROCE_DCQCN_RECEIVED_STATS_OFFSET(roce_pf_id)
#define YSTORM_ROCE_DCQCN_RECEIVED_STATS_SIZE

/* RoCE Error Statistics */
#define YSTORM_ROCE_ERROR_STATS_OFFSET(roce_pf_id)
#define YSTORM_ROCE_ERROR_STATS_SIZE

/* Ystorm cqe producer */
#define YSTORM_TOE_CQ_PROD_OFFSET(rss_id)
#define YSTORM_TOE_CQ_PROD_SIZE

/* Per-chip offsets in iro_arr in dwords */
#define E4_IRO_ARR_OFFSET
#endif