diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2012-02-27 04:44:48 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-03-04 20:54:01 -0500 |
commit | 0b471506712dd734964b3270d2aa88160712c262 (patch) | |
tree | 52f04bbb15c1ede47ced10c1f48a9ff71a0a90fb /drivers/pci | |
parent | e19a82c18f0e6360ee9fd431721794eb0036c0cd (diff) |
tg3: Recode PCI MRRS adjustment as a PCI quirk
This patch recodes the MRRS cap for 5719 A0 devices as a PCI quirk.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/quirks.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 64765474676..f722c5f6951 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -2161,6 +2161,24 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, | |||
2161 | PCI_DEVICE_ID_NX2_5709S, | 2161 | PCI_DEVICE_ID_NX2_5709S, |
2162 | quirk_brcm_570x_limit_vpd); | 2162 | quirk_brcm_570x_limit_vpd); |
2163 | 2163 | ||
2164 | static void __devinit quirk_brcm_5719_limit_mrrs(struct pci_dev *dev) | ||
2165 | { | ||
2166 | u32 rev; | ||
2167 | |||
2168 | pci_read_config_dword(dev, 0xf4, &rev); | ||
2169 | |||
2170 | /* Only CAP the MRRS if the device is a 5719 A0 */ | ||
2171 | if (rev == 0x05719000) { | ||
2172 | int readrq = pcie_get_readrq(dev); | ||
2173 | if (readrq > 2048) | ||
2174 | pcie_set_readrq(dev, 2048); | ||
2175 | } | ||
2176 | } | ||
2177 | |||
2178 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_BROADCOM, | ||
2179 | PCI_DEVICE_ID_TIGON3_5719, | ||
2180 | quirk_brcm_5719_limit_mrrs); | ||
2181 | |||
2164 | /* Originally in EDAC sources for i82875P: | 2182 | /* Originally in EDAC sources for i82875P: |
2165 | * Intel tells BIOS developers to hide device 6 which | 2183 | * Intel tells BIOS developers to hide device 6 which |
2166 | * configures the overflow device access containing | 2184 | * configures the overflow device access containing |