Commit d9043c10 authored by Nathan Fontenot's avatar Nathan Fontenot Committed by David S. Miller

ibmvnic: Move active sub-crq count settings

Inpreparation for using the active scrq count to track more active
resources, move the setting of the active count to after initialization
occurs in initial driver init and during driver reset.
Signed-off-by: default avatarNathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8862541d
...@@ -484,7 +484,6 @@ static void release_rx_pools(struct ibmvnic_adapter *adapter) ...@@ -484,7 +484,6 @@ static void release_rx_pools(struct ibmvnic_adapter *adapter)
kfree(adapter->rx_pool); kfree(adapter->rx_pool);
adapter->rx_pool = NULL; adapter->rx_pool = NULL;
adapter->num_active_rx_scrqs = 0;
} }
static int init_rx_pools(struct net_device *netdev) static int init_rx_pools(struct net_device *netdev)
...@@ -509,8 +508,6 @@ static int init_rx_pools(struct net_device *netdev) ...@@ -509,8 +508,6 @@ static int init_rx_pools(struct net_device *netdev)
return -1; return -1;
} }
adapter->num_active_rx_scrqs = 0;
for (i = 0; i < rxadd_subcrqs; i++) { for (i = 0; i < rxadd_subcrqs; i++) {
rx_pool = &adapter->rx_pool[i]; rx_pool = &adapter->rx_pool[i];
...@@ -554,8 +551,6 @@ static int init_rx_pools(struct net_device *netdev) ...@@ -554,8 +551,6 @@ static int init_rx_pools(struct net_device *netdev)
rx_pool->next_free = 0; rx_pool->next_free = 0;
} }
adapter->num_active_rx_scrqs = rxadd_subcrqs;
return 0; return 0;
} }
...@@ -624,7 +619,6 @@ static void release_tx_pools(struct ibmvnic_adapter *adapter) ...@@ -624,7 +619,6 @@ static void release_tx_pools(struct ibmvnic_adapter *adapter)
kfree(adapter->tx_pool); kfree(adapter->tx_pool);
adapter->tx_pool = NULL; adapter->tx_pool = NULL;
adapter->num_active_tx_scrqs = 0;
} }
static int init_tx_pools(struct net_device *netdev) static int init_tx_pools(struct net_device *netdev)
...@@ -641,8 +635,6 @@ static int init_tx_pools(struct net_device *netdev) ...@@ -641,8 +635,6 @@ static int init_tx_pools(struct net_device *netdev)
if (!adapter->tx_pool) if (!adapter->tx_pool)
return -1; return -1;
adapter->num_active_tx_scrqs = 0;
for (i = 0; i < tx_subcrqs; i++) { for (i = 0; i < tx_subcrqs; i++) {
tx_pool = &adapter->tx_pool[i]; tx_pool = &adapter->tx_pool[i];
...@@ -690,8 +682,6 @@ static int init_tx_pools(struct net_device *netdev) ...@@ -690,8 +682,6 @@ static int init_tx_pools(struct net_device *netdev)
tx_pool->producer_index = 0; tx_pool->producer_index = 0;
} }
adapter->num_active_tx_scrqs = tx_subcrqs;
return 0; return 0;
} }
...@@ -991,6 +981,10 @@ static int init_resources(struct ibmvnic_adapter *adapter) ...@@ -991,6 +981,10 @@ static int init_resources(struct ibmvnic_adapter *adapter)
return rc; return rc;
rc = init_tx_pools(netdev); rc = init_tx_pools(netdev);
adapter->num_active_tx_scrqs = adapter->req_tx_queues;
adapter->num_active_rx_scrqs = adapter->req_rx_queues;
return rc; return rc;
} }
...@@ -1692,6 +1686,9 @@ static int do_reset(struct ibmvnic_adapter *adapter, ...@@ -1692,6 +1686,9 @@ static int do_reset(struct ibmvnic_adapter *adapter,
release_tx_pools(adapter); release_tx_pools(adapter);
init_rx_pools(netdev); init_rx_pools(netdev);
init_tx_pools(netdev); init_tx_pools(netdev);
adapter->num_active_tx_scrqs = adapter->req_tx_queues;
adapter->num_active_rx_scrqs = adapter->req_rx_queues;
} else { } else {
rc = reset_tx_pools(adapter); rc = reset_tx_pools(adapter);
if (rc) if (rc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment