Re: [PATCH v7 00/14] Adjust the dma-ranges for MTK IOMMU

Hans Verkuil
2023-04-12T14:36:29Z

On 11/04/2023 11:31, Yong Wu wrote:
> 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 did affect the mt8195 venc, But it is not
> a fatal issue, it could also work well at 0-4GB iova. 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.

I've Acked patches 10 and 11 as well. I assume this series will be merged
through the iommu subsystem? If not, and I need to take the media patches,
then please let me know!

Regards,

Hans

>
> Change note:
> v7: Remove the change about mediatek,vcodec-subdev-decoder.yaml since
> this was merged at:
> https://lore.kernel.org/all/98c48690-631d-1086-9b7c-004c61cc8dbb@xs4all.nl/
>
> v6: https://lore.kernel.org/linux-mediatek/20230403091337.26745-1-yong.wu@mediatek.com/
> Add three patches for set dma-mask for iommu master devices.
>
> v5: Nothing change. Just rebase on v6.3-rc1.
>
> v4: https://lore.kernel.org/linux-mediatek/20230215062544.8677-1-yong.wu@mediatek.com/
> Improve the comment in the code from AngeloGioacchino.
>
> v3: https://lore.kernel.org/linux-mediatek/20230214031114.926-1-yong.wu@mediatek.com/
> Add a new patch only for comment more in the code.
>
> v2: https://lore.kernel.org/linux-mediatek/20230208053643.28249-1-yong.wu@mediatek.com/
> a) Base on next-20230206 since mt8195 jpeg node is applied which affect
> this patch.
> b) Reword the commit message [1/10][2/10] to explain effect.
>
> v1: https://lore.kernel.org/linux-mediatek/20230113060133.9394-1-yong.wu@mediatek.com/
> Base on v6.2-rc3.
>
> Yong Wu (14):
> dt-bindings: media: mediatek,vcodec: Remove dma-ranges property
> dt-bindings: media: mediatek,jpeg: Remove dma-ranges property
> iommu/mediatek: Improve comment for the current region/bank
> iommu/mediatek: Get regionid from larb/port id
> iommu/mediatek: mt8192: Add iova_region_larb_msk
> iommu/mediatek: mt8195: Add iova_region_larb_msk
> iommu/mediatek: mt8186: Add iova_region_larb_msk
> iommu/mediatek: Add a gap for the iova regions
> iommu/mediatek: Set dma_mask for the master devices
> media: mtk-jpegdec: Remove the setting for dma_mask
> media: mediatek: vcodec: Remove the setting for dma_mask
> arm64: dts: mt8195: Remove the unnecessary dma-ranges
> arm64: dts: mt8195: Add dma-ranges for the parent "soc" node
> 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 -
> .../bindings/media/mediatek-jpeg-encoder.yaml | 5 -
> arch/arm64/boot/dts/mediatek/mt8186.dtsi | 1 +
> arch/arm64/boot/dts/mediatek/mt8195.dtsi | 4 +-
> drivers/iommu/mtk_iommu.c | 145 ++++++++++++++----
> .../platform/mediatek/jpeg/mtk_jpeg_core.c | 3 -
> .../mediatek/vcodec/mtk_vcodec_dec_drv.c | 8 -
> .../mediatek/vcodec/mtk_vcodec_enc_drv.c | 3 -
> 11 files changed, 117 insertions(+), 76 deletions(-)
>