Searched hist:c8feeb2b93a2b320d2a533e0443f95c61e157293 (Results 1 – 1 of 1) sorted by relevance
| /rk3399_rockchip-uboot/drivers/net/ |
| H A D | mvpp2.c | c8feeb2b93a2b320d2a533e0443f95c61e157293 Mon Feb 20 10:29:16 UTC 2017 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 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 physical and virtual address of each buffer requires reading the MVPP2_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 physical address to MVPP2_BM_PHY_VIRT_HIGH_RLS_REG. We no longer need to write the virtual address to MVPP2_BM_VIRT_RLS_REG.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Stefan Roese <sr@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
|