mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 23:53:55 +08:00
netxen: Add default and limit macros for ring sizes.
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1bcfd790c4
commit
24767ab169
@ -200,13 +200,20 @@
|
|||||||
#define RCV_RING_JUMBO 1
|
#define RCV_RING_JUMBO 1
|
||||||
#define RCV_RING_LRO 2
|
#define RCV_RING_LRO 2
|
||||||
|
|
||||||
#define MAX_CMD_DESCRIPTORS 4096
|
#define MIN_CMD_DESCRIPTORS 64
|
||||||
#define MAX_RCV_DESCRIPTORS 16384
|
#define MIN_RCV_DESCRIPTORS 64
|
||||||
#define MAX_CMD_DESCRIPTORS_HOST 1024
|
#define MIN_JUMBO_DESCRIPTORS 32
|
||||||
#define MAX_RCV_DESCRIPTORS_1G 2048
|
|
||||||
#define MAX_RCV_DESCRIPTORS_10G 4096
|
#define MAX_CMD_DESCRIPTORS 1024
|
||||||
#define MAX_JUMBO_RCV_DESCRIPTORS 1024
|
#define MAX_RCV_DESCRIPTORS_1G 4096
|
||||||
|
#define MAX_RCV_DESCRIPTORS_10G 8192
|
||||||
|
#define MAX_JUMBO_RCV_DESCRIPTORS_1G 512
|
||||||
|
#define MAX_JUMBO_RCV_DESCRIPTORS_10G 1024
|
||||||
#define MAX_LRO_RCV_DESCRIPTORS 8
|
#define MAX_LRO_RCV_DESCRIPTORS 8
|
||||||
|
|
||||||
|
#define DEFAULT_RCV_DESCRIPTORS_1G 2048
|
||||||
|
#define DEFAULT_RCV_DESCRIPTORS_10G 4096
|
||||||
|
|
||||||
#define NETXEN_CTX_SIGNATURE 0xdee0
|
#define NETXEN_CTX_SIGNATURE 0xdee0
|
||||||
#define NETXEN_CTX_SIGNATURE_V2 0x0002dee0
|
#define NETXEN_CTX_SIGNATURE_V2 0x0002dee0
|
||||||
#define NETXEN_CTX_RESET 0xbad0
|
#define NETXEN_CTX_RESET 0xbad0
|
||||||
|
@ -494,20 +494,21 @@ netxen_nic_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring)
|
|||||||
{
|
{
|
||||||
struct netxen_adapter *adapter = netdev_priv(dev);
|
struct netxen_adapter *adapter = netdev_priv(dev);
|
||||||
|
|
||||||
ring->rx_pending = 0;
|
ring->rx_pending = adapter->num_rxd;
|
||||||
ring->rx_jumbo_pending = 0;
|
ring->rx_jumbo_pending = adapter->num_jumbo_rxd;
|
||||||
ring->rx_pending += adapter->recv_ctx.
|
ring->rx_jumbo_pending += adapter->num_lro_rxd;
|
||||||
rds_rings[RCV_RING_NORMAL].num_desc;
|
|
||||||
ring->rx_jumbo_pending += adapter->recv_ctx.
|
|
||||||
rds_rings[RCV_RING_JUMBO].num_desc;
|
|
||||||
ring->tx_pending = adapter->num_txd;
|
ring->tx_pending = adapter->num_txd;
|
||||||
|
|
||||||
if (adapter->ahw.port_type == NETXEN_NIC_GBE)
|
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
|
||||||
ring->rx_max_pending = MAX_RCV_DESCRIPTORS_1G;
|
ring->rx_max_pending = MAX_RCV_DESCRIPTORS_1G;
|
||||||
else
|
ring->rx_jumbo_max_pending = MAX_JUMBO_RCV_DESCRIPTORS_1G;
|
||||||
|
} else {
|
||||||
ring->rx_max_pending = MAX_RCV_DESCRIPTORS_10G;
|
ring->rx_max_pending = MAX_RCV_DESCRIPTORS_10G;
|
||||||
ring->tx_max_pending = MAX_CMD_DESCRIPTORS_HOST;
|
ring->rx_jumbo_max_pending = MAX_JUMBO_RCV_DESCRIPTORS_10G;
|
||||||
ring->rx_jumbo_max_pending = MAX_JUMBO_RCV_DESCRIPTORS;
|
}
|
||||||
|
|
||||||
|
ring->tx_max_pending = MAX_CMD_DESCRIPTORS;
|
||||||
|
|
||||||
ring->rx_mini_max_pending = 0;
|
ring->rx_mini_max_pending = 0;
|
||||||
ring->rx_mini_pending = 0;
|
ring->rx_mini_pending = 0;
|
||||||
}
|
}
|
||||||
|
@ -283,12 +283,16 @@ nx_update_dma_mask(struct netxen_adapter *adapter)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void netxen_check_options(struct netxen_adapter *adapter)
|
static void
|
||||||
|
netxen_check_options(struct netxen_adapter *adapter)
|
||||||
{
|
{
|
||||||
if (adapter->ahw.port_type == NETXEN_NIC_XGBE)
|
if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
|
||||||
adapter->num_rxd = MAX_RCV_DESCRIPTORS_10G;
|
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
|
||||||
else if (adapter->ahw.port_type == NETXEN_NIC_GBE)
|
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
|
||||||
adapter->num_rxd = MAX_RCV_DESCRIPTORS_1G;
|
} else if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
|
||||||
|
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_1G;
|
||||||
|
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
|
||||||
|
}
|
||||||
|
|
||||||
adapter->msix_supported = 0;
|
adapter->msix_supported = 0;
|
||||||
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
|
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
|
||||||
@ -306,11 +310,15 @@ static void netxen_check_options(struct netxen_adapter *adapter)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter->num_txd = MAX_CMD_DESCRIPTORS_HOST;
|
adapter->num_txd = MAX_CMD_DESCRIPTORS;
|
||||||
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS;
|
|
||||||
adapter->num_lro_rxd = MAX_LRO_RCV_DESCRIPTORS;
|
|
||||||
|
|
||||||
return;
|
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
|
||||||
|
adapter->num_lro_rxd = MAX_LRO_RCV_DESCRIPTORS;
|
||||||
|
adapter->max_rds_rings = 3;
|
||||||
|
} else {
|
||||||
|
adapter->num_lro_rxd = 0;
|
||||||
|
adapter->max_rds_rings = 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -908,11 +916,6 @@ netxen_nic_attach(struct netxen_adapter *adapter)
|
|||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (adapter->fw_major < 4)
|
|
||||||
adapter->max_rds_rings = 3;
|
|
||||||
else
|
|
||||||
adapter->max_rds_rings = 2;
|
|
||||||
|
|
||||||
err = netxen_alloc_sw_resources(adapter);
|
err = netxen_alloc_sw_resources(adapter);
|
||||||
if (err) {
|
if (err) {
|
||||||
printk(KERN_ERR "%s: Error in setting sw resources\n",
|
printk(KERN_ERR "%s: Error in setting sw resources\n",
|
||||||
@ -1923,8 +1926,6 @@ static struct pci_driver netxen_driver = {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Driver Registration on NetXen card */
|
|
||||||
|
|
||||||
static int __init netxen_init_module(void)
|
static int __init netxen_init_module(void)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "%s\n", netxen_nic_driver_string);
|
printk(KERN_INFO "%s\n", netxen_nic_driver_string);
|
||||||
|
Loading…
Reference in New Issue
Block a user