All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shivaprasad G Bhat <sbhat@linux.ibm.com>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: iommu@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, mpe@ellerman.id.au,
	npiggin@gmail.com, christophe.leroy@csgroup.eu,
	aneesh.kumar@kernel.org, naveen.n.rao@linux.ibm.com,
	jroedel@suse.de, tpearson@raptorengineering.com, aik@amd.com,
	bgray@linux.ibm.com, gregkh@linuxfoundation.org,
	gbatra@linux.vnet.ibm.com, vaibhav@linux.ibm.com
Subject: Re: [PATCH 1/2] powerpc: iommu: Bring back table group release_ownership() call
Date: Fri, 26 Jan 2024 20:43:12 +0530	[thread overview]
Message-ID: <b825dd04-3d32-4fbd-91e3-523ddf96fc7a@linux.ibm.com> (raw)
In-Reply-To: <20240125155017.GW50608@ziepe.ca>


On 1/25/24 21:20, Jason Gunthorpe wrote:
> On Thu, Jan 25, 2024 at 06:08:39AM -0600, Shivaprasad G Bhat wrote:
>> The commit 2ad56efa80db ("powerpc/iommu: Setup a default domain and
[snip]
>> +		/*
>> +		 * The domain being set to PLATFORM from earlier
>> +		 * BLOCKED. The table_group ownership has to be released.
>> +		 */
>> +		table_group->ops->release_ownership(table_group);
>> +	} else if (platform_domain->type == IOMMU_DOMAIN_BLOCKED) {
>> +		table_group = iommu_group_get_iommudata(grp);
>> +		ret = table_group->ops->take_ownership(table_group);
>> +		iommu_group_put(grp);
>> +	}
> Sure, but please split the function, don't test on the
> platform->domain_type.
Sure.
> Also, is there any chance someone can work on actually fixing this to
> be a proper iommu driver? I think that will become important for power
> to use the common dma_iommu code in the next year...
We are looking into it.
> Sort of like this:
>
> diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
> index ebe259bdd46298..0d6a7fea2bd9a5 100644
> --- a/arch/powerpc/kernel/iommu.c
> +++ b/arch/powerpc/kernel/iommu.c
> @@ -1287,20 +1287,20 @@ spapr_tce_platform_iommu_attach_dev(struct iommu_domain *platform_domain,
>   	struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
>   	struct iommu_group *grp = iommu_group_get(dev);
[snip]
> +static const struct iommu_domain_ops spapr_tce_blocked_domain_ops = {
> +	.attach_dev = spapr_tce_blocked_iommu_attach_dev,
> +};
> +
> +static struct iommu_domain spapr_tce_blocked_domain = {
> +	.type = IOMMU_DOMAIN_BLOCKED,
> +	.ops = &spapr_tce_blocked_domain_ops,
>   };
>   
>   static bool spapr_tce_iommu_capable(struct device *dev, enum iommu_cap cap)

I have posted the next version as suggested.

Thanks for the quick review!

Regards,

Shivaprasad



WARNING: multiple messages have this Message-ID (diff)
From: Shivaprasad G Bhat <sbhat@linux.ibm.com>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: jroedel@suse.de, gbatra@linux.vnet.ibm.com,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	aneesh.kumar@kernel.org, tpearson@raptorengineering.com,
	iommu@lists.linux.dev, npiggin@gmail.com, bgray@linux.ibm.com,
	naveen.n.rao@linux.ibm.com, vaibhav@linux.ibm.com,
	linuxppc-dev@lists.ozlabs.org, aik@amd.com
Subject: Re: [PATCH 1/2] powerpc: iommu: Bring back table group release_ownership() call
Date: Fri, 26 Jan 2024 20:43:12 +0530	[thread overview]
Message-ID: <b825dd04-3d32-4fbd-91e3-523ddf96fc7a@linux.ibm.com> (raw)
In-Reply-To: <20240125155017.GW50608@ziepe.ca>


On 1/25/24 21:20, Jason Gunthorpe wrote:
> On Thu, Jan 25, 2024 at 06:08:39AM -0600, Shivaprasad G Bhat wrote:
>> The commit 2ad56efa80db ("powerpc/iommu: Setup a default domain and
[snip]
>> +		/*
>> +		 * The domain being set to PLATFORM from earlier
>> +		 * BLOCKED. The table_group ownership has to be released.
>> +		 */
>> +		table_group->ops->release_ownership(table_group);
>> +	} else if (platform_domain->type == IOMMU_DOMAIN_BLOCKED) {
>> +		table_group = iommu_group_get_iommudata(grp);
>> +		ret = table_group->ops->take_ownership(table_group);
>> +		iommu_group_put(grp);
>> +	}
> Sure, but please split the function, don't test on the
> platform->domain_type.
Sure.
> Also, is there any chance someone can work on actually fixing this to
> be a proper iommu driver? I think that will become important for power
> to use the common dma_iommu code in the next year...
We are looking into it.
> Sort of like this:
>
> diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
> index ebe259bdd46298..0d6a7fea2bd9a5 100644
> --- a/arch/powerpc/kernel/iommu.c
> +++ b/arch/powerpc/kernel/iommu.c
> @@ -1287,20 +1287,20 @@ spapr_tce_platform_iommu_attach_dev(struct iommu_domain *platform_domain,
>   	struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
>   	struct iommu_group *grp = iommu_group_get(dev);
[snip]
> +static const struct iommu_domain_ops spapr_tce_blocked_domain_ops = {
> +	.attach_dev = spapr_tce_blocked_iommu_attach_dev,
> +};
> +
> +static struct iommu_domain spapr_tce_blocked_domain = {
> +	.type = IOMMU_DOMAIN_BLOCKED,
> +	.ops = &spapr_tce_blocked_domain_ops,
>   };
>   
>   static bool spapr_tce_iommu_capable(struct device *dev, enum iommu_cap cap)

I have posted the next version as suggested.

Thanks for the quick review!

Regards,

Shivaprasad



  reply	other threads:[~2024-01-26 15:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-25 12:08 [PATCH 0/2] powerpc: iommu: Fix the vfio-pci bind and unbind issues Shivaprasad G Bhat
2024-01-25 12:08 ` Shivaprasad G Bhat
2024-01-25 12:08 ` [PATCH 1/2] powerpc: iommu: Bring back table group release_ownership() call Shivaprasad G Bhat
2024-01-25 12:08   ` Shivaprasad G Bhat
2024-01-25 15:50   ` Jason Gunthorpe
2024-01-25 15:50     ` Jason Gunthorpe
2024-01-26 15:13     ` Shivaprasad G Bhat [this message]
2024-01-26 15:13       ` Shivaprasad G Bhat
2024-01-26 15:17       ` Jason Gunthorpe
2024-01-26 15:17         ` Jason Gunthorpe
2024-01-26 15:29         ` Timothy Pearson
2024-01-26 15:29           ` Timothy Pearson
2024-01-26 15:38           ` Jason Gunthorpe
2024-01-26 15:38             ` Jason Gunthorpe
2024-01-26 15:39             ` Timothy Pearson
2024-01-26 15:39               ` Timothy Pearson
2024-01-26 15:44               ` Timothy Pearson
2024-01-26 15:44                 ` Timothy Pearson
2024-01-26 15:44               ` Jason Gunthorpe
2024-01-26 15:44                 ` Jason Gunthorpe
2024-01-25 12:08 ` [PATCH 2/2] iommu: Fix the domain type checks when default_domain is set Shivaprasad G Bhat
2024-01-25 12:08   ` Shivaprasad G Bhat
2024-01-25 15:52   ` Jason Gunthorpe
2024-01-25 15:52     ` Jason Gunthorpe
2024-01-26 15:19     ` Shivaprasad G Bhat
2024-01-26 15:19       ` Shivaprasad G Bhat

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=b825dd04-3d32-4fbd-91e3-523ddf96fc7a@linux.ibm.com \
    --to=sbhat@linux.ibm.com \
    --cc=aik@amd.com \
    --cc=aneesh.kumar@kernel.org \
    --cc=bgray@linux.ibm.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=gbatra@linux.vnet.ibm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@ziepe.ca \
    --cc=jroedel@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=naveen.n.rao@linux.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=tpearson@raptorengineering.com \
    --cc=vaibhav@linux.ibm.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.