sfc: decouple TXQ type from label
Make it possible to have an arbitrary mapping from types to labels, because when we add inner-csum-offload TXQs there will no longer be a convenient nesting hierarchy of NIC types (EF10 will have inner-csum TXQs, while Siena will have HIGHPRI). Correct a misleading comment on efx_hard_start_xmit(). 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
4a681bf345
commit
12804793b1
@@ -2146,6 +2146,7 @@ static int efx_ef10_irq_test_generate(struct efx_nic *efx)
|
||||
|
||||
static int efx_ef10_tx_probe(struct efx_tx_queue *tx_queue)
|
||||
{
|
||||
tx_queue->type = tx_queue->label & EFX_TXQ_TYPE_OFFLOAD;
|
||||
return efx_nic_alloc_buffer(tx_queue->efx, &tx_queue->txd.buf,
|
||||
(tx_queue->ptr_mask + 1) *
|
||||
sizeof(efx_qword_t),
|
||||
@@ -2254,7 +2255,7 @@ static u32 efx_ef10_tso_versions(struct efx_nic *efx)
|
||||
|
||||
static void efx_ef10_tx_init(struct efx_tx_queue *tx_queue)
|
||||
{
|
||||
bool csum_offload = tx_queue->label & EFX_TXQ_TYPE_OFFLOAD;
|
||||
bool csum_offload = tx_queue->type & EFX_TXQ_TYPE_OFFLOAD;
|
||||
struct efx_channel *channel = tx_queue->channel;
|
||||
struct efx_nic *efx = tx_queue->efx;
|
||||
struct efx_ef10_nic_data *nic_data;
|
||||
@@ -2880,7 +2881,7 @@ efx_ef10_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
|
||||
/* Get the transmit queue */
|
||||
tx_ev_q_label = EFX_QWORD_FIELD(*event, ESF_DZ_TX_QLABEL);
|
||||
tx_queue = efx_channel_get_tx_queue(channel,
|
||||
tx_ev_q_label % EFX_TXQ_TYPES);
|
||||
tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
|
||||
|
||||
if (!tx_queue->timestamping) {
|
||||
/* Transmit completion */
|
||||
|
Reference in New Issue
Block a user