[<prev] [next>] [day] [month] [year] [list]
Message-ID: <cbb2504c-cb6a-1334-2207-63a410cf6484@linux.intel.com>
Date: Fri, 16 Sep 2022 12:01:20 +0800
From: Baolu Lu <baolu.lu@...ux.intel.com>
To: Ethan Zhao <haifeng.zhao@...ux.intel.com>, iommu@...ts.linux.dev
Cc: baolu.lu@...ux.intel.com, Joerg Roedel <joro@...tes.org>,
Will Deacon <will@...nel.org>,
Robin Murphy <robin.murphy@....com>,
Kevin Tian <kevin.tian@...el.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] iommu/vt-d: Enable PASID during iommu device probe
On 2022/9/16 11:35, Ethan Zhao wrote:
> Baolu,
>
> 在 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()*
PASID is a PCIe capability. Though SVA is built on it,it's not only
for SVA. Thus, the purpose of intel_iommu_enable_sva() is not for
enabling PASID.
>
> *that is the old style without this patch.
No. Without this patch, PASID is also enabled in probe path. Calling
intel_iommu_enable_pasid() in enabling SVA path is actually duplicate.
The commit message for this patch is not correct. It's my bad. :-)
> *
>
> *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 ?
I do not object to adding a common interface to enable/disable PASID if
any device driver needs to manage PASID by itself. Before that, there
is no need to add complexity in IOMMU subsystem for a non-existent
requirement.
Best regards,
baolu
Powered by blists - more mailing lists