mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 05:55:02 +08:00
23be7075b3
The driver tried to work around missing completion events that occurred
while interrupts are disabled, by triggering a software interrupt
whenever we exit polling (but we had to have polled at least once).
This was causing a *lot* of extra interrupts for some workloads like
NVMe over TCP, which resulted in regressions in performance. It was also
visible when polling didn't prevent interrupts when busy_poll was
enabled.
Fix the extra interrupts by utilizing our previously unused 3rd ITR
(interrupt throttle) index and set it to 20K interrupts per second, and
then trigger a software interrupt within that rate limit.
While here, slightly refactor the code to avoid an overwrite of a local
variable in the case of wb_en = true.
Fixes: b7306b42be
("ice: manage interrupts during poll exit")
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
494 lines
21 KiB
C
494 lines
21 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (c) 2018, Intel Corporation. */
|
|
|
|
/* Machine-generated file */
|
|
|
|
#ifndef _ICE_HW_AUTOGEN_H_
|
|
#define _ICE_HW_AUTOGEN_H_
|
|
|
|
#define QTX_COMM_DBELL(_DBQM) (0x002C0000 + ((_DBQM) * 4))
|
|
#define QTX_COMM_HEAD(_DBQM) (0x000E0000 + ((_DBQM) * 4))
|
|
#define QTX_COMM_HEAD_HEAD_S 0
|
|
#define QTX_COMM_HEAD_HEAD_M ICE_M(0x1FFF, 0)
|
|
#define PF_FW_ARQBAH 0x00080180
|
|
#define PF_FW_ARQBAL 0x00080080
|
|
#define PF_FW_ARQH 0x00080380
|
|
#define PF_FW_ARQH_ARQH_M ICE_M(0x3FF, 0)
|
|
#define PF_FW_ARQLEN 0x00080280
|
|
#define PF_FW_ARQLEN_ARQLEN_M ICE_M(0x3FF, 0)
|
|
#define PF_FW_ARQLEN_ARQVFE_M BIT(28)
|
|
#define PF_FW_ARQLEN_ARQOVFL_M BIT(29)
|
|
#define PF_FW_ARQLEN_ARQCRIT_M BIT(30)
|
|
#define PF_FW_ARQLEN_ARQENABLE_M BIT(31)
|
|
#define PF_FW_ARQT 0x00080480
|
|
#define PF_FW_ATQBAH 0x00080100
|
|
#define PF_FW_ATQBAL 0x00080000
|
|
#define PF_FW_ATQH 0x00080300
|
|
#define PF_FW_ATQH_ATQH_M ICE_M(0x3FF, 0)
|
|
#define PF_FW_ATQLEN 0x00080200
|
|
#define PF_FW_ATQLEN_ATQLEN_M ICE_M(0x3FF, 0)
|
|
#define PF_FW_ATQLEN_ATQVFE_M BIT(28)
|
|
#define PF_FW_ATQLEN_ATQOVFL_M BIT(29)
|
|
#define PF_FW_ATQLEN_ATQCRIT_M BIT(30)
|
|
#define VF_MBX_ARQLEN(_VF) (0x0022BC00 + ((_VF) * 4))
|
|
#define VF_MBX_ATQLEN(_VF) (0x0022A800 + ((_VF) * 4))
|
|
#define PF_FW_ATQLEN_ATQENABLE_M BIT(31)
|
|
#define PF_FW_ATQT 0x00080400
|
|
#define PF_MBX_ARQBAH 0x0022E400
|
|
#define PF_MBX_ARQBAL 0x0022E380
|
|
#define PF_MBX_ARQH 0x0022E500
|
|
#define PF_MBX_ARQH_ARQH_M ICE_M(0x3FF, 0)
|
|
#define PF_MBX_ARQLEN 0x0022E480
|
|
#define PF_MBX_ARQLEN_ARQLEN_M ICE_M(0x3FF, 0)
|
|
#define PF_MBX_ARQLEN_ARQCRIT_M BIT(30)
|
|
#define PF_MBX_ARQLEN_ARQENABLE_M BIT(31)
|
|
#define PF_MBX_ARQT 0x0022E580
|
|
#define PF_MBX_ATQBAH 0x0022E180
|
|
#define PF_MBX_ATQBAL 0x0022E100
|
|
#define PF_MBX_ATQH 0x0022E280
|
|
#define PF_MBX_ATQH_ATQH_M ICE_M(0x3FF, 0)
|
|
#define PF_MBX_ATQLEN 0x0022E200
|
|
#define PF_MBX_ATQLEN_ATQLEN_M ICE_M(0x3FF, 0)
|
|
#define PF_MBX_ATQLEN_ATQCRIT_M BIT(30)
|
|
#define PF_MBX_ATQLEN_ATQENABLE_M BIT(31)
|
|
#define PF_MBX_ATQT 0x0022E300
|
|
#define PF_SB_ARQBAH 0x0022FF00
|
|
#define PF_SB_ARQBAH_ARQBAH_S 0
|
|
#define PF_SB_ARQBAH_ARQBAH_M ICE_M(0xFFFFFFFF, 0)
|
|
#define PF_SB_ARQBAL 0x0022FE80
|
|
#define PF_SB_ARQBAL_ARQBAL_LSB_S 0
|
|
#define PF_SB_ARQBAL_ARQBAL_LSB_M ICE_M(0x3F, 0)
|
|
#define PF_SB_ARQBAL_ARQBAL_S 6
|
|
#define PF_SB_ARQBAL_ARQBAL_M ICE_M(0x3FFFFFF, 6)
|
|
#define PF_SB_ARQH 0x00230000
|
|
#define PF_SB_ARQH_ARQH_S 0
|
|
#define PF_SB_ARQH_ARQH_M ICE_M(0x3FF, 0)
|
|
#define PF_SB_ARQLEN 0x0022FF80
|
|
#define PF_SB_ARQLEN_ARQLEN_S 0
|
|
#define PF_SB_ARQLEN_ARQLEN_M ICE_M(0x3FF, 0)
|
|
#define PF_SB_ARQLEN_ARQVFE_S 28
|
|
#define PF_SB_ARQLEN_ARQVFE_M BIT(28)
|
|
#define PF_SB_ARQLEN_ARQOVFL_S 29
|
|
#define PF_SB_ARQLEN_ARQOVFL_M BIT(29)
|
|
#define PF_SB_ARQLEN_ARQCRIT_S 30
|
|
#define PF_SB_ARQLEN_ARQCRIT_M BIT(30)
|
|
#define PF_SB_ARQLEN_ARQENABLE_S 31
|
|
#define PF_SB_ARQLEN_ARQENABLE_M BIT(31)
|
|
#define PF_SB_ARQT 0x00230080
|
|
#define PF_SB_ARQT_ARQT_S 0
|
|
#define PF_SB_ARQT_ARQT_M ICE_M(0x3FF, 0)
|
|
#define PF_SB_ATQBAH 0x0022FC80
|
|
#define PF_SB_ATQBAH_ATQBAH_S 0
|
|
#define PF_SB_ATQBAH_ATQBAH_M ICE_M(0xFFFFFFFF, 0)
|
|
#define PF_SB_ATQBAL 0x0022FC00
|
|
#define PF_SB_ATQBAL_ATQBAL_S 6
|
|
#define PF_SB_ATQBAL_ATQBAL_M ICE_M(0x3FFFFFF, 6)
|
|
#define PF_SB_ATQH 0x0022FD80
|
|
#define PF_SB_ATQH_ATQH_S 0
|
|
#define PF_SB_ATQH_ATQH_M ICE_M(0x3FF, 0)
|
|
#define PF_SB_ATQLEN 0x0022FD00
|
|
#define PF_SB_ATQLEN_ATQLEN_S 0
|
|
#define PF_SB_ATQLEN_ATQLEN_M ICE_M(0x3FF, 0)
|
|
#define PF_SB_ATQLEN_ATQVFE_S 28
|
|
#define PF_SB_ATQLEN_ATQVFE_M BIT(28)
|
|
#define PF_SB_ATQLEN_ATQOVFL_S 29
|
|
#define PF_SB_ATQLEN_ATQOVFL_M BIT(29)
|
|
#define PF_SB_ATQLEN_ATQCRIT_S 30
|
|
#define PF_SB_ATQLEN_ATQCRIT_M BIT(30)
|
|
#define PF_SB_ATQLEN_ATQENABLE_S 31
|
|
#define PF_SB_ATQLEN_ATQENABLE_M BIT(31)
|
|
#define PF_SB_ATQT 0x0022FE00
|
|
#define PF_SB_ATQT_ATQT_S 0
|
|
#define PF_SB_ATQT_ATQT_M ICE_M(0x3FF, 0)
|
|
#define PRTDCB_GENC 0x00083000
|
|
#define PRTDCB_GENC_PFCLDA_S 16
|
|
#define PRTDCB_GENC_PFCLDA_M ICE_M(0xFFFF, 16)
|
|
#define PRTDCB_GENS 0x00083020
|
|
#define PRTDCB_GENS_DCBX_STATUS_S 0
|
|
#define PRTDCB_GENS_DCBX_STATUS_M ICE_M(0x7, 0)
|
|
#define PRTDCB_TUP2TC 0x001D26C0
|
|
#define GL_PREEXT_L2_PMASK0(_i) (0x0020F0FC + ((_i) * 4))
|
|
#define GL_PREEXT_L2_PMASK1(_i) (0x0020F108 + ((_i) * 4))
|
|
#define GLFLXP_RXDID_FLX_WRD_0(_i) (0x0045c800 + ((_i) * 4))
|
|
#define GLFLXP_RXDID_FLX_WRD_0_PROT_MDID_S 0
|
|
#define GLFLXP_RXDID_FLX_WRD_0_PROT_MDID_M ICE_M(0xFF, 0)
|
|
#define GLFLXP_RXDID_FLX_WRD_0_RXDID_OPCODE_S 30
|
|
#define GLFLXP_RXDID_FLX_WRD_0_RXDID_OPCODE_M ICE_M(0x3, 30)
|
|
#define GLFLXP_RXDID_FLX_WRD_1(_i) (0x0045c900 + ((_i) * 4))
|
|
#define GLFLXP_RXDID_FLX_WRD_1_PROT_MDID_S 0
|
|
#define GLFLXP_RXDID_FLX_WRD_1_PROT_MDID_M ICE_M(0xFF, 0)
|
|
#define GLFLXP_RXDID_FLX_WRD_1_RXDID_OPCODE_S 30
|
|
#define GLFLXP_RXDID_FLX_WRD_1_RXDID_OPCODE_M ICE_M(0x3, 30)
|
|
#define GLFLXP_RXDID_FLX_WRD_2(_i) (0x0045ca00 + ((_i) * 4))
|
|
#define GLFLXP_RXDID_FLX_WRD_2_PROT_MDID_S 0
|
|
#define GLFLXP_RXDID_FLX_WRD_2_PROT_MDID_M ICE_M(0xFF, 0)
|
|
#define GLFLXP_RXDID_FLX_WRD_2_RXDID_OPCODE_S 30
|
|
#define GLFLXP_RXDID_FLX_WRD_2_RXDID_OPCODE_M ICE_M(0x3, 30)
|
|
#define GLFLXP_RXDID_FLX_WRD_3(_i) (0x0045cb00 + ((_i) * 4))
|
|
#define GLFLXP_RXDID_FLX_WRD_3_PROT_MDID_S 0
|
|
#define GLFLXP_RXDID_FLX_WRD_3_PROT_MDID_M ICE_M(0xFF, 0)
|
|
#define GLFLXP_RXDID_FLX_WRD_3_RXDID_OPCODE_S 30
|
|
#define GLFLXP_RXDID_FLX_WRD_3_RXDID_OPCODE_M ICE_M(0x3, 30)
|
|
#define QRXFLXP_CNTXT(_QRX) (0x00480000 + ((_QRX) * 4))
|
|
#define QRXFLXP_CNTXT_RXDID_IDX_S 0
|
|
#define QRXFLXP_CNTXT_RXDID_IDX_M ICE_M(0x3F, 0)
|
|
#define QRXFLXP_CNTXT_RXDID_PRIO_S 8
|
|
#define QRXFLXP_CNTXT_RXDID_PRIO_M ICE_M(0x7, 8)
|
|
#define QRXFLXP_CNTXT_TS_M BIT(11)
|
|
#define GLGEN_CLKSTAT_SRC_PSM_CLK_SRC_S 4
|
|
#define GLGEN_CLKSTAT_SRC_PSM_CLK_SRC_M ICE_M(0x3, 4)
|
|
#define GLGEN_CLKSTAT_SRC 0x000B826C
|
|
#define GLGEN_GPIO_CTL(_i) (0x000880C8 + ((_i) * 4))
|
|
#define GLGEN_GPIO_CTL_PIN_DIR_M BIT(4)
|
|
#define GLGEN_GPIO_CTL_PIN_FUNC_S 8
|
|
#define GLGEN_GPIO_CTL_PIN_FUNC_M ICE_M(0xF, 8)
|
|
#define GLGEN_RSTAT 0x000B8188
|
|
#define GLGEN_RSTAT_DEVSTATE_M ICE_M(0x3, 0)
|
|
#define GLGEN_RSTCTL 0x000B8180
|
|
#define GLGEN_RSTCTL_GRSTDEL_S 0
|
|
#define GLGEN_RSTCTL_GRSTDEL_M ICE_M(0x3F, GLGEN_RSTCTL_GRSTDEL_S)
|
|
#define GLGEN_RSTAT_RESET_TYPE_S 2
|
|
#define GLGEN_RSTAT_RESET_TYPE_M ICE_M(0x3, 2)
|
|
#define GLGEN_RTRIG 0x000B8190
|
|
#define GLGEN_RTRIG_CORER_M BIT(0)
|
|
#define GLGEN_RTRIG_GLOBR_M BIT(1)
|
|
#define GLGEN_STAT 0x000B612C
|
|
#define GLGEN_VFLRSTAT(_i) (0x00093A04 + ((_i) * 4))
|
|
#define PFGEN_CTRL 0x00091000
|
|
#define PFGEN_CTRL_PFSWR_M BIT(0)
|
|
#define PFGEN_STATE 0x00088000
|
|
#define PRTGEN_STATUS 0x000B8100
|
|
#define VFGEN_RSTAT(_VF) (0x00074000 + ((_VF) * 4))
|
|
#define VPGEN_VFRSTAT(_VF) (0x00090800 + ((_VF) * 4))
|
|
#define VPGEN_VFRSTAT_VFRD_M BIT(0)
|
|
#define VPGEN_VFRTRIG(_VF) (0x00090000 + ((_VF) * 4))
|
|
#define VPGEN_VFRTRIG_VFSWR_M BIT(0)
|
|
#define GLINT_CTL 0x0016CC54
|
|
#define GLINT_CTL_DIS_AUTOMASK_M BIT(0)
|
|
#define GLINT_CTL_ITR_GRAN_200_S 16
|
|
#define GLINT_CTL_ITR_GRAN_200_M ICE_M(0xF, 16)
|
|
#define GLINT_CTL_ITR_GRAN_100_S 20
|
|
#define GLINT_CTL_ITR_GRAN_100_M ICE_M(0xF, 20)
|
|
#define GLINT_CTL_ITR_GRAN_50_S 24
|
|
#define GLINT_CTL_ITR_GRAN_50_M ICE_M(0xF, 24)
|
|
#define GLINT_CTL_ITR_GRAN_25_S 28
|
|
#define GLINT_CTL_ITR_GRAN_25_M ICE_M(0xF, 28)
|
|
#define GLINT_DYN_CTL(_INT) (0x00160000 + ((_INT) * 4))
|
|
#define GLINT_DYN_CTL_INTENA_M BIT(0)
|
|
#define GLINT_DYN_CTL_CLEARPBA_M BIT(1)
|
|
#define GLINT_DYN_CTL_SWINT_TRIG_M BIT(2)
|
|
#define GLINT_DYN_CTL_ITR_INDX_S 3
|
|
#define GLINT_DYN_CTL_ITR_INDX_M ICE_M(0x3, 3)
|
|
#define GLINT_DYN_CTL_INTERVAL_S 5
|
|
#define GLINT_DYN_CTL_INTERVAL_M ICE_M(0xFFF, 5)
|
|
#define GLINT_DYN_CTL_SW_ITR_INDX_ENA_M BIT(24)
|
|
#define GLINT_DYN_CTL_SW_ITR_INDX_S 25
|
|
#define GLINT_DYN_CTL_SW_ITR_INDX_M ICE_M(0x3, 25)
|
|
#define GLINT_DYN_CTL_WB_ON_ITR_M BIT(30)
|
|
#define GLINT_DYN_CTL_INTENA_MSK_M BIT(31)
|
|
#define GLINT_ITR(_i, _INT) (0x00154000 + ((_i) * 8192 + (_INT) * 4))
|
|
#define GLINT_RATE(_INT) (0x0015A000 + ((_INT) * 4))
|
|
#define GLINT_RATE_INTRL_ENA_M BIT(6)
|
|
#define GLINT_VECT2FUNC(_INT) (0x00162000 + ((_INT) * 4))
|
|
#define GLINT_VECT2FUNC_VF_NUM_S 0
|
|
#define GLINT_VECT2FUNC_VF_NUM_M ICE_M(0xFF, 0)
|
|
#define GLINT_VECT2FUNC_PF_NUM_S 12
|
|
#define GLINT_VECT2FUNC_PF_NUM_M ICE_M(0x7, 12)
|
|
#define GLINT_VECT2FUNC_IS_PF_S 16
|
|
#define GLINT_VECT2FUNC_IS_PF_M BIT(16)
|
|
#define PFINT_FW_CTL 0x0016C800
|
|
#define PFINT_FW_CTL_MSIX_INDX_M ICE_M(0x7FF, 0)
|
|
#define PFINT_FW_CTL_ITR_INDX_S 11
|
|
#define PFINT_FW_CTL_ITR_INDX_M ICE_M(0x3, 11)
|
|
#define PFINT_FW_CTL_CAUSE_ENA_M BIT(30)
|
|
#define PFINT_MBX_CTL 0x0016B280
|
|
#define PFINT_MBX_CTL_MSIX_INDX_M ICE_M(0x7FF, 0)
|
|
#define PFINT_MBX_CTL_ITR_INDX_S 11
|
|
#define PFINT_MBX_CTL_ITR_INDX_M ICE_M(0x3, 11)
|
|
#define PFINT_MBX_CTL_CAUSE_ENA_M BIT(30)
|
|
#define PFINT_OICR 0x0016CA00
|
|
#define PFINT_OICR_TSYN_TX_M BIT(11)
|
|
#define PFINT_OICR_TSYN_EVNT_M BIT(12)
|
|
#define PFINT_OICR_ECC_ERR_M BIT(16)
|
|
#define PFINT_OICR_MAL_DETECT_M BIT(19)
|
|
#define PFINT_OICR_GRST_M BIT(20)
|
|
#define PFINT_OICR_PCI_EXCEPTION_M BIT(21)
|
|
#define PFINT_OICR_HMC_ERR_M BIT(26)
|
|
#define PFINT_OICR_PE_PUSH_M BIT(27)
|
|
#define PFINT_OICR_PE_CRITERR_M BIT(28)
|
|
#define PFINT_OICR_VFLR_M BIT(29)
|
|
#define PFINT_OICR_SWINT_M BIT(31)
|
|
#define PFINT_OICR_CTL 0x0016CA80
|
|
#define PFINT_OICR_CTL_MSIX_INDX_M ICE_M(0x7FF, 0)
|
|
#define PFINT_OICR_CTL_ITR_INDX_S 11
|
|
#define PFINT_OICR_CTL_ITR_INDX_M ICE_M(0x3, 11)
|
|
#define PFINT_OICR_CTL_CAUSE_ENA_M BIT(30)
|
|
#define PFINT_OICR_ENA 0x0016C900
|
|
#define PFINT_SB_CTL 0x0016B600
|
|
#define PFINT_SB_CTL_MSIX_INDX_M ICE_M(0x7FF, 0)
|
|
#define PFINT_SB_CTL_CAUSE_ENA_M BIT(30)
|
|
#define QINT_RQCTL(_QRX) (0x00150000 + ((_QRX) * 4))
|
|
#define QINT_RQCTL_MSIX_INDX_S 0
|
|
#define QINT_RQCTL_MSIX_INDX_M ICE_M(0x7FF, 0)
|
|
#define QINT_RQCTL_ITR_INDX_S 11
|
|
#define QINT_RQCTL_ITR_INDX_M ICE_M(0x3, 11)
|
|
#define QINT_RQCTL_CAUSE_ENA_M BIT(30)
|
|
#define QINT_TQCTL(_DBQM) (0x00140000 + ((_DBQM) * 4))
|
|
#define QINT_TQCTL_MSIX_INDX_S 0
|
|
#define QINT_TQCTL_MSIX_INDX_M ICE_M(0x7FF, 0)
|
|
#define QINT_TQCTL_ITR_INDX_S 11
|
|
#define QINT_TQCTL_ITR_INDX_M ICE_M(0x3, 11)
|
|
#define QINT_TQCTL_CAUSE_ENA_M BIT(30)
|
|
#define VPINT_ALLOC(_VF) (0x001D1000 + ((_VF) * 4))
|
|
#define VPINT_ALLOC_FIRST_S 0
|
|
#define VPINT_ALLOC_FIRST_M ICE_M(0x7FF, 0)
|
|
#define VPINT_ALLOC_LAST_S 12
|
|
#define VPINT_ALLOC_LAST_M ICE_M(0x7FF, 12)
|
|
#define VPINT_ALLOC_VALID_M BIT(31)
|
|
#define VPINT_ALLOC_PCI(_VF) (0x0009D000 + ((_VF) * 4))
|
|
#define VPINT_ALLOC_PCI_FIRST_S 0
|
|
#define VPINT_ALLOC_PCI_FIRST_M ICE_M(0x7FF, 0)
|
|
#define VPINT_ALLOC_PCI_LAST_S 12
|
|
#define VPINT_ALLOC_PCI_LAST_M ICE_M(0x7FF, 12)
|
|
#define VPINT_ALLOC_PCI_VALID_M BIT(31)
|
|
#define VPINT_MBX_CTL(_VSI) (0x0016A000 + ((_VSI) * 4))
|
|
#define VPINT_MBX_CTL_CAUSE_ENA_M BIT(30)
|
|
#define GLLAN_RCTL_0 0x002941F8
|
|
#define QRX_CONTEXT(_i, _QRX) (0x00280000 + ((_i) * 8192 + (_QRX) * 4))
|
|
#define QRX_CTRL(_QRX) (0x00120000 + ((_QRX) * 4))
|
|
#define QRX_CTRL_MAX_INDEX 2047
|
|
#define QRX_CTRL_QENA_REQ_S 0
|
|
#define QRX_CTRL_QENA_REQ_M BIT(0)
|
|
#define QRX_CTRL_QENA_STAT_S 2
|
|
#define QRX_CTRL_QENA_STAT_M BIT(2)
|
|
#define QRX_ITR(_QRX) (0x00292000 + ((_QRX) * 4))
|
|
#define QRX_TAIL(_QRX) (0x00290000 + ((_QRX) * 4))
|
|
#define QRX_TAIL_MAX_INDEX 2047
|
|
#define QRX_TAIL_TAIL_S 0
|
|
#define QRX_TAIL_TAIL_M ICE_M(0x1FFF, 0)
|
|
#define VPLAN_RX_QBASE(_VF) (0x00072000 + ((_VF) * 4))
|
|
#define VPLAN_RX_QBASE_VFFIRSTQ_S 0
|
|
#define VPLAN_RX_QBASE_VFFIRSTQ_M ICE_M(0x7FF, 0)
|
|
#define VPLAN_RX_QBASE_VFNUMQ_S 16
|
|
#define VPLAN_RX_QBASE_VFNUMQ_M ICE_M(0xFF, 16)
|
|
#define VPLAN_RXQ_MAPENA(_VF) (0x00073000 + ((_VF) * 4))
|
|
#define VPLAN_RXQ_MAPENA_RX_ENA_M BIT(0)
|
|
#define VPLAN_TX_QBASE(_VF) (0x001D1800 + ((_VF) * 4))
|
|
#define VPLAN_TX_QBASE_VFFIRSTQ_S 0
|
|
#define VPLAN_TX_QBASE_VFFIRSTQ_M ICE_M(0x3FFF, 0)
|
|
#define VPLAN_TX_QBASE_VFNUMQ_S 16
|
|
#define VPLAN_TX_QBASE_VFNUMQ_M ICE_M(0xFF, 16)
|
|
#define VPLAN_TXQ_MAPENA(_VF) (0x00073800 + ((_VF) * 4))
|
|
#define VPLAN_TXQ_MAPENA_TX_ENA_M BIT(0)
|
|
#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(_i) (0x001E36E0 + ((_i) * 32))
|
|
#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX 8
|
|
#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M ICE_M(0xFFFF, 0)
|
|
#define PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(_i) (0x001E3800 + ((_i) * 32))
|
|
#define PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M ICE_M(0xFFFF, 0)
|
|
#define GL_MDCK_TX_TDPU 0x00049348
|
|
#define GL_MDCK_TX_TDPU_RCU_ANTISPOOF_ITR_DIS_M BIT(1)
|
|
#define GL_MDET_RX 0x00294C00
|
|
#define GL_MDET_RX_QNUM_S 0
|
|
#define GL_MDET_RX_QNUM_M ICE_M(0x7FFF, 0)
|
|
#define GL_MDET_RX_VF_NUM_S 15
|
|
#define GL_MDET_RX_VF_NUM_M ICE_M(0xFF, 15)
|
|
#define GL_MDET_RX_PF_NUM_S 23
|
|
#define GL_MDET_RX_PF_NUM_M ICE_M(0x7, 23)
|
|
#define GL_MDET_RX_MAL_TYPE_S 26
|
|
#define GL_MDET_RX_MAL_TYPE_M ICE_M(0x1F, 26)
|
|
#define GL_MDET_RX_VALID_M BIT(31)
|
|
#define GL_MDET_TX_PQM 0x002D2E00
|
|
#define GL_MDET_TX_PQM_PF_NUM_S 0
|
|
#define GL_MDET_TX_PQM_PF_NUM_M ICE_M(0x7, 0)
|
|
#define GL_MDET_TX_PQM_VF_NUM_S 4
|
|
#define GL_MDET_TX_PQM_VF_NUM_M ICE_M(0xFF, 4)
|
|
#define GL_MDET_TX_PQM_QNUM_S 12
|
|
#define GL_MDET_TX_PQM_QNUM_M ICE_M(0x3FFF, 12)
|
|
#define GL_MDET_TX_PQM_MAL_TYPE_S 26
|
|
#define GL_MDET_TX_PQM_MAL_TYPE_M ICE_M(0x1F, 26)
|
|
#define GL_MDET_TX_PQM_VALID_M BIT(31)
|
|
#define GL_MDET_TX_TCLAN 0x000FC068
|
|
#define GL_MDET_TX_TCLAN_QNUM_S 0
|
|
#define GL_MDET_TX_TCLAN_QNUM_M ICE_M(0x7FFF, 0)
|
|
#define GL_MDET_TX_TCLAN_VF_NUM_S 15
|
|
#define GL_MDET_TX_TCLAN_VF_NUM_M ICE_M(0xFF, 15)
|
|
#define GL_MDET_TX_TCLAN_PF_NUM_S 23
|
|
#define GL_MDET_TX_TCLAN_PF_NUM_M ICE_M(0x7, 23)
|
|
#define GL_MDET_TX_TCLAN_MAL_TYPE_S 26
|
|
#define GL_MDET_TX_TCLAN_MAL_TYPE_M ICE_M(0x1F, 26)
|
|
#define GL_MDET_TX_TCLAN_VALID_M BIT(31)
|
|
#define PF_MDET_RX 0x00294280
|
|
#define PF_MDET_RX_VALID_M BIT(0)
|
|
#define PF_MDET_TX_PQM 0x002D2C80
|
|
#define PF_MDET_TX_PQM_VALID_M BIT(0)
|
|
#define PF_MDET_TX_TCLAN 0x000FC000
|
|
#define PF_MDET_TX_TCLAN_VALID_M BIT(0)
|
|
#define VP_MDET_RX(_VF) (0x00294400 + ((_VF) * 4))
|
|
#define VP_MDET_RX_VALID_M BIT(0)
|
|
#define VP_MDET_TX_PQM(_VF) (0x002D2000 + ((_VF) * 4))
|
|
#define VP_MDET_TX_PQM_VALID_M BIT(0)
|
|
#define VP_MDET_TX_TCLAN(_VF) (0x000FB800 + ((_VF) * 4))
|
|
#define VP_MDET_TX_TCLAN_VALID_M BIT(0)
|
|
#define VP_MDET_TX_TDPU(_VF) (0x00040000 + ((_VF) * 4))
|
|
#define VP_MDET_TX_TDPU_VALID_M BIT(0)
|
|
#define GLNVM_FLA 0x000B6108
|
|
#define GLNVM_FLA_LOCKED_M BIT(6)
|
|
#define GLNVM_GENS 0x000B6100
|
|
#define GLNVM_GENS_SR_SIZE_S 5
|
|
#define GLNVM_GENS_SR_SIZE_M ICE_M(0x7, 5)
|
|
#define GLNVM_ULD 0x000B6008
|
|
#define GLNVM_ULD_PCIER_DONE_M BIT(0)
|
|
#define GLNVM_ULD_PCIER_DONE_1_M BIT(1)
|
|
#define GLNVM_ULD_CORER_DONE_M BIT(3)
|
|
#define GLNVM_ULD_GLOBR_DONE_M BIT(4)
|
|
#define GLNVM_ULD_POR_DONE_M BIT(5)
|
|
#define GLNVM_ULD_POR_DONE_1_M BIT(8)
|
|
#define GLNVM_ULD_PCIER_DONE_2_M BIT(9)
|
|
#define GLNVM_ULD_PE_DONE_M BIT(10)
|
|
#define GLPCI_CNF2 0x000BE004
|
|
#define GLPCI_CNF2_CACHELINE_SIZE_M BIT(1)
|
|
#define PF_FUNC_RID 0x0009E880
|
|
#define PF_FUNC_RID_FUNC_NUM_S 0
|
|
#define PF_FUNC_RID_FUNC_NUM_M ICE_M(0x7, 0)
|
|
#define PF_PCI_CIAA 0x0009E580
|
|
#define PF_PCI_CIAA_VF_NUM_S 12
|
|
#define PF_PCI_CIAD 0x0009E500
|
|
#define GL_PWR_MODE_CTL 0x000B820C
|
|
#define GL_PWR_MODE_CTL_CAR_MAX_BW_S 30
|
|
#define GL_PWR_MODE_CTL_CAR_MAX_BW_M ICE_M(0x3, 30)
|
|
#define GLQF_FD_CNT 0x00460018
|
|
#define GLQF_FD_CNT_FD_BCNT_S 16
|
|
#define GLQF_FD_CNT_FD_BCNT_M ICE_M(0x7FFF, 16)
|
|
#define GLQF_FD_SIZE 0x00460010
|
|
#define GLQF_FD_SIZE_FD_GSIZE_S 0
|
|
#define GLQF_FD_SIZE_FD_GSIZE_M ICE_M(0x7FFF, 0)
|
|
#define GLQF_FD_SIZE_FD_BSIZE_S 16
|
|
#define GLQF_FD_SIZE_FD_BSIZE_M ICE_M(0x7FFF, 16)
|
|
#define GLQF_FDINSET(_i, _j) (0x00412000 + ((_i) * 4 + (_j) * 512))
|
|
#define GLQF_FDMASK(_i) (0x00410800 + ((_i) * 4))
|
|
#define GLQF_FDMASK_MAX_INDEX 31
|
|
#define GLQF_FDMASK_MSK_INDEX_S 0
|
|
#define GLQF_FDMASK_MSK_INDEX_M ICE_M(0x1F, 0)
|
|
#define GLQF_FDMASK_MASK_S 16
|
|
#define GLQF_FDMASK_MASK_M ICE_M(0xFFFF, 16)
|
|
#define GLQF_FDMASK_SEL(_i) (0x00410400 + ((_i) * 4))
|
|
#define GLQF_FDSWAP(_i, _j) (0x00413000 + ((_i) * 4 + (_j) * 512))
|
|
#define GLQF_HMASK(_i) (0x0040FC00 + ((_i) * 4))
|
|
#define GLQF_HMASK_MAX_INDEX 31
|
|
#define GLQF_HMASK_MSK_INDEX_S 0
|
|
#define GLQF_HMASK_MSK_INDEX_M ICE_M(0x1F, 0)
|
|
#define GLQF_HMASK_MASK_S 16
|
|
#define GLQF_HMASK_MASK_M ICE_M(0xFFFF, 16)
|
|
#define GLQF_HMASK_SEL(_i) (0x00410000 + ((_i) * 4))
|
|
#define GLQF_HMASK_SEL_MAX_INDEX 127
|
|
#define GLQF_HMASK_SEL_MASK_SEL_S 0
|
|
#define PFQF_FD_ENA 0x0043A000
|
|
#define PFQF_FD_ENA_FD_ENA_M BIT(0)
|
|
#define PFQF_FD_SIZE 0x00460100
|
|
#define GLDCB_RTCTQ_RXQNUM_S 0
|
|
#define GLDCB_RTCTQ_RXQNUM_M ICE_M(0x7FF, 0)
|
|
#define GLPRT_BPRCL(_i) (0x00381380 + ((_i) * 8))
|
|
#define GLPRT_BPTCL(_i) (0x00381240 + ((_i) * 8))
|
|
#define GLPRT_CRCERRS(_i) (0x00380100 + ((_i) * 8))
|
|
#define GLPRT_GORCL(_i) (0x00380000 + ((_i) * 8))
|
|
#define GLPRT_GOTCL(_i) (0x00380B40 + ((_i) * 8))
|
|
#define GLPRT_ILLERRC(_i) (0x003801C0 + ((_i) * 8))
|
|
#define GLPRT_LXOFFRXC(_i) (0x003802C0 + ((_i) * 8))
|
|
#define GLPRT_LXOFFTXC(_i) (0x00381180 + ((_i) * 8))
|
|
#define GLPRT_LXONRXC(_i) (0x00380280 + ((_i) * 8))
|
|
#define GLPRT_LXONTXC(_i) (0x00381140 + ((_i) * 8))
|
|
#define GLPRT_MLFC(_i) (0x00380040 + ((_i) * 8))
|
|
#define GLPRT_MPRCL(_i) (0x00381340 + ((_i) * 8))
|
|
#define GLPRT_MPTCL(_i) (0x00381200 + ((_i) * 8))
|
|
#define GLPRT_MRFC(_i) (0x00380080 + ((_i) * 8))
|
|
#define GLPRT_PRC1023L(_i) (0x00380A00 + ((_i) * 8))
|
|
#define GLPRT_PRC127L(_i) (0x00380940 + ((_i) * 8))
|
|
#define GLPRT_PRC1522L(_i) (0x00380A40 + ((_i) * 8))
|
|
#define GLPRT_PRC255L(_i) (0x00380980 + ((_i) * 8))
|
|
#define GLPRT_PRC511L(_i) (0x003809C0 + ((_i) * 8))
|
|
#define GLPRT_PRC64L(_i) (0x00380900 + ((_i) * 8))
|
|
#define GLPRT_PRC9522L(_i) (0x00380A80 + ((_i) * 8))
|
|
#define GLPRT_PTC1023L(_i) (0x00380C80 + ((_i) * 8))
|
|
#define GLPRT_PTC127L(_i) (0x00380BC0 + ((_i) * 8))
|
|
#define GLPRT_PTC1522L(_i) (0x00380CC0 + ((_i) * 8))
|
|
#define GLPRT_PTC255L(_i) (0x00380C00 + ((_i) * 8))
|
|
#define GLPRT_PTC511L(_i) (0x00380C40 + ((_i) * 8))
|
|
#define GLPRT_PTC64L(_i) (0x00380B80 + ((_i) * 8))
|
|
#define GLPRT_PTC9522L(_i) (0x00380D00 + ((_i) * 8))
|
|
#define GLPRT_PXOFFRXC(_i, _j) (0x00380500 + ((_i) * 8 + (_j) * 64))
|
|
#define GLPRT_PXOFFTXC(_i, _j) (0x00380F40 + ((_i) * 8 + (_j) * 64))
|
|
#define GLPRT_PXONRXC(_i, _j) (0x00380300 + ((_i) * 8 + (_j) * 64))
|
|
#define GLPRT_PXONTXC(_i, _j) (0x00380D40 + ((_i) * 8 + (_j) * 64))
|
|
#define GLPRT_RFC(_i) (0x00380AC0 + ((_i) * 8))
|
|
#define GLPRT_RJC(_i) (0x00380B00 + ((_i) * 8))
|
|
#define GLPRT_RLEC(_i) (0x00380140 + ((_i) * 8))
|
|
#define GLPRT_ROC(_i) (0x00380240 + ((_i) * 8))
|
|
#define GLPRT_RUC(_i) (0x00380200 + ((_i) * 8))
|
|
#define GLPRT_RXON2OFFCNT(_i, _j) (0x00380700 + ((_i) * 8 + (_j) * 64))
|
|
#define GLPRT_TDOLD(_i) (0x00381280 + ((_i) * 8))
|
|
#define GLPRT_UPRCL(_i) (0x00381300 + ((_i) * 8))
|
|
#define GLPRT_UPTCL(_i) (0x003811C0 + ((_i) * 8))
|
|
#define GLSTAT_FD_CNT0L(_i) (0x003A0000 + ((_i) * 8))
|
|
#define GLV_BPRCL(_i) (0x003B6000 + ((_i) * 8))
|
|
#define GLV_BPTCL(_i) (0x0030E000 + ((_i) * 8))
|
|
#define GLV_GORCL(_i) (0x003B0000 + ((_i) * 8))
|
|
#define GLV_GOTCL(_i) (0x00300000 + ((_i) * 8))
|
|
#define GLV_MPRCL(_i) (0x003B4000 + ((_i) * 8))
|
|
#define GLV_MPTCL(_i) (0x0030C000 + ((_i) * 8))
|
|
#define GLV_RDPC(_i) (0x00294C04 + ((_i) * 4))
|
|
#define GLV_TEPC(_VSI) (0x00312000 + ((_VSI) * 4))
|
|
#define GLV_UPRCL(_i) (0x003B2000 + ((_i) * 8))
|
|
#define GLV_UPTCL(_i) (0x0030A000 + ((_i) * 8))
|
|
#define PRTRPB_RDPC 0x000AC260
|
|
#define GLTSYN_AUX_IN_0(_i) (0x000889D8 + ((_i) * 4))
|
|
#define GLTSYN_AUX_IN_0_INT_ENA_M BIT(4)
|
|
#define GLTSYN_AUX_OUT_0(_i) (0x00088998 + ((_i) * 4))
|
|
#define GLTSYN_AUX_OUT_0_OUT_ENA_M BIT(0)
|
|
#define GLTSYN_AUX_OUT_0_OUTMOD_M ICE_M(0x3, 1)
|
|
#define GLTSYN_CLKO_0(_i) (0x000889B8 + ((_i) * 4))
|
|
#define GLTSYN_CMD 0x00088810
|
|
#define GLTSYN_CMD_SYNC 0x00088814
|
|
#define GLTSYN_ENA(_i) (0x00088808 + ((_i) * 4))
|
|
#define GLTSYN_ENA_TSYN_ENA_M BIT(0)
|
|
#define GLTSYN_EVNT_H_0(_i) (0x00088970 + ((_i) * 4))
|
|
#define GLTSYN_EVNT_L_0(_i) (0x00088968 + ((_i) * 4))
|
|
#define GLTSYN_INCVAL_H(_i) (0x00088920 + ((_i) * 4))
|
|
#define GLTSYN_INCVAL_L(_i) (0x00088918 + ((_i) * 4))
|
|
#define GLTSYN_SHADJ_H(_i) (0x00088910 + ((_i) * 4))
|
|
#define GLTSYN_SHADJ_L(_i) (0x00088908 + ((_i) * 4))
|
|
#define GLTSYN_SHTIME_0(_i) (0x000888E0 + ((_i) * 4))
|
|
#define GLTSYN_SHTIME_H(_i) (0x000888F0 + ((_i) * 4))
|
|
#define GLTSYN_SHTIME_L(_i) (0x000888E8 + ((_i) * 4))
|
|
#define GLTSYN_STAT(_i) (0x000888C0 + ((_i) * 4))
|
|
#define GLTSYN_STAT_EVENT0_M BIT(0)
|
|
#define GLTSYN_STAT_EVENT1_M BIT(1)
|
|
#define GLTSYN_STAT_EVENT2_M BIT(2)
|
|
#define GLTSYN_SYNC_DLAY 0x00088818
|
|
#define GLTSYN_TGT_H_0(_i) (0x00088930 + ((_i) * 4))
|
|
#define GLTSYN_TGT_L_0(_i) (0x00088928 + ((_i) * 4))
|
|
#define GLTSYN_TIME_H(_i) (0x000888D8 + ((_i) * 4))
|
|
#define GLTSYN_TIME_L(_i) (0x000888D0 + ((_i) * 4))
|
|
#define PFTSYN_SEM 0x00088880
|
|
#define PFTSYN_SEM_BUSY_M BIT(0)
|
|
#define VSIQF_FD_CNT(_VSI) (0x00464000 + ((_VSI) * 4))
|
|
#define VSIQF_FD_CNT_FD_GCNT_S 0
|
|
#define VSIQF_FD_CNT_FD_GCNT_M ICE_M(0x3FFF, 0)
|
|
#define VSIQF_FD_CNT_FD_BCNT_S 16
|
|
#define VSIQF_FD_CNT_FD_BCNT_M ICE_M(0x3FFF, 16)
|
|
#define VSIQF_FD_SIZE(_VSI) (0x00462000 + ((_VSI) * 4))
|
|
#define VSIQF_HKEY_MAX_INDEX 12
|
|
#define VSIQF_HLUT_MAX_INDEX 15
|
|
#define PFPM_APM 0x000B8080
|
|
#define PFPM_APM_APME_M BIT(0)
|
|
#define PFPM_WUFC 0x0009DC00
|
|
#define PFPM_WUFC_MAG_M BIT(1)
|
|
#define PFPM_WUS 0x0009DB80
|
|
#define PFPM_WUS_LNKC_M BIT(0)
|
|
#define PFPM_WUS_MAG_M BIT(1)
|
|
#define PFPM_WUS_MNG_M BIT(3)
|
|
#define PFPM_WUS_FW_RST_WK_M BIT(31)
|
|
#define VFINT_DYN_CTLN(_i) (0x00003800 + ((_i) * 4))
|
|
#define VFINT_DYN_CTLN_CLEARPBA_M BIT(1)
|
|
|
|
#endif /* _ICE_HW_AUTOGEN_H_ */
|