[PATCH V2 0/6] IOMMU-DMA - support DMA_ATTR_LOW_ADDRESS attribute
Ajay Kumar
ajaykumar.rs at samsung.com
Wed May 11 05:15:38 PDT 2022
This patchset is a rebase of original patches from Marek Szyprowski:
https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2321261.html
The patches have been rebased on Joro's IOMMU tree "next" branch:
https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
This patchset is needed to address the IOVA address dependency issue between
firmware buffers and other buffers in Samsung s5p-mfc driver.
There have been few discussions in the past on how to find a generic
soultion for this issue, ranging from adding an entirely new API to choose
IOVA window[1], to adding a DMA attribute DMA_ATTR_LOW_ADDRESS which handles
buffer allocation from lower address[2].
This is a continuation of initial work from Marek for approach [2].
Patches have been tested with latest version of Samsung s5p-mfc driver.
Changes since V1:
[PATCH V2 1/6]
- Rebase on latest tree.
[PATCH V2 2/6]
- Rebase on latest tree.
Added a missing check for iova_pfn in __iova_rcache_get()
Discard changes from drivers/iommu/intel/iommu.c which are not necessary
[PATCH V2 3/6]
- Rebase on latest tree.
[PATCH V2 4/6]
- Rebase on latest tree
[PATCH V2 5/6]
- Rebase on latest tree
[PATCH V2 6/6]
- Rebase on latest tree.
Marek Szyprowski (6):
dma-mapping: add DMA_ATTR_LOW_ADDRESS attribute
iommu: iova: properly handle 0 as a valid IOVA address
iommu: iova: add support for 'first-fit' algorithm
iommu: dma-iommu: refactor iommu_dma_alloc_iova()
iommu: dma-iommu: add support for DMA_ATTR_LOW_ADDRESS
media: platform: s5p-mfc: use DMA_ATTR_LOW_ADDRESS
References:
[1]
https://lore.kernel.org/linux-iommu/20200811054912.GA301@infradead.org/
[2]
https://lore.kernel.org/linux-mm/bff57cbe-2247-05e1-9059-d9c66d64c407@arm.com
drivers/iommu/dma-iommu.c | 77 +++++++++++-----
drivers/iommu/iova.c | 91 ++++++++++++++++++-
.../media/platform/samsung/s5p-mfc/s5p_mfc.c | 8 +-
include/linux/dma-mapping.h | 6 ++
include/linux/iova.h | 3 +
5 files changed, 156 insertions(+), 29 deletions(-)
base-commit: faf93cfaadfaaff2a5c35d6301b45aa2f6e4ddb2
--
2.17.1
More information about the linux-arm-kernel
mailing list