[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <493cf6bd-6c68-2415-2b24-76ec634df240@leemhuis.info>
Date: Fri, 27 Jan 2023 12:30:18 +0100
From: "Linux kernel regression tracking (Thorsten Leemhuis)"
<regressions@...mhuis.info>
To: Jason Gunthorpe <jgg@...dia.com>,
Lu Baolu <baolu.lu@...ux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>,
Joerg Roedel <jroedel@...e.de>,
Matt Fagnani <matt.fagnani@...l.net>,
Christian König <christian.koenig@....com>,
Kevin Tian <kevin.tian@...el.com>,
Vasant Hegde <vasant.hegde@....com>,
Tony Zhu <tony.zhu@...el.com>, linux-pci@...r.kernel.org,
iommu@...ts.linux.dev, linux-kernel@...r.kernel.org,
Linux kernel regressions list <regressions@...ts.linux.dev>
Subject: Re: [PATCH v3 1/1] PCI: Add translated request only flag for
pci_enable_pasid()
Hi, this is your Linux kernel regression tracker. Top-posting for once,
to make this easily accessible to everyone.
What happened to below patch? It looks like there was no progress since
ten days now. Or did I miss something?
Reminder, the patch is fixing a regression, hence it would be good if
this could be fixed rather sooner than later.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.
On 16.01.23 16:42, Jason Gunthorpe wrote:
> On Sat, Jan 14, 2023 at 03:34:20PM +0800, Lu Baolu wrote:
>> The PCIe fabric routes Memory Requests based on the TLP address, ignoring
>> the PASID. In order to ensure system integrity, commit 201007ef707a ("PCI:
>> Enable PASID only when ACS RR & UF enabled on upstream path") requires
>> some ACS features being supported on device's upstream path when enabling
>> PCI/PASID.
>>
>> One alternative is ATS/PRI which lets the device resolve the PASID + addr
>> pair before a memory request is made into a routeable TLB address through
>> the translation agent. Those resolved addresses are then cached on the
>> device instead of in the IOMMU TLB and the device always sets translated
>> bit for PASID. One example of those devices are AMD graphic devices that
>> always have ACS or ATS/PRI enabled together with PASID.
>>
>> This adds a flag parameter in the pci_enable_pasid() helper, with which
>> the device driver could opt-in the fact that device always sets the
>> translated bit for PASID.
>>
>> It also applies this opt-in for AMD graphic devices. Without this change,
>> kernel boots to black screen on a system with below AMD graphic device:
>>
>> 00:01.0 VGA compatible controller: Advanced Micro Devices, Inc.
>> [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] (rev ca)
>> (prog-if 00 [VGA controller])
>> DeviceName: ATI EG BROADWAY
>> Subsystem: Hewlett-Packard Company Device 8332
>>
>> At present, it is a common practice to enable/disable PCI PASID in the
>> iommu drivers. Considering that the device driver knows more about the
>> specific device, we will follow up by moving pci_enable_pasid() into
>> the specific device drivers.
>>
>> Fixes: 201007ef707a ("PCI: Enable PASID only when ACS RR & UF enabled on upstream path")
>> Reported-and-tested-by: Matt Fagnani <matt.fagnani@...l.net>
>> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216865
>> Link: https://lore.kernel.org/r/15d0f9ff-2a56-b3e9-5b45-e6b23300ae3b@leemhuis.info/
>> Suggested-by: Jason Gunthorpe <jgg@...dia.com>
>> Suggested-by: Christian König <christian.koenig@....com>
>> Reviewed-by: Kevin Tian <kevin.tian@...el.com>
>> Signed-off-by: Lu Baolu <baolu.lu@...ux.intel.com>
>> ---
>> include/linux/pci-ats.h | 6 ++++--
>> drivers/iommu/amd/iommu.c | 2 +-
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 +-
>> drivers/iommu/intel/iommu.c | 3 ++-
>> drivers/pci/ats.c | 8 ++++++--
>> 5 files changed, 14 insertions(+), 7 deletions(-)
>
> Reviewed-by: Jason Gunthorpe <jgg@...dia.com>
>
> Jason
Powered by blists - more mailing lists