X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsfc%2Fsfc_ev.c;h=ac3cd755775ac811e10bc2d02bd165dac78a05f4;hb=57ddbf7edd9c5041603e224fbbb62c11ce423135;hp=322a391100feb5b48ff741367646b8346fa60e7d;hpb=3379085a648496d7557cdebb7392b3ca517b56ec;p=dpdk.git diff --git a/drivers/net/sfc/sfc_ev.c b/drivers/net/sfc/sfc_ev.c index 322a391100..ac3cd75577 100644 --- a/drivers/net/sfc/sfc_ev.c +++ b/drivers/net/sfc/sfc_ev.c @@ -269,6 +269,30 @@ sfc_ev_dp_tx(void *arg, __rte_unused uint32_t label, uint32_t id) return evq->sa->priv.dp_tx->qtx_ev(dp_txq, id); } +static boolean_t +sfc_ev_nop_tx_ndescs(void *arg, uint32_t label, unsigned int ndescs) +{ + struct sfc_evq *evq = arg; + + sfc_err(evq->sa, "EVQ %u unexpected Tx event label=%u ndescs=%#x", + evq->evq_index, label, ndescs); + return B_TRUE; +} + +static boolean_t +sfc_ev_dp_tx_ndescs(void *arg, __rte_unused uint32_t label, + unsigned int ndescs) +{ + struct sfc_evq *evq = arg; + struct sfc_dp_txq *dp_txq; + + dp_txq = evq->dp_txq; + SFC_ASSERT(dp_txq != NULL); + + SFC_ASSERT(evq->sa->priv.dp_tx->qtx_ev != NULL); + return evq->sa->priv.dp_tx->qtx_ev(dp_txq, ndescs); +} + static boolean_t sfc_ev_exception(void *arg, uint32_t code, __rte_unused uint32_t data) { @@ -458,6 +482,7 @@ static const efx_ev_callbacks_t sfc_ev_callbacks = { .eec_rx_packets = sfc_ev_nop_rx_packets, .eec_rx_ps = sfc_ev_nop_rx_ps, .eec_tx = sfc_ev_nop_tx, + .eec_tx_ndescs = sfc_ev_nop_tx_ndescs, .eec_exception = sfc_ev_exception, .eec_rxq_flush_done = sfc_ev_nop_rxq_flush_done, .eec_rxq_flush_failed = sfc_ev_nop_rxq_flush_failed, @@ -475,6 +500,7 @@ static const efx_ev_callbacks_t sfc_ev_callbacks_efx_rx = { .eec_rx_packets = sfc_ev_nop_rx_packets, .eec_rx_ps = sfc_ev_nop_rx_ps, .eec_tx = sfc_ev_nop_tx, + .eec_tx_ndescs = sfc_ev_nop_tx_ndescs, .eec_exception = sfc_ev_exception, .eec_rxq_flush_done = sfc_ev_rxq_flush_done, .eec_rxq_flush_failed = sfc_ev_rxq_flush_failed, @@ -492,6 +518,7 @@ static const efx_ev_callbacks_t sfc_ev_callbacks_dp_rx = { .eec_rx_packets = sfc_ev_dp_rx_packets, .eec_rx_ps = sfc_ev_dp_rx_ps, .eec_tx = sfc_ev_nop_tx, + .eec_tx_ndescs = sfc_ev_nop_tx_ndescs, .eec_exception = sfc_ev_exception, .eec_rxq_flush_done = sfc_ev_rxq_flush_done, .eec_rxq_flush_failed = sfc_ev_rxq_flush_failed, @@ -509,6 +536,7 @@ static const efx_ev_callbacks_t sfc_ev_callbacks_efx_tx = { .eec_rx_packets = sfc_ev_nop_rx_packets, .eec_rx_ps = sfc_ev_nop_rx_ps, .eec_tx = sfc_ev_tx, + .eec_tx_ndescs = sfc_ev_nop_tx_ndescs, .eec_exception = sfc_ev_exception, .eec_rxq_flush_done = sfc_ev_nop_rxq_flush_done, .eec_rxq_flush_failed = sfc_ev_nop_rxq_flush_failed, @@ -526,6 +554,7 @@ static const efx_ev_callbacks_t sfc_ev_callbacks_dp_tx = { .eec_rx_packets = sfc_ev_nop_rx_packets, .eec_rx_ps = sfc_ev_nop_rx_ps, .eec_tx = sfc_ev_dp_tx, + .eec_tx_ndescs = sfc_ev_dp_tx_ndescs, .eec_exception = sfc_ev_exception, .eec_rxq_flush_done = sfc_ev_nop_rxq_flush_done, .eec_rxq_flush_failed = sfc_ev_nop_rxq_flush_failed,