diff options
author | Michael Chan <michael.chan@broadcom.com> | 2017-05-30 02:06:08 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-31 01:14:07 +0300 |
commit | 434c975a8fe2f70b70ac09ea5ddd008e0528adfa (patch) | |
tree | b367d8a53e1f40dd4c7b34aa1c381eea17c9337a /drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | |
parent | 3284f9e1ab505b41fa604c81e4b3271c6b88cdcb (diff) | |
download | linux-434c975a8fe2f70b70ac09ea5ddd008e0528adfa.tar.xz |
bnxt_en: Optimize doorbell write operations for newer chips.
Older chips require the doorbells to be written twice, but newer chips
do not. Add a new common function bnxt_db_write() to write all
doorbells appropriately depending on the chip. Eliminating the extra
doorbell on newer chips has a significant performance improvement
on pktgen.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c index 9dae32756767..8ce793a0d030 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c @@ -63,7 +63,7 @@ void bnxt_tx_int_xdp(struct bnxt *bp, struct bnxt_napi *bnapi, int nr_pkts) tx_buf = &txr->tx_buf_ring[last_tx_cons]; rx_prod = tx_buf->rx_prod; } - writel(DB_KEY_RX | rx_prod, rxr->rx_doorbell); + bnxt_db_write(bp, rxr->rx_doorbell, DB_KEY_RX | rx_prod); } /* returns the following: |