[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1595302076.16172.49.camel@mhfsdcap03>
Date: Tue, 21 Jul 2020 11:27:56 +0800
From: Yong Wu <yong.wu@...iatek.com>
To: Rob Herring <robh@...nel.org>
CC: <youlin.pei@...iatek.com>, <devicetree@...r.kernel.org>,
Nicolas Boichat <drinkcat@...omium.org>,
<cui.zhang@...iatek.com>, <srv_heupstream@...iatek.com>,
<chao.hao@...iatek.com>, Robin Murphy <robin.murphy@....com>,
Joerg Roedel <joro@...tes.org>, <linux-kernel@...r.kernel.org>,
Evan Green <evgreen@...omium.org>,
"Tomasz Figa" <tfiga@...gle.com>,
<iommu@...ts.linux-foundation.org>,
<linux-mediatek@...ts.infradead.org>,
Matthias Brugger <matthias.bgg@...il.com>,
<ming-fan.chen@...iatek.com>, <anan.sun@...iatek.com>,
Will Deacon <will@...nel.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: Re: [PATCH 04/21] dt-binding: mediatek: Add binding for mt8192
IOMMU and SMI
On Mon, 2020-07-20 at 17:16 -0600, Rob Herring wrote:
> On Sat, Jul 11, 2020 at 02:48:29PM +0800, Yong Wu wrote:
> > This patch adds decriptions for mt8192 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.
> >
> > mt8192 M4U support 0~16GB iova range. we preassign different engines
> > into different iova ranges:
> >
> > domain-id module iova-range larbs
> > 0 disp 0 ~ 4G larb0/1
> > 1 vcodec 4G ~ 8G larb4/5/7
> > 2 cam/mdp 8G ~ 12G larb2/9/11/13/14/16/17/18/19/20
> > 3 CCU0 0x4000_0000 ~ 0x43ff_ffff larb13: port 9/10
> > 4 CCU1 0x4400_0000 ~ 0x47ff_ffff larb14: port 4/5
>
> You probably want to use dma-ranges for defining these
> address restrictions.
Yes. Please see the commit message of [18/21] in this patchset.
>
> How is the domain-id used or needed?
Here we assign different larb/ports in different iova ranges.
In the iommu driver, we will list the iova ranges as above and use the
domain-id to get the detailed iova range, then create a iommu domain for
each a iova range.
For the iommu masters, it only need use its special port in its dtsi
node, then the iova got from dma_alloc_attrs for that device will locate
in the special iova ranges.
>
> Rob
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@...ts.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
Powered by blists - more mailing lists