[PATCH] myri10ge: improve firmware selection
commitce7f93680aa1d37171c654536ae0ce9745d86a24
authorBrice Goglin <brice@myri.com>
Thu, 31 Aug 2006 05:32:59 +0000 (31 01:32 -0400)
committerJeff Garzik <jeff@garzik.org>
Wed, 6 Sep 2006 15:06:46 +0000 (6 11:06 -0400)
tree7c88e6ebafbcdf5c0a89feb82b572a5ea4e6d000
parentb4d01327e4c05ab555a4cf38a33f4b4fa2f75e64
[PATCH] myri10ge: improve firmware selection

Improve the firmware selection by adding 2 cases where we should use the
optimized firmware:
* when the actual PCIe link width is lower than 8x.
* when the board is plugged to one of the new Intel PCIe chipsets that
  are known to provide aligned PCIe completions.

The patch actually raises two concerns:
* We might want to add a generic PCI function to get the PCIe link width since
  some other drivers (at least ipath) do the same. But we probably do not want
  to add a new function for every PCIe capability. I will probably look at it
  and discuss it on linux-pci in the future.
* As requested during the submission, the PCI ids of chipsets that are known to
  provided aligned completion are defined in the myri10ge code. If we keep adding
  new ones, it might become better to move them to pciids.h.
  But, this sort of quirk to detect these chipsets are very specific to our NIC,
  I don't think it is worth moving it to the PCI core until somebody else really
  needs it.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/myri10ge/myri10ge.c