After commit f1ad5338a4d5 ("of: Fix "dma-ranges" handling for bus controllers"), the dma-ranges is not allowed for dts leaf node. but we still would like to separate the different masters into different iova regions. Thus we adjust the internal flow, separate the 16GB iova range by the master HW larbid/portid and add the dma-ranges property in the parent "soc" node. This also could avoid the users forget/abuse the iova regions. The commit f1ad5338a4d5 doesn't introduce the regression for us in upstream, currently mt8195 vcodec/jpeg use the parent/child node. thus I don't add "Fixes:" tag. In this series, I add functions for mt8192/mt8195/mt8186, mt8188 will be in its special patchset. and the previous mt8173/mt8183...support 0-4GB only, no need this function. Base on v6.2-rc3. Yong Wu (10): dt-bindings: media: mediatek,vcodec: Remove dma-ranges property dt-bindings: media: mediatek,jpeg: Remove dma-ranges property iommu/mediatek: Get regionid from larb/port id iommu/mediatek: mt8195: Add larb_region_msk iommu/mediatek: mt8186: add larb_region_msk iommu/mediatek: mt8192: add larb_region_msk iommu/mediatek: Add a gap for the iova regions arm64: dts: mt8195: Add dma-ranges for the parent "soc" node arm64: dts: mt8195: Remove the unnecessary dma-ranges arm64: dts: mt8186: Add dma-ranges for the parent "soc" node .../media/mediatek,mt8195-jpegdec.yaml | 7 -- .../media/mediatek,mt8195-jpegenc.yaml | 7 -- .../media/mediatek,vcodec-decoder.yaml | 5 - .../media/mediatek,vcodec-encoder.yaml | 5 - .../media/mediatek,vcodec-subdev-decoder.yaml | 7 -- .../bindings/media/mediatek-jpeg-encoder.yaml | 5 - arch/arm64/boot/dts/mediatek/mt8186.dtsi | 1 + arch/arm64/boot/dts/mediatek/mt8195.dtsi | 2 +- drivers/iommu/mtk_iommu.c | 95 ++++++++++++++----- 9 files changed, 72 insertions(+), 62 deletions(-) -- 2.18.0