File Index
Files and directories
Sign in
FILE

mcs_reg.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/ethernet/marvell/octeontx2/af/mcs_reg.h C
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/* Marvell MCS driver
   3 *
   4 * Copyright (C) 2022 Marvell.
   5 */
   6
   7#ifndef MCS_REG_H
   8#define MCS_REG_H
   9
  10#include <linux/bits.h>
  11
  12/* Registers */
  13#define MCSX_IP_MODE					0x900c8ull
  14#define MCSX_MCS_TOP_SLAVE_PORT_RESET(a) ({	\
  15	u64 offset;					\
  16							\
  17	offset = 0x408ull;				\
  18	if (mcs->hw->mcs_blks > 1)			\
  19		offset = 0xa28ull;			\
  20	offset += (a) * 0x8ull;				\
  21	offset; })
  22
  23
  24#define MCSX_MCS_TOP_SLAVE_CHANNEL_CFG(a) ({		\
  25	u64 offset;					\
  26							\
  27	offset = 0x808ull;				\
  28	if (mcs->hw->mcs_blks > 1)			\
  29		offset = 0xa68ull;			\
  30	offset += (a) * 0x8ull;				\
  31	offset; })
  32
  33#define MCSX_MIL_GLOBAL	({				\
  34	u64 offset;					\
  35							\
  36	offset = 0x80000ull;				\
  37	if (mcs->hw->mcs_blks > 1)			\
  38		offset = 0x60000ull;			\
  39	offset; })
  40
  41#define MCSX_MIL_RX_LMACX_CFG(a) ({			\
  42	u64 offset;					\
  43							\
  44	offset = 0x900a8ull;				\
  45	if (mcs->hw->mcs_blks > 1)			\
  46		offset = 0x700a8ull;			\
  47	offset += (a) * 0x800ull;			\
  48	offset; })
  49
  50#define MCSX_HIL_GLOBAL ({				\
  51	u64 offset;					\
  52							\
  53	offset = 0xc0000ull;				\
  54	if (mcs->hw->mcs_blks > 1)			\
  55		offset = 0xa0000ull;			\
  56	offset; })
  57
  58#define MCSX_LINK_LMACX_CFG(a) ({			\
  59	u64 offset;					\
  60							\
  61	offset = 0x90000ull;				\
  62	if (mcs->hw->mcs_blks > 1)			\
  63		offset = 0x70000ull;			\
  64	offset += (a) * 0x800ull;			\
  65	offset; })
  66
  67#define MCSX_MIL_RX_GBL_STATUS ({			\
  68	u64 offset;					\
  69							\
  70	offset = 0x800c8ull;				\
  71	if (mcs->hw->mcs_blks > 1)			\
  72		offset = 0x600c8ull;			\
  73	offset; })
  74
  75#define MCSX_MIL_IP_GBL_STATUS ({			\
  76	u64 offset;					\
  77							\
  78	offset = 0x800d0ull;				\
  79	if (mcs->hw->mcs_blks > 1)			\
  80		offset = 0x600d0ull;			\
  81	offset; })
  82
  83/* PAB */
  84#define MCSX_PAB_RX_SLAVE_PORT_CFGX(a) ({	\
  85	u64 offset;				\
  86						\
  87	offset = 0x1718ull;			\
  88	if (mcs->hw->mcs_blks > 1)		\
  89		offset = 0x280ull;		\
  90	offset += (a) * 0x40ull;		\
  91	offset; })
  92
  93#define MCSX_PAB_TX_SLAVE_PORT_CFGX(a)			(0x2930ull + (a) * 0x40ull)
  94
  95/* PEX registers */
  96#define MCSX_PEX_RX_SLAVE_VLAN_CFGX(a)          (0x3b58ull + (a) * 0x8ull)
  97#define MCSX_PEX_TX_SLAVE_VLAN_CFGX(a)          (0x46f8ull + (a) * 0x8ull)
  98#define MCSX_PEX_TX_SLAVE_CUSTOM_TAG_REL_MODE_SEL(a)	(0x788ull + (a) * 0x8ull)
  99#define MCSX_PEX_TX_SLAVE_PORT_CONFIG(a)		(0x4738ull + (a) * 0x8ull)
 100#define MCSX_PEX_RX_SLAVE_PORT_CFGX(a)		(0x3b98ull + (a) * 0x8ull)
 101#define MCSX_PEX_RX_SLAVE_RULE_ETYPE_CFGX(a) ({	\
 102	u64 offset;					\
 103							\
 104	offset = 0x3fc0ull;				\
 105	if (mcs->hw->mcs_blks > 1)			\
 106		offset = 0x558ull;			\
 107	offset += (a) * 0x8ull;				\
 108	offset; })
 109
 110#define MCSX_PEX_RX_SLAVE_RULE_DAX(a) ({	\
 111	u64 offset;					\
 112							\
 113	offset = 0x4000ull;				\
 114	if (mcs->hw->mcs_blks > 1)			\
 115		offset = 0x598ull;			\
 116	offset += (a) * 0x8ull;				\
 117	offset; })
 118
 119#define MCSX_PEX_RX_SLAVE_RULE_DA_RANGE_MINX(a) ({	\
 120	u64 offset;					\
 121							\
 122	offset = 0x4040ull;				\
 123	if (mcs->hw->mcs_blks > 1)			\
 124		offset = 0x5d8ull;			\
 125	offset += (a) * 0x8ull;				\
 126	offset; })
 127
 128#define MCSX_PEX_RX_SLAVE_RULE_DA_RANGE_MAXX(a) ({	\
 129	u64 offset;					\
 130							\
 131	offset = 0x4048ull;				\
 132	if (mcs->hw->mcs_blks > 1)			\
 133		offset = 0x5e0ull;			\
 134	offset += (a) * 0x8ull;				\
 135	offset; })
 136
 137#define MCSX_PEX_RX_SLAVE_RULE_COMBO_MINX(a) ({	\
 138	u64 offset;					\
 139							\
 140	offset = 0x4080ull;				\
 141	if (mcs->hw->mcs_blks > 1)			\
 142		offset = 0x648ull;			\
 143	offset += (a) * 0x8ull;				\
 144	offset; })
 145
 146#define MCSX_PEX_RX_SLAVE_RULE_COMBO_MAXX(a) ({	\
 147	u64 offset;					\
 148							\
 149	offset = 0x4088ull;				\
 150	if (mcs->hw->mcs_blks > 1)			\
 151		offset = 0x650ull;			\
 152	offset += (a) * 0x8ull;				\
 153	offset; })
 154
 155#define MCSX_PEX_RX_SLAVE_RULE_COMBO_ETX(a) ({	\
 156	u64 offset;					\
 157							\
 158	offset = 0x4090ull;				\
 159	if (mcs->hw->mcs_blks > 1)			\
 160		offset = 0x658ull;			\
 161	offset += (a) * 0x8ull;				\
 162	offset; })
 163
 164#define MCSX_PEX_RX_SLAVE_RULE_MAC ({	\
 165	u64 offset;					\
 166							\
 167	offset = 0x40e0ull;				\
 168	if (mcs->hw->mcs_blks > 1)			\
 169		offset = 0x6d8ull;			\
 170	offset; })
 171
 172#define MCSX_PEX_RX_SLAVE_RULE_ENABLE ({	\
 173	u64 offset;					\
 174							\
 175	offset = 0x40e8ull;				\
 176	if (mcs->hw->mcs_blks > 1)			\
 177		offset = 0x6e0ull;			\
 178	offset; })
 179
 180#define MCSX_PEX_TX_SLAVE_RULE_ETYPE_CFGX(a) ({	\
 181	u64 offset;					\
 182							\
 183	offset = 0x4b60ull;				\
 184	if (mcs->hw->mcs_blks > 1)			\
 185		offset = 0x7d8ull;			\
 186	offset += (a) * 0x8ull;				\
 187	offset; })
 188
 189#define MCSX_PEX_TX_SLAVE_RULE_DAX(a) ({	\
 190	u64 offset;					\
 191							\
 192	offset = 0x4ba0ull;				\
 193	if (mcs->hw->mcs_blks > 1)			\
 194		offset = 0x818ull;			\
 195	offset += (a) * 0x8ull;				\
 196	offset; })
 197
 198#define MCSX_PEX_TX_SLAVE_RULE_DA_RANGE_MINX(a) ({	\
 199	u64 offset;					\
 200							\
 201	offset = 0x4be0ull;				\
 202	if (mcs->hw->mcs_blks > 1)			\
 203		offset = 0x858ull;			\
 204	offset += (a) * 0x8ull;				\
 205	offset; })
 206
 207#define MCSX_PEX_TX_SLAVE_RULE_DA_RANGE_MAXX(a) ({	\
 208	u64 offset;					\
 209							\
 210	offset = 0x4be8ull;				\
 211	if (mcs->hw->mcs_blks > 1)			\
 212		offset = 0x860ull;			\
 213	offset += (a) * 0x8ull;				\
 214	offset; })
 215
 216#define MCSX_PEX_TX_SLAVE_RULE_COMBO_MINX(a) ({	\
 217	u64 offset;					\
 218							\
 219	offset = 0x4c20ull;				\
 220	if (mcs->hw->mcs_blks > 1)			\
 221		offset = 0x8c8ull;			\
 222	offset += (a) * 0x8ull;				\
 223	offset; })
 224
 225#define MCSX_PEX_TX_SLAVE_RULE_COMBO_MAXX(a) ({	\
 226	u64 offset;					\
 227							\
 228	offset = 0x4c28ull;				\
 229	if (mcs->hw->mcs_blks > 1)			\
 230		offset = 0x8d0ull;			\
 231	offset += (a) * 0x8ull;				\
 232	offset; })
 233
 234#define MCSX_PEX_TX_SLAVE_RULE_COMBO_ETX(a) ({	\
 235	u64 offset;					\
 236							\
 237	offset = 0x4c30ull;				\
 238	if (mcs->hw->mcs_blks > 1)			\
 239		offset = 0x8d8ull;			\
 240	offset += (a) * 0x8ull;				\
 241	offset; })
 242
 243#define MCSX_PEX_TX_SLAVE_RULE_MAC ({	\
 244	u64 offset;					\
 245							\
 246	offset = 0x4c80ull;				\
 247	if (mcs->hw->mcs_blks > 1)			\
 248		offset = 0x958ull;			\
 249	offset; })
 250
 251#define MCSX_PEX_TX_SLAVE_RULE_ENABLE ({	\
 252	u64 offset;					\
 253							\
 254	offset = 0x4c88ull;				\
 255	if (mcs->hw->mcs_blks > 1)			\
 256		offset = 0x960ull;			\
 257	offset; })
 258
 259#define MCSX_PEX_RX_SLAVE_PEX_CONFIGURATION ({		\
 260	u64 offset;					\
 261							\
 262	offset = 0x3b50ull;				\
 263	if (mcs->hw->mcs_blks > 1)			\
 264		offset = 0x4c0ull;			\
 265	offset; })
 266
 267/* CNF10K-B */
 268#define MCSX_PEX_RX_SLAVE_CUSTOM_TAGX(a)        (0x4c8ull + (a) * 0x8ull)
 269#define MCSX_PEX_TX_SLAVE_CUSTOM_TAGX(a)        (0x748ull + (a) * 0x8ull)
 270#define MCSX_PEX_RX_SLAVE_ETYPE_ENABLE          0x6e8ull
 271#define MCSX_PEX_TX_SLAVE_ETYPE_ENABLE          0x968ull
 272
 273/* BEE */
 274#define MCSX_BBE_RX_SLAVE_PADDING_CTL			0xe08ull
 275#define MCSX_BBE_TX_SLAVE_PADDING_CTL			0x12f8ull
 276#define MCSX_BBE_RX_SLAVE_CAL_ENTRY			0x180ull
 277#define MCSX_BBE_RX_SLAVE_CAL_LEN			0x188ull
 278#define MCSX_PAB_RX_SLAVE_FIFO_SKID_CFGX(a)		(0x290ull + (a) * 0x40ull)
 279#define MCSX_BBE_RX_SLAVE_DFIFO_OVERFLOW_0		0xe20
 280#define MCSX_BBE_TX_SLAVE_DFIFO_OVERFLOW_0		0x1298
 281#define MCSX_BBE_RX_SLAVE_PLFIFO_OVERFLOW_0		0xe40
 282#define MCSX_BBE_TX_SLAVE_PLFIFO_OVERFLOW_0		0x12b8
 283#define MCSX_BBE_RX_SLAVE_BBE_INT ({	\
 284	u64 offset;			\
 285					\
 286	offset = 0xe00ull;		\
 287	if (mcs->hw->mcs_blks > 1)	\
 288		offset = 0x160ull;	\
 289	offset; })
 290
 291#define MCSX_BBE_RX_SLAVE_BBE_INT_ENB ({	\
 292	u64 offset;			\
 293					\
 294	offset = 0xe08ull;		\
 295	if (mcs->hw->mcs_blks > 1)	\
 296		offset = 0x168ull;	\
 297	offset; })
 298
 299#define MCSX_BBE_RX_SLAVE_BBE_INT_INTR_RW ({	\
 300	u64 offset;			\
 301					\
 302	offset = 0xe08ull;		\
 303	if (mcs->hw->mcs_blks > 1)	\
 304		offset = 0x178ull;	\
 305	offset; })
 306
 307#define MCSX_BBE_TX_SLAVE_BBE_INT ({	\
 308	u64 offset;			\
 309					\
 310	offset = 0x1278ull;		\
 311	if (mcs->hw->mcs_blks > 1)	\
 312		offset = 0x1e0ull;	\
 313	offset; })
 314
 315#define MCSX_BBE_TX_SLAVE_BBE_INT_INTR_RW ({	\
 316	u64 offset;			\
 317					\
 318	offset = 0x1278ull;		\
 319	if (mcs->hw->mcs_blks > 1)	\
 320		offset = 0x1f8ull;	\
 321	offset; })
 322
 323#define MCSX_BBE_TX_SLAVE_BBE_INT_ENB ({	\
 324	u64 offset;			\
 325					\
 326	offset = 0x1280ull;		\
 327	if (mcs->hw->mcs_blks > 1)	\
 328		offset = 0x1e8ull;	\
 329	offset; })
 330
 331#define MCSX_PAB_RX_SLAVE_PAB_INT ({	\
 332	u64 offset;			\
 333					\
 334	offset = 0x16f0ull;		\
 335	if (mcs->hw->mcs_blks > 1)	\
 336		offset = 0x260ull;	\
 337	offset; })
 338
 339#define MCSX_PAB_RX_SLAVE_PAB_INT_ENB ({	\
 340	u64 offset;			\
 341					\
 342	offset = 0x16f8ull;		\
 343	if (mcs->hw->mcs_blks > 1)	\
 344		offset = 0x268ull;	\
 345	offset; })
 346
 347#define MCSX_PAB_RX_SLAVE_PAB_INT_INTR_RW ({	\
 348	u64 offset;			\
 349					\
 350	offset = 0x16f8ull;		\
 351	if (mcs->hw->mcs_blks > 1)	\
 352		offset = 0x278ull;	\
 353	offset; })
 354
 355#define MCSX_PAB_TX_SLAVE_PAB_INT ({	\
 356	u64 offset;			\
 357					\
 358	offset = 0x2908ull;		\
 359	if (mcs->hw->mcs_blks > 1)	\
 360		offset = 0x380ull;	\
 361	offset; })
 362
 363#define MCSX_PAB_TX_SLAVE_PAB_INT_ENB ({	\
 364	u64 offset;			\
 365					\
 366	offset = 0x2910ull;		\
 367	if (mcs->hw->mcs_blks > 1)	\
 368		offset = 0x388ull;	\
 369	offset; })
 370
 371#define MCSX_PAB_TX_SLAVE_PAB_INT_INTR_RW ({	\
 372	u64 offset;			\
 373					\
 374	offset = 0x16f8ull;		\
 375	if (mcs->hw->mcs_blks > 1)	\
 376		offset = 0x398ull;	\
 377	offset; })
 378
 379/* CPM registers */
 380#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_DATAX(a, b) ({	\
 381	u64 offset;					\
 382							\
 383	offset = 0x30740ull;				\
 384	if (mcs->hw->mcs_blks > 1)			\
 385		offset = 0x3bf8ull;			\
 386	offset += (a) * 0x8ull + (b) * 0x20ull;		\
 387	offset; })
 388
 389#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_MASKX(a, b) ({	\
 390	u64 offset;					\
 391							\
 392	offset = 0x34740ull;				\
 393	if (mcs->hw->mcs_blks > 1)			\
 394		offset = 0x43f8ull;			\
 395	offset += (a) * 0x8ull + (b) * 0x20ull;		\
 396	offset; })
 397
 398#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_ENA_0 ({		\
 399	u64 offset;					\
 400							\
 401	offset = 0x30700ull;				\
 402	if (mcs->hw->mcs_blks > 1)			\
 403		offset = 0x3bd8ull;			\
 404	offset; })
 405
 406#define MCSX_CPM_RX_SLAVE_SC_CAMX(a, b)	({		\
 407	u64 offset;					\
 408							\
 409	offset = 0x38780ull;				\
 410	if (mcs->hw->mcs_blks > 1)			\
 411		offset = 0x4c08ull;			\
 412	offset +=  (a) * 0x8ull + (b) * 0x10ull;	\
 413	offset; })
 414
 415#define MCSX_CPM_RX_SLAVE_SC_CAM_ENA(a)	({		\
 416	u64 offset;					\
 417							\
 418	offset = 0x38740ull + (a) * 0x8ull;		\
 419	if (mcs->hw->mcs_blks > 1)			\
 420		offset = 0x4bf8ull;			\
 421	offset; })
 422
 423#define MCSX_CPM_RX_SLAVE_SECY_MAP_MEMX(a) ({		\
 424	u64 offset;					\
 425							\
 426	offset = 0x23ee0ull;				\
 427	if (mcs->hw->mcs_blks > 1)			\
 428		offset = 0xbd0ull;			\
 429	offset += (a) * 0x8ull;				\
 430	offset; })
 431
 432#define MCSX_CPM_RX_SLAVE_SECY_PLCY_MEM_0X(a) ({	\
 433	u64 offset;					\
 434							\
 435	offset = (0x246e0ull + (a) * 0x10ull);		\
 436	if (mcs->hw->mcs_blks > 1)			\
 437		offset = (0xdd0ull + (a) * 0x8ull);	\
 438	offset; })
 439
 440#define MCSX_CPM_RX_SLAVE_SA_KEY_LOCKOUTX(a) ({		\
 441	u64 offset;					\
 442							\
 443	offset = 0x23E90ull;				\
 444	if (mcs->hw->mcs_blks > 1)			\
 445		offset = 0xbb0ull;			\
 446	offset += (a) * 0x8ull;				\
 447	offset; })
 448
 449#define MCSX_CPM_RX_SLAVE_SA_MAP_MEMX(a) ({		\
 450	u64 offset;					\
 451							\
 452	offset = 0x256e0ull;				\
 453	if (mcs->hw->mcs_blks > 1)			\
 454		offset = 0xfd0ull;			\
 455	offset += (a) * 0x8ull;				\
 456	offset; })
 457
 458#define MCSX_CPM_RX_SLAVE_SA_PLCY_MEMX(a, b) ({		\
 459	u64 offset;					\
 460							\
 461	offset = 0x27700ull;				\
 462	if (mcs->hw->mcs_blks > 1)			\
 463		offset = 0x17d8ull;			\
 464	offset +=  (a) * 0x8ull + (b) * 0x40ull;	\
 465	offset; })
 466
 467#define MCSX_CPM_RX_SLAVE_SA_PN_TABLE_MEMX(a) ({	\
 468	u64 offset;					\
 469							\
 470	offset = 0x2f700ull;				\
 471	if (mcs->hw->mcs_blks > 1)			\
 472		offset = 0x37d8;			\
 473	offset += (a) * 0x8ull;				\
 474	offset; })
 475
 476#define MCSX_CPM_RX_SLAVE_XPN_THRESHOLD	({		\
 477	u64 offset;					\
 478							\
 479	offset = 0x23e40ull;				\
 480	if (mcs->hw->mcs_blks > 1)			\
 481		offset = 0xb90ull;			\
 482	offset; })
 483
 484#define MCSX_CPM_RX_SLAVE_PN_THRESHOLD	({		\
 485	u64 offset;					\
 486							\
 487	offset = 0x23e48ull;				\
 488	if (mcs->hw->mcs_blks > 1)			\
 489		offset = 0xb98ull;			\
 490	offset; })
 491
 492#define MCSX_CPM_RX_SLAVE_PN_THRESH_REACHEDX(a)	({	\
 493	u64 offset;					\
 494							\
 495	offset = 0x23e50ull;				\
 496	if (mcs->hw->mcs_blks > 1)			\
 497		offset = 0xba0ull;			\
 498	offset += (a) * 0x8ull;				\
 499	offset; })
 500
 501#define MCSX_CPM_RX_SLAVE_FLOWID_TCAM_ENA_1		0x30708ull
 502#define MCSX_CPM_RX_SLAVE_SECY_PLCY_MEM_1X(a)		(0x246e8ull + (a) * 0x10ull)
 503
 504/* TX registers */
 505#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_DATAX(a, b) ({	\
 506	u64 offset;					\
 507							\
 508	offset = 0x51d50ull;				\
 509	if (mcs->hw->mcs_blks > 1)			\
 510		offset = 0xa7c0ull;			\
 511	offset += (a) * 0x8ull + (b) * 0x20ull;		\
 512	offset; })
 513
 514#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_MASKX(a, b) ({	\
 515	u64 offset;					\
 516							\
 517	offset = 0x55d50ull;				\
 518	if (mcs->hw->mcs_blks > 1)			\
 519		offset = 0xafc0ull;			\
 520	offset += (a) * 0x8ull + (b) * 0x20ull;		\
 521	offset; })
 522
 523#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_ENA_0 ({		\
 524	u64 offset;					\
 525							\
 526	offset = 0x51d10ull;				\
 527	if (mcs->hw->mcs_blks > 1)			\
 528		offset = 0xa7a0ull;			\
 529	offset; })
 530
 531#define MCSX_CPM_TX_SLAVE_SECY_MAP_MEM_0X(a) ({		\
 532	u64 offset;					\
 533							\
 534	offset = 0x3e508ull + (a) * 0x8ull;		\
 535	if (mcs->hw->mcs_blks > 1)			\
 536		offset = 0x5550ull + (a) * 0x10ull;	\
 537	offset; })
 538
 539#define MCSX_CPM_TX_SLAVE_SECY_PLCY_MEMX(a) ({	\
 540	u64 offset;					\
 541							\
 542	offset = 0x3ed08ull;				\
 543	if (mcs->hw->mcs_blks > 1)			\
 544		offset = 0x5950ull;			\
 545	offset += (a) * 0x8ull;				\
 546	offset; })
 547
 548#define MCSX_CPM_TX_SLAVE_SA_KEY_LOCKOUTX(a) ({		\
 549	u64 offset;					\
 550							\
 551	offset = 0x3e4c0ull;				\
 552	if (mcs->hw->mcs_blks > 1)			\
 553		offset = 0x5538ull;			\
 554	offset += (a) * 0x8ull;				\
 555	offset; })
 556
 557#define MCSX_CPM_TX_SLAVE_SA_MAP_MEM_0X(a) ({		\
 558	u64 offset;					\
 559							\
 560	offset = 0x3fd10ull + (a) * 0x10ull;		\
 561	if (mcs->hw->mcs_blks > 1)			\
 562		offset = 0x6150ull + (a) * 0x8ull;	\
 563	offset; })
 564
 565#define MCSX_CPM_TX_SLAVE_SA_PLCY_MEMX(a, b) ({		\
 566	u64 offset;					\
 567							\
 568	offset = 0x40d10ull;				\
 569	if (mcs->hw->mcs_blks > 1)			\
 570		offset = 0x63a0ull;			\
 571	offset += (a) * 0x8ull + (b) * 0x80ull;		\
 572	offset; })
 573
 574#define MCSX_CPM_TX_SLAVE_SA_PN_TABLE_MEMX(a) ({	\
 575	u64 offset;					\
 576							\
 577	offset = 0x50d10ull;				\
 578	if (mcs->hw->mcs_blks > 1)			\
 579		offset = 0xa3a0ull;			\
 580	offset += (a) * 0x8ull;				\
 581	offset; })
 582
 583#define MCSX_CPM_TX_SLAVE_XPN_THRESHOLD ({		\
 584	u64 offset;					\
 585							\
 586	offset = 0x3e4b0ull;				\
 587	if (mcs->hw->mcs_blks > 1)			\
 588		offset = 0x5528ull;			\
 589	offset; })
 590
 591#define MCSX_CPM_TX_SLAVE_PN_THRESHOLD ({		\
 592	u64 offset;					\
 593							\
 594	offset = 0x3e4b8ull;				\
 595	if (mcs->hw->mcs_blks > 1)			\
 596		offset = 0x5530ull;			\
 597	offset; })
 598
 599#define MCSX_CPM_TX_SLAVE_SA_MAP_MEM_1X(a)		(0x3fd18ull + (a) * 0x10ull)
 600#define MCSX_CPM_TX_SLAVE_SECY_MAP_MEM_1X(a)		(0x5558ull + (a) * 0x10ull)
 601#define MCSX_CPM_TX_SLAVE_FLOWID_TCAM_ENA_1		0x51d18ull
 602#define MCSX_CPM_TX_SLAVE_TX_SA_ACTIVEX(a)		(0x5b50 + (a) * 0x8ull)
 603#define MCSX_CPM_TX_SLAVE_SA_INDEX0_VLDX(a)		(0x5d50 + (a) * 0x8ull)
 604#define MCSX_CPM_TX_SLAVE_SA_INDEX1_VLDX(a)		(0x5f50 + (a) * 0x8ull)
 605#define MCSX_CPM_TX_SLAVE_AUTO_REKEY_ENABLE_0		0x5500ull
 606
 607/* CSE */
 608#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLBCPKTSX(a) ({	\
 609	u64 offset;					\
 610							\
 611	offset = 0x9e80ull;				\
 612	if (mcs->hw->mcs_blks > 1)			\
 613		offset = 0xc218ull;			\
 614	offset += (a) * 0x8ull;				\
 615	offset; })
 616
 617#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLMCPKTSX(a) ({	\
 618	u64 offset;					\
 619							\
 620	offset = 0x9680ull;				\
 621	if (mcs->hw->mcs_blks > 1)			\
 622		offset = 0xc018ull;			\
 623	offset += (a) * 0x8ull;				\
 624	offset; })
 625
 626#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLOCTETSX(a) ({	\
 627	u64 offset;					\
 628							\
 629	offset = 0x6e80ull;				\
 630	if (mcs->hw->mcs_blks > 1)			\
 631		offset = 0xbc18ull;			\
 632	offset +=  (a) * 0x8ull;			\
 633	offset; })
 634
 635#define MCSX_CSE_RX_MEM_SLAVE_IFINCTLUCPKTSX(a) ({	\
 636	u64 offset;					\
 637							\
 638	offset = 0x8e80ull;				\
 639	if (mcs->hw->mcs_blks > 1)			\
 640		offset = 0xbe18ull;			\
 641	offset +=  (a) * 0x8ull;			\
 642	offset; })
 643
 644#define	MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLBCPKTSX(a) ({	\
 645	u64 offset;					\
 646							\
 647	offset = 0x8680ull;				\
 648	if (mcs->hw->mcs_blks > 1)			\
 649		offset = 0xca18ull;			\
 650	offset +=  (a) * 0x8ull;			\
 651	offset; })
 652
 653#define	MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLMCPKTSX(a) ({	\
 654	u64 offset;					\
 655							\
 656	offset = 0x7e80ull;				\
 657	if (mcs->hw->mcs_blks > 1)			\
 658		offset = 0xc818ull;			\
 659	offset +=  (a) * 0x8ull;			\
 660	offset; })
 661
 662#define	MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLOCTETSX(a) ({	\
 663	u64 offset;					\
 664							\
 665	offset = 0x6680ull;				\
 666	if (mcs->hw->mcs_blks > 1)			\
 667		offset = 0xc418ull;			\
 668	offset +=  (a) * 0x8ull;			\
 669	offset; })
 670
 671#define	MCSX_CSE_RX_MEM_SLAVE_IFINUNCTLUCPKTSX(a) ({	\
 672	u64 offset;					\
 673							\
 674	offset = 0x7680ull;				\
 675	if (mcs->hw->mcs_blks > 1)			\
 676		offset = 0xc618ull;			\
 677	offset +=  (a) * 0x8ull;			\
 678	offset; })
 679
 680#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSECYDECRYPTEDX(a) ({ \
 681	u64 offset;					\
 682							\
 683	offset = 0x5e80ull;				\
 684	if (mcs->hw->mcs_blks > 1)			\
 685		offset = 0xdc18ull;			\
 686	offset += (a) * 0x8ull;				\
 687	offset; })
 688
 689#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSECYVALIDATEX(a)({ \
 690	u64 offset;					\
 691							\
 692	offset = 0x5680ull;				\
 693	if (mcs->hw->mcs_blks > 1)			\
 694		offset = 0xda18ull;			\
 695	offset += (a) * 0x8ull;				\
 696	offset; })
 697
 698#define MCSX_CSE_RX_MEM_SLAVE_INPKTSCTRLPORTDISABLEDX(a) ({ \
 699	u64 offset;					\
 700							\
 701	offset = 0xd680ull;				\
 702	if (mcs->hw->mcs_blks > 1)			\
 703		offset = 0xce18ull;			\
 704	offset += (a) * 0x8ull;				\
 705	offset; })
 706
 707#define MCSX_CSE_RX_MEM_SLAVE_INPKTSFLOWIDTCAMHITX(a) ({ \
 708	u64 offset;					\
 709							\
 710	offset = 0x16a80ull;				\
 711	if (mcs->hw->mcs_blks > 1)			\
 712		offset = 0xec78ull;			\
 713	offset += (a) * 0x8ull;				\
 714	offset; })
 715
 716#define MCSX_CSE_RX_MEM_SLAVE_INPKTSFLOWIDTCAMMISSX(a) ({ \
 717	u64 offset;					\
 718							\
 719	offset = 0x16680ull;				\
 720	if (mcs->hw->mcs_blks > 1)			\
 721		offset = 0xec38ull;			\
 722	offset += (a) * 0x8ull;				\
 723	offset; })
 724
 725#define MCSX_CSE_RX_MEM_SLAVE_INPKTSPARSEERRX(a) ({	\
 726	u64 offset;					\
 727							\
 728	offset = 0x16880ull;				\
 729	if (mcs->hw->mcs_blks > 1)			\
 730		offset = 0xec18ull;			\
 731	offset += (a) * 0x8ull;				\
 732	offset; })
 733
 734#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCCAMHITX(a) ({	\
 735	u64 offset;					\
 736							\
 737	offset = 0xfe80ull;				\
 738	if (mcs->hw->mcs_blks > 1)			\
 739		offset = 0xde18ull;			\
 740	offset += (a) * 0x8ull;				\
 741	offset; })
 742
 743#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCINVALIDX(a) ({	\
 744	u64 offset;					\
 745							\
 746	offset = 0x10680ull;				\
 747	if (mcs->hw->mcs_blks > 1)			\
 748		offset = 0xe418ull;			\
 749	offset += (a) * 0x8ull;				\
 750	offset; })
 751
 752#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCNOTVALIDX(a) ({	\
 753	u64 offset;					\
 754							\
 755	offset = 0x10e80ull;				\
 756	if (mcs->hw->mcs_blks > 1)			\
 757		offset = 0xe218ull;			\
 758	offset += (a) * 0x8ull;				\
 759	offset; })
 760
 761#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYBADTAGX(a) ({	\
 762	u64 offset;					\
 763							\
 764	offset = 0xae80ull;				\
 765	if (mcs->hw->mcs_blks > 1)			\
 766		offset = 0xd418ull;			\
 767	offset += (a) * 0x8ull;				\
 768	offset; })
 769
 770#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYNOSAX(a) ({	\
 771	u64 offset;					\
 772							\
 773	offset = 0xc680ull;				\
 774	if (mcs->hw->mcs_blks > 1)			\
 775		offset = 0xd618ull;			\
 776	offset += (a) * 0x8ull;				\
 777	offset; })
 778
 779#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYNOSAERRORX(a) ({ \
 780	u64 offset;					\
 781							\
 782	offset = 0xce80ull;				\
 783	if (mcs->hw->mcs_blks > 1)			\
 784		offset = 0xd818ull;			\
 785	offset += (a) * 0x8ull;				\
 786	offset; })
 787
 788#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYTAGGEDCTLX(a) ({ \
 789	u64 offset;					\
 790							\
 791	offset = 0xbe80ull;				\
 792	if (mcs->hw->mcs_blks > 1)			\
 793		offset = 0xcc18ull;			\
 794	offset += (a) * 0x8ull;				\
 795	offset; })
 796
 797#define MCSX_CSE_RX_SLAVE_CTRL	({			\
 798	u64 offset;					\
 799							\
 800	offset = 0x52a0ull;				\
 801	if (mcs->hw->mcs_blks > 1)			\
 802		offset = 0x9c0ull;			\
 803	offset; })
 804
 805#define MCSX_CSE_RX_SLAVE_STATS_CLEAR	({		\
 806	u64 offset;					\
 807							\
 808	offset = 0x52b8ull;				\
 809	if (mcs->hw->mcs_blks > 1)			\
 810		offset = 0x9d8ull;			\
 811	offset; })
 812
 813#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCUNCHECKEDX(a) ({	\
 814	u64 offset;					\
 815							\
 816	offset = 0xee80ull;				\
 817	if (mcs->hw->mcs_blks > 1)			\
 818		offset = 0xe818ull;			\
 819	offset += (a) * 0x8ull;				\
 820	offset; })
 821
 822#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYUNTAGGEDX(a) ({	\
 823	u64 offset;					\
 824							\
 825	offset = 0xa680ull;				\
 826	if (mcs->hw->mcs_blks > 1)			\
 827		offset = 0xd018ull;			\
 828	offset += (a) * 0x8ull;				\
 829	offset; })
 830
 831#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCLATEORDELAYEDX(a)	({	\
 832	u64 offset;						\
 833								\
 834	offset = 0xf680ull;					\
 835	if (mcs->hw->mcs_blks > 1)				\
 836		offset = 0xe018ull;				\
 837	offset += (a) * 0x8ull;					\
 838	offset; })
 839
 840#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSCDECRYPTEDX(a)	(0xe680ull + (a) * 0x8ull)
 841#define MCSX_CSE_RX_MEM_SLAVE_INOCTETSSCVALIDATEX(a)	(0xde80ull + (a) * 0x8ull)
 842#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYNOTAGX(a)	(0xd218 + (a) * 0x8ull)
 843#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSECYCTLX(a)		(0xb680ull + (a) * 0x8ull)
 844#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSAINVALIDX(a)	(0x12680ull + (a) * 0x8ull)
 845#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSANOTUSINGSAERRORX(a) (0x15680ull + (a) * 0x8ull)
 846#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSANOTVALIDX(a)	(0x13680ull + (a) * 0x8ull)
 847#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSAOKX(a)		(0x11680ull + (a) * 0x8ull)
 848#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSAUNUSEDSAX(a)	(0x14680ull + (a) * 0x8ull)
 849#define MCSX_CSE_RX_MEM_SLAVE_INPKTSEARLYPREEMPTERRX(a) (0xec58ull + (a) * 0x8ull)
 850#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCOKX(a)		(0xea18ull + (a) * 0x8ull)
 851#define MCSX_CSE_RX_MEM_SLAVE_INPKTSSCDELAYEDX(a)	(0xe618ull + (a) * 0x8ull)
 852
 853/* CSE TX */
 854#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCOMMONOCTETSX(a)	(0x18440ull + (a) * 0x8ull)
 855#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLBCPKTSX(a) ({	\
 856	u64 offset;					\
 857							\
 858	offset = 0x1c440ull;				\
 859	if (mcs->hw->mcs_blks > 1)			\
 860		offset = 0xf478ull;			\
 861	offset += (a) * 0x8ull;				\
 862	offset; })
 863
 864#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLMCPKTSX(a) ({	\
 865	u64 offset;					\
 866							\
 867	offset = 0x1bc40ull;				\
 868	if (mcs->hw->mcs_blks > 1)			\
 869		offset = 0xf278ull;			\
 870	offset += (a) * 0x8ull;				\
 871	offset; })
 872
 873#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLOCTETSX(a) ({	\
 874	u64 offset;					\
 875							\
 876	offset = 0x19440ull;				\
 877	if (mcs->hw->mcs_blks > 1)			\
 878		offset = 0xee78ull;			\
 879	offset += (a) * 0x8ull;				\
 880	offset; })
 881
 882#define MCSX_CSE_TX_MEM_SLAVE_IFOUTCTLUCPKTSX(a) ({	\
 883	u64 offset;					\
 884							\
 885	offset = 0x1b440ull;				\
 886	if (mcs->hw->mcs_blks > 1)			\
 887		offset = 0xf078ull;			\
 888	offset += (a) * 0x8ull;				\
 889	offset; })
 890
 891#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLBCPKTSX(a) ({	\
 892	u64 offset;					\
 893							\
 894	offset = 0x1ac40ull;				\
 895	if (mcs->hw->mcs_blks > 1)			\
 896		offset = 0xfc78ull;			\
 897	offset += (a) * 0x8ull;				\
 898	offset; })
 899
 900#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLMCPKTSX(a) ({	\
 901	u64 offset;					\
 902							\
 903	offset = 0x1a440ull;				\
 904	if (mcs->hw->mcs_blks > 1)			\
 905		offset = 0xfa78ull;			\
 906	offset += (a) * 0x8ull;				\
 907	offset; })
 908
 909#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLOCTETSX(a) ({	\
 910	u64 offset;					\
 911							\
 912	offset = 0x18c40ull;				\
 913	if (mcs->hw->mcs_blks > 1)			\
 914		offset = 0xf678ull;			\
 915	offset += (a) * 0x8ull;				\
 916	offset; })
 917
 918#define MCSX_CSE_TX_MEM_SLAVE_IFOUTUNCTLUCPKTSX(a) ({	\
 919	u64 offset;					\
 920							\
 921	offset = 0x19c40ull;				\
 922	if (mcs->hw->mcs_blks > 1)			\
 923		offset = 0xf878ull;			\
 924	offset += (a) * 0x8ull;				\
 925	offset; })
 926
 927#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSECYENCRYPTEDX(a) ({	\
 928	u64 offset;					\
 929							\
 930	offset = 0x17c40ull;				\
 931	if (mcs->hw->mcs_blks > 1)			\
 932		offset = 0x10878ull;			\
 933	offset += (a) * 0x8ull;				\
 934	offset; })
 935
 936#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSECYPROTECTEDX(a) ({	\
 937	u64 offset;					\
 938							\
 939	offset = 0x17440ull;				\
 940	if (mcs->hw->mcs_blks > 1)			\
 941		offset = 0x10678ull;			\
 942	offset += (a) * 0x8ull;				\
 943	offset; })
 944
 945#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSCTRLPORTDISABLEDX(a) ({	\
 946	u64 offset;					\
 947							\
 948	offset = 0x1e440ull;				\
 949	if (mcs->hw->mcs_blks > 1)			\
 950		offset = 0xfe78ull;			\
 951	offset += (a) * 0x8ull;				\
 952	offset; })
 953
 954#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSFLOWIDTCAMHITX(a) ({	\
 955	u64 offset;					\
 956							\
 957	offset = 0x23240ull;				\
 958	if (mcs->hw->mcs_blks > 1)			\
 959		offset = 0x10ed8ull;			\
 960	offset += (a) * 0x8ull;				\
 961	offset; })
 962
 963#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSFLOWIDTCAMMISSX(a) ({	\
 964	u64 offset;					\
 965							\
 966	offset = 0x22c40ull;				\
 967	if (mcs->hw->mcs_blks > 1)			\
 968		offset = 0x10e98ull;			\
 969	offset += (a) * 0x8ull;				\
 970	offset; })
 971
 972#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSPARSEERRX(a) ({	\
 973	u64 offset;					\
 974							\
 975	offset = 0x22e40ull;				\
 976	if (mcs->hw->mcs_blks > 1)			\
 977		offset = 0x10e78ull;			\
 978	offset += (a) * 0x8ull;				\
 979	offset; })
 980
 981#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSCENCRYPTEDX(a) ({	\
 982	u64 offset;					\
 983							\
 984	offset = 0x20440ull;				\
 985	if (mcs->hw->mcs_blks > 1)			\
 986		offset = 0x10c78ull;			\
 987	offset += (a) * 0x8ull;				\
 988	offset; })
 989
 990#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSCPROTECTEDX(a) ({	\
 991	u64 offset;					\
 992							\
 993	offset = 0x1fc40ull;				\
 994	if (mcs->hw->mcs_blks > 1)			\
 995		offset = 0x10a78ull;			\
 996	offset += (a) * 0x8ull;				\
 997	offset; })
 998
 999#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECTAGINSERTIONERRX(a) ({	\
1000	u64 offset;					\
1001							\
1002	offset = 0x23040ull;				\
1003	if (mcs->hw->mcs_blks > 1)			\
1004		offset = 0x110d8ull;			\
1005	offset += (a) * 0x8ull;				\
1006	offset; })
1007
1008#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECYNOACTIVESAX(a) ({	\
1009	u64 offset;					\
1010							\
1011	offset = 0x1dc40ull;				\
1012	if (mcs->hw->mcs_blks > 1)			\
1013		offset = 0x10278ull;			\
1014	offset += (a) * 0x8ull;				\
1015	offset; })
1016
1017#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECYTOOLONGX(a) ({	\
1018	u64 offset;					\
1019							\
1020	offset = 0x1d440ull;				\
1021	if (mcs->hw->mcs_blks > 1)			\
1022		offset = 0x10478ull;			\
1023	offset += (a) * 0x8ull;				\
1024	offset; })
1025
1026#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSECYUNTAGGEDX(a) ({	\
1027	u64 offset;					\
1028							\
1029	offset = 0x1cc40ull;				\
1030	if (mcs->hw->mcs_blks > 1)			\
1031		offset = 0x10078ull;			\
1032	offset += (a) * 0x8ull;				\
1033	offset; })
1034
1035#define MCSX_CSE_TX_SLAVE_CTRL	({	\
1036	u64 offset;					\
1037							\
1038	offset = 0x54a0ull;				\
1039	if (mcs->hw->mcs_blks > 1)			\
1040		offset = 0xa00ull;			\
1041	offset; })
1042
1043#define MCSX_CSE_TX_SLAVE_STATS_CLEAR ({		\
1044	u64 offset;					\
1045							\
1046	offset = 0x54b8ull;				\
1047	if (mcs->hw->mcs_blks > 1)			\
1048		offset = 0xa18ull;			\
1049	offset; })
1050
1051#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSCENCRYPTEDX(a)	(0x1f440ull + (a) * 0x8ull)
1052#define MCSX_CSE_TX_MEM_SLAVE_OUTOCTETSSCPROTECTEDX(a)	(0x1ec40ull + (a) * 0x8ull)
1053#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSEARLYPREEMPTERRX(a) (0x10eb8ull + (a) * 0x8ull)
1054#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSAENCRYPTEDX(a)	(0x21c40ull + (a) * 0x8ull)
1055#define MCSX_CSE_TX_MEM_SLAVE_OUTPKTSSAPROTECTEDX(a)	(0x20c40ull + (a) * 0x8ull)
1056
1057#define MCSX_IP_INT ({			\
1058	u64 offset;			\
1059					\
1060	offset = 0x80028ull;		\
1061	if (mcs->hw->mcs_blks > 1)	\
1062		offset = 0x60028ull;	\
1063	offset; })
1064
1065#define MCSX_IP_INT_ENA_W1S ({		\
1066	u64 offset;			\
1067					\
1068	offset = 0x80040ull;		\
1069	if (mcs->hw->mcs_blks > 1)	\
1070		offset = 0x60040ull;	\
1071	offset; })
1072
1073#define MCSX_IP_INT_ENA_W1C ({		\
1074	u64 offset;			\
1075					\
1076	offset = 0x80038ull;		\
1077	if (mcs->hw->mcs_blks > 1)	\
1078		offset = 0x60038ull;	\
1079	offset; })
1080
1081#define MCSX_TOP_SLAVE_INT_SUM ({	\
1082	u64 offset;			\
1083					\
1084	offset = 0xc20ull;		\
1085	if (mcs->hw->mcs_blks > 1)	\
1086		offset = 0xab8ull;	\
1087	offset; })
1088
1089#define MCSX_TOP_SLAVE_INT_SUM_ENB ({	\
1090	u64 offset;			\
1091					\
1092	offset = 0xc28ull;		\
1093	if (mcs->hw->mcs_blks > 1)	\
1094		offset = 0xac0ull;	\
1095	offset; })
1096
1097#define MCSX_CPM_RX_SLAVE_RX_INT ({	\
1098	u64 offset;			\
1099					\
1100	offset = 0x23c00ull;		\
1101	if (mcs->hw->mcs_blks > 1)	\
1102		offset = 0x0ad8ull;	\
1103	offset; })
1104
1105#define MCSX_CPM_RX_SLAVE_RX_INT_ENB ({	\
1106	u64 offset;			\
1107					\
1108	offset = 0x23c08ull;		\
1109	if (mcs->hw->mcs_blks > 1)	\
1110		offset = 0xae0ull;	\
1111	offset; })
1112
1113#define MCSX_CPM_TX_SLAVE_TX_INT ({	\
1114	u64 offset;			\
1115					\
1116	offset = 0x3d490ull;		\
1117	if (mcs->hw->mcs_blks > 1)	\
1118		offset = 0x54a0ull;	\
1119	offset; })
1120
1121#define MCSX_CPM_TX_SLAVE_TX_INT_ENB ({	\
1122	u64 offset;			\
1123					\
1124	offset = 0x3d498ull;		\
1125	if (mcs->hw->mcs_blks > 1)	\
1126		offset = 0x54a8ull;	\
1127	offset; })
1128
1129#endif
~/ Read-only file preview.