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

Reply via email to