The ibmvnic driver needs to be able to handle the number of tx/rx
sub-crqs changing during a reset of the driver. To do this several
changes need to be made. First the num_active_[tx|rx]_pools
counters need to be re-named to num_active_[tc|rx]_scrqs, and
updated after resource initialization.
With this change we can now release and init the sub crqs and napi
(for rx sub crqs) when the number of sub crqs change.
Lastly, the stats buffer allocation is updated to always allocate
the maximum number of sub-crqs count of stats buffers.
Updates for V3:
Patch 3/5 - Make do_h_free parameter a bool
Updates for V2:
Patch 3/5 - Use correct queue count when driver is in probed state
for releasing sub crqs.
Nathan Fontenot (5):
ibmvnic: Rename active queue count variables
ibmvnic: Move active sub-crq count settings
ibmvnic: Free and re-allocate scrqs when tx/rx scrqs change
ibmvnic: Make napi usage dynamic
ibmvnic: Allocate max queues stats buffers
drivers/net/ethernet/ibm/ibmvnic.c | 170 +++++++++++++++++++++++-------------
drivers/net/ethernet/ibm/ibmvnic.h | 4 -
2 files changed, 110 insertions(+), 64 deletions(-)