Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+7 −10
Original line number Diff line number Diff line
@@ -484,7 +484,6 @@ static void release_rx_pools(struct ibmvnic_adapter *adapter)

	kfree(adapter->rx_pool);
	adapter->rx_pool = NULL;
	adapter->num_active_rx_scrqs = 0;
}

static int init_rx_pools(struct net_device *netdev)
@@ -509,8 +508,6 @@ static int init_rx_pools(struct net_device *netdev)
		return -1;
	}

	adapter->num_active_rx_scrqs = 0;

	for (i = 0; i < rxadd_subcrqs; i++) {
		rx_pool = &adapter->rx_pool[i];

@@ -554,8 +551,6 @@ static int init_rx_pools(struct net_device *netdev)
		rx_pool->next_free = 0;
	}

	adapter->num_active_rx_scrqs = rxadd_subcrqs;

	return 0;
}

@@ -624,7 +619,6 @@ static void release_tx_pools(struct ibmvnic_adapter *adapter)

	kfree(adapter->tx_pool);
	adapter->tx_pool = NULL;
	adapter->num_active_tx_scrqs = 0;
}

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)
		return -1;

	adapter->num_active_tx_scrqs = 0;

	for (i = 0; i < tx_subcrqs; i++) {
		tx_pool = &adapter->tx_pool[i];

@@ -690,8 +682,6 @@ static int init_tx_pools(struct net_device *netdev)
		tx_pool->producer_index = 0;
	}

	adapter->num_active_tx_scrqs = tx_subcrqs;

	return 0;
}

@@ -991,6 +981,10 @@ static int init_resources(struct ibmvnic_adapter *adapter)
		return rc;

	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;
}

@@ -1692,6 +1686,9 @@ static int do_reset(struct ibmvnic_adapter *adapter,
			release_tx_pools(adapter);
			init_rx_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 {
			rc = reset_tx_pools(adapter);
			if (rc)