Re: [PATCH v6 00/33] MT8192 IOMMU support
From: Tomasz Figa <tfiga@chromium.org>
Date: 2021-01-29 11:29:47
Also in:
linux-iommu, linux-mediatek
Hi Yong, On Mon, Jan 11, 2021 at 07:18:41PM +0800, Yong Wu wrote:
This patch mainly adds support for mt8192 Multimedia IOMMU and SMI.
mt8192 also is MTK IOMMU gen2 which uses ARM Short-Descriptor translation
table format. The M4U-SMI HW diagram is as below:
EMI
|
M4U
|
------------
SMI Common
------------
|
+-------+------+------+----------------------+-------+
| | | | ...... | |
| | | | | |
larb0 larb1 larb2 larb4 ...... larb19 larb20
disp0 disp1 mdp vdec IPE IPE
All the connections are HW fixed, SW can NOT adjust it.
Comparing with the preview SoC, this patchset mainly adds two new functions:
a) add iova 34 bits support.
b) add multi domains support since several HW has the special iova
region requirement.
change note:
v6:a) base on v5.11-rc1. and tlb v4:
https://lore.kernel.org/linux-mediatek/20210107122909.16317-1-yong.wu@mediatek.com/T/#t (local)
b) Remove the "domain id" definition in the binding header file.
Get the domain from dev->dma_range_map.
After this, Change many codes flow.
c) the patchset adds a new common file(mtk_smi-larb-port.h).
This version changes that name into mtk-memory-port.h which reflect
its file path. This only changes the file name. no other change.
thus I keep all the Reviewed-by Tags.
(another reason is that we will add some iommu ports unrelated with
smi-larb)
d) Refactor the power-domain flow suggestted by Tomasz.
e) Some other small fix. use different oas for different soc; Change the
macro for 34bit iova tlb flush.Thanks for the fixes. I still think the concept of dma-ranges is not quire right for the problem we need to solve here, but it certainly works for the time being and it's possible to remove it in a follow up patch, so I'm fine with merging this as is. Reviewed-by: Tomasz Figa <tfiga@chromium.org> I'll comment on my suggestion for a replacement for the dma-ranges that doesn't need hardcoding arbitrary address ranges in DT in a separate reply. Best regards, Tomasz _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel