2023-02-28 04:22:12

by Ganapatrao Kulkarni

[permalink] [raw]
Subject: [PATCH v2 0/2] Add support to enable ATS on VFs independently

As discussed in [1], adding a helper function to configure the STU of an
ATS capability. Function pci_ats_stu_configure() can be called to program
the STU while enumerating the PF, to support scenarios like PF is not
enabled with ATS, whereas VFs can enable it.

In SMMU-V3 driver, calling pci_ats_stu_configure() to confgiure the STU
while enumerating a PF in passthrough mode.

[1] https://lore.kernel.org/linux-arm-kernel/20230221154624.GA3701506@bhelgaas/T/

v2:
- Added dummy definition for pci_ats_stu_configure.
- Changed STU configure to read modify write.

Ganapatrao Kulkarni (2):
PCI/ATS: Add a helper function to configure ATS STU of a PF.
iommu/arm-smmu-v3: Configure STU of a PF if ATS is not enabled.

drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 25 +++++++++++++++-
drivers/pci/ats.c | 33 +++++++++++++++++++--
include/linux/pci-ats.h | 3 ++
3 files changed, 58 insertions(+), 3 deletions(-)

--
2.38.1



Subject: Re: [PATCH v2 0/2] Add support to enable ATS on VFs independently



On 2/27/23 8:21 PM, Ganapatrao Kulkarni wrote:
> As discussed in [1], adding a helper function to configure the STU of an
> ATS capability. Function pci_ats_stu_configure() can be called to program
> the STU while enumerating the PF, to support scenarios like PF is not
> enabled with ATS, whereas VFs can enable it.
>
> In SMMU-V3 driver, calling pci_ats_stu_configure() to confgiure the STU
> while enumerating a PF in passthrough mode.

It looks like you are fixing this issue only for your platform. Is there any
way to generically program PF STU? May be from pci_ats_init()?

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer