diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-02-12 03:36:15 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-16 02:31:05 -0500 |
commit | 8badd27aa0d7c02572fcd1a4a3c6b57d67f40b78 (patch) | |
tree | 1a207ceefdd4dd4269a1449a47356e43f96d5d81 /drivers/net/bnx2x_reg.h | |
parent | 555f6c78373f969f14487253abe331d085449360 (diff) |
bnx2x: MSI support
Enabling MSI on top of MSI-X and INTA. Also changing the module parameter to
allow choosing INTA or MSI even when MSI-X is available. The default status
block should not be reversed for endianity. Since MSI can issue
re-configuration, the interrupt disable function now requires mmiowb
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_reg.h')
-rw-r--r-- | drivers/net/bnx2x_reg.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/bnx2x_reg.h b/drivers/net/bnx2x_reg.h index fc957fa5c249..0be77c5bcefa 100644 --- a/drivers/net/bnx2x_reg.h +++ b/drivers/net/bnx2x_reg.h | |||
@@ -745,6 +745,7 @@ | |||
745 | #define DORQ_REG_SHRT_CMHEAD 0x170054 | 745 | #define DORQ_REG_SHRT_CMHEAD 0x170054 |
746 | #define HC_CONFIG_0_REG_ATTN_BIT_EN_0 (0x1<<4) | 746 | #define HC_CONFIG_0_REG_ATTN_BIT_EN_0 (0x1<<4) |
747 | #define HC_CONFIG_0_REG_INT_LINE_EN_0 (0x1<<3) | 747 | #define HC_CONFIG_0_REG_INT_LINE_EN_0 (0x1<<3) |
748 | #define HC_CONFIG_0_REG_MSI_ATTN_EN_0 (0x1<<7) | ||
748 | #define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 (0x1<<2) | 749 | #define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 (0x1<<2) |
749 | #define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 (0x1<<1) | 750 | #define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 (0x1<<1) |
750 | #define HC_REG_AGG_INT_0 0x108050 | 751 | #define HC_REG_AGG_INT_0 0x108050 |
@@ -5359,9 +5360,28 @@ | |||
5359 | #define PCICFG_PM_CSR_STATE (0x3<<0) | 5360 | #define PCICFG_PM_CSR_STATE (0x3<<0) |
5360 | #define PCICFG_PM_CSR_PME_ENABLE (1<<8) | 5361 | #define PCICFG_PM_CSR_PME_ENABLE (1<<8) |
5361 | #define PCICFG_PM_CSR_PME_STATUS (1<<15) | 5362 | #define PCICFG_PM_CSR_PME_STATUS (1<<15) |
5363 | #define PCICFG_MSI_CAP_ID 0x58 | ||
5364 | #define PCICFG_MSI_CONTROL_ENABLE (0x1<<16) | ||
5365 | #define PCICFG_MSI_CONTROL_MCAP (0x7<<17) | ||
5366 | #define PCICFG_MSI_CONTROL_MENA (0x7<<20) | ||
5367 | #define PCICFG_MSI_CONTROL_64_BIT_ADDR_CAP (0x1<<23) | ||
5368 | #define PCICFG_MSI_CONTROL_MSI_PVMASK_CAPABLE (0x1<<24) | ||
5362 | #define PCICFG_GRC_ADDRESS 0x78 | 5369 | #define PCICFG_GRC_ADDRESS 0x78 |
5363 | #define PCICFG_GRC_DATA 0x80 | 5370 | #define PCICFG_GRC_DATA 0x80 |
5371 | #define PCICFG_MSIX_CAP_ID 0xa0 | ||
5372 | #define PCICFG_MSIX_CONTROL_TABLE_SIZE (0x7ff<<16) | ||
5373 | #define PCICFG_MSIX_CONTROL_RESERVED (0x7<<27) | ||
5374 | #define PCICFG_MSIX_CONTROL_FUNC_MASK (0x1<<30) | ||
5375 | #define PCICFG_MSIX_CONTROL_MSIX_ENABLE (0x1<<31) | ||
5376 | |||
5364 | #define PCICFG_DEVICE_CONTROL 0xb4 | 5377 | #define PCICFG_DEVICE_CONTROL 0xb4 |
5378 | #define PCICFG_DEVICE_STATUS 0xb6 | ||
5379 | #define PCICFG_DEVICE_STATUS_CORR_ERR_DET (1<<0) | ||
5380 | #define PCICFG_DEVICE_STATUS_NON_FATAL_ERR_DET (1<<1) | ||
5381 | #define PCICFG_DEVICE_STATUS_FATAL_ERR_DET (1<<2) | ||
5382 | #define PCICFG_DEVICE_STATUS_UNSUP_REQ_DET (1<<3) | ||
5383 | #define PCICFG_DEVICE_STATUS_AUX_PWR_DET (1<<4) | ||
5384 | #define PCICFG_DEVICE_STATUS_NO_PEND (1<<5) | ||
5365 | #define PCICFG_LINK_CONTROL 0xbc | 5385 | #define PCICFG_LINK_CONTROL 0xbc |
5366 | 5386 | ||
5367 | 5387 | ||