diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2011-01-12 18:26:56 +0000 |
---|---|---|
committer | Ben Hutchings <bhutchings@solarflare.com> | 2011-01-13 22:08:43 +0000 |
commit | 976534319b0823aae29237d02e29a32ebcd5f910 (patch) | |
tree | 7ded52acd405d90e05fe38aff3592c08be0abda3 /drivers/net/sfc/efx.c | |
parent | 5b919f833d9d60588d026ad82d17f17e8872c7a9 (diff) | |
download | blackbird-op-linux-976534319b0823aae29237d02e29a32ebcd5f910.tar.gz blackbird-op-linux-976534319b0823aae29237d02e29a32ebcd5f910.zip |
sfc: Make efx_get_tx_queue() an inline function
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/sfc/efx.c')
-rw-r--r-- | drivers/net/sfc/efx.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 711449c6e675..c2dc9a525dea 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c @@ -1266,27 +1266,18 @@ static void efx_remove_interrupts(struct efx_nic *efx) efx->legacy_irq = 0; } -struct efx_tx_queue * -efx_get_tx_queue(struct efx_nic *efx, unsigned index, unsigned type) -{ - unsigned tx_channel_offset = - separate_tx_channels ? efx->n_channels - efx->n_tx_channels : 0; - EFX_BUG_ON_PARANOID(index >= efx->n_tx_channels || - type >= EFX_TXQ_TYPES); - return &efx->channel[tx_channel_offset + index]->tx_queue[type]; -} - static void efx_set_channels(struct efx_nic *efx) { struct efx_channel *channel; struct efx_tx_queue *tx_queue; - unsigned tx_channel_offset = + + efx->tx_channel_offset = separate_tx_channels ? efx->n_channels - efx->n_tx_channels : 0; /* Channel pointers were set in efx_init_struct() but we now * need to clear them for TX queues in any RX-only channels. */ efx_for_each_channel(channel, efx) { - if (channel->channel - tx_channel_offset >= + if (channel->channel - efx->tx_channel_offset >= efx->n_tx_channels) { efx_for_each_channel_tx_queue(tx_queue, channel) tx_queue->channel = NULL; |