]> git.baikalelectronics.ru Git - kernel.git/commit
net: ethernet: ti: am65-cpsw-nuss: Support for transparent ASEL handling
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 15 Jan 2021 19:28:51 +0000 (21:28 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 20 Jan 2021 01:32:34 +0000 (17:32 -0800)
commitfe674394e1f7374e6ed94c50763373a2a04e41d7
treec6916a2d978b00b16273c0b7a2ae9d12d166cb81
parent7da8c1a03f98b2d7b2d9bd521a502f7d3a999ef0
net: ethernet: ti: am65-cpsw-nuss: Support for transparent ASEL handling

Use the glue layer's functions to convert the dma_addr_t to and from CPPI5
address (with the ASEL bits), which should be used within the descriptors
and data buffers.

- Per channel coherency support
The DMAs use the 'ASEL' bits to select data and configuration fetch path.
The ASEL bits are placed at the unused parts of any address field used by
the DMAs (pointers to descriptors, addresses in descriptors, ring base
addresses). The ASEL is not part of the address (the DMAs can address
48bits). Individual channels can be configured to be coherent (via ACP
port) or non coherent individually by configuring the ASEL to appropriate
value.

[1] https://lore.kernel.org/patchwork/cover/1350756/
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Co-developed-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/ti/am65-cpsw-nuss.c