All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: John Keeping <john@metanate.com>
Cc: Steven Price <steven.price@arm.com>,
	Heiko Stuebner <heiko@sntech.de>, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v2] iommu/rockchip: Add missing set_platform_dma_ops callback
Date: Mon, 27 Mar 2023 12:26:55 -0300	[thread overview]
Message-ID: <ZCG1v9hRybc/951e@ziepe.ca> (raw)
In-Reply-To: <ZCGpmHUWyZVaeIIx@donbot>

On Mon, Mar 27, 2023 at 03:35:04PM +0100, John Keeping wrote:
> On Fri, Mar 24, 2023 at 11:11:27AM +0000, Steven Price wrote:
> > Similar to exynos, we need a set_platform_dma_ops() callback for proper
> > operation on ARM 32 bit after recent changes in the IOMMU framework
> > (detach ops removal). But also the use of a NULL domain is confusing.
> > 
> > Rework the code to have a singleton rk_identity_domain which is assigned
> > to domain when using an identity mapping rather than "detaching". This
> > makes the code easier to reason about.
> > 
> > Signed-off-by: Steven Price <steven.price@arm.com>
> > ---
> > Changes since v1[1]:
> > 
> >  * Reworked the code to avoid a NULL domain, instead a singleton
> >    rk_identity_domain is used instead. The 'detach' language is no
> >    longer used.
> > 
> > [1] https://lore.kernel.org/r/20230315164152.333251-1-steven.price%40arm.com
> > 
> >  drivers/iommu/rockchip-iommu.c | 50 ++++++++++++++++++++++++++--------
> >  1 file changed, 39 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> > index f30db22ea5d7..437541004994 100644
> > --- a/drivers/iommu/rockchip-iommu.c
> > +++ b/drivers/iommu/rockchip-iommu.c
> [snip]
> > +static struct iommu_domain rk_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &rk_identity_ops,
> > +};
> > +
> > +#ifdef CONFIG_ARM
> 
> Is this #ifdef needed?  I can't see anything ARM-specific about this
> function or .set_platform_dma_ops.

set_platform_dma_ops is never called on ARM64.

> Not shown in the patch are the pm_runtime hooks.  Do they need to
> change like this?

Most likely yes

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: John Keeping <john@metanate.com>
Cc: Steven Price <steven.price@arm.com>,
	Heiko Stuebner <heiko@sntech.de>, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v2] iommu/rockchip: Add missing set_platform_dma_ops callback
Date: Mon, 27 Mar 2023 12:26:55 -0300	[thread overview]
Message-ID: <ZCG1v9hRybc/951e@ziepe.ca> (raw)
In-Reply-To: <ZCGpmHUWyZVaeIIx@donbot>

On Mon, Mar 27, 2023 at 03:35:04PM +0100, John Keeping wrote:
> On Fri, Mar 24, 2023 at 11:11:27AM +0000, Steven Price wrote:
> > Similar to exynos, we need a set_platform_dma_ops() callback for proper
> > operation on ARM 32 bit after recent changes in the IOMMU framework
> > (detach ops removal). But also the use of a NULL domain is confusing.
> > 
> > Rework the code to have a singleton rk_identity_domain which is assigned
> > to domain when using an identity mapping rather than "detaching". This
> > makes the code easier to reason about.
> > 
> > Signed-off-by: Steven Price <steven.price@arm.com>
> > ---
> > Changes since v1[1]:
> > 
> >  * Reworked the code to avoid a NULL domain, instead a singleton
> >    rk_identity_domain is used instead. The 'detach' language is no
> >    longer used.
> > 
> > [1] https://lore.kernel.org/r/20230315164152.333251-1-steven.price%40arm.com
> > 
> >  drivers/iommu/rockchip-iommu.c | 50 ++++++++++++++++++++++++++--------
> >  1 file changed, 39 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> > index f30db22ea5d7..437541004994 100644
> > --- a/drivers/iommu/rockchip-iommu.c
> > +++ b/drivers/iommu/rockchip-iommu.c
> [snip]
> > +static struct iommu_domain rk_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &rk_identity_ops,
> > +};
> > +
> > +#ifdef CONFIG_ARM
> 
> Is this #ifdef needed?  I can't see anything ARM-specific about this
> function or .set_platform_dma_ops.

set_platform_dma_ops is never called on ARM64.

> Not shown in the patch are the pm_runtime hooks.  Do they need to
> change like this?

Most likely yes

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@ziepe.ca>
To: John Keeping <john@metanate.com>
Cc: Steven Price <steven.price@arm.com>,
	Heiko Stuebner <heiko@sntech.de>, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v2] iommu/rockchip: Add missing set_platform_dma_ops callback
Date: Mon, 27 Mar 2023 12:26:55 -0300	[thread overview]
Message-ID: <ZCG1v9hRybc/951e@ziepe.ca> (raw)
In-Reply-To: <ZCGpmHUWyZVaeIIx@donbot>

On Mon, Mar 27, 2023 at 03:35:04PM +0100, John Keeping wrote:
> On Fri, Mar 24, 2023 at 11:11:27AM +0000, Steven Price wrote:
> > Similar to exynos, we need a set_platform_dma_ops() callback for proper
> > operation on ARM 32 bit after recent changes in the IOMMU framework
> > (detach ops removal). But also the use of a NULL domain is confusing.
> > 
> > Rework the code to have a singleton rk_identity_domain which is assigned
> > to domain when using an identity mapping rather than "detaching". This
> > makes the code easier to reason about.
> > 
> > Signed-off-by: Steven Price <steven.price@arm.com>
> > ---
> > Changes since v1[1]:
> > 
> >  * Reworked the code to avoid a NULL domain, instead a singleton
> >    rk_identity_domain is used instead. The 'detach' language is no
> >    longer used.
> > 
> > [1] https://lore.kernel.org/r/20230315164152.333251-1-steven.price%40arm.com
> > 
> >  drivers/iommu/rockchip-iommu.c | 50 ++++++++++++++++++++++++++--------
> >  1 file changed, 39 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> > index f30db22ea5d7..437541004994 100644
> > --- a/drivers/iommu/rockchip-iommu.c
> > +++ b/drivers/iommu/rockchip-iommu.c
> [snip]
> > +static struct iommu_domain rk_identity_domain = {
> > +	.type = IOMMU_DOMAIN_IDENTITY,
> > +	.ops = &rk_identity_ops,
> > +};
> > +
> > +#ifdef CONFIG_ARM
> 
> Is this #ifdef needed?  I can't see anything ARM-specific about this
> function or .set_platform_dma_ops.

set_platform_dma_ops is never called on ARM64.

> Not shown in the patch are the pm_runtime hooks.  Do they need to
> change like this?

Most likely yes

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-03-27 15:27 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-24 11:11 [PATCH v2] iommu/rockchip: Add missing set_platform_dma_ops callback Steven Price
2023-03-24 11:11 ` Steven Price
2023-03-24 11:11 ` Steven Price
2023-03-24 13:16 ` Baolu Lu
2023-03-24 13:16   ` Baolu Lu
2023-03-24 13:16   ` Baolu Lu
2023-03-24 13:24   ` Steven Price
2023-03-24 13:24     ` Steven Price
2023-03-24 13:24     ` Steven Price
2023-03-24 13:31     ` Baolu Lu
2023-03-24 13:31       ` Baolu Lu
2023-03-24 13:31       ` Baolu Lu
2023-03-27 14:35 ` John Keeping
2023-03-27 14:35   ` John Keeping
2023-03-27 14:35   ` John Keeping
2023-03-27 15:26   ` Jason Gunthorpe [this message]
2023-03-27 15:26     ` Jason Gunthorpe
2023-03-27 15:26     ` Jason Gunthorpe
2023-03-30 14:32     ` Steven Price
2023-03-30 14:32       ` Steven Price
2023-03-30 14:32       ` Steven Price
2023-03-29 23:42 ` Jason Gunthorpe
2023-03-29 23:42   ` Jason Gunthorpe
2023-03-29 23:42   ` Jason Gunthorpe

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=ZCG1v9hRybc/951e@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=heiko@sntech.de \
    --cc=iommu@lists.linux.dev \
    --cc=john@metanate.com \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=robin.murphy@arm.com \
    --cc=steven.price@arm.com \
    --cc=will@kernel.org \
    /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.