sfc: make tx_queues_per_channel variable at runtime
Siena needs four TX queues (csum * highpri), EF10 needs two (csum), and EF100 only needs one (as checksumming is controlled entirely by the transmit descriptor). Rather than having various bits of ad-hoc code to decide which queues to set up etc., put the knowledge of how many TXQs a channel has in one place. Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
67e6398e2e
commit
f9cac93e5b
@ -726,7 +726,7 @@ void efx_remove_channel(struct efx_channel *channel)
|
||||
|
||||
efx_for_each_channel_rx_queue(rx_queue, channel)
|
||||
efx_remove_rx_queue(rx_queue);
|
||||
efx_for_each_possible_channel_tx_queue(tx_queue, channel)
|
||||
efx_for_each_channel_tx_queue(tx_queue, channel)
|
||||
efx_remove_tx_queue(tx_queue);
|
||||
efx_remove_eventq(channel);
|
||||
channel->type->post_remove(channel);
|
||||
@ -1090,7 +1090,7 @@ void efx_stop_channels(struct efx_nic *efx)
|
||||
efx_for_each_channel(channel, efx) {
|
||||
efx_for_each_channel_rx_queue(rx_queue, channel)
|
||||
efx_fini_rx_queue(rx_queue);
|
||||
efx_for_each_possible_channel_tx_queue(tx_queue, channel)
|
||||
efx_for_each_channel_tx_queue(tx_queue, channel)
|
||||
efx_fini_tx_queue(tx_queue);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user