Re: [PATCH 1/1] iommu/vt-d: Enable PASID during iommu device probe

From: Ethan Zhao
Date: Thu Sep 15 2022 - 23:39:02 EST



在 2022/9/16 11:05, Baolu Lu 写道:
On 2022/9/16 10:40, Ethan Zhao wrote:

I may not get you exactly. 😄 Some IOMMU features reply on PASID
capabilities on both IOMMU and device. The IOMMU drivers enumerate the
capabilities and enable them if they are supported.
I might not express it straightforward,  I mean with this patch iommu deals with

the complexity of enabling PASID (globally?)  or not at probing stage , instead

of other device driver side decision to request IOMMU PASID enabling during

their setup state.  if so you move the decision to iommu probe stage. hmmm...

I am sorry that the commit message was a bit confusing. Actually we
always enable PASID at iommu probe path w/ or w/o this patch.

Really ?  the commit message is quit clear to me ~~@

Pros,  iommu driver controls everything about PASID enabling.

Cons,  iommu driver handles all possible complexity about capability matching

Do device drivers need to configure PCI PASID without IOMMU? I searched
the tree and found nothing.

Device knows if it has PCI PASID cap and its driver also could determine to request

iommu to enable PASID or not by invoking

intel_iommu_enable_sva()->*intel_iommu_enable_pasid()*

*that is the old style without this patch.
*

*Iommu driver of course  also knows if devices in its group related the iommu
*

*have PASID cap support or not by enumerating them from the ACPI DMAR.
*

This is my understanding, correct me if wrong.

While configuring device PCI PASID cap is another thing, from kernel or userland,

compatible with the iommu cap, works, or not work.  Could you prevent anyone

from doing that ?


Thanks,

Ethan

Best regards,
baolu

--
"firm, enduring, strong, and long-lived"