[PATCH v4 0/3] PCI: Add a quirk to enable SVA for HiSilicon chip

From: Zhangfei Gao
Date: Tue Jun 08 2021 - 23:37:14 EST

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.

Jean's dma-can-stall patchset has been accepted

Applied to Linux 5.13-rc2, and build successfully with only these three patches.

Rebase to Linux 5.12-rc1
Change commit msg adding:
Property dma-can-stall depends on patchset

By the way the patchset can directly applied on 5.12-rc1 and build successfully though
without the dependent patchset.

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."

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(-)