/* SPDX-License-Identifier: GPL-2.0 */
/* Marvell RVU Admin Function driver
*
* Copyright (C) 2018 Marvell.
*
*/
#ifndef RVU_REG_H
#define RVU_REG_H
/* Admin function registers */
#define RVU_AF_MSIXTR_BASE (0 x10)
#define RVU_AF_ECO (0 x20)
#define RVU_AF_BLK_RST (0 x30)
#define RVU_AF_PF_BAR4_ADDR (0 x40)
#define RVU_AF_RAS (0 x100)
#define RVU_AF_RAS_W1S (0 x108)
#define RVU_AF_RAS_ENA_W1S (0 x110)
#define RVU_AF_RAS_ENA_W1C (0 x118)
#define RVU_AF_GEN_INT (0 x120)
#define RVU_AF_GEN_INT_W1S (0 x128)
#define RVU_AF_GEN_INT_ENA_W1S (0 x130)
#define RVU_AF_GEN_INT_ENA_W1C (0 x138)
#define RVU_AF_AFPF_MBOX0 (0 x02000)
#define RVU_AF_AFPF_MBOX1 (0 x02008)
#define RVU_AF_AFPFX_MBOXX(a, b) (0 x2000 | (a) << 4 | (b) << 3 )
#define RVU_AF_PFME_STATUS (0 x2800)
#define RVU_AF_PFTRPEND (0 x2810)
#define RVU_AF_PFTRPEND_W1S (0 x2820)
#define RVU_AF_PF_RST (0 x2840)
#define RVU_AF_HWVF_RST (0 x2850)
#define RVU_AF_PFAF_MBOX_INT (0 x2880)
#define RVU_AF_PFAF_MBOX_INT_W1S (0 x2888)
#define RVU_AF_PFAF_MBOX_INT_ENA_W1S (0 x2890)
#define RVU_AF_PFAF_MBOX_INT_ENA_W1C (0 x2898)
#define RVU_AF_PFFLR_INT (0 x28a0)
#define RVU_AF_PFFLR_INT_W1S (0 x28a8)
#define RVU_AF_PFFLR_INT_ENA_W1S (0 x28b0)
#define RVU_AF_PFFLR_INT_ENA_W1C (0 x28b8)
#define RVU_AF_PFME_INT (0 x28c0)
#define RVU_AF_PFME_INT_W1S (0 x28c8)
#define RVU_AF_PFME_INT_ENA_W1S (0 x28d0)
#define RVU_AF_PFME_INT_ENA_W1C (0 x28d8)
#define RVU_AF_PFX_BAR4_ADDR(a) (0 x5000 | (a) << 4 )
#define RVU_AF_PFX_BAR4_CFG (0 x5200 | (a) << 4 )
#define RVU_AF_PFX_VF_BAR4_ADDR (0 x5400 | (a) << 4 )
#define RVU_AF_PFX_VF_BAR4_CFG (0 x5600 | (a) << 4 )
#define RVU_AF_PFX_LMTLINE_ADDR (0 x5800 | (a) << 4 )
#define RVU_AF_SMMU_ADDR_REQ (0 x6000)
#define RVU_AF_SMMU_TXN_REQ (0 x6008)
#define RVU_AF_SMMU_ADDR_RSP_STS (0 x6010)
#define RVU_AF_SMMU_ADDR_TLN (0 x6018)
#define RVU_AF_SMMU_TLN_FLIT0 (0 x6020)
/* Admin function's privileged PF/VF registers */
#define RVU_PRIV_CONST (0 x8000000)
#define RVU_PRIV_GEN_CFG (0 x8000010)
#define RVU_PRIV_CLK_CFG (0 x8000020)
#define RVU_PRIV_ACTIVE_PC (0 x8000030)
#define RVU_PRIV_PFX_CFG(a) (0 x8000100 | (a) << 16 )
#define RVU_PRIV_PFX_MSIX_CFG(a) (0 x8000110 | (a) << 16 )
#define RVU_PRIV_PFX_ID_CFG(a) (0 x8000120 | (a) << 16 )
#define RVU_PRIV_PFX_INT_CFG(a) (0 x8000200 | (a) << 16 )
#define RVU_PRIV_PFX_NIXX_CFG(a) (0 x8000300 | (a) << 3 )
#define RVU_PRIV_PFX_NPA_CFG (0 x8000310)
#define RVU_PRIV_PFX_SSO_CFG (0 x8000320)
#define RVU_PRIV_PFX_SSOW_CFG (0 x8000330)
#define RVU_PRIV_PFX_TIM_CFG (0 x8000340)
#define RVU_PRIV_PFX_CPTX_CFG(a) (0 x8000350 | (a) << 3 )
#define RVU_PRIV_BLOCK_TYPEX_REV(a) (0 x8000400 | (a) << 3 )
#define RVU_PRIV_HWVFX_INT_CFG(a) (0 x8001280 | (a) << 16 )
#define RVU_PRIV_HWVFX_NIXX_CFG(a) (0 x8001300 | (a) << 3 )
#define RVU_PRIV_HWVFX_NPA_CFG (0 x8001310)
#define RVU_PRIV_HWVFX_SSO_CFG (0 x8001320)
#define RVU_PRIV_HWVFX_SSOW_CFG (0 x8001330)
#define RVU_PRIV_HWVFX_TIM_CFG (0 x8001340)
#define RVU_PRIV_HWVFX_CPTX_CFG(a) (0 x8001350 | (a) << 3 )
/* RVU PF registers */
#define RVU_PF_VFX_PFVF_MBOX0 (0 x00000)
#define RVU_PF_VFX_PFVF_MBOX1 (0 x00008)
#define RVU_PF_VFX_PFVF_MBOXX(a, b) (0 x0 | (a) << 12 | (b) << 3 )
#define RVU_PF_VF_BAR4_ADDR (0 x10)
#define RVU_PF_BLOCK_ADDRX_DISC(a) (0 x200 | (a) << 3 )
#define RVU_PF_VFME_STATUSX(a) (0 x800 | (a) << 3 )
#define RVU_PF_VFTRPENDX(a) (0 x820 | (a) << 3 )
#define RVU_PF_VFTRPEND_W1SX(a) (0 x840 | (a) << 3 )
#define RVU_PF_VFPF_MBOX_INTX(a) (0 x880 | (a) << 3 )
#define RVU_PF_VFPF_MBOX_INT_W1SX(a) (0 x8A0 | (a) << 3 )
#define RVU_PF_VFPF_MBOX_INT_ENA_W1SX(a) (0 x8C0 | (a) << 3 )
#define RVU_PF_VFPF_MBOX_INT_ENA_W1CX(a) (0 x8E0 | (a) << 3 )
#define RVU_PF_VFFLR_INTX(a) (0 x900 | (a) << 3 )
#define RVU_PF_VFFLR_INT_W1SX(a) (0 x920 | (a) << 3 )
#define RVU_PF_VFFLR_INT_ENA_W1SX(a) (0 x940 | (a) << 3 )
#define RVU_PF_VFFLR_INT_ENA_W1CX(a) (0 x960 | (a) << 3 )
#define RVU_PF_VFME_INTX(a) (0 x980 | (a) << 3 )
#define RVU_PF_VFME_INT_W1SX(a) (0 x9A0 | (a) << 3 )
#define RVU_PF_VFME_INT_ENA_W1SX(a) (0 x9C0 | (a) << 3 )
#define RVU_PF_VFME_INT_ENA_W1CX(a) (0 x9E0 | (a) << 3 )
#define RVU_PF_PFAF_MBOX0 (0 xC00)
#define RVU_PF_PFAF_MBOX1 (0 xC08)
#define RVU_PF_PFAF_MBOXX(a) (0 xC00 | (a) << 3 )
#define RVU_PF_INT (0 xc20)
#define RVU_PF_INT_W1S (0 xc28)
#define RVU_PF_INT_ENA_W1S (0 xc30)
#define RVU_PF_INT_ENA_W1C (0 xc38)
#define RVU_PF_MSIX_VECX_ADDR(a) (0 x000 | (a) << 4 )
#define RVU_PF_MSIX_VECX_CTL(a) (0 x008 | (a) << 4 )
#define RVU_PF_MSIX_PBAX(a) (0 xF0000 | (a) << 3 )
#define RVU_PF_VF_MBOX_ADDR (0 xC40)
#define RVU_PF_LMTLINE_ADDR (0 xC48)
/* RVU VF registers */
#define RVU_VF_VFPF_MBOX0 (0 x00000)
#define RVU_VF_VFPF_MBOX1 (0 x00008)
/* NPA block's admin function registers */
#define NPA_AF_BLK_RST (0 x0000)
#define NPA_AF_CONST (0 x0010)
#define NPA_AF_CONST1 (0 x0018)
#define NPA_AF_LF_RST (0 x0020)
#define NPA_AF_GEN_CFG (0 x0030)
#define NPA_AF_NDC_CFG (0 x0040)
#define NPA_AF_NDC_SYNC (0 x0050)
#define NPA_AF_INP_CTL (0 x00D0)
#define NPA_AF_ACTIVE_CYCLES_PC (0 x00F0)
#define NPA_AF_AVG_DELAY (0 x0100)
#define NPA_AF_GEN_INT (0 x0140)
#define NPA_AF_GEN_INT_W1S (0 x0148)
#define NPA_AF_GEN_INT_ENA_W1S (0 x0150)
#define NPA_AF_GEN_INT_ENA_W1C (0 x0158)
#define NPA_AF_RVU_INT (0 x0160)
#define NPA_AF_RVU_INT_W1S (0 x0168)
#define NPA_AF_RVU_INT_ENA_W1S (0 x0170)
#define NPA_AF_RVU_INT_ENA_W1C (0 x0178)
#define NPA_AF_ERR_INT (0 x0180)
#define NPA_AF_ERR_INT_W1S (0 x0188)
#define NPA_AF_ERR_INT_ENA_W1S (0 x0190)
#define NPA_AF_ERR_INT_ENA_W1C (0 x0198)
#define NPA_AF_RAS (0 x01A0)
#define NPA_AF_RAS_W1S (0 x01A8)
#define NPA_AF_RAS_ENA_W1S (0 x01B0)
#define NPA_AF_RAS_ENA_W1C (0 x01B8)
#define NPA_AF_BP_TEST (0 x0200)
#define NPA_AF_ECO (0 x0300)
#define NPA_AF_AQ_CFG (0 x0600)
#define NPA_AF_AQ_BASE (0 x0610)
#define NPA_AF_AQ_STATUS (0 x0620)
#define NPA_AF_AQ_DOOR (0 x0630)
#define NPA_AF_AQ_DONE_WAIT (0 x0640)
#define NPA_AF_AQ_DONE (0 x0650)
#define NPA_AF_AQ_DONE_ACK (0 x0660)
#define NPA_AF_AQ_DONE_INT (0 x0680)
#define NPA_AF_AQ_DONE_INT_W1S (0 x0688)
#define NPA_AF_AQ_DONE_ENA_W1S (0 x0690)
#define NPA_AF_AQ_DONE_ENA_W1C (0 x0698)
#define NPA_AF_BATCH_CTL (0 x06a0)
#define NPA_AF_LFX_AURAS_CFG(a) (0 x4000 | (a) << 18 )
#define NPA_AF_LFX_LOC_AURAS_BASE(a) (0 x4010 | (a) << 18 )
#define NPA_AF_LFX_QINTS_CFG(a) (0 x4100 | (a) << 18 )
#define NPA_AF_LFX_QINTS_BASE(a) (0 x4110 | (a) << 18 )
#define NPA_PRIV_AF_INT_CFG (0 x10000)
#define NPA_PRIV_LFX_CFG (0 x10010)
#define NPA_PRIV_LFX_INT_CFG (0 x10020)
#define NPA_AF_RVU_LF_CFG_DEBUG (0 x10030)
/* NIX block's admin function registers */
#define NIX_AF_CFG (0 x0000)
#define NIX_AF_STATUS (0 x0010)
#define NIX_AF_NDC_CFG (0 x0018)
#define NIX_AF_CONST (0 x0020)
#define NIX_AF_CONST1 (0 x0028)
#define NIX_AF_CONST2 (0 x0030)
#define NIX_AF_CONST3 (0 x0038)
#define NIX_AF_SQ_CONST (0 x0040)
#define NIX_AF_CQ_CONST (0 x0048)
#define NIX_AF_RQ_CONST (0 x0050)
#define NIX_AF_PL_CONST (0 x0058)
#define NIX_AF_PSE_CONST (0 x0060)
#define NIX_AF_TL1_CONST (0 x0070)
#define NIX_AF_TL2_CONST (0 x0078)
#define NIX_AF_TL3_CONST (0 x0080)
#define NIX_AF_TL4_CONST (0 x0088)
#define NIX_AF_MDQ_CONST (0 x0090)
#define NIX_AF_MC_MIRROR_CONST (0 x0098)
#define NIX_AF_LSO_CFG (0 x00A8)
#define NIX_AF_BLK_RST (0 x00B0)
#define NIX_AF_TX_TSTMP_CFG (0 x00C0)
#define NIX_AF_PL_TS (0 x00C8)
#define NIX_AF_RX_CFG (0 x00D0)
#define NIX_AF_AVG_DELAY (0 x00E0)
#define NIX_AF_CINT_DELAY (0 x00F0)
#define NIX_AF_VWQE_TIMER (0 x00F8)
#define NIX_AF_RX_MCAST_BASE (0 x0100)
#define NIX_AF_RX_MCAST_CFG (0 x0110)
#define NIX_AF_RX_MCAST_BUF_BASE (0 x0120)
#define NIX_AF_RX_MCAST_BUF_CFG (0 x0130)
#define NIX_AF_RX_MIRROR_BUF_BASE (0 x0140)
#define NIX_AF_RX_MIRROR_BUF_CFG (0 x0148)
#define NIX_AF_LF_RST (0 x0150)
#define NIX_AF_GEN_INT (0 x0160)
#define NIX_AF_GEN_INT_W1S (0 x0168)
#define NIX_AF_GEN_INT_ENA_W1S (0 x0170)
#define NIX_AF_GEN_INT_ENA_W1C (0 x0178)
#define NIX_AF_ERR_INT (0 x0180)
#define NIX_AF_ERR_INT_W1S (0 x0188)
#define NIX_AF_ERR_INT_ENA_W1S (0 x0190)
#define NIX_AF_ERR_INT_ENA_W1C (0 x0198)
#define NIX_AF_RAS (0 x01A0)
#define NIX_AF_RAS_W1S (0 x01A8)
#define NIX_AF_RAS_ENA_W1S (0 x01B0)
#define NIX_AF_RAS_ENA_W1C (0 x01B8)
#define NIX_AF_RVU_INT (0 x01C0)
#define NIX_AF_RVU_INT_W1S (0 x01C8)
#define NIX_AF_RVU_INT_ENA_W1S (0 x01D0)
#define NIX_AF_RVU_INT_ENA_W1C (0 x01D8)
#define NIX_AF_TCP_TIMER (0 x01E0)
#define NIX_AF_RX_DEF_ET(a) (0 x01F0ull | (uint64_t)(a) << 3 )
#define NIX_AF_RX_DEF_OL2 (0 x0200)
#define NIX_AF_RX_DEF_OIP4 (0 x0210)
#define NIX_AF_RX_DEF_IIP4 (0 x0220)
#define NIX_AF_RX_DEF_VLAN0_PCP_DEI (0 x0228)
#define NIX_AF_RX_DEF_OIP6 (0 x0230)
#define NIX_AF_RX_DEF_VLAN1_PCP_DEI (0 x0238)
#define NIX_AF_RX_DEF_IIP6 (0 x0240)
#define NIX_AF_RX_DEF_OTCP (0 x0250)
#define NIX_AF_RX_DEF_ITCP (0 x0260)
#define NIX_AF_RX_DEF_OUDP (0 x0270)
#define NIX_AF_RX_DEF_IUDP (0 x0280)
#define NIX_AF_RX_DEF_OSCTP (0 x0290)
#define NIX_AF_RX_DEF_CST_APAD0 (0 x0298)
#define NIX_AF_RX_DEF_ISCTP (0 x02A0)
#define NIX_AF_RX_DEF_IPSECX (0 x02B0)
#define NIX_AF_RX_DEF_CST_APAD1 (0 x02A8)
#define NIX_AF_RX_DEF_IIP4_DSCP (0 x02E0)
#define NIX_AF_RX_DEF_OIP4_DSCP (0 x02E8)
#define NIX_AF_RX_DEF_IIP6_DSCP (0 x02F0)
#define NIX_AF_RX_DEF_OIP6_DSCP (0 x02F8)
#define NIX_AF_RX_IPSEC_GEN_CFG (0 x0300)
#define NIX_AF_RX_CPTX_INST_ADDR (0 x0310)
#define NIX_AF_RX_CPTX_INST_QSEL(a) (0 x0320ull | (uint64_t)(a) << 3 )
#define NIX_AF_RX_CPTX_CREDIT(a) (0 x0360ull | (uint64_t)(a) << 3 )
#define NIX_AF_NDC_RX_SYNC (0 x03E0)
#define NIX_AF_NDC_TX_SYNC (0 x03F0)
#define NIX_AF_AQ_CFG (0 x0400)
#define NIX_AF_AQ_BASE (0 x0410)
#define NIX_AF_AQ_STATUS (0 x0420)
#define NIX_AF_AQ_DOOR (0 x0430)
#define NIX_AF_AQ_DONE_WAIT (0 x0440)
#define NIX_AF_AQ_DONE (0 x0450)
#define NIX_AF_AQ_DONE_ACK (0 x0460)
#define NIX_AF_AQ_DONE_TIMER (0 x0470)
#define NIX_AF_AQ_DONE_INT (0 x0480)
#define NIX_AF_AQ_DONE_INT_W1S (0 x0488)
#define NIX_AF_AQ_DONE_ENA_W1S (0 x0490)
#define NIX_AF_AQ_DONE_ENA_W1C (0 x0498)
#define NIX_AF_RX_LINKX_SLX_SPKT_CNT (0 x0500)
#define NIX_AF_RX_LINKX_SLX_SXQE_CNT (0 x0510)
#define NIX_AF_RX_MCAST_JOBSX_SW_CNT (0 x0520)
#define NIX_AF_RX_MIRROR_JOBSX_SW_CNT (0 x0530)
#define NIX_AF_RX_LINKX_CFG(a) (0 x0540 | (a) << 16 )
#define NIX_AF_RX_SW_SYNC (0 x0550)
#define NIX_AF_RX_SW_SYNC_DONE (0 x0560)
#define NIX_AF_SEB_ECO (0 x0600)
#define NIX_AF_SEB_TEST_BP (0 x0610)
#define NIX_AF_NORM_TX_FIFO_STATUS (0 x0620)
#define NIX_AF_EXPR_TX_FIFO_STATUS (0 x0630)
#define NIX_AF_SDP_TX_FIFO_STATUS (0 x0640)
#define NIX_AF_TX_NPC_CAPTURE_CONFIG (0 x0660)
#define NIX_AF_TX_NPC_CAPTURE_INFO (0 x0670)
#define NIX_AF_SEB_CFG (0 x05F0)
#define NIX_PTP_1STEP_EN BIT_ULL(2 )
#define NIX_AF_DEBUG_NPC_RESP_DATAX(a) (0 x680 | (a) << 3 )
#define NIX_AF_SMQX_CFG(a) (0 x700 | (a) << 16 )
#define NIX_AF_SQM_DBG_CTL_STATUS (0 x750)
#define NIX_AF_DWRR_SDP_MTU (0 x790) /* All CN10K except CN10KB */
#define NIX_AF_DWRR_MTUX(a) (0 x790 | (a) << 16 ) /* Only for CN10KB */
#define NIX_AF_DWRR_RPM_MTU (0 x7A0)
#define NIX_AF_PSE_CHANNEL_LEVEL (0 x800)
#define NIX_AF_PSE_SHAPER_CFG (0 x810)
#define NIX_AF_TX_EXPR_CREDIT (0 x830)
#define NIX_AF_MARK_FORMATX_CTL(a) (0 x900 | (a) << 18 )
#define NIX_AF_TX_LINKX_NORM_CREDIT(a) (0 xA00 | (a) << 16 )
#define NIX_AF_TX_LINKX_EXPR_CREDIT(a) (0 xA10 | (a) << 16 )
#define NIX_AF_TX_LINKX_SW_XOFF(a) (0 xA20 | (a) << 16 )
#define NIX_AF_TX_LINKX_HW_XOFF(a) (0 xA30 | (a) << 16 )
#define NIX_AF_SDP_LINK_CREDIT (0 xa40)
#define NIX_AF_SDP_SW_XOFFX(a) (0 xA60 | (a) << 3 )
#define NIX_AF_SDP_HW_XOFFX(a) (0 xAC0 | (a) << 3 )
#define NIX_AF_TL4X_BP_STATUS(a) (0 xB00 | (a) << 16 )
#define NIX_AF_TL4X_SDP_LINK_CFG(a) (0 xB10 | (a) << 16 )
#define NIX_AF_TL1X_SCHEDULE(a) (0 xC00 | (a) << 16 )
#define NIX_AF_TL1X_SHAPE(a) (0 xC10 | (a) << 16 )
#define NIX_AF_TL1X_CIR(a) (0 xC20 | (a) << 16 )
#define NIX_AF_TL1X_SHAPE_STATE(a) (0 xC50 | (a) << 16 )
#define NIX_AF_TL1X_SW_XOFF(a) (0 xC70 | (a) << 16 )
#define NIX_AF_TL1X_TOPOLOGY(a) (0 xC80 | (a) << 16 )
#define NIX_AF_TL1X_GREEN(a) (0 xC90 | (a) << 16 )
#define NIX_AF_TL1X_YELLOW(a) (0 xCA0 | (a) << 16 )
#define NIX_AF_TL1X_RED(a) (0 xCB0 | (a) << 16 )
#define NIX_AF_TL1X_MD_DEBUG0(a) (0 xCC0 | (a) << 16 )
#define NIX_AF_TL1X_MD_DEBUG1(a) (0 xCC8 | (a) << 16 )
#define NIX_AF_TL1X_MD_DEBUG2(a) (0 xCD0 | (a) << 16 )
#define NIX_AF_TL1X_MD_DEBUG3(a) (0 xCD8 | (a) << 16 )
#define NIX_AF_TL1A_DEBUG (0 xce0)
#define NIX_AF_TL1B_DEBUG (0 xcf0)
#define NIX_AF_TL1_DEBUG_GREEN (0 xd00)
#define NIX_AF_TL1_DEBUG_NODE (0 xd10)
#define NIX_AF_TL1X_DROPPED_PACKETS(a) (0 xD20 | (a) << 16 )
#define NIX_AF_TL1X_DROPPED_BYTES(a) (0 xD30 | (a) << 16 )
#define NIX_AF_TL1X_RED_PACKETS(a) (0 xD40 | (a) << 16 )
#define NIX_AF_TL1X_RED_BYTES(a) (0 xD50 | (a) << 16 )
#define NIX_AF_TL1X_YELLOW_PACKETS(a) (0 xD60 | (a) << 16 )
#define NIX_AF_TL1X_YELLOW_BYTES(a) (0 xD70 | (a) << 16 )
#define NIX_AF_TL1X_GREEN_PACKETS(a) (0 xD80 | (a) << 16 )
#define NIX_AF_TL1X_GREEN_BYTES(a) (0 xD90 | (a) << 16 )
#define NIX_AF_TL2X_SCHEDULE(a) (0 xE00 | (a) << 16 )
#define NIX_AF_TL2X_SHAPE(a) (0 xE10 | (a) << 16 )
#define NIX_AF_TL2X_CIR(a) (0 xE20 | (a) << 16 )
#define NIX_AF_TL2X_PIR(a) (0 xE30 | (a) << 16 )
#define NIX_AF_TL2X_SCHED_STATE(a) (0 xE40 | (a) << 16 )
#define NIX_AF_TL2X_SHAPE_STATE(a) (0 xE50 | (a) << 16 )
#define NIX_AF_TL2X_POINTERS(a) (0 xE60 | (a) << 16 )
#define NIX_AF_TL2X_SW_XOFF(a) (0 xE70 | (a) << 16 )
#define NIX_AF_TL2X_TOPOLOGY(a) (0 xE80 | (a) << 16 )
#define NIX_AF_TL2X_PARENT(a) (0 xE88 | (a) << 16 )
#define NIX_AF_TL2X_GREEN(a) (0 xE90 | (a) << 16 )
#define NIX_AF_TL2X_YELLOW(a) (0 xEA0 | (a) << 16 )
#define NIX_AF_TL2X_RED(a) (0 xEB0 | (a) << 16 )
#define NIX_AF_TL2X_MD_DEBUG0(a) (0 xEC0 | (a) << 16 )
#define NIX_AF_TL2X_MD_DEBUG1(a) (0 xEC8 | (a) << 16 )
#define NIX_AF_TL2X_MD_DEBUG2(a) (0 xED0 | (a) << 16 )
#define NIX_AF_TL2X_MD_DEBUG3(a) (0 xED8 | (a) << 16 )
#define NIX_AF_TL2A_DEBUG (0 xee0)
#define NIX_AF_TL2B_DEBUG (0 xef0)
#define NIX_AF_TL3X_SCHEDULE(a) (0 x1000 | (a) << 16 )
#define NIX_AF_TL3X_SHAPE(a) (0 x1010 | (a) << 16 )
#define NIX_AF_TL3X_CIR(a) (0 x1020 | (a) << 16 )
#define NIX_AF_TL3X_PIR(a) (0 x1030 | (a) << 16 )
#define NIX_AF_TL3X_SCHED_STATE(a) (0 x1040 | (a) << 16 )
#define NIX_AF_TL3X_SHAPE_STATE(a) (0 x1050 | (a) << 16 )
#define NIX_AF_TL3X_POINTERS(a) (0 x1060 | (a) << 16 )
#define NIX_AF_TL3X_SW_XOFF(a) (0 x1070 | (a) << 16 )
#define NIX_AF_TL3X_TOPOLOGY(a) (0 x1080 | (a) << 16 )
#define NIX_AF_TL3X_PARENT(a) (0 x1088 | (a) << 16 )
#define NIX_AF_TL3X_GREEN(a) (0 x1090 | (a) << 16 )
#define NIX_AF_TL3X_YELLOW(a) (0 x10A0 | (a) << 16 )
#define NIX_AF_TL3X_RED(a) (0 x10B0 | (a) << 16 )
#define NIX_AF_TL3X_MD_DEBUG0(a) (0 x10C0 | (a) << 16 )
#define NIX_AF_TL3X_MD_DEBUG1(a) (0 x10C8 | (a) << 16 )
#define NIX_AF_TL3X_MD_DEBUG2(a) (0 x10D0 | (a) << 16 )
#define NIX_AF_TL3X_MD_DEBUG3(a) (0 x10D8 | (a) << 16 )
#define NIX_AF_TL3A_DEBUG (0 x10e0)
#define NIX_AF_TL3B_DEBUG (0 x10f0)
#define NIX_AF_TL4X_SCHEDULE(a) (0 x1200 | (a) << 16 )
#define NIX_AF_TL4X_SHAPE(a) (0 x1210 | (a) << 16 )
#define NIX_AF_TL4X_CIR(a) (0 x1220 | (a) << 16 )
#define NIX_AF_TL4X_PIR(a) (0 x1230 | (a) << 16 )
#define NIX_AF_TL4X_SCHED_STATE(a) (0 x1240 | (a) << 16 )
#define NIX_AF_TL4X_SHAPE_STATE(a) (0 x1250 | (a) << 16 )
#define NIX_AF_TL4X_POINTERS(a) (0 x1260 | (a) << 16 )
#define NIX_AF_TL4X_SW_XOFF(a) (0 x1270 | (a) << 16 )
#define NIX_AF_TL4X_TOPOLOGY(a) (0 x1280 | (a) << 16 )
#define NIX_AF_TL4X_PARENT(a) (0 x1288 | (a) << 16 )
#define NIX_AF_TL4X_GREEN(a) (0 x1290 | (a) << 16 )
#define NIX_AF_TL4X_YELLOW(a) (0 x12A0 | (a) << 16 )
#define NIX_AF_TL4X_RED(a) (0 x12B0 | (a) << 16 )
#define NIX_AF_TL4X_MD_DEBUG0(a) (0 x12C0 | (a) << 16 )
#define NIX_AF_TL4X_MD_DEBUG1(a) (0 x12C8 | (a) << 16 )
#define NIX_AF_TL4X_MD_DEBUG2(a) (0 x12D0 | (a) << 16 )
#define NIX_AF_TL4X_MD_DEBUG3(a) (0 x12D8 | (a) << 16 )
#define NIX_AF_TL4A_DEBUG (0 x12e0)
#define NIX_AF_TL4B_DEBUG (0 x12f0)
#define NIX_AF_MDQX_SCHEDULE(a) (0 x1400 | (a) << 16 )
#define NIX_AF_MDQX_SHAPE(a) (0 x1410 | (a) << 16 )
#define NIX_AF_MDQX_CIR(a) (0 x1420 | (a) << 16 )
#define NIX_AF_MDQX_PIR(a) (0 x1430 | (a) << 16 )
#define NIX_AF_MDQX_SCHED_STATE(a) (0 x1440 | (a) << 16 )
#define NIX_AF_MDQX_SHAPE_STATE(a) (0 x1450 | (a) << 16 )
#define NIX_AF_MDQX_POINTERS(a) (0 x1460 | (a) << 16 )
#define NIX_AF_MDQX_SW_XOFF(a) (0 x1470 | (a) << 16 )
#define NIX_AF_MDQX_PARENT(a) (0 x1480 | (a) << 16 )
#define NIX_AF_MDQX_MD_DEBUG(a) (0 x14C0 | (a) << 16 )
#define NIX_AF_MDQX_PTR_FIFO(a) (0 x14D0 | (a) << 16 )
#define NIX_AF_MDQA_DEBUG (0 x14e0)
#define NIX_AF_MDQB_DEBUG (0 x14f0)
#define NIX_AF_TL3_TL2X_CFG(a) (0 x1600 | (a) << 18 )
#define NIX_AF_TL3_TL2X_BP_STATUS(a) (0 x1610 | (a) << 16 )
#define NIX_AF_TL3_TL2X_LINKX_CFG(a, b) (0 x1700 | (a) << 16 | (b) << 3 )
#define NIX_AF_RX_FLOW_KEY_ALGX_FIELDX(a, b) (0 x1800 | (a) << 18 | (b) << 3 )
#define NIX_AF_TX_MCASTX(a) (0 x1900 | (a) << 15 )
#define NIX_AF_TX_VTAG_DEFX_CTL(a) (0 x1A00 | (a) << 16 )
#define NIX_AF_TX_VTAG_DEFX_DATA(a) (0 x1A10 | (a) << 16 )
#define NIX_AF_RX_BPIDX_STATUS(a) (0 x1A20 | (a) << 17 )
#define NIX_AF_RX_CHANX_CFG(a) (0 x1A30 | (a) << 15 )
#define NIX_AF_CINT_TIMERX(a) (0 x1A40 | (a) << 18 )
#define NIX_AF_LSO_FORMATX_FIELDX(a, b) (0 x1B00 | (a) << 16 | (b) << 3 )
#define NIX_AF_LFX_CFG(a) (0 x4000 | (a) << 17 )
#define NIX_AF_LFX_SQS_CFG(a) (0 x4020 | (a) << 17 )
#define NIX_AF_LFX_TX_CFG2(a) (0 x4028 | (a) << 17 )
#define NIX_AF_LFX_SQS_BASE(a) (0 x4030 | (a) << 17 )
#define NIX_AF_LFX_RQS_CFG(a) (0 x4040 | (a) << 17 )
#define NIX_AF_LFX_RQS_BASE(a) (0 x4050 | (a) << 17 )
#define NIX_AF_LFX_CQS_CFG(a) (0 x4060 | (a) << 17 )
#define NIX_AF_LFX_CQS_BASE(a) (0 x4070 | (a) << 17 )
#define NIX_AF_LFX_TX_CFG(a) (0 x4080 | (a) << 17 )
#define NIX_AF_LFX_TX_PARSE_CFG(a) (0 x4090 | (a) << 17 )
#define NIX_AF_LFX_RX_CFG(a) (0 x40A0 | (a) << 17 )
#define NIX_AF_LFX_RSS_CFG(a) (0 x40C0 | (a) << 17 )
#define NIX_AF_LFX_RSS_BASE(a) (0 x40D0 | (a) << 17 )
#define NIX_AF_LFX_QINTS_CFG(a) (0 x4100 | (a) << 17 )
#define NIX_AF_LFX_QINTS_BASE(a) (0 x4110 | (a) << 17 )
#define NIX_AF_LFX_CINTS_CFG(a) (0 x4120 | (a) << 17 )
#define NIX_AF_LFX_CINTS_BASE(a) (0 x4130 | (a) << 17 )
#define NIX_AF_LFX_RX_IPSEC_CFG0(a) (0 x4140 | (a) << 17 )
#define NIX_AF_LFX_RX_IPSEC_CFG1(a) (0 x4148 | (a) << 17 )
#define NIX_AF_LFX_RX_IPSEC_DYNO_CFG(a) (0 x4150 | (a) << 17 )
#define NIX_AF_LFX_RX_IPSEC_DYNO_BASE(a) (0 x4158 | (a) << 17 )
#define NIX_AF_LFX_RX_IPSEC_SA_BASE(a) (0 x4170 | (a) << 17 )
#define NIX_AF_LFX_TX_STATUS(a) (0 x4180 | (a) << 17 )
#define NIX_AF_LFX_RX_VTAG_TYPEX(a, b) (0 x4200 | (a) << 17 | (b) << 3 )
#define NIX_AF_LFX_LOCKX(a, b) (0 x4300 | (a) << 17 | (b) << 3 )
#define NIX_AF_LFX_TX_STATX(a, b) (0 x4400 | (a) << 17 | (b) << 3 )
#define NIX_AF_LFX_RX_STATX(a, b) (0 x4500 | (a) << 17 | (b) << 3 )
#define NIX_AF_LFX_RSS_GRPX(a, b) (0 x4600 | (a) << 17 | (b) << 3 )
#define NIX_AF_RX_NPC_MC_RCV (0 x4700)
#define NIX_AF_RX_NPC_MC_DROP (0 x4710)
#define NIX_AF_RX_NPC_MIRROR_RCV (0 x4720)
#define NIX_AF_RX_NPC_MIRROR_DROP (0 x4730)
#define NIX_AF_RX_ACTIVE_CYCLES_PCX(a) (0 x4800 | (a) << 16 )
#define NIX_AF_LINKX_CFG(a) (0 x4010 | (a) << 17 )
#define NIX_AF_MDQX_IN_MD_COUNT(a) (0 x14e0 | (a) << 16 )
#define NIX_AF_SMQX_STATUS(a) (0 x730 | (a) << 16 )
#define NIX_AF_MDQX_OUT_MD_COUNT(a) (0 xdb0 | (a) << 16 )
#define NIX_PRIV_AF_INT_CFG (0 x8000000)
#define NIX_PRIV_LFX_CFG (0 x8000010)
#define NIX_PRIV_LFX_INT_CFG (0 x8000020)
#define NIX_AF_RVU_LF_CFG_DEBUG (0 x8000030)
#define NIX_AF_LINKX_BASE_MASK GENMASK_ULL(11 , 0 )
#define NIX_AF_LINKX_RANGE_MASK GENMASK_ULL(19 , 16 )
#define NIX_AF_LINKX_MCS_CNT_MASK GENMASK_ULL(33 , 32 )
#define NIX_CONST_MAX_BPIDS GENMASK_ULL(23 , 12 )
#define NIX_CONST_SDP_CHANS GENMASK_ULL(11 , 0 )
#define NIX_VLAN_ETYPE_MASK GENMASK_ULL(63 , 48 )
#define NIX_AF_MDQ_PARENT_MASK GENMASK_ULL(24 , 16 )
#define NIX_AF_TL4_PARENT_MASK GENMASK_ULL(23 , 16 )
#define NIX_AF_TL3_PARENT_MASK GENMASK_ULL(23 , 16 )
#define NIX_AF_TL2_PARENT_MASK GENMASK_ULL(20 , 16 )
/* SSO */
#define SSO_AF_CONST (0 x1000)
#define SSO_AF_CONST1 (0 x1008)
#define SSO_AF_BLK_RST (0 x10f8)
#define SSO_AF_LF_HWGRP_RST (0 x10e0)
#define SSO_AF_RVU_LF_CFG_DEBUG (0 x3800)
#define SSO_PRIV_LFX_HWGRP_CFG (0 x10000)
#define SSO_PRIV_LFX_HWGRP_INT_CFG (0 x20000)
/* SSOW */
#define SSOW_AF_RVU_LF_HWS_CFG_DEBUG (0 x0010)
#define SSOW_AF_LF_HWS_RST (0 x0030)
#define SSOW_PRIV_LFX_HWS_CFG (0 x1000)
#define SSOW_PRIV_LFX_HWS_INT_CFG (0 x2000)
/* TIM */
#define TIM_AF_CONST (0 x90)
#define TIM_PRIV_LFX_CFG (0 x20000)
#define TIM_PRIV_LFX_INT_CFG (0 x24000)
#define TIM_AF_RVU_LF_CFG_DEBUG (0 x30000)
#define TIM_AF_BLK_RST (0 x10)
#define TIM_AF_LF_RST (0 x20)
/* CPT */
#define CPT_AF_CONSTANTS0 (0 x0000)
#define CPT_AF_CONSTANTS1 (0 x1000)
#define CPT_AF_DIAG (0 x3000)
#define CPT_AF_ECO (0 x4000)
#define CPT_AF_FLTX_INT(a) (0 xa000ull | (u64)(a) << 3 )
#define CPT_AF_FLTX_INT_W1S(a) (0 xb000ull | (u64)(a) << 3 )
#define CPT_AF_FLTX_INT_ENA_W1C(a) (0 xc000ull | (u64)(a) << 3 )
#define CPT_AF_FLTX_INT_ENA_W1S(a) (0 xd000ull | (u64)(a) << 3 )
#define CPT_AF_PSNX_EXE(a) (0 xe000ull | (u64)(a) << 3 )
#define CPT_AF_PSNX_EXE_W1S(a) (0 xf000ull | (u64)(a) << 3 )
#define CPT_AF_PSNX_LF(a) (0 x10000ull | (u64)(a) << 3 )
#define CPT_AF_PSNX_LF_W1S(a) (0 x11000ull | (u64)(a) << 3 )
#define CPT_AF_EXEX_CTL2(a) (0 x12000ull | (u64)(a) << 3 )
#define CPT_AF_EXEX_STS(a) (0 x13000ull | (u64)(a) << 3 )
#define CPT_AF_EXE_ERR_INFO (0 x14000)
#define CPT_AF_EXEX_ACTIVE(a) (0 x16000ull | (u64)(a) << 3 )
#define CPT_AF_INST_REQ_PC (0 x17000)
#define CPT_AF_INST_LATENCY_PC (0 x18000)
#define CPT_AF_RD_REQ_PC (0 x19000)
#define CPT_AF_RD_LATENCY_PC (0 x1a000)
#define CPT_AF_RD_UC_PC (0 x1b000)
#define CPT_AF_ACTIVE_CYCLES_PC (0 x1c000)
#define CPT_AF_EXE_DBG_CTL (0 x1d000)
#define CPT_AF_EXE_DBG_DATA (0 x1e000)
#define CPT_AF_EXE_REQ_TIMER (0 x1f000)
#define CPT_AF_EXEX_CTL(a) (0 x20000ull | (u64)(a) << 3 )
#define CPT_AF_EXE_PERF_CTL (0 x21000)
#define CPT_AF_EXE_DBG_CNTX(a) (0 x22000ull | (u64)(a) << 3 )
#define CPT_AF_EXE_PERF_EVENT_CNT (0 x23000)
#define CPT_AF_EXE_EPCI_INBX_CNT(a) (0 x24000ull | (u64)(a) << 3 )
#define CPT_AF_EXE_EPCI_OUTBX_CNT(a) (0 x25000ull | (u64)(a) << 3 )
#define CPT_AF_EXEX_UCODE_BASE(a) (0 x26000ull | (u64)(a) << 3 )
#define CPT_AF_LFX_CTL(a) (0 x27000ull | (u64)(a) << 3 )
#define CPT_AF_LFX_CTL2(a) (0 x29000ull | (u64)(a) << 3 )
#define CPT_AF_CPTCLK_CNT (0 x2a000)
#define CPT_AF_PF_FUNC (0 x2b000)
#define CPT_AF_LFX_PTR_CTL(a) (0 x2c000ull | (u64)(a) << 3 )
#define CPT_AF_GRPX_THR(a) (0 x2d000ull | (u64)(a) << 3 )
#define CPT_AF_CTL (0 x2e000ull)
#define CPT_AF_XEX_THR(a) (0 x2f000ull | (u64)(a) << 3 )
#define CPT_PRIV_LFX_CFG (0 x41000)
#define CPT_PRIV_AF_INT_CFG (0 x42000)
#define CPT_PRIV_LFX_INT_CFG (0 x43000)
#define CPT_AF_LF_RST (0 x44000)
#define CPT_AF_RVU_LF_CFG_DEBUG (0 x45000)
#define CPT_AF_BLK_RST (0 x46000)
#define CPT_AF_RVU_INT (0 x47000)
#define CPT_AF_RVU_INT_W1S (0 x47008)
#define CPT_AF_RVU_INT_ENA_W1S (0 x47010)
#define CPT_AF_RVU_INT_ENA_W1C (0 x47018)
#define CPT_AF_RAS_INT (0 x47020)
#define CPT_AF_RAS_INT_W1S (0 x47028)
#define CPT_AF_RAS_INT_ENA_W1S (0 x47030)
#define CPT_AF_RAS_INT_ENA_W1C (0 x47038)
#define CPT_AF_CTX_FLUSH_TIMER (0 x48000ull)
#define CPT_AF_CTX_ERR (0 x48008ull)
#define CPT_AF_CTX_ENC_ID (0 x48010ull)
#define CPT_AF_CTX_MIS_PC (0 x49400ull)
#define CPT_AF_CTX_HIT_PC (0 x49408ull)
#define CPT_AF_CTX_AOP_PC (0 x49410ull)
#define CPT_AF_CTX_AOP_LATENCY_PC (0 x49418ull)
#define CPT_AF_CTX_IFETCH_PC (0 x49420ull)
#define CPT_AF_CTX_IFETCH_LATENCY_PC (0 x49428ull)
#define CPT_AF_CTX_FFETCH_PC (0 x49430ull)
#define CPT_AF_CTX_FFETCH_LATENCY_PC (0 x49438ull)
#define CPT_AF_CTX_WBACK_PC (0 x49440ull)
#define CPT_AF_CTX_WBACK_LATENCY_PC (0 x49448ull)
#define CPT_AF_CTX_PSH_PC (0 x49450ull)
#define CPT_AF_CTX_PSH_LATENCY_PC (0 x49458ull)
#define CPT_AF_CTX_CAM_DATA(a) (0 x49800ull | (u64)(a) << 3 )
#define CPT_AF_RXC_CFG1 (0 x50000ull)
#define CPT_AF_RXC_TIME (0 x50010ull)
#define CPT_AF_RXC_TIME_CFG (0 x50018ull)
#define CPT_AF_RXC_DFRG (0 x50020ull)
#define CPT_AF_RXC_ACTIVE_STS (0 x50028ull)
#define CPT_AF_RXC_ZOMBIE_STS (0 x50030ull)
#define CPT_AF_X2PX_LINK_CFG(a) (0 x51000ull | (u64)(a) << 3 )
#define AF_BAR2_ALIASX(a, b) (0 x9100000ull | (a) << 12 | (b))
#define CPT_AF_BAR2_SEL 0 x9000000
#define CPT_AF_BAR2_ALIASX(a, b) AF_BAR2_ALIASX(a, b)
#define CPT_AF_LF_CTL2_SHIFT 3
#define CPT_AF_LF_SSO_PF_FUNC_SHIFT 32
#define CPT_LF_CTL 0 x10
#define CPT_LF_INPROG 0 x40
#define CPT_LF_Q_SIZE 0 x100
#define CPT_LF_Q_INST_PTR 0 x110
#define CPT_LF_Q_GRP_PTR 0 x120
#define CPT_LF_CTX_FLUSH 0 x510
#define NPC_AF_BLK_RST (0 x00040)
/* NPC */
#define NPC_AF_CFG (0 x00000)
#define NPC_AF_ACTIVE_PC (0 x00010)
#define NPC_AF_CONST (0 x00020)
#define NPC_AF_CONST1 (0 x00030)
#define NPC_AF_BLK_RST (0 x00040)
#define NPC_AF_MCAM_SCRUB_CTL (0 x000a0)
#define NPC_AF_KCAM_SCRUB_CTL (0 x000b0)
#define NPC_AF_CONST2 (0 x00100)
#define NPC_AF_CONST3 (0 x00110)
#define NPC_AF_KPUX_CFG(a) (0 x00500 | (a) << 3 )
#define NPC_AF_PCK_CFG (0 x00600)
#define NPC_AF_PCK_DEF_OL2 (0 x00610)
#define NPC_AF_PCK_DEF_OIP4 (0 x00620)
#define NPC_AF_PCK_DEF_OIP6 (0 x00630)
#define NPC_AF_PCK_DEF_IIP4 (0 x00640)
#define NPC_AF_INTFX_HASHX_RESULT_CTRL(a, b) (0 x006c0 | (a) << 4 | (b) << 3 )
#define NPC_AF_INTFX_HASHX_MASKX(a, b, c) (0 x00700 | (a) << 5 | (b) << 4 | (c) << 3 )
#define NPC_AF_KEX_LDATAX_FLAGS_CFG(a) (0 x00800 | (a) << 3 )
#define NPC_AF_INTFX_HASHX_CFG(a, b) (0 x00b00 | (a) << 6 | (b) << 4 )
#define NPC_AF_INTFX_SECRET_KEY0(a) (0 x00e00 | (a) << 3 )
#define NPC_AF_INTFX_SECRET_KEY1(a) (0 x00e20 | (a) << 3 )
#define NPC_AF_INTFX_SECRET_KEY2(a) (0 x00e40 | (a) << 3 )
#define NPC_AF_INTFX_KEX_CFG(a) (0 x01010 | (a) << 8 )
#define NPC_AF_PKINDX_ACTION0(a) (0 x80000ull | (a) << 6 )
#define NPC_AF_PKINDX_ACTION1(a) (0 x80008ull | (a) << 6 )
#define NPC_AF_PKINDX_CPI_DEFX(a, b) (0 x80020ull | (a) << 6 | (b) << 3 )
#define NPC_AF_KPUX_ENTRYX_CAMX(a, b, c) \
(0 x100000 | (a) << 14 | (b) << 6 | (c) << 3 )
#define NPC_AF_KPUX_ENTRYX_ACTION0(a, b) \
(0 x100020 | (a) << 14 | (b) << 6 )
#define NPC_AF_KPUX_ENTRYX_ACTION1(a, b) \
(0 x100028 | (a) << 14 | (b) << 6 )
#define NPC_AF_KPUX_ENTRY_DISX(a, b) (0 x180000 | (a) << 6 | (b) << 3 )
#define NPC_AF_CPIX_CFG(a) (0 x200000 | (a) << 3 )
#define NPC_AF_INTFX_LIDX_LTX_LDX_CFG(a, b, c, d) \
(0 x900000 | (a) << 16 | (b) << 12 | (c) << 5 | (d) << 3 )
#define NPC_AF_INTFX_LDATAX_FLAGSX_CFG(a, b, c) \
(0 x980000 | (a) << 16 | (b) << 12 | (c) << 3 )
#define NPC_AF_INTFX_MISS_STAT_ACT(a) (0 x1880040 + (a) * 0 x8)
#define NPC_AF_INTFX_MISS_ACT(a) (0 x1a00000 | (a) << 4 )
#define NPC_AF_INTFX_MISS_TAG_ACT(a) (0 x1b00008 | (a) << 4 )
#define NPC_AF_MCAM_BANKX_HITX(a, b) (0 x1c80000 | (a) << 8 | (b) << 4 )
#define NPC_AF_LKUP_CTL (0 x2000000)
#define NPC_AF_LKUP_DATAX(a) (0 x2000200 | (a) << 4 )
#define NPC_AF_LKUP_RESULTX(a) (0 x2000400 | (a) << 4 )
#define NPC_AF_INTFX_STAT(a) (0 x2000800 | (a) << 4 )
#define NPC_AF_DBG_CTL (0 x3000000)
#define NPC_AF_DBG_STATUS (0 x3000010)
#define NPC_AF_KPUX_DBG(a) (0 x3000020 | (a) << 8 )
#define NPC_AF_IKPU_ERR_CTL (0 x3000080)
#define NPC_AF_KPUX_ERR_CTL(a) (0 x30000a0 | (a) << 8 )
#define NPC_AF_MCAM_DBG (0 x3001000)
#define NPC_AF_DBG_DATAX(a) (0 x3001400 | (a) << 4 )
#define NPC_AF_DBG_RESULTX(a) (0 x3001800 | (a) << 4 )
#define NPC_AF_EXACT_MEM_ENTRY(a, b) (0 x300000 | (a) << 15 | (b) << 3 )
#define NPC_AF_EXACT_CAM_ENTRY(a) (0 xC00 | (a) << 3 )
#define NPC_AF_INTFX_EXACT_MASK(a) (0 x660 | (a) << 3 )
#define NPC_AF_INTFX_EXACT_RESULT_CTL(a)(0 x680 | (a) << 3 )
#define NPC_AF_INTFX_EXACT_CFG(a) (0 xA00 | (a) << 3 )
#define NPC_AF_INTFX_EXACT_SECRET0(a) (0 xE00 | (a) << 3 )
#define NPC_AF_INTFX_EXACT_SECRET1(a) (0 xE20 | (a) << 3 )
#define NPC_AF_INTFX_EXACT_SECRET2(a) (0 xE40 | (a) << 3 )
#define NPC_AF_MCAMEX_BANKX_CAMX_INTF(a, b, c) ({ \
u64 offset; \
\
offset = (0 x1000000ull | (a) << 10 | (b) << 6 | (c) << 3 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000000ull | (a) << 8 | (b) << 22 | (c) << 3 ); \
offset; })
#define NPC_AF_MCAMEX_BANKX_CAMX_W0(a, b, c) ({ \
u64 offset; \
\
offset = (0 x1000010ull | (a) << 10 | (b) << 6 | (c) << 3 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000010ull | (a) << 8 | (b) << 22 | (c) << 3 ); \
offset; })
#define NPC_AF_MCAMEX_BANKX_CAMX_W1(a, b, c) ({ \
u64 offset; \
\
offset = (0 x1000020ull | (a) << 10 | (b) << 6 | (c) << 3 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000020ull | (a) << 8 | (b) << 22 | (c) << 3 ); \
offset; })
#define NPC_AF_MCAMEX_BANKX_CFG(a, b) ({ \
u64 offset; \
\
offset = (0 x1800000ull | (a) << 8 | (b) << 4 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000038ull | (a) << 8 | (b) << 22 ); \
offset; })
#define NPC_AF_MCAMEX_BANKX_ACTION(a, b) ({ \
u64 offset; \
\
offset = (0 x1900000ull | (a) << 8 | (b) << 4 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000040ull | (a) << 8 | (b) << 22 ); \
offset; }) \
#define NPC_AF_MCAMEX_BANKX_TAG_ACT(a, b) ({ \
u64 offset; \
\
offset = (0 x1900008ull | (a) << 8 | (b) << 4 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000048ull | (a) << 8 | (b) << 22 ); \
offset; }) \
#define NPC_AF_MCAMEX_BANKX_STAT_ACT(a, b) ({ \
u64 offset; \
\
offset = (0 x1880000ull | (a) << 8 | (b) << 4 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000050ull | (a) << 8 | (b) << 22 ); \
offset; }) \
#define NPC_AF_MATCH_STATX(a) ({ \
u64 offset; \
\
offset = (0 x1880008ull | (a) << 8 ); \
if (rvu->hw->npc_ext_set) \
offset = (0 x8000078ull | (a) << 8 ); \
offset; }) \
/* NDC */
#define NDC_AF_CONST (0 x00000)
#define NDC_AF_CLK_EN (0 x00020)
#define NDC_AF_CTL (0 x00030)
#define NDC_AF_BANK_CTL (0 x00040)
#define NDC_AF_BANK_CTL_DONE (0 x00048)
#define NDC_AF_INTR (0 x00058)
#define NDC_AF_INTR_W1S (0 x00060)
#define NDC_AF_INTR_ENA_W1S (0 x00068)
#define NDC_AF_INTR_ENA_W1C (0 x00070)
#define NDC_AF_ACTIVE_PC (0 x00078)
#define NDC_AF_CAMS_RD_INTERVAL (0 x00080)
#define NDC_AF_BP_TEST_ENABLE (0 x001F8)
#define NDC_AF_BP_TEST(a) (0 x00200 | (a) << 3 )
#define NDC_AF_BLK_RST (0 x002F0)
#define NDC_PRIV_AF_INT_CFG (0 x002F8)
#define NDC_AF_HASHX(a) (0 x00300 | (a) << 3 )
#define NDC_AF_PORTX_RTX_RWX_REQ_PC(a, b, c) \
(0 x00C00 | (a) << 5 | (b) << 4 | (c) << 3 )
#define NDC_AF_PORTX_RTX_RWX_OSTDN_PC(a, b, c) \
(0 x00D00 | (a) << 5 | (b) << 4 | (c) << 3 )
#define NDC_AF_PORTX_RTX_RWX_LAT_PC(a, b, c) \
(0 x00E00 | (a) << 5 | (b) << 4 | (c) << 3 )
#define NDC_AF_PORTX_RTX_CANT_ALLOC_PC(a, b) \
(0 x00F00 | (a) << 5 | (b) << 4 )
#define NDC_AF_BANKX_HIT_PC(a) (0 x01000 | (a) << 3 )
#define NDC_AF_BANKX_MISS_PC(a) (0 x01100 | (a) << 3 )
#define NDC_AF_BANKX_LINEX_METADATA(a, b) \
(0 x10000 | (a) << 12 | (b) << 3 )
/* LBK */
#define LBK_CONST (0 x10ull)
#define LBK_LINK_CFG_P2X (0 x400ull)
#define LBK_LINK_CFG_X2P (0 x408ull)
#define LBK_CONST_CHANS GENMASK_ULL(47 , 32 )
#define LBK_CONST_DST GENMASK_ULL(31 , 28 )
#define LBK_CONST_SRC GENMASK_ULL(27 , 24 )
#define LBK_CONST_BUF_SIZE GENMASK_ULL(23 , 0 )
#define LBK_LINK_CFG_RANGE_MASK GENMASK_ULL(19 , 16 )
#define LBK_LINK_CFG_ID_MASK GENMASK_ULL(11 , 6 )
#define LBK_LINK_CFG_BASE_MASK GENMASK_ULL(5 , 0 )
/* APR */
#define APR_AF_LMT_CFG (0 x000ull)
#define APR_AF_LMT_MAP_BASE (0 x008ull)
#define APR_AF_LMT_CTL (0 x010ull)
#define APR_LMT_MAP_ENT_DIS_SCH_CMP_SHIFT 23
#define APR_LMT_MAP_ENT_SCH_ENA_SHIFT 22
#define APR_LMT_MAP_ENT_DIS_LINE_PREF_SHIFT 21
#define LMTST_THROTTLE_MASK GENMASK_ULL(38 , 35 )
#define LMTST_WR_PEND_MAX 15
#endif /* RVU_REG_H */
Messung V0.5 in Prozent C=94 H=91 G=92
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-06-07)
¤
*Bot Zugriff