On Wed, Jul 30, 2014 at 03:34:44PM -0400, Murali Karicheri wrote: > • Maximum remote read request size of 256 bytes The PCI spec simply does not permit a completer to impose this limitation. See spec 2.3.1.1 It is not an option to error a read request because it is too long. All requests must be completed. All completions must be segmented according to the RCB and Max_Payload_Size. > completion packets. So it seems to be able to segment up to maximum > 256 bytes of read request. Where do I find the requirement in PCI > spec that "read response segmentation at the host bridge does not > work" ? You just said it. Segmenting up to only 256 bytes is not a limitation the completer can impose. Such a device is non-conformant. > >So, the only fix is that every downstream device must always have a > >MRSS set to less than the MPS of the host bridge. > > Why this can't be the default behavior in the PCI core? Any cons? It increases read request traffic and read response latency on the bus for large transfers. The MRSS is intented as a performance tuning knob, it is not something that ever needs to be set properly for correct bus operation. Jason -- 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