History

PCI/ATS: Add pci_prg_resp_pasid_required() interface.

Return the PRG Response PASID Required bit in the Page Request Status Register. As per PCIe spec r4.0, sec 10.5.2.3, if this bit is Set, the device expects a PASID TLP Prefix on PRG Response Messages when the corresponding Page Requests had a PASID TLP Prefix. If Clear, the device does not expect PASID TLP Prefixes on any PRG Response Message, and the device behavior is undefined if the device receives a PRG Response Message with a PASID TLP Prefix. Also the device behavior is undefined if this bit is Set and the device receives a PRG Response Message with no PASID TLP Prefix when the corresponding Page Requests had a PASID TLP Prefix. This function will be used by drivers like IOMMU, if it is required to check the status of the PRG Response PASID Required bit before enabling the PASID support of the device.

Kuppuswamy Sathyanarayanan committed 7 years ago

Commit e5567f51 parent 3f0c6253 files · +36 −0Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/pci_regs.h+1−0
@@ -880,6 +880,7 @@ · 879 unmodified lines
880880 #define PCI_PRI_STATUS_RF 0x001 /* Response Failure */
881881 #define PCI_PRI_STATUS_UPRGI 0x002 /* Unexpected PRG index */
882882 #define PCI_PRI_STATUS_STOPPED 0x100 /* PRI Stopped */
883+#define PCI_PRI_STATUS_PASID 0x8000 /* PRG Response PASID Required */
883884 #define PCI_PRI_MAX_REQ 0x08 /* PRI max reqs supported */
884885 #define PCI_PRI_ALLOC_REQ 0x0c /* PRI max reqs allowed */
885886 #define PCI_EXT_CAP_PRI_SIZEOF 16