Skip to content

RFC How to pass IOMMU map attr via DMA API?

Will Deacon linux-arm-kernel linux-iommu linux-tegra 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. 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.

Read the v1 thread

Cover letter [RFC 0/3] How to pass IOMMU map attr via DMA API?

Hi Hiroshi,

Quoted 15 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:

- Casting (struct dma_attrs *) to (int) in DMA API doesn't look nice.
- IOMMU layer needs to cast (int) back to (struct dma_attrs *) again, which can be considered as violation of layers.

If you have any implementations/suggestions, it would be really helpful.

Quoted 7 lines

This series isn't applied cleanly but this is posted to request for comments.

Hiroshi Doyu (3):
common: DMA-mapping: add DMA_ATTR_READ_ONLY attribute
ARM: dma-mapping: Pass DMA attrs as IOMMU prot iommu/tegra: smmu: Support read-only mapping

These patches don't seem to have made it to the linux-arm-kernel list (either in my inbox or the list archive). Could you try and resend them please?

Also: how do they interact with my patch here?:

http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175124.html

Will