On Tue, Mar 31, 2015 at 8:06 AM, David Miller <davem@xxxxxxxxxxxxx> wrote: > Your patch only allows the condition behind resources that have 64-bits > of significance, but that is not what the document above says about > when this situation is allowed. > > Please implement the check either exactly as stated in the errata > document, or more loosely if that is not possible, rather than more > strictly than allowed. > > Your overly strict and restrictive checks are what got us into this > predicament in the first place. :-( >From that errata: --- Here are criteria that are sufficient to guarantee correctness for a given candidate BAR: The entire path from the host to the adapter is over PCI Express. No conventional PCI or PCI-X devices do peer-t o-peer reads to the range mapped by the BAR. The PCI Express Host Bridge does no byte merging. (This is believed to be true on most platforms.) Any locations with read side-effects are never the target of Memory Reads with the TH bit Set. See Section 2.2.5 --- We can verify first one that we have all pcie device all the way to the hostbridge. But we can not verify or guarantee other three. System should get better about the constraints with system design. So if it would assign 64bit (and above 4G) mmio to those non-pref 64bit BAR, that means it already make sure system design will follow those criteria. and then we can safely set pref bit in resource flags. Thanks Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html