/* SPDX-License-Identifier: GPL-2.0 */
/* Marvell MCS driver
*
* Copyright (C) 2022 Marvell.
*/
#ifndef MCS_REG_H
#define MCS_REG_H
#include <linux/bits.h>
/* Registers */
#define MCSX_IP_MODE 0 x900c8ull
#define MCSX_MCS_TOP_SLAVE_PORT_RESET(a) ({ \
u64 offset; \
\
offset = 0 x408ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa28ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_MCS_TOP_SLAVE_CHANNEL_CFG(a) ({ \
u64 offset; \
\
offset = 0 x808ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa68ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_MIL_GLOBAL ({ \
u64 offset; \
\
offset = 0 x80000ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x60000ull; \
offset; })
#define MCSX_MIL_RX_LMACX_CFG(a) ({ \
u64 offset; \
\
offset = 0 x900a8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x700a8ull; \
offset += (a) * 0 x800ull; \
offset; })
#define MCSX_HIL_GLOBAL ({ \
u64 offset; \
\
offset = 0 xc0000ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa0000ull; \
offset; })
#define MCSX_LINK_LMACX_CFG(a) ({ \
u64 offset; \
\
offset = 0 x90000ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x70000ull; \
offset += (a) * 0 x800ull; \
offset; })
#define MCSX_MIL_RX_GBL_STATUS ({ \
u64 offset; \
\
offset = 0 x800c8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x600c8ull; \
offset; })
#define MCSX_MIL_IP_GBL_STATUS ({ \
u64 offset; \
\
offset = 0 x800d0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x600d0ull; \
offset; })
/* PAB */
#define MCSX_PAB_RX_SLAVE_PORT_CFGX(a) ({ \
u64 offset; \
\
offset = 0 x1718ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x280ull; \
offset += (a) * 0 x40ull; \
offset; })
#define MCSX_PAB_TX_SLAVE_PORT_CFGX(a) (0 x2930ull + (a) * 0 x40ull)
/* PEX registers */
#define MCSX_PEX_RX_SLAVE_VLAN_CFGX(a) (0 x3b58ull + (a) * 0 x8ull)
#define MCSX_PEX_TX_SLAVE_VLAN_CFGX(a) (0 x46f8ull + (a) * 0 x8ull)
#define MCSX_PEX_TX_SLAVE_CUSTOM_TAG_REL_MODE_SEL(a) (0 x788ull + (a) * 0 x8ull)
#define MCSX_PEX_TX_SLAVE_PORT_CONFIG(a) (0 x4738ull + (a) * 0 x8ull)
#define MCSX_PEX_RX_SLAVE_PORT_CFGX(a) (0 x3b98ull + (a) * 0 x8ull)
#define MCSX_PEX_RX_SLAVE_RULE_ETYPE_CFGX(a) ({ \
u64 offset; \
\
offset = 0 x3fc0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x558ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_DAX(a) ({ \
u64 offset; \
\
offset = 0 x4000ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x598ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_DA_RANGE_MINX(a) ({ \
u64 offset; \
\
offset = 0 x4040ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5d8ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_DA_RANGE_MAXX(a) ({ \
u64 offset; \
\
offset = 0 x4048ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5e0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_COMBO_MINX(a) ({ \
u64 offset; \
\
offset = 0 x4080ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x648ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_COMBO_MAXX(a) ({ \
u64 offset; \
\
offset = 0 x4088ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x650ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_COMBO_ETX(a) ({ \
u64 offset; \
\
offset = 0 x4090ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x658ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_MAC ({ \
u64 offset; \
\
offset = 0 x40e0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x6d8ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_RULE_ENABLE ({ \
u64 offset; \
\
offset = 0 x40e8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x6e0ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_ETYPE_CFGX(a) ({ \
u64 offset; \
\
offset = 0 x4b60ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x7d8ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_DAX(a) ({ \
u64 offset; \
\
offset = 0 x4ba0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x818ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_DA_RANGE_MINX(a) ({ \
u64 offset; \
\
offset = 0 x4be0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x858ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_DA_RANGE_MAXX(a) ({ \
u64 offset; \
\
offset = 0 x4be8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x860ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_COMBO_MINX(a) ({ \
u64 offset; \
\
offset = 0 x4c20ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x8c8ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_COMBO_MAXX(a) ({ \
u64 offset; \
\
offset = 0 x4c28ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x8d0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_COMBO_ETX(a) ({ \
u64 offset; \
\
offset = 0 x4c30ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x8d8ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_MAC ({ \
u64 offset; \
\
offset = 0 x4c80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x958ull; \
offset; })
#define MCSX_PEX_TX_SLAVE_RULE_ENABLE ({ \
u64 offset; \
\
offset = 0 x4c88ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x960ull; \
offset; })
#define MCSX_PEX_RX_SLAVE_PEX_CONFIGURATION ({ \
u64 offset; \
\
offset = 0 x3b50ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x4c0ull; \
offset; })
/* CNF10K-B */
#define MCSX_PEX_RX_SLAVE_CUSTOM_TAGX(a) (0 x4c8ull + (a) * 0 x8ull)
#define MCSX_PEX_TX_SLAVE_CUSTOM_TAGX(a) (0 x748ull + (a) * 0 x8ull)
#define MCSX_PEX_RX_SLAVE_ETYPE_ENABLE 0 x6e8ull
#define MCSX_PEX_TX_SLAVE_ETYPE_ENABLE 0 x968ull
/* BEE */
#define MCSX_BBE_RX_SLAVE_PADDING_CTL 0 xe08ull
#define MCSX_BBE_TX_SLAVE_PADDING_CTL 0 x12f8ull
#define MCSX_BBE_RX_SLAVE_CAL_ENTRY 0 x180ull
#define MCSX_BBE_RX_SLAVE_CAL_LEN 0 x188ull
#define MCSX_PAB_RX_SLAVE_FIFO_SKID_CFGX(a) (0 x290ull + (a) * 0 x40ull)
#define MCSX_BBE_RX_SLAVE_DFIFO_OVERFLOW_0 0 xe20
#define MCSX_BBE_TX_SLAVE_DFIFO_OVERFLOW_0 0 x1298
#define MCSX_BBE_RX_SLAVE_PLFIFO_OVERFLOW_0 0 xe40
#define MCSX_BBE_TX_SLAVE_PLFIFO_OVERFLOW_0 0 x12b8
#define MCSX_BBE_RX_SLAVE_BBE_INT ({ \
u64 offset; \
\
offset = 0 xe00ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x160ull; \
offset; })
#define MCSX_BBE_RX_SLAVE_BBE_INT_ENB ({ \
u64 offset; \
\
offset = 0 xe08ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x168ull; \
offset; })
#define MCSX_BBE_RX_SLAVE_BBE_INT_INTR_RW ({ \
u64 offset; \
\
offset = 0 xe08ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x178ull; \
offset; })
#define MCSX_BBE_TX_SLAVE_BBE_INT ({ \
u64 offset; \
\
offset = 0 x1278ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x1e0ull; \
offset; })
#define MCSX_BBE_TX_SLAVE_BBE_INT_INTR_RW ({ \
u64 offset; \
\
offset = 0 x1278ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x1f8ull; \
offset; })
#define MCSX_BBE_TX_SLAVE_BBE_INT_ENB ({ \
u64 offset; \
\
offset = 0 x1280ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x1e8ull; \
offset; })
#define MCSX_PAB_RX_SLAVE_PAB_INT ({ \
u64 offset; \
\
offset = 0 x16f0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x260ull; \
offset; })
#define MCSX_PAB_RX_SLAVE_PAB_INT_ENB ({ \
u64 offset; \
\
offset = 0 x16f8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x268ull; \
offset; })
#define MCSX_PAB_RX_SLAVE_PAB_INT_INTR_RW ({ \
u64 offset; \
\
offset = 0 x16f8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x278ull; \
offset; })
#define MCSX_PAB_TX_SLAVE_PAB_INT ({ \
u64 offset; \
\
offset = 0 x2908ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x380ull; \
offset; })
#define MCSX_PAB_TX_SLAVE_PAB_INT_ENB ({ \
u64 offset; \
\
offset = 0 x2910ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x388ull; \
offset; })
#define MCSX_PAB_TX_SLAVE_PAB_INT_INTR_RW ({ \
u64 offset; \
\
offset = 0 x16f8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x398ull; \
offset; })
/* CPM registers */
#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_DATAX(a, b) ({ \
u64 offset; \
\
offset = 0 x30740ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x3bf8ull; \
offset += (a) * 0 x8ull + (b) * 0 x20ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_MASKX(a, b) ({ \
u64 offset; \
\
offset = 0 x34740ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x43f8ull; \
offset += (a) * 0 x8ull + (b) * 0 x20ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_ENA_0 ({ \
u64 offset; \
\
offset = 0 x30700ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x3bd8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SC_CAMX(a, b) ({ \
u64 offset; \
\
offset = 0 x38780ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x4c08ull; \
offset += (a) * 0 x8ull + (b) * 0 x10ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SC_CAM_ENA(a) ({ \
u64 offset; \
\
offset = 0 x38740ull + (a) * 0 x8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x4bf8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SECY_MAP_MEMX(a) ({ \
u64 offset; \
\
offset = 0 x23ee0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xbd0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SECY_PLCY_MEM_0X(a) ({ \
u64 offset; \
\
offset = (0 x246e0ull + (a) * 0 x10ull); \
if (mcs->hw->mcs_blks > 1 ) \
offset = (0 xdd0ull + (a) * 0 x8ull); \
offset; })
#define MCSX_CPM_RX_SLAVE_SA_KEY_LOCKOUTX(a) ({ \
u64 offset; \
\
offset = 0 x23E90ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xbb0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SA_MAP_MEMX(a) ({ \
u64 offset; \
\
offset = 0 x256e0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xfd0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SA_PLCY_MEMX(a, b) ({ \
u64 offset; \
\
offset = 0 x27700ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x17d8ull; \
offset += (a) * 0 x8ull + (b) * 0 x40ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_SA_PN_TABLE_MEMX(a) ({ \
u64 offset; \
\
offset = 0 x2f700ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x37d8; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_XPN_THRESHOLD ({ \
u64 offset; \
\
offset = 0 x23e40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xb90ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_PN_THRESHOLD ({ \
u64 offset; \
\
offset = 0 x23e48ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xb98ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_PN_THRESH_REACHEDX(a) ({ \
u64 offset; \
\
offset = 0 x23e50ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xba0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_ENA_1 0 x30708ull
#define MCSX_CPM_RX_SLAVE_SECY_PLCY_MEM_1X(a) (0 x246e8ull + (a) * 0 x10ull)
/* TX registers */
#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_DATAX(a, b) ({ \
u64 offset; \
\
offset = 0 x51d50ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa7c0ull; \
offset += (a) * 0 x8ull + (b) * 0 x20ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_MASKX(a, b) ({ \
u64 offset; \
\
offset = 0 x55d50ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xafc0ull; \
offset += (a) * 0 x8ull + (b) * 0 x20ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_ENA_0 ({ \
u64 offset; \
\
offset = 0 x51d10ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa7a0ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SECY_MAP_MEM_0X(a) ({ \
u64 offset; \
\
offset = 0 x3e508ull + (a) * 0 x8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5550ull + (a) * 0 x10ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SECY_PLCY_MEMX(a) ({ \
u64 offset; \
\
offset = 0 x3ed08ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5950ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SA_KEY_LOCKOUTX(a) ({ \
u64 offset; \
\
offset = 0 x3e4c0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5538ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SA_MAP_MEM_0X(a) ({ \
u64 offset; \
\
offset = 0 x3fd10ull + (a) * 0 x10ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x6150ull + (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SA_PLCY_MEMX(a, b) ({ \
u64 offset; \
\
offset = 0 x40d10ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x63a0ull; \
offset += (a) * 0 x8ull + (b) * 0 x80ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SA_PN_TABLE_MEMX(a) ({ \
u64 offset; \
\
offset = 0 x50d10ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa3a0ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_XPN_THRESHOLD ({ \
u64 offset; \
\
offset = 0 x3e4b0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5528ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_PN_THRESHOLD ({ \
u64 offset; \
\
offset = 0 x3e4b8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x5530ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_SA_MAP_MEM_1X(a) (0 x3fd18ull + (a) * 0 x10ull)
#define MCSX_CPM_TX_SLAVE_SECY_MAP_MEM_1X(a) (0 x5558ull + (a) * 0 x10ull)
#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_ENA_1 0 x51d18ull
#define MCSX_CPM_TX_SLAVE_TX_SA_ACTIVEX(a) (0 x5b50 + (a) * 0 x8ull)
#define MCSX_CPM_TX_SLAVE_SA_INDEX0_VLDX(a) (0 x5d50 + (a) * 0 x8ull)
#define MCSX_CPM_TX_SLAVE_SA_INDEX1_VLDX(a) (0 x5f50 + (a) * 0 x8ull)
#define MCSX_CPM_TX_SLAVE_AUTO_REKEY_ENABLE_0 0 x5500ull
/* CSE */
#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLBCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x9e80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xc218ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLMCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x9680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xc018ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLOCTETSX(a) ({ \
u64 offset; \
\
offset = 0 x6e80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xbc18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLUCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x8e80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xbe18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLBCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x8680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xca18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLMCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x7e80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xc818ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLOCTETSX(a) ({ \
u64 offset; \
\
offset = 0 x6680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xc418ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLUCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x7680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xc618ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSECYDECRYPTEDX(a) ({ \
u64 offset; \
\
offset = 0 x5e80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xdc18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSECYVALIDATEX(a)({ \
u64 offset; \
\
offset = 0 x5680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xda18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSCTRLPORTDISABLEDX(a) ({ \
u64 offset; \
\
offset = 0 xd680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xce18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSFLOWIDTCAMHITX(a) ({ \
u64 offset; \
\
offset = 0 x16a80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xec78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSFLOWIDTCAMMISSX(a) ({ \
u64 offset; \
\
offset = 0 x16680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xec38ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSPARSEERRX(a) ({ \
u64 offset; \
\
offset = 0 x16880ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xec18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCCAMHITX(a) ({ \
u64 offset; \
\
offset = 0 xfe80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xde18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCINVALIDX(a) ({ \
u64 offset; \
\
offset = 0 x10680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xe418ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCNOTVALIDX(a) ({ \
u64 offset; \
\
offset = 0 x10e80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xe218ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYBADTAGX(a) ({ \
u64 offset; \
\
offset = 0 xae80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xd418ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYNOSAX(a) ({ \
u64 offset; \
\
offset = 0 xc680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xd618ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYNOSAERRORX(a) ({ \
u64 offset; \
\
offset = 0 xce80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xd818ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYTAGGEDCTLX(a) ({ \
u64 offset; \
\
offset = 0 xbe80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xcc18ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_SLAVE_CTRL ({ \
u64 offset; \
\
offset = 0 x52a0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x9c0ull; \
offset; })
#define MCSX_CSE_RX_SLAVE_STATS_CLEAR ({ \
u64 offset; \
\
offset = 0 x52b8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x9d8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCUNCHECKEDX(a) ({ \
u64 offset; \
\
offset = 0 xee80ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xe818ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYUNTAGGEDX(a) ({ \
u64 offset; \
\
offset = 0 xa680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xd018ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCLATEORDELAYEDX(a) ({ \
u64 offset; \
\
offset = 0 xf680ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xe018ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSCDECRYPTEDX(a) (0 xe680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSCVALIDATEX(a) (0 xde80ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYNOTAGX(a) (0 xd218 + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYCTLX(a) (0 xb680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSAINVALIDX(a) (0 x12680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSANOTUSINGSAERRORX(a) (0 x15680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSANOTVALIDX(a) (0 x13680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSAOKX(a) (0 x11680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSAUNUSEDSAX(a) (0 x14680ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSEARLYPREEMPTERRX(a) (0 xec58ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCOKX(a) (0 xea18ull + (a) * 0 x8ull)
#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCDELAYEDX(a) (0 xe618ull + (a) * 0 x8ull)
/* CSE TX */
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCOMMONOCTETSX(a) (0 x18440ull + (a) * 0 x8ull)
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLBCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x1c440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xf478ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLMCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x1bc40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xf278ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLOCTETSX(a) ({ \
u64 offset; \
\
offset = 0 x19440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xee78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLUCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x1b440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xf078ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLBCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x1ac40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xfc78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLMCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x1a440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xfa78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLOCTETSX(a) ({ \
u64 offset; \
\
offset = 0 x18c40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xf678ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLUCPKTSX(a) ({ \
u64 offset; \
\
offset = 0 x19c40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xf878ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSECYENCRYPTEDX(a) ({ \
u64 offset; \
\
offset = 0 x17c40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10878ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSECYPROTECTEDX(a) ({ \
u64 offset; \
\
offset = 0 x17440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10678ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSCTRLPORTDISABLEDX(a) ({ \
u64 offset; \
\
offset = 0 x1e440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xfe78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSFLOWIDTCAMHITX(a) ({ \
u64 offset; \
\
offset = 0 x23240ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10ed8ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSFLOWIDTCAMMISSX(a) ({ \
u64 offset; \
\
offset = 0 x22c40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10e98ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSPARSEERRX(a) ({ \
u64 offset; \
\
offset = 0 x22e40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10e78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSCENCRYPTEDX(a) ({ \
u64 offset; \
\
offset = 0 x20440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10c78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSCPROTECTEDX(a) ({ \
u64 offset; \
\
offset = 0 x1fc40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10a78ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECTAGINSERTIONERRX(a) ({ \
u64 offset; \
\
offset = 0 x23040ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x110d8ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECYNOACTIVESAX(a) ({ \
u64 offset; \
\
offset = 0 x1dc40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10278ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECYTOOLONGX(a) ({ \
u64 offset; \
\
offset = 0 x1d440ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10478ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECYUNTAGGEDX(a) ({ \
u64 offset; \
\
offset = 0 x1cc40ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x10078ull; \
offset += (a) * 0 x8ull; \
offset; })
#define MCSX_CSE_TX_SLAVE_CTRL ({ \
u64 offset; \
\
offset = 0 x54a0ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa00ull; \
offset; })
#define MCSX_CSE_TX_SLAVE_STATS_CLEAR ({ \
u64 offset; \
\
offset = 0 x54b8ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xa18ull; \
offset; })
#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSCENCRYPTEDX(a) (0 x1f440ull + (a) * 0 x8ull)
#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSCPROTECTEDX(a) (0 x1ec40ull + (a) * 0 x8ull)
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSEARLYPREEMPTERRX(a) (0 x10eb8ull + (a) * 0 x8ull)
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSAENCRYPTEDX(a) (0 x21c40ull + (a) * 0 x8ull)
#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSAPROTECTEDX(a) (0 x20c40ull + (a) * 0 x8ull)
#define MCSX_IP_INT ({ \
u64 offset; \
\
offset = 0 x80028ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x60028ull; \
offset; })
#define MCSX_IP_INT_ENA_W1S ({ \
u64 offset; \
\
offset = 0 x80040ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x60040ull; \
offset; })
#define MCSX_IP_INT_ENA_W1C ({ \
u64 offset; \
\
offset = 0 x80038ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x60038ull; \
offset; })
#define MCSX_TOP_SLAVE_INT_SUM ({ \
u64 offset; \
\
offset = 0 xc20ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xab8ull; \
offset; })
#define MCSX_TOP_SLAVE_INT_SUM_ENB ({ \
u64 offset; \
\
offset = 0 xc28ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xac0ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_RX_INT ({ \
u64 offset; \
\
offset = 0 x23c00ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x0ad8ull; \
offset; })
#define MCSX_CPM_RX_SLAVE_RX_INT_ENB ({ \
u64 offset; \
\
offset = 0 x23c08ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 xae0ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_TX_INT ({ \
u64 offset; \
\
offset = 0 x3d490ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x54a0ull; \
offset; })
#define MCSX_CPM_TX_SLAVE_TX_INT_ENB ({ \
u64 offset; \
\
offset = 0 x3d498ull; \
if (mcs->hw->mcs_blks > 1 ) \
offset = 0 x54a8ull; \
offset; })
#endif
Messung V0.5 in Prozent C=94 H=91 G=92
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland