[PATCH 0/2] dmaengine: ti: k3-udma: Support for per channel atype
From: Peter Ujfalusi
Date: Tue Feb 18 2020 - 09:31:29 EST
Hi,
The series is on top of the 5.6 update patches:
https://lore.kernel.org/lkml/20200214091441.27535-1-peter.ujfalusi@xxxxxx/
UDMA channels have ATYPE property which tells UDMA on how to treat the pointers
within descriptors (and TRs).
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)
When Linux is booting within a virtualized environment channels must have the
ATYPE configured correctly to be able to access memory (ATYPE == 0 is not
allowed).
The ATYPE can be different for channels and their ATYPE depends on which
endpoint they are servicing, but it is not hardwired.
In order to be able to tell the driver the ATYPE for the channel we need to
extend the dma-cells in case the device is going to be used in virtualized
setup.
Non virtualized setups can still use dma-cells == 1.
If dma-cells == 2, then the UDMA node must have ti,udma-atype property which
is used for non slave channels (where no DT binding is exist for a channel).
Regards,
Peter
---
Peter Ujfalusi (2):
dt-bindings: dma: ti: k3-udma: Update for atype support
(virtualization)
dmaengine: ti: k3-udma: Implement support for atype (for
virtualization)
.../devicetree/bindings/dma/ti/k3-udma.yaml | 19 ++++++-
drivers/dma/ti/k3-udma-glue.c | 18 ++++++-
drivers/dma/ti/k3-udma.c | 50 ++++++++++++++++---
3 files changed, 76 insertions(+), 11 deletions(-)
--
Peter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki