linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: joro@8bytes.org, will@kernel.org, iommu@lists.linux.dev,
	baolu.lu@linux.intel.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 4/7] iommu: Decouple iommu_domain_alloc() from bus ops
Date: Wed, 11 Oct 2023 20:38:40 -0300	[thread overview]
Message-ID: <20231011233840.GE3952@nvidia.com> (raw)
In-Reply-To: <81a0a66d76b3826f1a0b55d7fbaf0986034c7abc.1697047261.git.robin.murphy@arm.com>

On Wed, Oct 11, 2023 at 07:14:51PM +0100, Robin Murphy wrote:
> As the final remaining piece of bus-dependent API, iommu_domain_alloc()
> can now take responsibility for the "one iommu_ops per bus" rule for
> itself. It turns out we can't safely make the internal allocation call
> any more group-based or device-based yet - that will have to wait until
> the external callers can pass the right thing - but we can at least get
> as far as deriving "bus ops" based on which driver is actually managing
> devices on the given bus, rather than whichever driver won the race to
> register first.
> 
> This will then leave us able to convert the last of the core internals
> over to the IOMMU-instance model, allow multiple drivers to register and
> actually coexist (modulo the above limitation for unmanaged domain users
> in the short term), and start trying to solve the long-standing
> iommu_probe_device() mess.
> 
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> 
> ---
> 
> v5: Rewrite, de-scoping to just retrieve ops under the same assumptions
>     as the existing code.
> ---
>  drivers/iommu/iommu.c | 25 ++++++++++++++++++++++---
>  1 file changed, 22 insertions(+), 3 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

FWIW, I was thinking afterwords that domain_alloc_paging() probably
should have been:

(domain_alloc_paging *)(struct iommu_device *iommu, struct iommu_group *group)

Most drivers can use the iommu and ignore the group, a few special
ones can do the needed reduce operation across the group.

We can get to that later when we get deeper into the PASID troubles,
it also requires the deferal of the domain creation like the bus code
probe does but the fwnode path doesn't :\

Jason

  reply	other threads:[~2023-10-11 23:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11 18:14 [PATCH v5 0/7] iommu: Retire bus ops Robin Murphy
2023-10-11 18:14 ` [PATCH v5 1/7] iommu: Factor out some helpers Robin Murphy
2023-10-11 23:34   ` Jason Gunthorpe
2023-10-18 23:04   ` Jerry Snitselaar
2023-10-11 18:14 ` [PATCH v5 2/7] iommu: Decouple iommu_present() from bus ops Robin Murphy
2023-10-12  6:05   ` Baolu Lu
2023-10-12 11:40     ` Robin Murphy
2023-10-12 12:37       ` Jason Gunthorpe
2023-10-12 12:57         ` Baolu Lu
2023-10-12 12:58   ` Baolu Lu
2023-10-18 23:05   ` Jerry Snitselaar
2023-10-11 18:14 ` [PATCH v5 3/7] iommu: Validate that devices match domains Robin Murphy
2023-10-18 23:14   ` Jerry Snitselaar
2023-10-24 18:52   ` Jason Gunthorpe
2023-10-25 12:39     ` Robin Murphy
2023-10-25 12:55       ` Jason Gunthorpe
2023-10-25 16:05         ` Robin Murphy
2023-10-25 16:15           ` Jason Gunthorpe
2023-10-11 18:14 ` [PATCH v5 4/7] iommu: Decouple iommu_domain_alloc() from bus ops Robin Murphy
2023-10-11 23:38   ` Jason Gunthorpe [this message]
2023-10-18 23:15   ` Jerry Snitselaar
2023-10-11 18:14 ` [PATCH v5 5/7] iommu/arm-smmu: Don't register fwnode for legacy binding Robin Murphy
2023-10-12 12:56   ` Will Deacon
2023-10-18 23:29   ` Jerry Snitselaar
2023-10-11 18:14 ` [PATCH v5 6/7] iommu: Retire bus ops Robin Murphy
2023-10-18 23:36   ` Jerry Snitselaar
2023-10-11 18:14 ` [PATCH v5 7/7] iommu: Clean up open-coded ownership checks Robin Murphy
2023-10-12 12:57   ` Will Deacon
2023-10-18 23:40   ` Jerry Snitselaar

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=20231011233840.GE3952@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=iommu@lists.linux.dev \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).