1fa8f86a1SJerin Jacob /* SPDX-License-Identifier: BSD-3-Clause 2fa8f86a1SJerin Jacob * Copyright(C) 2021 Marvell. 3fa8f86a1SJerin Jacob */ 4fa8f86a1SJerin Jacob 5fa8f86a1SJerin Jacob #ifndef __SSO_HW_H__ 6fa8f86a1SJerin Jacob #define __SSO_HW_H__ 7fa8f86a1SJerin Jacob 8fa8f86a1SJerin Jacob /* Register offsets */ 9fa8f86a1SJerin Jacob 10fa8f86a1SJerin Jacob #define SSO_AF_CONST (0x1000ull) 11fa8f86a1SJerin Jacob #define SSO_AF_CONST1 (0x1008ull) 12fa8f86a1SJerin Jacob #define SSO_AF_WQ_INT_PC (0x1020ull) 13fa8f86a1SJerin Jacob #define SSO_AF_NOS_CNT (0x1050ull) /* [CN9K, CN10K) */ 14fa8f86a1SJerin Jacob #define SSO_AF_GWS_INV (0x1060ull) /* [CN10K, .) */ 15fa8f86a1SJerin Jacob #define SSO_AF_AW_WE (0x1080ull) 16fa8f86a1SJerin Jacob #define SSO_AF_WS_CFG (0x1088ull) 17fa8f86a1SJerin Jacob #define SSO_AF_GWE_CFG (0x1098ull) 18fa8f86a1SJerin Jacob #define SSO_AF_GWE_RANDOM (0x10b0ull) 19fa8f86a1SJerin Jacob #define SSO_AF_LF_HWGRP_RST (0x10e0ull) 20fa8f86a1SJerin Jacob #define SSO_AF_AW_CFG (0x10f0ull) 21fa8f86a1SJerin Jacob #define SSO_AF_BLK_RST (0x10f8ull) 22fa8f86a1SJerin Jacob #define SSO_AF_ACTIVE_CYCLES0 (0x1100ull) 23fa8f86a1SJerin Jacob #define SSO_AF_ACTIVE_CYCLES1 (0x1108ull) 24fa8f86a1SJerin Jacob #define SSO_AF_ACTIVE_CYCLES2 (0x1110ull) 25fa8f86a1SJerin Jacob #define SSO_AF_ERR0 (0x1220ull) 26fa8f86a1SJerin Jacob #define SSO_AF_ERR0_W1S (0x1228ull) 27fa8f86a1SJerin Jacob #define SSO_AF_ERR0_ENA_W1C (0x1230ull) 28fa8f86a1SJerin Jacob #define SSO_AF_ERR0_ENA_W1S (0x1238ull) 29fa8f86a1SJerin Jacob #define SSO_AF_ERR2 (0x1260ull) 30fa8f86a1SJerin Jacob #define SSO_AF_ERR2_W1S (0x1268ull) 31fa8f86a1SJerin Jacob #define SSO_AF_ERR2_ENA_W1C (0x1270ull) 32fa8f86a1SJerin Jacob #define SSO_AF_ERR2_ENA_W1S (0x1278ull) 33fa8f86a1SJerin Jacob #define SSO_AF_UNMAP_INFO (0x12f0ull) 34fa8f86a1SJerin Jacob #define SSO_AF_UNMAP_INFO2 (0x1300ull) 35fa8f86a1SJerin Jacob #define SSO_AF_UNMAP_INFO3 (0x1310ull) 36fa8f86a1SJerin Jacob #define SSO_AF_RAS (0x1420ull) 37fa8f86a1SJerin Jacob #define SSO_AF_RAS_W1S (0x1430ull) 38fa8f86a1SJerin Jacob #define SSO_AF_RAS_ENA_W1C (0x1460ull) 39fa8f86a1SJerin Jacob #define SSO_AF_RAS_ENA_W1S (0x1470ull) 40fa8f86a1SJerin Jacob #define SSO_AF_AW_INP_CTL (0x2070ull) 41fa8f86a1SJerin Jacob #define SSO_AF_AW_ADD (0x2080ull) 42fa8f86a1SJerin Jacob #define SSO_AF_AW_READ_ARB (0x2090ull) 43fa8f86a1SJerin Jacob #define SSO_AF_XAQ_REQ_PC (0x20b0ull) 44fa8f86a1SJerin Jacob #define SSO_AF_XAQ_LATENCY_PC (0x20b8ull) 45fa8f86a1SJerin Jacob #define SSO_AF_TAQ_CNT (0x20c0ull) 46fa8f86a1SJerin Jacob #define SSO_AF_TAQ_ADD (0x20e0ull) 47fa8f86a1SJerin Jacob #define SSO_AF_POISONX(a) (0x2100ull | (uint64_t)(a) << 3) 48fa8f86a1SJerin Jacob #define SSO_AF_POISONX_W1S(a) (0x2200ull | (uint64_t)(a) << 3) 49fa8f86a1SJerin Jacob #define SSO_PRIV_AF_INT_CFG (0x3000ull) 50fa8f86a1SJerin Jacob #define SSO_AF_RVU_LF_CFG_DEBUG (0x3800ull) 51fa8f86a1SJerin Jacob #define SSO_PRIV_LFX_HWGRP_CFG(a) (0x10000ull | (uint64_t)(a) << 3) 52fa8f86a1SJerin Jacob #define SSO_PRIV_LFX_HWGRP_INT_CFG(a) (0x20000ull | (uint64_t)(a) << 3) 53fa8f86a1SJerin Jacob #define SSO_AF_IU_ACCNTX_CFG(a) (0x50000ull | (uint64_t)(a) << 3) 54fa8f86a1SJerin Jacob #define SSO_AF_IU_ACCNTX_RST(a) (0x60000ull | (uint64_t)(a) << 3) 55fa8f86a1SJerin Jacob #define SSO_AF_XAQX_HEAD_PTR(a) (0x80000ull | (uint64_t)(a) << 3) 56fa8f86a1SJerin Jacob #define SSO_AF_XAQX_TAIL_PTR(a) (0x90000ull | (uint64_t)(a) << 3) 57fa8f86a1SJerin Jacob #define SSO_AF_XAQX_HEAD_NEXT(a) (0xa0000ull | (uint64_t)(a) << 3) 58fa8f86a1SJerin Jacob #define SSO_AF_XAQX_TAIL_NEXT(a) (0xb0000ull | (uint64_t)(a) << 3) 59fa8f86a1SJerin Jacob #define SSO_AF_TIAQX_STATUS(a) (0xc0000ull | (uint64_t)(a) << 3) 60fa8f86a1SJerin Jacob #define SSO_AF_TOAQX_STATUS(a) (0xd0000ull | (uint64_t)(a) << 3) 61fa8f86a1SJerin Jacob #define SSO_AF_XAQX_GMCTL(a) (0xe0000ull | (uint64_t)(a) << 3) 62fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_IAQ_THR(a) (0x200000ull | (uint64_t)(a) << 12) 63fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_TAQ_THR(a) (0x200010ull | (uint64_t)(a) << 12) 64fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_PRI(a) (0x200020ull | (uint64_t)(a) << 12) 65fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_AW_FWD(a) \ 66fa8f86a1SJerin Jacob (0x200030ull | (uint64_t)(a) << 12) /* [CN10K, .) */ 67fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_WS_PC(a) (0x200050ull | (uint64_t)(a) << 12) 68fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_EXT_PC(a) (0x200060ull | (uint64_t)(a) << 12) 69fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_WA_PC(a) (0x200070ull | (uint64_t)(a) << 12) 70fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_TS_PC(a) (0x200080ull | (uint64_t)(a) << 12) 71fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_DS_PC(a) (0x200090ull | (uint64_t)(a) << 12) 72fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_DQ_PC(a) (0x2000A0ull | (uint64_t)(a) << 12) 73fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_LS_PC(a) \ 74fa8f86a1SJerin Jacob (0x2000c0ull | (uint64_t)(a) << 12) /* [CN10K, .) */ 75fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_PAGE_CNT(a) (0x200100ull | (uint64_t)(a) << 12) 76fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_AW_STATUS(a) (0x200110ull | (uint64_t)(a) << 12) 77fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_AW_CFG(a) (0x200120ull | (uint64_t)(a) << 12) 78fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_AW_TAGSPACE(a) (0x200130ull | (uint64_t)(a) << 12) 79fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_XAQ_AURA(a) (0x200140ull | (uint64_t)(a) << 12) 80fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_XAQ_LIMIT(a) (0x200220ull | (uint64_t)(a) << 12) 81fa8f86a1SJerin Jacob #define SSO_AF_HWGRPX_IU_ACCNT(a) (0x200230ull | (uint64_t)(a) << 12) 82fa8f86a1SJerin Jacob #define SSO_AF_HWSX_ARB(a) (0x400100ull | (uint64_t)(a) << 12) 83fa8f86a1SJerin Jacob #define SSO_AF_HWSX_INV(a) (0x400180ull | (uint64_t)(a) << 12) 84fa8f86a1SJerin Jacob #define SSO_AF_HWSX_GMCTL(a) (0x400200ull | (uint64_t)(a) << 12) 85fa8f86a1SJerin Jacob #define SSO_AF_HWSX_LSW_CFG(a) \ 86fa8f86a1SJerin Jacob (0x400300ull | (uint64_t)(a) << 12) /* [CN10K, .) */ 87fa8f86a1SJerin Jacob #define SSO_AF_HWSX_SX_GRPMSKX(a, b, c) \ 88fa8f86a1SJerin Jacob (0x400400ull | (uint64_t)(a) << 12 | (uint64_t)(b) << 5 | \ 89fa8f86a1SJerin Jacob (uint64_t)(c) << 3) 90fa8f86a1SJerin Jacob #define SSO_AF_TILEMAPX(a) \ 91fa8f86a1SJerin Jacob (0x400600ull | (uint64_t)(a) << 12) /* [CN10K, .) \ 92fa8f86a1SJerin Jacob */ 93fa8f86a1SJerin Jacob #define SSO_AF_IPL_FREEX(a) (0x800000ull | (uint64_t)(a) << 3) 94fa8f86a1SJerin Jacob #define SSO_AF_IPL_IAQX(a) (0x840000ull | (uint64_t)(a) << 3) 95fa8f86a1SJerin Jacob #define SSO_AF_IPL_DESCHEDX(a) (0x860000ull | (uint64_t)(a) << 3) 96fa8f86a1SJerin Jacob #define SSO_AF_IPL_CONFX(a) (0x880000ull | (uint64_t)(a) << 3) 97fa8f86a1SJerin Jacob #define SSO_AF_NPA_DIGESTX(a) (0x900000ull | (uint64_t)(a) << 3) 98fa8f86a1SJerin Jacob #define SSO_AF_NPA_DIGESTX_W1S(a) (0x900100ull | (uint64_t)(a) << 3) 99fa8f86a1SJerin Jacob #define SSO_AF_BFP_DIGESTX(a) (0x900200ull | (uint64_t)(a) << 3) 100fa8f86a1SJerin Jacob #define SSO_AF_BFP_DIGESTX_W1S(a) (0x900300ull | (uint64_t)(a) << 3) 101fa8f86a1SJerin Jacob #define SSO_AF_BFPN_DIGESTX(a) (0x900400ull | (uint64_t)(a) << 3) 102fa8f86a1SJerin Jacob #define SSO_AF_BFPN_DIGESTX_W1S(a) (0x900500ull | (uint64_t)(a) << 3) 103fa8f86a1SJerin Jacob #define SSO_AF_GRPDIS_DIGESTX(a) (0x900600ull | (uint64_t)(a) << 3) 104fa8f86a1SJerin Jacob #define SSO_AF_GRPDIS_DIGESTX_W1S(a) (0x900700ull | (uint64_t)(a) << 3) 105fa8f86a1SJerin Jacob #define SSO_AF_AWEMPTY_DIGESTX(a) (0x900800ull | (uint64_t)(a) << 3) 106fa8f86a1SJerin Jacob #define SSO_AF_AWEMPTY_DIGESTX_W1S(a) (0x900900ull | (uint64_t)(a) << 3) 107fa8f86a1SJerin Jacob #define SSO_AF_WQP0_DIGESTX(a) (0x900a00ull | (uint64_t)(a) << 3) 108fa8f86a1SJerin Jacob #define SSO_AF_WQP0_DIGESTX_W1S(a) (0x900b00ull | (uint64_t)(a) << 3) 109fa8f86a1SJerin Jacob #define SSO_AF_AW_DROPPED_DIGESTX(a) (0x900c00ull | (uint64_t)(a) << 3) 110fa8f86a1SJerin Jacob #define SSO_AF_AW_DROPPED_DIGESTX_W1S(a) (0x900d00ull | (uint64_t)(a) << 3) 111fa8f86a1SJerin Jacob #define SSO_AF_QCTLDIS_DIGESTX(a) (0x900e00ull | (uint64_t)(a) << 3) 112fa8f86a1SJerin Jacob #define SSO_AF_QCTLDIS_DIGESTX_W1S(a) (0x900f00ull | (uint64_t)(a) << 3) 113fa8f86a1SJerin Jacob #define SSO_AF_XAQDIS_DIGESTX(a) (0x901000ull | (uint64_t)(a) << 3) 114fa8f86a1SJerin Jacob #define SSO_AF_XAQDIS_DIGESTX_W1S(a) (0x901100ull | (uint64_t)(a) << 3) 115fa8f86a1SJerin Jacob #define SSO_AF_FLR_AQ_DIGESTX(a) (0x901200ull | (uint64_t)(a) << 3) 116fa8f86a1SJerin Jacob #define SSO_AF_FLR_AQ_DIGESTX_W1S(a) (0x901300ull | (uint64_t)(a) << 3) 117fa8f86a1SJerin Jacob #define SSO_AF_WS_GMULTI_DIGESTX(a) (0x902000ull | (uint64_t)(a) << 3) 118fa8f86a1SJerin Jacob #define SSO_AF_WS_GMULTI_DIGESTX_W1S(a) (0x902100ull | (uint64_t)(a) << 3) 119fa8f86a1SJerin Jacob #define SSO_AF_WS_GUNMAP_DIGESTX(a) (0x902200ull | (uint64_t)(a) << 3) 120fa8f86a1SJerin Jacob #define SSO_AF_WS_GUNMAP_DIGESTX_W1S(a) (0x902300ull | (uint64_t)(a) << 3) 121fa8f86a1SJerin Jacob #define SSO_AF_WS_AWE_DIGESTX(a) \ 122fa8f86a1SJerin Jacob (0x902400ull | (uint64_t)(a) << 3) /* [CN9K, CN10K) */ 123fa8f86a1SJerin Jacob #define SSO_AF_WS_AWE_DIGESTX_W1S(a) \ 124fa8f86a1SJerin Jacob (0x902500ull | (uint64_t)(a) << 3) /* [CN9K, CN10K) */ 125fa8f86a1SJerin Jacob #define SSO_AF_WS_GWI_DIGESTX(a) \ 126fa8f86a1SJerin Jacob (0x902600ull | (uint64_t)(a) << 3) /* [CN9K, CN10K) */ 127fa8f86a1SJerin Jacob #define SSO_AF_WS_GWI_DIGESTX_W1S(a) \ 128fa8f86a1SJerin Jacob (0x902700ull | (uint64_t)(a) << 3) /* [CN9K, CN10K) */ 129fa8f86a1SJerin Jacob #define SSO_AF_WS_NE_DIGESTX(a) (0x902800ull | (uint64_t)(a) << 3) 130fa8f86a1SJerin Jacob #define SSO_AF_WS_NE_DIGESTX_W1S(a) (0x902900ull | (uint64_t)(a) << 3) 131fa8f86a1SJerin Jacob #define SSO_AF_IENTX_TAG(a) (0xa00000ull | (uint64_t)(a) << 3) 132fa8f86a1SJerin Jacob #define SSO_AF_IENTX_GRP(a) (0xa20000ull | (uint64_t)(a) << 3) 133fa8f86a1SJerin Jacob #define SSO_AF_IENTX_PENDTAG(a) (0xa40000ull | (uint64_t)(a) << 3) 134fa8f86a1SJerin Jacob #define SSO_AF_IENTX_LINKS(a) (0xa60000ull | (uint64_t)(a) << 3) 135fa8f86a1SJerin Jacob #define SSO_AF_IENTX_QLINKS(a) (0xa80000ull | (uint64_t)(a) << 3) 136fa8f86a1SJerin Jacob #define SSO_AF_IENTX_WQP(a) (0xaa0000ull | (uint64_t)(a) << 3) 137fa8f86a1SJerin Jacob #define SSO_AF_IENTX_LSW(a) \ 138fa8f86a1SJerin Jacob (0xac0000ull | (uint64_t)(a) << 3) /* [CN10K, .) */ 139fa8f86a1SJerin Jacob 140fa8f86a1SJerin Jacob #define SSO_AF_TAQX_LINK(a) (0xc00000ull | (uint64_t)(a) << 3) 141fa8f86a1SJerin Jacob #define SSO_AF_TAQX_WAEX_TAG(a, b) \ 142fa8f86a1SJerin Jacob (0xe00000ull | (uint64_t)(a) << 8 | (uint64_t)(b) << 4) 143fa8f86a1SJerin Jacob #define SSO_AF_TAQX_WAEX_WQP(a, b) \ 144fa8f86a1SJerin Jacob (0xe00008ull | (uint64_t)(a) << 8 | (uint64_t)(b) << 4) 145fa8f86a1SJerin Jacob 146fa8f86a1SJerin Jacob #define SSO_LF_GGRP_OP_ADD_WORK0 (0x0ull) 147fa8f86a1SJerin Jacob #define SSO_LF_GGRP_OP_ADD_WORK1 (0x8ull) 148fa8f86a1SJerin Jacob #define SSO_LF_GGRP_QCTL (0x20ull) 149*62afdd8dSPavan Nikhilesh #define SSO_LF_GGRP_TAG_CFG (0x40ull) 150fa8f86a1SJerin Jacob #define SSO_LF_GGRP_EXE_DIS (0x80ull) 151fa8f86a1SJerin Jacob #define SSO_LF_GGRP_INT (0x100ull) 152fa8f86a1SJerin Jacob #define SSO_LF_GGRP_INT_W1S (0x108ull) 153fa8f86a1SJerin Jacob #define SSO_LF_GGRP_INT_ENA_W1S (0x110ull) 154fa8f86a1SJerin Jacob #define SSO_LF_GGRP_INT_ENA_W1C (0x118ull) 155fa8f86a1SJerin Jacob #define SSO_LF_GGRP_INT_THR (0x140ull) 156fa8f86a1SJerin Jacob #define SSO_LF_GGRP_INT_CNT (0x180ull) 157fa8f86a1SJerin Jacob #define SSO_LF_GGRP_XAQ_CNT (0x1b0ull) 158fa8f86a1SJerin Jacob #define SSO_LF_GGRP_AQ_CNT (0x1c0ull) 159fa8f86a1SJerin Jacob #define SSO_LF_GGRP_AQ_THR (0x1e0ull) 160fa8f86a1SJerin Jacob #define SSO_LF_GGRP_MISC_CNT (0x200ull) 161c3320d21SPavan Nikhilesh #define SSO_LF_GGRP_OP_AW_LMTST (0x400ull) 162fa8f86a1SJerin Jacob 163*62afdd8dSPavan Nikhilesh #define SSO_LF_GGRP_AGGR_CFG (0x300ull) 164*62afdd8dSPavan Nikhilesh #define SSO_LF_GGRP_AGGR_CTX_BASE (0x308ull) 165*62afdd8dSPavan Nikhilesh #define SSO_LF_GGRP_AGGR_CTX_INSTOP (0x310ull) 166*62afdd8dSPavan Nikhilesh 167fa8f86a1SJerin Jacob #define SSO_AF_IAQ_FREE_CNT_MASK 0x3FFFull 168fa8f86a1SJerin Jacob #define SSO_AF_IAQ_RSVD_FREE_MASK 0x3FFFull 169fa8f86a1SJerin Jacob #define SSO_AF_IAQ_RSVD_FREE_SHIFT 16 170fa8f86a1SJerin Jacob #define SSO_AF_IAQ_FREE_CNT_MAX SSO_AF_IAQ_FREE_CNT_MASK 171fa8f86a1SJerin Jacob #define SSO_AF_AW_ADD_RSVD_FREE_MASK 0x3FFFull 172fa8f86a1SJerin Jacob #define SSO_AF_AW_ADD_RSVD_FREE_SHIFT 16 173fa8f86a1SJerin Jacob #define SSO_HWGRP_IAQ_MAX_THR_MASK 0x3FFFull 174fa8f86a1SJerin Jacob #define SSO_HWGRP_IAQ_RSVD_THR_MASK 0x3FFFull 175fa8f86a1SJerin Jacob #define SSO_HWGRP_IAQ_MAX_THR_SHIFT 32 176fa8f86a1SJerin Jacob #define SSO_HWGRP_IAQ_RSVD_THR 0x2 177fa8f86a1SJerin Jacob 178fa8f86a1SJerin Jacob #define SSO_AF_TAQ_FREE_CNT_MASK 0x7FFull 179fa8f86a1SJerin Jacob #define SSO_AF_TAQ_RSVD_FREE_MASK 0x7FFull 180fa8f86a1SJerin Jacob #define SSO_AF_TAQ_RSVD_FREE_SHIFT 16 181fa8f86a1SJerin Jacob #define SSO_AF_TAQ_FREE_CNT_MAX SSO_AF_TAQ_FREE_CNT_MASK 182fa8f86a1SJerin Jacob #define SSO_AF_TAQ_ADD_RSVD_FREE_MASK 0x1FFFull 183fa8f86a1SJerin Jacob #define SSO_AF_TAQ_ADD_RSVD_FREE_SHIFT 16 184fa8f86a1SJerin Jacob #define SSO_HWGRP_TAQ_MAX_THR_MASK 0x7FFull 185fa8f86a1SJerin Jacob #define SSO_HWGRP_TAQ_RSVD_THR_MASK 0x7FFull 186fa8f86a1SJerin Jacob #define SSO_HWGRP_TAQ_MAX_THR_SHIFT 32 187fa8f86a1SJerin Jacob #define SSO_HWGRP_TAQ_RSVD_THR 0x3 188fa8f86a1SJerin Jacob 189fa8f86a1SJerin Jacob #define SSO_HWGRP_PRI_AFF_MASK 0xFull 190fa8f86a1SJerin Jacob #define SSO_HWGRP_PRI_AFF_SHIFT 8 191fa8f86a1SJerin Jacob #define SSO_HWGRP_PRI_WGT_MASK 0x3Full 192fa8f86a1SJerin Jacob #define SSO_HWGRP_PRI_WGT_SHIFT 16 193fa8f86a1SJerin Jacob #define SSO_HWGRP_PRI_WGT_LEFT_MASK 0x3Full 194fa8f86a1SJerin Jacob #define SSO_HWGRP_PRI_WGT_LEFT_SHIFT 24 195fa8f86a1SJerin Jacob 196fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_CFG_RWEN BIT_ULL(0) 197fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_CFG_LDWB BIT_ULL(1) 198fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_CFG_LDT BIT_ULL(2) 199fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_CFG_STT BIT_ULL(3) 200fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_CFG_XAQ_BYP_DIS BIT_ULL(4) 201fa8f86a1SJerin Jacob 202fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_STS_TPTR_VLD BIT_ULL(8) 203fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_STS_NPA_FETCH BIT_ULL(9) 204fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_STS_XAQ_BUFSC_MASK 0x7ull 205fa8f86a1SJerin Jacob #define SSO_HWGRP_AW_STS_INIT_STS 0x18ull 206fa8f86a1SJerin Jacob 207fa8f86a1SJerin Jacob /* Enum offsets */ 208fa8f86a1SJerin Jacob 209fa8f86a1SJerin Jacob #define SSO_LF_INT_VEC_GRP (0x0ull) 210fa8f86a1SJerin Jacob 211fa8f86a1SJerin Jacob #define SSO_AF_INT_VEC_ERR0 (0x0ull) 212fa8f86a1SJerin Jacob #define SSO_AF_INT_VEC_ERR2 (0x1ull) 213fa8f86a1SJerin Jacob #define SSO_AF_INT_VEC_RAS (0x2ull) 214fa8f86a1SJerin Jacob 215fa8f86a1SJerin Jacob #define SSO_LSW_MODE_NO_LSW (0x0ull) /* [CN10K, .) */ 216fa8f86a1SJerin Jacob #define SSO_LSW_MODE_WAITW (0x1ull) /* [CN10K, .) */ 217fa8f86a1SJerin Jacob #define SSO_LSW_MODE_IMMED (0x2ull) /* [CN10K, .) */ 218fa8f86a1SJerin Jacob 219fa8f86a1SJerin Jacob #define SSO_WA_IOBN (0x0ull) 220fa8f86a1SJerin Jacob #define SSO_WA_ADDWQ (0x3ull) 221fa8f86a1SJerin Jacob #define SSO_WA_DPI (0x4ull) 222fa8f86a1SJerin Jacob #define SSO_WA_TIM (0x6ull) 223fa8f86a1SJerin Jacob #define SSO_WA_ZIP (0x7ull) /* [CN9K, CN10K) */ 224fa8f86a1SJerin Jacob #define SSO_WA_PSM (0x7ull) /* [CN10K, .) */ 225fa8f86a1SJerin Jacob #define SSO_WA_NIXRX0 (0x1ull) 226fa8f86a1SJerin Jacob #define SSO_WA_NIXRX1 (0x8ull) /* [CN10K, .) */ 227fa8f86a1SJerin Jacob #define SSO_WA_CPT0 (0x2ull) 228fa8f86a1SJerin Jacob #define SSO_WA_CPT1 (0x9ull) /* [CN10K, .) */ 229fa8f86a1SJerin Jacob #define SSO_WA_NIXTX0 (0x5ull) 230fa8f86a1SJerin Jacob #define SSO_WA_NIXTX1 (0xbull) /* [CN10K, .) */ 231fa8f86a1SJerin Jacob #define SSO_WA_ML0 (0xaull) /* [CN10K, .) */ 232fa8f86a1SJerin Jacob #define SSO_WA_ML1 (0xcull) /* [CN10K, .) */ 233fa8f86a1SJerin Jacob 234fa8f86a1SJerin Jacob #define SSO_TT_ORDERED (0x0ull) 235fa8f86a1SJerin Jacob #define SSO_TT_ATOMIC (0x1ull) 236fa8f86a1SJerin Jacob #define SSO_TT_UNTAGGED (0x2ull) 237fa8f86a1SJerin Jacob #define SSO_TT_EMPTY (0x3ull) 238*62afdd8dSPavan Nikhilesh #define SSO_TT_AGG (0x3ull) 239*62afdd8dSPavan Nikhilesh 240*62afdd8dSPavan Nikhilesh #define SSO_LF_AGGR_INSTOP_FLUSH (0x0ull) 241*62afdd8dSPavan Nikhilesh #define SSO_LF_AGGR_INSTOP_EVICT (0x1ull) 242*62afdd8dSPavan Nikhilesh #define SSO_LF_AGGR_INSTOP_GLOBAL_FLUSH (0x2ull) 243*62afdd8dSPavan Nikhilesh #define SSO_LF_AGGR_INSTOP_GLOBAL_EVICT (0x3ull) 244*62afdd8dSPavan Nikhilesh 245*62afdd8dSPavan Nikhilesh #define SSO_AGGR_CTX_SZ 16 246*62afdd8dSPavan Nikhilesh #define SSO_AGGR_NUM_CTX(a) (1 << (a + 6)) 247*62afdd8dSPavan Nikhilesh #define SSO_AGGR_MIN_CTX SSO_AGGR_NUM_CTX(0) 248*62afdd8dSPavan Nikhilesh #define SSO_AGGR_MAX_CTX SSO_AGGR_NUM_CTX(10) 249*62afdd8dSPavan Nikhilesh #define SSO_AGGR_DEF_TMO 0x3Full 250*62afdd8dSPavan Nikhilesh 251*62afdd8dSPavan Nikhilesh struct sso_agq_ctx { 252*62afdd8dSPavan Nikhilesh uint64_t ena : 1; 253*62afdd8dSPavan Nikhilesh uint64_t rsvd_1_3 : 3; 254*62afdd8dSPavan Nikhilesh uint64_t vwqe_aura : 17; 255*62afdd8dSPavan Nikhilesh uint64_t rsvd_21_31 : 11; 256*62afdd8dSPavan Nikhilesh uint64_t tag : 32; 257*62afdd8dSPavan Nikhilesh uint64_t tt : 2; 258*62afdd8dSPavan Nikhilesh uint64_t rsvd_66_67 : 2; 259*62afdd8dSPavan Nikhilesh uint64_t swqe_tag : 12; 260*62afdd8dSPavan Nikhilesh uint64_t max_vsize_exp : 4; 261*62afdd8dSPavan Nikhilesh uint64_t vtimewait : 12; 262*62afdd8dSPavan Nikhilesh uint64_t xqe_type : 4; 263*62afdd8dSPavan Nikhilesh uint64_t cnt_ena : 1; 264*62afdd8dSPavan Nikhilesh uint64_t rsvd_101_127 : 27; 265*62afdd8dSPavan Nikhilesh }; 266fa8f86a1SJerin Jacob 267fa8f86a1SJerin Jacob #endif /* __SSO_HW_H__ */ 268