On Wed, Jan 11, 2012 at 7:00 PM, Mike Marciniszyn <[email protected]> wrote: > + if (!qib_pcie_caps) { > + u16 devid = parent->device; > + if ((devid >= 0x25e2 && devid <= 0x25fa) || > + (devid >= 0x65e2 && devid <= 0x65fa) || > + (devid >= 0x4021 && devid <= 0x402e)) > + caps = 0; > + } else
Does this work on systems where the broken chipset might not be the immediate parent of the qib device (ie there are some PCIe switches in between)? Pushing knowledge of completely unrelated devices out into every device driver looks it will be impossible to maintain. If you need to know about the whole PCIe fabric to do this type of tuning, the only way I can see to make this work is to add some helper functions to set these values for a given device, and then add all the workaround handling to the core PCI driver. - R. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
