linux_dsm_epyc7002/drivers/net/ethernet/marvell
Thomas Petazzoni d01524d8ab net: mvpp2: adjust the allocation/free of BM pools for PPv2.2
This commit adjusts the allocation and freeing of BM pools to support
PPv2.2. This involves:

 - Checking that the number of buffer pointers is a multiple of 16, as
   required by the hardware.

 - Adjusting the size of the DMA coherent area allocated for buffer
   pointers. Indeed, PPv2.2 needs space for 2 pointers of 64-bits per
   buffer, as opposed to 2 pointers of 32-bits per buffer in
   PPv2.1. The size in bytes is now stored in a new field of the
   mvpp2_bm_pool structure.

 - On PPv2.2, getting the DMA address and cookie (used for the physical
   address) of each buffer requires reading the
   MVPP22_BM_ADDR_HIGH_ALLOC to get the high order bits of those
   addresses. A new utility function mvpp2_bm_bufs_get_addrs() is
   introduced to handle this.

 - On PPv2.2, releasing a buffer requires writing the high order 32 bits
   of the DMA address and cookie to MVPP22_BM_PHY_VIRT_HIGH_RLS_REG.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-09 10:12:11 -08:00
..
Kconfig net: mvpp2: enable building on 64-bit platforms 2017-02-21 13:16:17 -05:00
Makefile net: mvneta: bm: add support for hardware buffer management 2016-03-14 12:19:46 -04:00
mv643xx_eth.c net: mv643xx_eth: Do not clobber PHY link outside of state machine 2017-02-07 13:48:21 -05:00
mvmdio.c net: mvmdio: do not clk_disable_unprepare() NULL clock 2016-10-03 02:03:27 -04:00
mvneta_bm.c net: mvneta: Fix lacking spinlock initialization 2016-05-25 12:35:08 -07:00
mvneta_bm.h net: mvneta: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
mvneta.c net: mvneta: make mvneta_eth_tool_ops static 2017-02-17 12:16:29 -05:00
mvpp2.c net: mvpp2: adjust the allocation/free of BM pools for PPv2.2 2017-03-09 10:12:11 -08:00
pxa168_eth.c net: pxa168_eth: Do not clobber PHY link outside of state machine 2017-02-07 13:48:21 -05:00
skge.c skge: use napi_complete_done() 2017-02-05 16:11:57 -05:00
skge.h skge: Rename LED_OFF and LED_ON in marvel skge driver to avoid conflicts with leds namespace 2016-10-18 11:56:30 -04:00
sky2.c net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
sky2.h net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00