On 2021/8/27 上午3:30, Bjorn Helgaas wrote:
On Tue, Jul 13, 2021 at 10:54:33AM +0800, Zhangfei Gao wrote:
HiSilicon KunPeng920 and KunPeng930 have devices appear as PCI but are
actually on the AMBA bus. These fake PCI devices have PASID capability
though not supporting TLP.
Add a quirk to set pasid_no_tlp and dma-can-stall for these devices.
v5:
no change, base on 5.14-rc1
v4:
Applied to Linux 5.13-rc2, and build successfully with only these three patches.
v3:
https://lore.kernel.org/linux-pci/1615258837-12189-1-git-send-email-zhangfei.gao@xxxxxxxxxx/
Rebase to Linux 5.12-rc1
Change commit msg adding:
Property dma-can-stall depends on patchset
https://lore.kernel.org/linux-iommu/20210302092644.2553014-1-jean-philippe@xxxxxxxxxx/
By the way the patchset can directly applied on 5.12-rc1 and build successfully though
without the dependent patchset.
v2:
Add a new pci_dev bit: pasid_no_tlp, suggested by Bjorn
"Apparently these devices have a PASID capability. I think you should
add a new pci_dev bit that is specific to this idea of "PASID works
without TLP prefixes" and then change pci_enable_pasid() to look at
that bit as well as eetlp_prefix_path."
https://lore.kernel.org/linux-pci/20210112170230.GA1838341@bjorn-Precision-5520/
Zhangfei Gao (3):
PCI: PASID can be enabled without TLP prefix
PCI: Add a quirk to set pasid_no_tlp for HiSilicon chips
PCI: Set dma-can-stall for HiSilicon chips
drivers/pci/ats.c | 2 +-
drivers/pci/quirks.c | 27 +++++++++++++++++++++++++++
include/linux/pci.h | 1 +
3 files changed, 29 insertions(+), 1 deletion(-)
Applied with Robin's ack to pci/iommu for v5.15, thanks!
Great, thanks Bjorn and Robin.