]> 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)
commit92325252b69c3e2040e953e346616be2ea6c82d5
treec6916a2d978b00b16273c0b7a2ae9d12d166cb81
parentb26e00233af4dbfbb39762fb06d662934c302e60
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