Re: [PATCH v7 2/3] PCI: Enable PCIe Relaxed Ordering if supported

From: Casey Leedom
Date: Wed Jul 26 2017 - 14:26:54 EST


By the way Ding, two issues:

1. Did we ever get any acknowledgement from either Intel or AMD
on this patch? I know that we can't ensure that, but it sure would
be nice since the PCI Quirks that we're putting in affect their
products.

2. I just realized that there's still a small hole in the patch with
respect to PCIe SR-IOV Virtual Functions. When the PCI Quirk
notices a problematic PCIe Device and marks it to note that
it's not "happy" receiving Transaction Layer Packets with the
Relaxed Ordering Attribute set, it's my understanding that your
current patch iterates down the PCIe Fabric and turns off the
PCIe Capability Device Control[Relaxed Ordering Enable].
But this scan may miss any SR-IOV VFs because they
probably won't be instantiated at that time. And, at a later
time, when they are instantiated, they could well have their
Relaxed Ordering Enable set.

I think that the patch will need to be extended to modify
drivers/pci.c/iov.c:sriov_enable() to explicitly turn off
Relaxed Ordering Enable if the Root Complex is marked
for no RO TLPs.

Casey