]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnxt_en: Divide a page into 32K buffers for the aggregation ring if necessary.
authorMichael Chan <michael.chan@broadcom.com>
Mon, 25 Apr 2016 06:30:51 +0000 (02:30 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 7 Jul 2016 00:37:09 +0000 (17:37 -0700)
commitd6be11de2729012126ed35311b0755e27c4fe7e2
tree664dfeb2c63c981aeea602d418b7d86b4723bea5
parent8c82dae18dee7f15543125cc9afa14352ee48e2d
bnxt_en: Divide a page into 32K buffers for the aggregation ring if necessary.

Orabug: 23221795

If PAGE_SIZE is bigger than BNXT_RX_PAGE_SIZE, that means the native CPU
page is bigger than the maximum length of the RX BD.  Divide the page
into multiple 32K buffers for the aggregation ring.

Add an offset field in the bnxt_sw_rx_agg_bd struct to keep track of the
page offset of each buffer.  Since each page can be referenced by multiple
buffer entries, call get_page() as needed to get the proper reference
count.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 89d0a06c516339c0a2b3d02677f5d6310b3319fb)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h