]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: add and use efx_tx_send_pending in tx.c
authorEdward Cree <ecree@solarflare.com>
Thu, 3 Sep 2020 21:34:15 +0000 (22:34 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 5 Sep 2020 19:21:39 +0000 (12:21 -0700)
commit95cc38c340175d48cd8dc4136b19af57aa8673fa
treed3a63922d57081bca0521f16daecc8372787d397
parent6ebb9fa50bc266cf83142bf8dd97dc5f71a007fb
sfc: add and use efx_tx_send_pending in tx.c

Instead of using efx_tx_queue_partner(), which relies on the assumption
 that tx_queues_per_channel is 2, efx_tx_send_pending() iterates over
 txqs with efx_for_each_channel_tx_queue().
We unconditionally set tx_queue->xmit_pending (renamed from
 xmit_more_available), then condition on xmit_more for the call to
 efx_tx_send_pending(), which will clear xmit_pending.  Thus, after an
 xmit_more TX, the doorbell is un-rung and xmit_pending is true.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/ef100_tx.c
drivers/net/ethernet/sfc/farch.c
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/tx.c
drivers/net/ethernet/sfc/tx_common.c