bnxt: Add XDP frame size to driver
authorJesper Dangaard Brouer <brouer@redhat.com>
Thu, 14 May 2020 10:49:07 +0000 (12:49 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 15 May 2020 04:21:54 +0000 (21:21 -0700)
This driver uses full PAGE_SIZE pages when XDP is enabled.

In case of XDP uses driver uses __bnxt_alloc_rx_page which does full
page DMA-map. Thus, xdp_adjust_tail grow is DMA compliant for XDP_TX
action that does DMA-sync.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Cc: Michael Chan <michael.chan@broadcom.com>
Cc: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Link: https://lore.kernel.org/bpf/158945334769.97035.13437970179897613984.stgit@firesoul
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c

index c6f6f20..5e3b4a3 100644 (file)
@@ -138,6 +138,7 @@ bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons,
        xdp_set_data_meta_invalid(&xdp);
        xdp.data_end = *data_ptr + *len;
        xdp.rxq = &rxr->xdp_rxq;
+       xdp.frame_sz = PAGE_SIZE; /* BNXT_RX_PAGE_MODE(bp) when XDP enabled */
        orig_data = xdp.data;
 
        rcu_read_lock();