- Jul 24, 2020
-
-
Grygorii Strashko authored
Fix build warning: k3-udma-glue.c: In function ‘k3_udma_glue_cfg_rx_flow’: k3-udma-glue.c:662:1: warning: label ‘err_ringrx_free’ defined but not used err_ringrx_free: ^~~~~~~~~~~~~~~ Fixes: 6a42ce8a ("dmaengine: ti: k3-udma: Switch to k3_ringacc_request_rings_pair") Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
- Jul 21, 2020
-
-
Peter Ujfalusi authored
We only request ring pairs via K3 DMA driver, switch to use the new k3_ringacc_request_rings_pair() to simplify the code. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Peter Ujfalusi authored
The register offsets and functions are the same among TCHAN and RCHAN. Use generic, common names for them. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Christophe JAILLET authored
commit 018af9be upstream. All but one error handling paths in the 'k3_udma_glue_cfg_rx_flow()' function 'goto err' and call 'k3_udma_glue_release_rx_flow()'. This not correct because this function has a 'channel->flows_ready--;' at the end, but 'flows_ready' has not been incremented here, when we branch to the error handling path. In order to keep a correct value in 'flows_ready', un-roll 'k3_udma_glue_release_rx_flow()', simplify it, add some labels and branch at the correct places when an error is detected. Doing so, we also NULLify 'flow->udma_rflow' in a path that was lacking it. Fixes: d7024191 ("dmaengine: ti: k3-udma: Add glue layer for non DMAengine user") Signed-off-by:
Christophe JAILLET <christophe.jaillet@wanadoo.fr> Acked-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200318191209.1267-1-christophe.jaillet@wanadoo.fr Signed-off-by:
Vinod Koul <vkoul@kernel.org>
-
- Apr 07, 2020
-
-
Peter Ujfalusi authored
The DT for virtualized hosts have dma-cells == 2 where the second parameter is the ATYPE for the channel. In case of dma-cells == 1 we can configure the ATYPE as 0 (reset value). The ATYPE defined for j721e are: 0: pointers are physical addresses (no translation) 1: pointers are intermediate addresses (PVU) 2: pointers are virtual addresses (SMMU) Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200218143126.11361-3-peter.ujfalusi@ti.com Signed-off-by:
Vinod Koul <vkoul@kernel.org>
-
- Dec 12, 2019
-
-
Grygorii Strashko authored
Certain users can not use right now the DMAengine API due to missing features in the core. Prime example is Networking. These users can use the glue layer interface to avoid misuse of DMAengine API and when the core gains the needed features they can be converted to use generic API. The most prominent features the glue layer clients are depending on: - most PSI-L native peripheral use extra rflow ranges on a receive channel and depending on the peripheral's configuration packets from a single free descriptor ring is going to be received to different receive ring - it is also possible to have different free descriptor rings per rflow and an rflow can also support 4 additional free descriptor ring based on the size of the incoming packet - out of order completion of descriptors on a channel - when we have several queues to handle different priority packets the descriptors will be completed 'out-of-order' - the notion of prep_slave_sg is not matching with what the streaming type of operation is demanding for networking - Streaming type of operation - Ability to fill the free descriptor ring with descriptors in anticipation of incoming traffic and when a packet arrives UDMAP will form a packet and gives it to the client driver - the descriptors are not backed with exact size data buffers as we don't know the size of the packet we will receive, but as a generic pool of buffers to be used by the receive channel - NAPI type of operation (polling instead of interrupt driven transfer) - without this we can not sustain gigabit speeds and we need to support NAPI - not to limit this to networking, but other high performance operations Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-