1*d14abf15SRobert Mustacchi #ifndef IGU_DEFS_H 2*d14abf15SRobert Mustacchi #define IGU_DEFS_H 3*d14abf15SRobert Mustacchi 4*d14abf15SRobert Mustacchi #define IGU_FUNC_BASE 0x0400 5*d14abf15SRobert Mustacchi 6*d14abf15SRobert Mustacchi #define IGU_ADDR_MSIX 0x0000 7*d14abf15SRobert Mustacchi #define IGU_ADDR_INT_ACK 0x0200 8*d14abf15SRobert Mustacchi #define IGU_ADDR_PROD_UPD 0x0201 9*d14abf15SRobert Mustacchi #define IGU_ADDR_ATTN_BITS_UPD 0x0202 10*d14abf15SRobert Mustacchi #define IGU_ADDR_ATTN_BITS_SET 0x0203 11*d14abf15SRobert Mustacchi #define IGU_ADDR_ATTN_BITS_CLR 0x0204 12*d14abf15SRobert Mustacchi #define IGU_ADDR_COALESCE_NOW 0x0205 13*d14abf15SRobert Mustacchi #define IGU_ADDR_SIMD_MASK 0x0206 14*d14abf15SRobert Mustacchi #define IGU_ADDR_SIMD_NOMASK 0x0207 15*d14abf15SRobert Mustacchi #define IGU_ADDR_MSI_CTL 0x0210 16*d14abf15SRobert Mustacchi #define IGU_ADDR_MSI_ADDR_LO 0x0211 17*d14abf15SRobert Mustacchi #define IGU_ADDR_MSI_ADDR_HI 0x0212 18*d14abf15SRobert Mustacchi #define IGU_ADDR_MSI_DATA 0x0213 19*d14abf15SRobert Mustacchi 20*d14abf15SRobert Mustacchi 21*d14abf15SRobert Mustacchi #define IGU_USE_REGISTER_ustorm_type_0_sb_cleanup 0 22*d14abf15SRobert Mustacchi #define IGU_USE_REGISTER_ustorm_type_1_sb_cleanup 1 23*d14abf15SRobert Mustacchi #define IGU_USE_REGISTER_cstorm_type_0_sb_cleanup 2 24*d14abf15SRobert Mustacchi #define IGU_USE_REGISTER_cstorm_type_1_sb_cleanup 3 25*d14abf15SRobert Mustacchi 26*d14abf15SRobert Mustacchi #define COMMAND_REG_INT_ACK 0x0 27*d14abf15SRobert Mustacchi #define COMMAND_REG_PROD_UPD 0x4 28*d14abf15SRobert Mustacchi #define COMMAND_REG_ATTN_BITS_UPD 0x8 29*d14abf15SRobert Mustacchi #define COMMAND_REG_ATTN_BITS_SET 0xc 30*d14abf15SRobert Mustacchi #define COMMAND_REG_ATTN_BITS_CLR 0x10 31*d14abf15SRobert Mustacchi #define COMMAND_REG_COALESCE_NOW 0x14 32*d14abf15SRobert Mustacchi #define COMMAND_REG_SIMD_MASK 0x18 33*d14abf15SRobert Mustacchi #define COMMAND_REG_SIMD_NOMASK 0x1c 34*d14abf15SRobert Mustacchi 35*d14abf15SRobert Mustacchi 36*d14abf15SRobert Mustacchi // Memory addresses on the BAR for the IGU Sub Block 37*d14abf15SRobert Mustacchi #define IGU_MEM_BASE 0x0000 38*d14abf15SRobert Mustacchi 39*d14abf15SRobert Mustacchi #define IGU_MEM_MSIX_BASE 0x0000 40*d14abf15SRobert Mustacchi #define IGU_MEM_MSIX_UPPER 0x007f 41*d14abf15SRobert Mustacchi #define IGU_MEM_MSIX_RESERVED_UPPER 0x01ff 42*d14abf15SRobert Mustacchi 43*d14abf15SRobert Mustacchi #define IGU_MEM_PBA_MSIX_BASE 0x0200 44*d14abf15SRobert Mustacchi #define IGU_MEM_PBA_MSIX_UPPER 0x0200 45*d14abf15SRobert Mustacchi 46*d14abf15SRobert Mustacchi #define IGU_CMD_BACKWARD_COMP_PROD_UPD 0x0201 47*d14abf15SRobert Mustacchi #define IGU_MEM_PBA_MSIX_RESERVED_UPPER 0x03ff 48*d14abf15SRobert Mustacchi 49*d14abf15SRobert Mustacchi #define IGU_CMD_INT_ACK_BASE 0x0400 50*d14abf15SRobert Mustacchi #define IGU_CMD_INT_ACK_UPPER (IGU_CMD_INT_ACK_BASE + MAX_SB_PER_PATH - 1) 51*d14abf15SRobert Mustacchi #define IGU_CMD_INT_ACK_RESERVED_UPPER 0x04ff 52*d14abf15SRobert Mustacchi 53*d14abf15SRobert Mustacchi #define IGU_CMD_E2_PROD_UPD_BASE 0x0500 54*d14abf15SRobert Mustacchi #define IGU_CMD_E2_PROD_UPD_UPPER (IGU_CMD_E2_PROD_UPD_BASE + MAX_SB_PER_PATH - 1) 55*d14abf15SRobert Mustacchi #define IGU_CMD_E2_PROD_UPD_RESERVED_UPPER 0x059f 56*d14abf15SRobert Mustacchi 57*d14abf15SRobert Mustacchi #define IGU_CMD_ATTN_BIT_UPD_UPPER 0x05a0 58*d14abf15SRobert Mustacchi #define IGU_CMD_ATTN_BIT_SET_UPPER 0x05a1 59*d14abf15SRobert Mustacchi #define IGU_CMD_ATTN_BIT_CLR_UPPER 0x05a2 60*d14abf15SRobert Mustacchi 61*d14abf15SRobert Mustacchi #define IGU_REG_SISR_MDPC_WMASK_UPPER 0x05a3 62*d14abf15SRobert Mustacchi #define IGU_REG_SISR_MDPC_WMASK_LSB_UPPER 0x05a4 63*d14abf15SRobert Mustacchi #define IGU_REG_SISR_MDPC_WMASK_MSB_UPPER 0x05a5 64*d14abf15SRobert Mustacchi #define IGU_REG_SISR_MDPC_WOMASK_UPPER 0x05a6 65*d14abf15SRobert Mustacchi 66*d14abf15SRobert Mustacchi 67*d14abf15SRobert Mustacchi #define IGU_REG_RESERVED_UPPER 0x05ff 68*d14abf15SRobert Mustacchi 69*d14abf15SRobert Mustacchi #define IGU_SEG_IDX_ATTN 2 70*d14abf15SRobert Mustacchi #define IGU_SEG_IDX_DEFAULT 1 71*d14abf15SRobert Mustacchi /* Fields of IGU PF CONFIGRATION REGISTER */ 72*d14abf15SRobert Mustacchi #define IGU_PF_CONF_FUNC_EN (0x1<<0) /* function enable */ 73*d14abf15SRobert Mustacchi #define IGU_PF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */ 74*d14abf15SRobert Mustacchi #define IGU_PF_CONF_INT_LINE_EN (0x1<<2) /* INT enable */ 75*d14abf15SRobert Mustacchi #define IGU_PF_CONF_ATTN_BIT_EN (0x1<<3) /* attention enable */ 76*d14abf15SRobert Mustacchi #define IGU_PF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */ 77*d14abf15SRobert Mustacchi #define IGU_PF_CONF_SIMD_MODE (0x1<<5) /* simd all ones mode */ 78*d14abf15SRobert Mustacchi 79*d14abf15SRobert Mustacchi /* Fields of IGU VF CONFIGRATION REGISTER */ 80*d14abf15SRobert Mustacchi #define IGU_VF_CONF_FUNC_EN (0x1<<0) /* function enable */ 81*d14abf15SRobert Mustacchi #define IGU_VF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */ 82*d14abf15SRobert Mustacchi #define IGU_VF_CONF_PARENT_MASK (0x3<<2) /* Parent PF */ 83*d14abf15SRobert Mustacchi #define IGU_VF_CONF_PARENT_SHIFT 2 /* Parent PF */ 84*d14abf15SRobert Mustacchi #define IGU_VF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */ 85*d14abf15SRobert Mustacchi 86*d14abf15SRobert Mustacchi 87*d14abf15SRobert Mustacchi #define IGU_BC_DSB_NUM_SEGS 5 88*d14abf15SRobert Mustacchi #define IGU_BC_NDSB_NUM_SEGS 2 89*d14abf15SRobert Mustacchi #define IGU_NORM_DSB_NUM_SEGS 2 90*d14abf15SRobert Mustacchi #define IGU_NORM_NDSB_NUM_SEGS 1 91*d14abf15SRobert Mustacchi #define IGU_BC_BASE_DSB_PROD 128 92*d14abf15SRobert Mustacchi #define IGU_NORM_BASE_DSB_PROD 136 93*d14abf15SRobert Mustacchi 94*d14abf15SRobert Mustacchi /* FID (if VF - [6] = 0; [5:0] = VF number; if PF - [6] = 1; [5:2] = 0; [1:0] = PF number) */ 95*d14abf15SRobert Mustacchi #define IGU_FID_ENCODE_IS_PF (0x1<<6) 96*d14abf15SRobert Mustacchi #define IGU_FID_ENCODE_IS_PF_SHIFT 6 97*d14abf15SRobert Mustacchi #define IGU_FID_VF_NUM_MASK (0x3f) 98*d14abf15SRobert Mustacchi #define IGU_FID_PF_NUM_MASK (0x7) 99*d14abf15SRobert Mustacchi 100*d14abf15SRobert Mustacchi #define IGU_REG_MAPPING_MEMORY_VALID (1<<0) 101*d14abf15SRobert Mustacchi #define IGU_REG_MAPPING_MEMORY_VECTOR_MASK (0x3F<<1) 102*d14abf15SRobert Mustacchi #define IGU_REG_MAPPING_MEMORY_VECTOR_SHIFT 1 103*d14abf15SRobert Mustacchi #define IGU_REG_MAPPING_MEMORY_FID_MASK (0x7F<<7) 104*d14abf15SRobert Mustacchi #define IGU_REG_MAPPING_MEMORY_FID_SHIFT 7 105*d14abf15SRobert Mustacchi 106*d14abf15SRobert Mustacchi #endif //IGU_DEFS_H 107*d14abf15SRobert Mustacchi 108