RFC How to pass IOMMU map attr via DMA API?
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest0 of 3 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 3 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC 0/3] How to pass IOMMU map attr via DMA API?
Hello,
Quoted 9 lines · Hiroshi Doyu
In Tegra SoC, IOMMU can set some mapping attribute for each page, for exmaple, READable, and WRITEable. We'd like to use this feature *newly* for robustness, where read-only pages can be protected from being overwritten by wrong operation. We have been using IOMMU via DMA mapping API(ARM). DMA mapping API currently doesn't use "prot" parameter when calling IOMMU API. So this series tries to pass "struct
dma_attrs*attrs" via "int prot" in IOMMU API. I'm not so sure if this implementation is right or not because:
Quoted 8 lines
- Casting (struct
dma_attrs*) to (int) in DMA API doesn't look nice.
- IOMMU layer needs to cast (int) back to (structdma_attrs*) again, which can be considered as violation of layers.If you have any implementations/suggestions, it would be really helpful.
This series isn't applied cleanly but this is posted to request for comments.
Using DMA attributes for this seems to be a bad idea. The dma direction parameter is much more appropriate. Will Deacon recently posted a patch which does it right, see:
Quoted 10 lines
Hiroshi Doyu (3):
common: DMA-mapping: addDMA_ATTR_READ_ONLYattribute
ARM: dma-mapping: Pass DMA attrs as IOMMU prot iommu/tegra: smmu: Support read-only mappingarch/arm/mm/dma-mapping.c | 34 +++++++++++++++++++++------------- drivers/iommu/tegra-smmu.c | 41 +++++++++++++++++++++++++++++------------ include/linux/dma-attrs.h | 1 + 3 files changed, 51 insertions(+), 25 deletions(-)
Best regards
Signature · 2 lines
Marek Szyprowski Samsung R&D Institute Poland