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

From: Ding Tianhong
Date: Thu Jul 13 2017 - 21:29:11 EST




On 2017/7/14 5:09, Sinan Kaya wrote:
> On 7/13/2017 10:21 AM, Ding Tianhong wrote:
>> static void pci_configure_relaxed_ordering(struct pci_dev *dev)
>> +{
>> + /* We should not alter the relaxed ordering bit for the VF */
>> + if (dev->is_virtfn)
>> + return;
>> +
>> + /* If the releaxed ordering enable bit is not set, do nothing. */
>> + if (!pcie_relaxed_ordering_supported(dev))
>> + return;
>> +
>> + if (pci_dev_should_disable_relaxed_ordering(dev)) {
>> + pcie_clear_relaxed_ordering(dev);
>> + dev_info(&dev->dev, "Disable Relaxed Ordering\n");
>> + }
>> +}
>
> I couldn't find anywhere where you actually enable the relaxed ordering
> like the subject suggests.
>
There is no code to enable the PCIe Relaxed Ordering bit in the configuration space,
it is only be enable by default according to the PCIe Standard Specification, what we
do is to distinguish the RC problematic platform and clear the Relaxed Ordering bit
to tell the PCIe EP don't send any TLPs with Relaxed Ordering Attributes to the Root
Complex.

Thanks
Ding