diff options
author | Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> | 2011-04-28 07:48:18 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-29 15:59:59 -0400 |
commit | f94bc1e70281c5a587049015af8f3e024d45ad66 (patch) | |
tree | f221f5ea160c98f30c4ef2ff23e776f0c408600f /drivers/net/qlcnic/qlcnic.h | |
parent | ad246c992bea6d33c6421ba1f03e2b405792adf9 (diff) |
qlcnic: support rcv ring configuration through ethtool
o Support ethtool command ETHTOOL_GCHANNELS and ETHTOOL_SCHANNELS.
o Number of rcv rings configuration depend upon number of msix vector.
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlcnic/qlcnic.h')
-rw-r--r-- | drivers/net/qlcnic/qlcnic.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h index f7acb807a03d..1934ed9a1aad 100644 --- a/drivers/net/qlcnic/qlcnic.h +++ b/drivers/net/qlcnic/qlcnic.h | |||
@@ -118,7 +118,6 @@ | |||
118 | #define PHAN_PEG_RCV_INITIALIZED 0xff01 | 118 | #define PHAN_PEG_RCV_INITIALIZED 0xff01 |
119 | 119 | ||
120 | #define NUM_RCV_DESC_RINGS 3 | 120 | #define NUM_RCV_DESC_RINGS 3 |
121 | #define NUM_STS_DESC_RINGS 4 | ||
122 | 121 | ||
123 | #define RCV_RING_NORMAL 0 | 122 | #define RCV_RING_NORMAL 0 |
124 | #define RCV_RING_JUMBO 1 | 123 | #define RCV_RING_JUMBO 1 |
@@ -871,7 +870,8 @@ struct qlcnic_ipaddr { | |||
871 | #define QLCNIC_IS_MSI_FAMILY(adapter) \ | 870 | #define QLCNIC_IS_MSI_FAMILY(adapter) \ |
872 | ((adapter)->flags & (QLCNIC_MSI_ENABLED | QLCNIC_MSIX_ENABLED)) | 871 | ((adapter)->flags & (QLCNIC_MSI_ENABLED | QLCNIC_MSIX_ENABLED)) |
873 | 872 | ||
874 | #define MSIX_ENTRIES_PER_ADAPTER NUM_STS_DESC_RINGS | 873 | #define QLCNIC_DEF_NUM_STS_DESC_RINGS 4 |
874 | #define QLCNIC_MIN_NUM_RSS_RINGS 2 | ||
875 | #define QLCNIC_MSIX_TBL_SPACE 8192 | 875 | #define QLCNIC_MSIX_TBL_SPACE 8192 |
876 | #define QLCNIC_PCI_REG_MSIX_TBL 0x44 | 876 | #define QLCNIC_PCI_REG_MSIX_TBL 0x44 |
877 | #define QLCNIC_MSIX_TBL_PGSIZE 4096 | 877 | #define QLCNIC_MSIX_TBL_PGSIZE 4096 |
@@ -987,7 +987,7 @@ struct qlcnic_adapter { | |||
987 | void __iomem *crb_int_state_reg; | 987 | void __iomem *crb_int_state_reg; |
988 | void __iomem *isr_int_vec; | 988 | void __iomem *isr_int_vec; |
989 | 989 | ||
990 | struct msix_entry msix_entries[MSIX_ENTRIES_PER_ADAPTER]; | 990 | struct msix_entry *msix_entries; |
991 | 991 | ||
992 | struct delayed_work fw_work; | 992 | struct delayed_work fw_work; |
993 | 993 | ||
@@ -1262,6 +1262,8 @@ u32 qlcnic_issue_cmd(struct qlcnic_adapter *adapter, | |||
1262 | void qlcnic_diag_free_res(struct net_device *netdev, int max_sds_rings); | 1262 | void qlcnic_diag_free_res(struct net_device *netdev, int max_sds_rings); |
1263 | int qlcnic_diag_alloc_res(struct net_device *netdev, int test); | 1263 | int qlcnic_diag_alloc_res(struct net_device *netdev, int test); |
1264 | netdev_tx_t qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev); | 1264 | netdev_tx_t qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev); |
1265 | int qlcnic_validate_max_rss(struct net_device *netdev, u8 max_hw, u8 val); | ||
1266 | int qlcnic_set_max_rss(struct qlcnic_adapter *adapter, u8 data); | ||
1265 | 1267 | ||
1266 | /* Management functions */ | 1268 | /* Management functions */ |
1267 | int qlcnic_get_mac_address(struct qlcnic_adapter *, u8*); | 1269 | int qlcnic_get_mac_address(struct qlcnic_adapter *, u8*); |