All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Andy Gross <agross@kernel.org>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Bjorn Andersson <andersson@kernel.org>,
	AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@collabora.com>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Stuebner <heiko@sntech.de>,
	iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Joerg Roedel <joro@8bytes.org>, Kevin Tian <kevin.tian@intel.com>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
	linux-tegra@vger.kernel.org, Russell King <linux@armlinux.org.uk>,
	linuxppc-dev@lists.ozlabs.org,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Samuel Holland <samuel@sholland.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
	Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	Dmitry Osipenko <digetx@gmail.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Nicolin Chen <nicolinc@nvidia.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Steven Price <steven.price@arm.com>,
	Thierry Reding <treding@nvidia.com>
Subject: Re: [PATCH v6 07/25] iommu/mtk_iommu_v1: Implement an IDENTITY domain
Date: Mon, 14 Aug 2023 11:34:34 -0300	[thread overview]
Message-ID: <ZNo7eqMZEDBf7VKn@nvidia.com> (raw)
In-Reply-To: <7b6b8118-813a-f4cd-1067-d209d2b40025@linux.intel.com>

On Mon, Aug 14, 2023 at 11:06:12AM +0800, Baolu Lu wrote:
> On 2023/8/3 8:07, Jason Gunthorpe wrote:
> > What mtk does during mtk_iommu_v1_set_platform_dma() is actually putting
> > the iommu into identity mode. Make this available as a proper IDENTITY
> > domain.
> > 
> > The mtk_iommu_v1_def_domain_type() from
> > commit 8bbe13f52cb7 ("iommu/mediatek-v1: Add def_domain_type") explains
> > this was needed to allow probe_finalize() to be called, but now the
> > IDENTITY domain will do the same job so change the returned
> > def_domain_type.
> > 
> > mkt_v1 is the only driver that returns IOMMU_DOMAIN_UNMANAGED from
> > def_domain_type().  This allows the next patch to enforce an IDENTITY
> > domain policy for this driver.
> 
> This code seems to be not working properly.
> 
>  * @def_domain_type: device default domain type, return value:
>  *              - IOMMU_DOMAIN_IDENTITY: must use an identity domain
>  *              - IOMMU_DOMAIN_DMA: must use a dma domain
>  *              - 0: use the default setting
> 
> The core code is not ready to accept any other return value.

Right, it is not following the spec. The design does do what it is
supposed to though..

> > diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c
> > index 8a0a5e5d049f4a..cc3e7d53d33ad9 100644
> > --- a/drivers/iommu/mtk_iommu_v1.c
> > +++ b/drivers/iommu/mtk_iommu_v1.c
> > @@ -319,11 +319,27 @@ static int mtk_iommu_v1_attach_device(struct iommu_domain *domain, struct device
> >   	return 0;
> >   }
> > -static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +static int mtk_iommu_v1_identity_attach(struct iommu_domain *identity_domain,
> > +					struct device *dev)
> >   {
> >   	struct mtk_iommu_v1_data *data = dev_iommu_priv_get(dev);
> >   	mtk_iommu_v1_config(data, dev, false);
> > +	return 0;
> > +}
> > +
> > +static struct iommu_domain_ops mtk_iommu_v1_identity_ops = {
> > +	.attach_dev = mtk_iommu_v1_identity_attach,
> > +};
> > +
> > +static struct iommu_domain mtk_iommu_v1_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &mtk_iommu_v1_identity_ops,
> > +};
> > +
> > +static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +{
> > +	mtk_iommu_v1_identity_attach(&mtk_iommu_v1_identity_domain, dev);
> 
> This callback seems to be a dead code now.

Not yet in the series, it is still used. All this patch does is
introduce the identity domain.

> > @@ -443,7 +459,7 @@ static int mtk_iommu_v1_create_mapping(struct device *dev, struct of_phandle_arg
> >   static int mtk_iommu_v1_def_domain_type(struct device *dev)
> >   {
> > -	return IOMMU_DOMAIN_UNMANAGED;
> > +	return IOMMU_DOMAIN_IDENTITY;
> 
> def_domain_type can't be used for this purpose. But this seems to be a
> temporary code, as it will be removed in patch 09/25.

It looked OK when I checked it, mkt_v1 is really confusing what it
tries to do, but it should call probe_finalize and basically do the
same hacky thing as what UNMANAGED was trying to accomplish.

Did you see something else?

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Andy Gross <agross@kernel.org>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Bjorn Andersson <andersson@kernel.org>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Stuebner <heiko@sntech.de>,
	iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Joerg Roedel <joro@8bytes.org>, Kevin Tian <kevin.tian@intel.com>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
	linux-tegra@vger.kernel.org, Russell King <linux@armlinux.org.uk>,
	linuxppc-dev@lists.ozlabs.org,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Samuel Holland <samuel@sholland.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
	Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	Dmitry Osipenko <digetx@gmail.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Nicolin Chen <nicolinc@nvidia.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Steven Price <steven.price@arm.com>,
	Thierry Reding <treding@nvidia.com>
Subject: Re: [PATCH v6 07/25] iommu/mtk_iommu_v1: Implement an IDENTITY domain
Date: Mon, 14 Aug 2023 11:34:34 -0300	[thread overview]
Message-ID: <ZNo7eqMZEDBf7VKn@nvidia.com> (raw)
In-Reply-To: <7b6b8118-813a-f4cd-1067-d209d2b40025@linux.intel.com>

On Mon, Aug 14, 2023 at 11:06:12AM +0800, Baolu Lu wrote:
> On 2023/8/3 8:07, Jason Gunthorpe wrote:
> > What mtk does during mtk_iommu_v1_set_platform_dma() is actually putting
> > the iommu into identity mode. Make this available as a proper IDENTITY
> > domain.
> > 
> > The mtk_iommu_v1_def_domain_type() from
> > commit 8bbe13f52cb7 ("iommu/mediatek-v1: Add def_domain_type") explains
> > this was needed to allow probe_finalize() to be called, but now the
> > IDENTITY domain will do the same job so change the returned
> > def_domain_type.
> > 
> > mkt_v1 is the only driver that returns IOMMU_DOMAIN_UNMANAGED from
> > def_domain_type().  This allows the next patch to enforce an IDENTITY
> > domain policy for this driver.
> 
> This code seems to be not working properly.
> 
>  * @def_domain_type: device default domain type, return value:
>  *              - IOMMU_DOMAIN_IDENTITY: must use an identity domain
>  *              - IOMMU_DOMAIN_DMA: must use a dma domain
>  *              - 0: use the default setting
> 
> The core code is not ready to accept any other return value.

Right, it is not following the spec. The design does do what it is
supposed to though..

> > diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c
> > index 8a0a5e5d049f4a..cc3e7d53d33ad9 100644
> > --- a/drivers/iommu/mtk_iommu_v1.c
> > +++ b/drivers/iommu/mtk_iommu_v1.c
> > @@ -319,11 +319,27 @@ static int mtk_iommu_v1_attach_device(struct iommu_domain *domain, struct device
> >   	return 0;
> >   }
> > -static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +static int mtk_iommu_v1_identity_attach(struct iommu_domain *identity_domain,
> > +					struct device *dev)
> >   {
> >   	struct mtk_iommu_v1_data *data = dev_iommu_priv_get(dev);
> >   	mtk_iommu_v1_config(data, dev, false);
> > +	return 0;
> > +}
> > +
> > +static struct iommu_domain_ops mtk_iommu_v1_identity_ops = {
> > +	.attach_dev = mtk_iommu_v1_identity_attach,
> > +};
> > +
> > +static struct iommu_domain mtk_iommu_v1_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &mtk_iommu_v1_identity_ops,
> > +};
> > +
> > +static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +{
> > +	mtk_iommu_v1_identity_attach(&mtk_iommu_v1_identity_domain, dev);
> 
> This callback seems to be a dead code now.

Not yet in the series, it is still used. All this patch does is
introduce the identity domain.

> > @@ -443,7 +459,7 @@ static int mtk_iommu_v1_create_mapping(struct device *dev, struct of_phandle_arg
> >   static int mtk_iommu_v1_def_domain_type(struct device *dev)
> >   {
> > -	return IOMMU_DOMAIN_UNMANAGED;
> > +	return IOMMU_DOMAIN_IDENTITY;
> 
> def_domain_type can't be used for this purpose. But this seems to be a
> temporary code, as it will be removed in patch 09/25.

It looked OK when I checked it, mkt_v1 is really confusing what it
tries to do, but it should call probe_finalize and basically do the
same hacky thing as what UNMANAGED was trying to accomplish.

Did you see something else?

Jason

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Heiko Stuebner <heiko@sntech.de>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Dmitry Osipenko <digetx@gmail.com>,
	Steven Price <steven.price@arm.com>,
	Will Deacon <will@kernel.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	Samuel Holland <samuel@sholland.org>,
	Joerg Roedel <joro@8bytes.org>,
	Russell King <linux@armlinux.org.uk>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	linux-rockchip@lists.infradead.org, iommu@lists.linux.dev,
	Andy Gross <agross@kernel.org>,
	Nicolin Chen <nicolinc@nvidia.com>,
	Yong Wu <yong.wu@mediatek.com>, Orson Zhai <orsonzhai@gmail.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Thierry Reding <treding@nvidia.com>,
	linux-sunxi@lists.linux.dev, Rob Clark <robdclark@gmail.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	linux-arm-msm@vger.kernel.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Krishna Reddy <vdumpa@nvidia.com>,
	linux-mediatek@lists.infradead.org,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	linux-tegra@vger.kernel.org, Chen-Yu Tsai <wens@csie.org>,
	linux-arm-kernel@lists.infradead.org,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v6 07/25] iommu/mtk_iommu_v1: Implement an IDENTITY domain
Date: Mon, 14 Aug 2023 11:34:34 -0300	[thread overview]
Message-ID: <ZNo7eqMZEDBf7VKn@nvidia.com> (raw)
In-Reply-To: <7b6b8118-813a-f4cd-1067-d209d2b40025@linux.intel.com>

On Mon, Aug 14, 2023 at 11:06:12AM +0800, Baolu Lu wrote:
> On 2023/8/3 8:07, Jason Gunthorpe wrote:
> > What mtk does during mtk_iommu_v1_set_platform_dma() is actually putting
> > the iommu into identity mode. Make this available as a proper IDENTITY
> > domain.
> > 
> > The mtk_iommu_v1_def_domain_type() from
> > commit 8bbe13f52cb7 ("iommu/mediatek-v1: Add def_domain_type") explains
> > this was needed to allow probe_finalize() to be called, but now the
> > IDENTITY domain will do the same job so change the returned
> > def_domain_type.
> > 
> > mkt_v1 is the only driver that returns IOMMU_DOMAIN_UNMANAGED from
> > def_domain_type().  This allows the next patch to enforce an IDENTITY
> > domain policy for this driver.
> 
> This code seems to be not working properly.
> 
>  * @def_domain_type: device default domain type, return value:
>  *              - IOMMU_DOMAIN_IDENTITY: must use an identity domain
>  *              - IOMMU_DOMAIN_DMA: must use a dma domain
>  *              - 0: use the default setting
> 
> The core code is not ready to accept any other return value.

Right, it is not following the spec. The design does do what it is
supposed to though..

> > diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c
> > index 8a0a5e5d049f4a..cc3e7d53d33ad9 100644
> > --- a/drivers/iommu/mtk_iommu_v1.c
> > +++ b/drivers/iommu/mtk_iommu_v1.c
> > @@ -319,11 +319,27 @@ static int mtk_iommu_v1_attach_device(struct iommu_domain *domain, struct device
> >   	return 0;
> >   }
> > -static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +static int mtk_iommu_v1_identity_attach(struct iommu_domain *identity_domain,
> > +					struct device *dev)
> >   {
> >   	struct mtk_iommu_v1_data *data = dev_iommu_priv_get(dev);
> >   	mtk_iommu_v1_config(data, dev, false);
> > +	return 0;
> > +}
> > +
> > +static struct iommu_domain_ops mtk_iommu_v1_identity_ops = {
> > +	.attach_dev = mtk_iommu_v1_identity_attach,
> > +};
> > +
> > +static struct iommu_domain mtk_iommu_v1_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &mtk_iommu_v1_identity_ops,
> > +};
> > +
> > +static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +{
> > +	mtk_iommu_v1_identity_attach(&mtk_iommu_v1_identity_domain, dev);
> 
> This callback seems to be a dead code now.

Not yet in the series, it is still used. All this patch does is
introduce the identity domain.

> > @@ -443,7 +459,7 @@ static int mtk_iommu_v1_create_mapping(struct device *dev, struct of_phandle_arg
> >   static int mtk_iommu_v1_def_domain_type(struct device *dev)
> >   {
> > -	return IOMMU_DOMAIN_UNMANAGED;
> > +	return IOMMU_DOMAIN_IDENTITY;
> 
> def_domain_type can't be used for this purpose. But this seems to be a
> temporary code, as it will be removed in patch 09/25.

It looked OK when I checked it, mkt_v1 is really confusing what it
tries to do, but it should call probe_finalize and basically do the
same hacky thing as what UNMANAGED was trying to accomplish.

Did you see something else?

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Andy Gross <agross@kernel.org>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Bjorn Andersson <andersson@kernel.org>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Stuebner <heiko@sntech.de>,
	iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Joerg Roedel <joro@8bytes.org>, Kevin Tian <kevin.tian@intel.com>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
	linux-tegra@vger.kernel.org, Russell King <linux@armlinux.org.uk>,
	linuxppc-dev@lists.ozlabs.org,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Samuel Holland <samuel@sholland.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
	Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	Dmitry Osipenko <digetx@gmail.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Nicolin Chen <nicolinc@nvidia.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Steven Price <steven.price@arm.com>,
	Thierry Reding <treding@nvidia.com>
Subject: Re: [PATCH v6 07/25] iommu/mtk_iommu_v1: Implement an IDENTITY domain
Date: Mon, 14 Aug 2023 11:34:34 -0300	[thread overview]
Message-ID: <ZNo7eqMZEDBf7VKn@nvidia.com> (raw)
In-Reply-To: <7b6b8118-813a-f4cd-1067-d209d2b40025@linux.intel.com>

On Mon, Aug 14, 2023 at 11:06:12AM +0800, Baolu Lu wrote:
> On 2023/8/3 8:07, Jason Gunthorpe wrote:
> > What mtk does during mtk_iommu_v1_set_platform_dma() is actually putting
> > the iommu into identity mode. Make this available as a proper IDENTITY
> > domain.
> > 
> > The mtk_iommu_v1_def_domain_type() from
> > commit 8bbe13f52cb7 ("iommu/mediatek-v1: Add def_domain_type") explains
> > this was needed to allow probe_finalize() to be called, but now the
> > IDENTITY domain will do the same job so change the returned
> > def_domain_type.
> > 
> > mkt_v1 is the only driver that returns IOMMU_DOMAIN_UNMANAGED from
> > def_domain_type().  This allows the next patch to enforce an IDENTITY
> > domain policy for this driver.
> 
> This code seems to be not working properly.
> 
>  * @def_domain_type: device default domain type, return value:
>  *              - IOMMU_DOMAIN_IDENTITY: must use an identity domain
>  *              - IOMMU_DOMAIN_DMA: must use a dma domain
>  *              - 0: use the default setting
> 
> The core code is not ready to accept any other return value.

Right, it is not following the spec. The design does do what it is
supposed to though..

> > diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c
> > index 8a0a5e5d049f4a..cc3e7d53d33ad9 100644
> > --- a/drivers/iommu/mtk_iommu_v1.c
> > +++ b/drivers/iommu/mtk_iommu_v1.c
> > @@ -319,11 +319,27 @@ static int mtk_iommu_v1_attach_device(struct iommu_domain *domain, struct device
> >   	return 0;
> >   }
> > -static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +static int mtk_iommu_v1_identity_attach(struct iommu_domain *identity_domain,
> > +					struct device *dev)
> >   {
> >   	struct mtk_iommu_v1_data *data = dev_iommu_priv_get(dev);
> >   	mtk_iommu_v1_config(data, dev, false);
> > +	return 0;
> > +}
> > +
> > +static struct iommu_domain_ops mtk_iommu_v1_identity_ops = {
> > +	.attach_dev = mtk_iommu_v1_identity_attach,
> > +};
> > +
> > +static struct iommu_domain mtk_iommu_v1_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &mtk_iommu_v1_identity_ops,
> > +};
> > +
> > +static void mtk_iommu_v1_set_platform_dma(struct device *dev)
> > +{
> > +	mtk_iommu_v1_identity_attach(&mtk_iommu_v1_identity_domain, dev);
> 
> This callback seems to be a dead code now.

Not yet in the series, it is still used. All this patch does is
introduce the identity domain.

> > @@ -443,7 +459,7 @@ static int mtk_iommu_v1_create_mapping(struct device *dev, struct of_phandle_arg
> >   static int mtk_iommu_v1_def_domain_type(struct device *dev)
> >   {
> > -	return IOMMU_DOMAIN_UNMANAGED;
> > +	return IOMMU_DOMAIN_IDENTITY;
> 
> def_domain_type can't be used for this purpose. But this seems to be a
> temporary code, as it will be removed in patch 09/25.

It looked OK when I checked it, mkt_v1 is really confusing what it
tries to do, but it should call probe_finalize and basically do the
same hacky thing as what UNMANAGED was trying to accomplish.

Did you see something else?

Jason

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-08-14 14:35 UTC|newest]

Thread overview: 268+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-03  0:07 [PATCH v6 00/25] iommu: Make default_domain's mandatory Jason Gunthorpe
2023-08-03  0:07 ` Jason Gunthorpe
2023-08-03  0:07 ` Jason Gunthorpe
2023-08-03  0:07 ` Jason Gunthorpe
2023-08-03  0:07 ` [PATCH v6 01/25] iommu: Add iommu_ops->identity_domain Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07 ` [PATCH v6 02/25] iommu: Add IOMMU_DOMAIN_PLATFORM Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-12  1:36   ` Baolu Lu
2023-08-12  1:36     ` Baolu Lu
2023-08-12  1:36     ` Baolu Lu
2023-08-12  1:36     ` Baolu Lu
2023-08-12 11:28     ` Jason Gunthorpe
2023-08-12 11:28       ` Jason Gunthorpe
2023-08-12 11:28       ` Jason Gunthorpe
2023-08-12 11:28       ` Jason Gunthorpe
2023-08-13 12:11       ` Baolu Lu
2023-08-13 12:11         ` Baolu Lu
2023-08-13 12:11         ` Baolu Lu
2023-08-13 12:11         ` Baolu Lu
2023-08-14 13:39         ` Jason Gunthorpe
2023-08-14 13:39           ` Jason Gunthorpe
2023-08-14 13:39           ` Jason Gunthorpe
2023-08-14 13:39           ` Jason Gunthorpe
2023-08-12  1:41   ` Baolu Lu
2023-08-12  1:41     ` Baolu Lu
2023-08-12  1:41     ` Baolu Lu
2023-08-12  1:41     ` Baolu Lu
2023-08-14 14:22     ` Jason Gunthorpe
2023-08-14 14:22       ` Jason Gunthorpe
2023-08-14 14:22       ` Jason Gunthorpe
2023-08-14 14:22       ` Jason Gunthorpe
2023-08-03  0:07 ` [PATCH v6 03/25] powerpc/iommu: Setup a default domain and remove set_platform_dma_ops Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  2:13   ` Baolu Lu
2023-08-14  2:13     ` Baolu Lu
2023-08-14  2:13     ` Baolu Lu
2023-08-14  2:13     ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 04/25] iommu: Add IOMMU_DOMAIN_PLATFORM for S390 Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  2:20   ` Baolu Lu
2023-08-14  2:20     ` Baolu Lu
2023-08-14  2:20     ` Baolu Lu
2023-08-14  2:20     ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 05/25] iommu/fsl_pamu: Implement a PLATFORM domain Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  2:35   ` Baolu Lu
2023-08-14  2:35     ` Baolu Lu
2023-08-14  2:35     ` Baolu Lu
2023-08-14  2:35     ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 06/25] iommu/tegra-gart: Remove tegra-gart Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-12  1:51   ` Baolu Lu
2023-08-12  1:51     ` Baolu Lu
2023-08-12  1:51     ` Baolu Lu
2023-08-12  1:51     ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 07/25] iommu/mtk_iommu_v1: Implement an IDENTITY domain Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  3:06   ` Baolu Lu
2023-08-14  3:06     ` Baolu Lu
2023-08-14  3:06     ` Baolu Lu
2023-08-14  3:06     ` Baolu Lu
2023-08-14 14:34     ` Jason Gunthorpe [this message]
2023-08-14 14:34       ` Jason Gunthorpe
2023-08-14 14:34       ` Jason Gunthorpe
2023-08-14 14:34       ` Jason Gunthorpe
2023-08-15  0:34       ` Baolu Lu
2023-08-15  0:34         ` Baolu Lu
2023-08-15  0:34         ` Baolu Lu
2023-08-15  0:34         ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 08/25] iommu: Reorganize iommu_get_default_domain_type() to respect def_domain_type() Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-12  2:15   ` Baolu Lu
2023-08-12  2:15     ` Baolu Lu
2023-08-12  2:15     ` Baolu Lu
2023-08-12  2:15     ` Baolu Lu
2023-08-14 17:25     ` Jason Gunthorpe
2023-08-14 17:25       ` Jason Gunthorpe
2023-08-14 17:25       ` Jason Gunthorpe
2023-08-14 17:25       ` Jason Gunthorpe
2023-08-15  1:18       ` Baolu Lu
2023-08-15  1:18         ` Baolu Lu
2023-08-15  1:18         ` Baolu Lu
2023-08-15  1:18         ` Baolu Lu
2023-08-16 12:44         ` Jason Gunthorpe
2023-08-16 12:44           ` Jason Gunthorpe
2023-08-16 12:44           ` Jason Gunthorpe
2023-08-16 12:44           ` Jason Gunthorpe
2023-08-03  0:07 ` [PATCH v6 09/25] iommu: Allow an IDENTITY domain as the default_domain in ARM32 Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  4:32   ` Baolu Lu
2023-08-14  4:32     ` Baolu Lu
2023-08-14  4:32     ` Baolu Lu
2023-08-14  4:32     ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 10/25] iommu/exynos: Implement an IDENTITY domain Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  4:52   ` Baolu Lu
2023-08-14  4:52     ` Baolu Lu
2023-08-14  4:52     ` Baolu Lu
2023-08-14  4:52     ` Baolu Lu
2023-08-14 12:48     ` Jason Gunthorpe
2023-08-14 12:48       ` Jason Gunthorpe
2023-08-14 12:48       ` Jason Gunthorpe
2023-08-14 12:48       ` Jason Gunthorpe
2023-08-03  0:07 ` [PATCH v6 11/25] iommu/tegra-smmu: " Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  5:01   ` Baolu Lu
2023-08-14  5:01     ` Baolu Lu
2023-08-14  5:01     ` Baolu Lu
2023-08-14  5:01     ` Baolu Lu
2023-08-03  0:07 ` [PATCH v6 12/25] iommu/tegra-smmu: Support DMA domains in tegra Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-03  0:07   ` Jason Gunthorpe
2023-08-14  5:08   ` Baolu Lu
2023-08-14  5:08     ` Baolu Lu
2023-08-14  5:08     ` Baolu Lu
2023-08-14  5:08     ` Baolu Lu
2023-08-14 15:34     ` Jason Gunthorpe
2023-08-14 15:34       ` Jason Gunthorpe
2023-08-14 15:34       ` Jason Gunthorpe
2023-08-14 15:34       ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 13/25] iommu/omap: Implement an IDENTITY domain Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  5:10   ` Baolu Lu
2023-08-14  5:10     ` Baolu Lu
2023-08-14  5:10     ` Baolu Lu
2023-08-14  5:10     ` Baolu Lu
2023-08-03  0:08 ` [PATCH v6 14/25] iommu/msm: " Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  5:53   ` Baolu Lu
2023-08-14  5:53     ` Baolu Lu
2023-08-14  5:53     ` Baolu Lu
2023-08-14  5:53     ` Baolu Lu
2023-08-03  0:08 ` [PATCH v6 15/25] iommufd/selftest: Make the mock iommu driver into a real driver Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-12  4:57   ` Baolu Lu
2023-08-12  4:57     ` Baolu Lu
2023-08-12  4:57     ` Baolu Lu
2023-08-12  4:57     ` Baolu Lu
2023-08-12  5:01   ` Baolu Lu
2023-08-12  5:01     ` Baolu Lu
2023-08-12  5:01     ` Baolu Lu
2023-08-12  5:01     ` Baolu Lu
2023-08-14 23:16   ` Jason Gunthorpe
2023-08-14 23:16     ` Jason Gunthorpe
2023-08-14 23:16     ` Jason Gunthorpe
2023-08-14 23:16     ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 16/25] iommu: Remove ops->set_platform_dma_ops() Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 17/25] iommu/qcom_iommu: Add an IOMMU_IDENTITIY_DOMAIN Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  6:32   ` Baolu Lu
2023-08-14  6:32     ` Baolu Lu
2023-08-14  6:32     ` Baolu Lu
2023-08-14  6:32     ` Baolu Lu
2023-08-14 15:36     ` Jason Gunthorpe
2023-08-14 15:36       ` Jason Gunthorpe
2023-08-14 15:36       ` Jason Gunthorpe
2023-08-14 15:36       ` Jason Gunthorpe
2023-08-15  0:56       ` Baolu Lu
2023-08-15  0:56         ` Baolu Lu
2023-08-15  0:56         ` Baolu Lu
2023-08-15  0:56         ` Baolu Lu
2023-08-03  0:08 ` [PATCH v6 18/25] iommu/ipmmu: " Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  6:34   ` Baolu Lu
2023-08-14  6:34     ` Baolu Lu
2023-08-14  6:34     ` Baolu Lu
2023-08-14  6:34     ` Baolu Lu
2023-08-03  0:08 ` [PATCH v6 19/25] iommu/mtk_iommu: " Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  6:35   ` Baolu Lu
2023-08-14  6:35     ` Baolu Lu
2023-08-14  6:35     ` Baolu Lu
2023-08-14  6:35     ` Baolu Lu
2023-08-03  0:08 ` [PATCH v6 20/25] iommu/sun50i: " Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  6:44   ` Baolu Lu
2023-08-14  6:44     ` Baolu Lu
2023-08-14  6:44     ` Baolu Lu
2023-08-14  6:44     ` Baolu Lu
2023-08-14 15:39     ` Jason Gunthorpe
2023-08-14 15:39       ` Jason Gunthorpe
2023-08-14 15:39       ` Jason Gunthorpe
2023-08-14 15:39       ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 21/25] iommu: Require a default_domain for all iommu drivers Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 22/25] iommu: Add __iommu_group_domain_alloc() Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 23/25] iommu: Add ops->domain_alloc_paging() Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 24/25] iommu: Convert simple drivers with DOMAIN_DMA to domain_alloc_paging() Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  6:58   ` Baolu Lu
2023-08-14  6:58     ` Baolu Lu
2023-08-14  6:58     ` Baolu Lu
2023-08-14  6:58     ` Baolu Lu
2023-08-14 15:40     ` Jason Gunthorpe
2023-08-14 15:40       ` Jason Gunthorpe
2023-08-14 15:40       ` Jason Gunthorpe
2023-08-14 15:40       ` Jason Gunthorpe
2023-08-03  0:08 ` [PATCH v6 25/25] iommu: Convert remaining simple drivers " Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-03  0:08   ` Jason Gunthorpe
2023-08-14  7:00   ` Baolu Lu
2023-08-14  7:00     ` Baolu Lu
2023-08-14  7:00     ` Baolu Lu
2023-08-14  7:00     ` Baolu Lu
2023-08-14  8:43 ` [PATCH v6 00/25] iommu: Make default_domain's mandatory Baolu Lu
2023-08-14  8:43   ` Baolu Lu
2023-08-14  8:43   ` Baolu Lu
2023-08-14  8:43   ` Baolu Lu
2023-08-14 17:30   ` Jason Gunthorpe
2023-08-14 17:30     ` Jason Gunthorpe
2023-08-14 17:30     ` Jason Gunthorpe
2023-08-14 17:30     ` Jason Gunthorpe
2023-08-15  1:34     ` Baolu Lu
2023-08-15  1:34       ` Baolu Lu
2023-08-15  1:34       ` Baolu Lu
2023-08-15  1:34       ` Baolu Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZNo7eqMZEDBf7VKn@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=agross@kernel.org \
    --cc=alim.akhtar@samsung.com \
    --cc=andersson@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=digetx@gmail.com \
    --cc=gerald.schaefer@linux.ibm.com \
    --cc=heiko@sntech.de \
    --cc=iommu@lists.linux.dev \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=m.szyprowski@samsung.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=nicolinc@nvidia.com \
    --cc=npiggin@gmail.com \
    --cc=orsonzhai@gmail.com \
    --cc=robdclark@gmail.com \
    --cc=robin.murphy@arm.com \
    --cc=samuel@sholland.org \
    --cc=schnelle@linux.ibm.com \
    --cc=steven.price@arm.com \
    --cc=thierry.reding@gmail.com \
    --cc=treding@nvidia.com \
    --cc=vdumpa@nvidia.com \
    --cc=wens@csie.org \
    --cc=will@kernel.org \
    --cc=yong.wu@mediatek.com \
    --cc=zhang.lyra@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.