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

Reply via email to