diff options
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r-- | drivers/pci/quirks.c | 132 |
1 files changed, 66 insertions, 66 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 7a451ff56ecc..22ad3ee0cf0b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -37,7 +37,7 @@ | |||
37 | * key system devices. For devices that need to have mmio decoding always-on, | 37 | * key system devices. For devices that need to have mmio decoding always-on, |
38 | * we need to set the dev->mmio_always_on bit. | 38 | * we need to set the dev->mmio_always_on bit. |
39 | */ | 39 | */ |
40 | static void __devinit quirk_mmio_always_on(struct pci_dev *dev) | 40 | static void quirk_mmio_always_on(struct pci_dev *dev) |
41 | { | 41 | { |
42 | dev->mmio_always_on = 1; | 42 | dev->mmio_always_on = 1; |
43 | } | 43 | } |
@@ -48,7 +48,7 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, | |||
48 | * Mark this device with a broken_parity_status, to allow | 48 | * Mark this device with a broken_parity_status, to allow |
49 | * PCI scanning code to "skip" this now blacklisted device. | 49 | * PCI scanning code to "skip" this now blacklisted device. |
50 | */ | 50 | */ |
51 | static void __devinit quirk_mellanox_tavor(struct pci_dev *dev) | 51 | static void quirk_mellanox_tavor(struct pci_dev *dev) |
52 | { | 52 | { |
53 | dev->broken_parity_status = 1; /* This device gives false positives */ | 53 | dev->broken_parity_status = 1; /* This device gives false positives */ |
54 | } | 54 | } |
@@ -83,7 +83,7 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_p | |||
83 | This appears to be BIOS not version dependent. So presumably there is a | 83 | This appears to be BIOS not version dependent. So presumably there is a |
84 | chipset level fix */ | 84 | chipset level fix */ |
85 | 85 | ||
86 | static void __devinit quirk_isa_dma_hangs(struct pci_dev *dev) | 86 | static void quirk_isa_dma_hangs(struct pci_dev *dev) |
87 | { | 87 | { |
88 | if (!isa_dma_bridge_buggy) { | 88 | if (!isa_dma_bridge_buggy) { |
89 | isa_dma_bridge_buggy=1; | 89 | isa_dma_bridge_buggy=1; |
@@ -106,7 +106,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_d | |||
106 | * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear | 106 | * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear |
107 | * for some HT machines to use C4 w/o hanging. | 107 | * for some HT machines to use C4 w/o hanging. |
108 | */ | 108 | */ |
109 | static void __devinit quirk_tigerpoint_bm_sts(struct pci_dev *dev) | 109 | static void quirk_tigerpoint_bm_sts(struct pci_dev *dev) |
110 | { | 110 | { |
111 | u32 pmbase; | 111 | u32 pmbase; |
112 | u16 pm1a; | 112 | u16 pm1a; |
@@ -125,7 +125,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TGP_LPC, quirk | |||
125 | /* | 125 | /* |
126 | * Chipsets where PCI->PCI transfers vanish or hang | 126 | * Chipsets where PCI->PCI transfers vanish or hang |
127 | */ | 127 | */ |
128 | static void __devinit quirk_nopcipci(struct pci_dev *dev) | 128 | static void quirk_nopcipci(struct pci_dev *dev) |
129 | { | 129 | { |
130 | if ((pci_pci_problems & PCIPCI_FAIL)==0) { | 130 | if ((pci_pci_problems & PCIPCI_FAIL)==0) { |
131 | dev_info(&dev->dev, "Disabling direct PCI/PCI transfers\n"); | 131 | dev_info(&dev->dev, "Disabling direct PCI/PCI transfers\n"); |
@@ -135,7 +135,7 @@ static void __devinit quirk_nopcipci(struct pci_dev *dev) | |||
135 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci); | 135 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci); |
136 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci); | 136 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci); |
137 | 137 | ||
138 | static void __devinit quirk_nopciamd(struct pci_dev *dev) | 138 | static void quirk_nopciamd(struct pci_dev *dev) |
139 | { | 139 | { |
140 | u8 rev; | 140 | u8 rev; |
141 | pci_read_config_byte(dev, 0x08, &rev); | 141 | pci_read_config_byte(dev, 0x08, &rev); |
@@ -150,7 +150,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8151_0, quirk_nopci | |||
150 | /* | 150 | /* |
151 | * Triton requires workarounds to be used by the drivers | 151 | * Triton requires workarounds to be used by the drivers |
152 | */ | 152 | */ |
153 | static void __devinit quirk_triton(struct pci_dev *dev) | 153 | static void quirk_triton(struct pci_dev *dev) |
154 | { | 154 | { |
155 | if ((pci_pci_problems&PCIPCI_TRITON)==0) { | 155 | if ((pci_pci_problems&PCIPCI_TRITON)==0) { |
156 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); | 156 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); |
@@ -229,7 +229,7 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, quirk_viala | |||
229 | /* | 229 | /* |
230 | * VIA Apollo VP3 needs ETBF on BT848/878 | 230 | * VIA Apollo VP3 needs ETBF on BT848/878 |
231 | */ | 231 | */ |
232 | static void __devinit quirk_viaetbf(struct pci_dev *dev) | 232 | static void quirk_viaetbf(struct pci_dev *dev) |
233 | { | 233 | { |
234 | if ((pci_pci_problems&PCIPCI_VIAETBF)==0) { | 234 | if ((pci_pci_problems&PCIPCI_VIAETBF)==0) { |
235 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); | 235 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); |
@@ -238,7 +238,7 @@ static void __devinit quirk_viaetbf(struct pci_dev *dev) | |||
238 | } | 238 | } |
239 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_viaetbf); | 239 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_viaetbf); |
240 | 240 | ||
241 | static void __devinit quirk_vsfx(struct pci_dev *dev) | 241 | static void quirk_vsfx(struct pci_dev *dev) |
242 | { | 242 | { |
243 | if ((pci_pci_problems&PCIPCI_VSFX)==0) { | 243 | if ((pci_pci_problems&PCIPCI_VSFX)==0) { |
244 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); | 244 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); |
@@ -253,7 +253,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576, quirk_vsfx) | |||
253 | * workaround applied too | 253 | * workaround applied too |
254 | * [Info kindly provided by ALi] | 254 | * [Info kindly provided by ALi] |
255 | */ | 255 | */ |
256 | static void __devinit quirk_alimagik(struct pci_dev *dev) | 256 | static void quirk_alimagik(struct pci_dev *dev) |
257 | { | 257 | { |
258 | if ((pci_pci_problems&PCIPCI_ALIMAGIK)==0) { | 258 | if ((pci_pci_problems&PCIPCI_ALIMAGIK)==0) { |
259 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); | 259 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); |
@@ -267,7 +267,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1651, quirk_alimag | |||
267 | * Natoma has some interesting boundary conditions with Zoran stuff | 267 | * Natoma has some interesting boundary conditions with Zoran stuff |
268 | * at least | 268 | * at least |
269 | */ | 269 | */ |
270 | static void __devinit quirk_natoma(struct pci_dev *dev) | 270 | static void quirk_natoma(struct pci_dev *dev) |
271 | { | 271 | { |
272 | if ((pci_pci_problems&PCIPCI_NATOMA)==0) { | 272 | if ((pci_pci_problems&PCIPCI_NATOMA)==0) { |
273 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); | 273 | dev_info(&dev->dev, "Limiting direct PCI/PCI transfers\n"); |
@@ -285,7 +285,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2, qu | |||
285 | * This chip can cause PCI parity errors if config register 0xA0 is read | 285 | * This chip can cause PCI parity errors if config register 0xA0 is read |
286 | * while DMAs are occurring. | 286 | * while DMAs are occurring. |
287 | */ | 287 | */ |
288 | static void __devinit quirk_citrine(struct pci_dev *dev) | 288 | static void quirk_citrine(struct pci_dev *dev) |
289 | { | 289 | { |
290 | dev->cfg_size = 0xA0; | 290 | dev->cfg_size = 0xA0; |
291 | } | 291 | } |
@@ -295,7 +295,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CITRINE, quirk_cit | |||
295 | * S3 868 and 968 chips report region size equal to 32M, but they decode 64M. | 295 | * S3 868 and 968 chips report region size equal to 32M, but they decode 64M. |
296 | * If it's needed, re-allocate the region. | 296 | * If it's needed, re-allocate the region. |
297 | */ | 297 | */ |
298 | static void __devinit quirk_s3_64M(struct pci_dev *dev) | 298 | static void quirk_s3_64M(struct pci_dev *dev) |
299 | { | 299 | { |
300 | struct resource *r = &dev->resource[0]; | 300 | struct resource *r = &dev->resource[0]; |
301 | 301 | ||
@@ -313,7 +313,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_S3, PCI_DEVICE_ID_S3_968, quirk_s3_64M); | |||
313 | * BAR0 should be 8 bytes; instead, it may be set to something like 8k | 313 | * BAR0 should be 8 bytes; instead, it may be set to something like 8k |
314 | * (which conflicts w/ BAR1's memory range). | 314 | * (which conflicts w/ BAR1's memory range). |
315 | */ | 315 | */ |
316 | static void __devinit quirk_cs5536_vsa(struct pci_dev *dev) | 316 | static void quirk_cs5536_vsa(struct pci_dev *dev) |
317 | { | 317 | { |
318 | if (pci_resource_len(dev, 0) != 8) { | 318 | if (pci_resource_len(dev, 0) != 8) { |
319 | struct resource *res = &dev->resource[0]; | 319 | struct resource *res = &dev->resource[0]; |
@@ -324,7 +324,7 @@ static void __devinit quirk_cs5536_vsa(struct pci_dev *dev) | |||
324 | } | 324 | } |
325 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, quirk_cs5536_vsa); | 325 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, quirk_cs5536_vsa); |
326 | 326 | ||
327 | static void __devinit quirk_io_region(struct pci_dev *dev, unsigned region, | 327 | static void quirk_io_region(struct pci_dev *dev, unsigned region, |
328 | unsigned size, int nr, const char *name) | 328 | unsigned size, int nr, const char *name) |
329 | { | 329 | { |
330 | region &= ~(size-1); | 330 | region &= ~(size-1); |
@@ -352,7 +352,7 @@ static void __devinit quirk_io_region(struct pci_dev *dev, unsigned region, | |||
352 | * ATI Northbridge setups MCE the processor if you even | 352 | * ATI Northbridge setups MCE the processor if you even |
353 | * read somewhere between 0x3b0->0x3bb or read 0x3d3 | 353 | * read somewhere between 0x3b0->0x3bb or read 0x3d3 |
354 | */ | 354 | */ |
355 | static void __devinit quirk_ati_exploding_mce(struct pci_dev *dev) | 355 | static void quirk_ati_exploding_mce(struct pci_dev *dev) |
356 | { | 356 | { |
357 | dev_info(&dev->dev, "ATI Northbridge, reserving I/O ports 0x3b0 to 0x3bb\n"); | 357 | dev_info(&dev->dev, "ATI Northbridge, reserving I/O ports 0x3b0 to 0x3bb\n"); |
358 | /* Mae rhaid i ni beidio ag edrych ar y lleoliadiau I/O hyn */ | 358 | /* Mae rhaid i ni beidio ag edrych ar y lleoliadiau I/O hyn */ |
@@ -372,7 +372,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_ | |||
372 | * 0xE0 (64 bytes of ACPI registers) | 372 | * 0xE0 (64 bytes of ACPI registers) |
373 | * 0xE2 (32 bytes of SMB registers) | 373 | * 0xE2 (32 bytes of SMB registers) |
374 | */ | 374 | */ |
375 | static void __devinit quirk_ali7101_acpi(struct pci_dev *dev) | 375 | static void quirk_ali7101_acpi(struct pci_dev *dev) |
376 | { | 376 | { |
377 | u16 region; | 377 | u16 region; |
378 | 378 | ||
@@ -440,7 +440,7 @@ static void piix4_mem_quirk(struct pci_dev *dev, const char *name, unsigned int | |||
440 | * 0x90 (16 bytes of SMB registers) | 440 | * 0x90 (16 bytes of SMB registers) |
441 | * and a few strange programmable PIIX4 device resources. | 441 | * and a few strange programmable PIIX4 device resources. |
442 | */ | 442 | */ |
443 | static void __devinit quirk_piix4_acpi(struct pci_dev *dev) | 443 | static void quirk_piix4_acpi(struct pci_dev *dev) |
444 | { | 444 | { |
445 | u32 region, res_a; | 445 | u32 region, res_a; |
446 | 446 | ||
@@ -489,7 +489,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443MX_3, qui | |||
489 | * 0x40 (128 bytes of ACPI, GPIO & TCO registers) | 489 | * 0x40 (128 bytes of ACPI, GPIO & TCO registers) |
490 | * 0x58 (64 bytes of GPIO I/O space) | 490 | * 0x58 (64 bytes of GPIO I/O space) |
491 | */ | 491 | */ |
492 | static void __devinit quirk_ich4_lpc_acpi(struct pci_dev *dev) | 492 | static void quirk_ich4_lpc_acpi(struct pci_dev *dev) |
493 | { | 493 | { |
494 | u32 region; | 494 | u32 region; |
495 | u8 enable; | 495 | u8 enable; |
@@ -531,7 +531,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, | |||
531 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, quirk_ich4_lpc_acpi); | 531 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, quirk_ich4_lpc_acpi); |
532 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, quirk_ich4_lpc_acpi); | 532 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, quirk_ich4_lpc_acpi); |
533 | 533 | ||
534 | static void __devinit ich6_lpc_acpi_gpio(struct pci_dev *dev) | 534 | static void ich6_lpc_acpi_gpio(struct pci_dev *dev) |
535 | { | 535 | { |
536 | u32 region; | 536 | u32 region; |
537 | u8 enable; | 537 | u8 enable; |
@@ -555,7 +555,7 @@ static void __devinit ich6_lpc_acpi_gpio(struct pci_dev *dev) | |||
555 | } | 555 | } |
556 | } | 556 | } |
557 | 557 | ||
558 | static void __devinit ich6_lpc_generic_decode(struct pci_dev *dev, unsigned reg, const char *name, int dynsize) | 558 | static void ich6_lpc_generic_decode(struct pci_dev *dev, unsigned reg, const char *name, int dynsize) |
559 | { | 559 | { |
560 | u32 val; | 560 | u32 val; |
561 | u32 size, base; | 561 | u32 size, base; |
@@ -583,7 +583,7 @@ static void __devinit ich6_lpc_generic_decode(struct pci_dev *dev, unsigned reg, | |||
583 | dev_info(&dev->dev, "%s PIO at %04x-%04x\n", name, base, base+size-1); | 583 | dev_info(&dev->dev, "%s PIO at %04x-%04x\n", name, base, base+size-1); |
584 | } | 584 | } |
585 | 585 | ||
586 | static void __devinit quirk_ich6_lpc(struct pci_dev *dev) | 586 | static void quirk_ich6_lpc(struct pci_dev *dev) |
587 | { | 587 | { |
588 | /* Shared ACPI/GPIO decode with all ICH6+ */ | 588 | /* Shared ACPI/GPIO decode with all ICH6+ */ |
589 | ich6_lpc_acpi_gpio(dev); | 589 | ich6_lpc_acpi_gpio(dev); |
@@ -595,7 +595,7 @@ static void __devinit quirk_ich6_lpc(struct pci_dev *dev) | |||
595 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_0, quirk_ich6_lpc); | 595 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_0, quirk_ich6_lpc); |
596 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_1, quirk_ich6_lpc); | 596 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_1, quirk_ich6_lpc); |
597 | 597 | ||
598 | static void __devinit ich7_lpc_generic_decode(struct pci_dev *dev, unsigned reg, const char *name) | 598 | static void ich7_lpc_generic_decode(struct pci_dev *dev, unsigned reg, const char *name) |
599 | { | 599 | { |
600 | u32 val; | 600 | u32 val; |
601 | u32 mask, base; | 601 | u32 mask, base; |
@@ -619,7 +619,7 @@ static void __devinit ich7_lpc_generic_decode(struct pci_dev *dev, unsigned reg, | |||
619 | } | 619 | } |
620 | 620 | ||
621 | /* ICH7-10 has the same common LPC generic IO decode registers */ | 621 | /* ICH7-10 has the same common LPC generic IO decode registers */ |
622 | static void __devinit quirk_ich7_lpc(struct pci_dev *dev) | 622 | static void quirk_ich7_lpc(struct pci_dev *dev) |
623 | { | 623 | { |
624 | /* We share the common ACPI/GPIO decode with ICH6 */ | 624 | /* We share the common ACPI/GPIO decode with ICH6 */ |
625 | ich6_lpc_acpi_gpio(dev); | 625 | ich6_lpc_acpi_gpio(dev); |
@@ -648,7 +648,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_1, qui | |||
648 | * VIA ACPI: One IO region pointed to by longword at | 648 | * VIA ACPI: One IO region pointed to by longword at |
649 | * 0x48 or 0x20 (256 bytes of ACPI registers) | 649 | * 0x48 or 0x20 (256 bytes of ACPI registers) |
650 | */ | 650 | */ |
651 | static void __devinit quirk_vt82c586_acpi(struct pci_dev *dev) | 651 | static void quirk_vt82c586_acpi(struct pci_dev *dev) |
652 | { | 652 | { |
653 | u32 region; | 653 | u32 region; |
654 | 654 | ||
@@ -666,7 +666,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_vt | |||
666 | * 0x70 (128 bytes of hardware monitoring register) | 666 | * 0x70 (128 bytes of hardware monitoring register) |
667 | * 0x90 (16 bytes of SMB registers) | 667 | * 0x90 (16 bytes of SMB registers) |
668 | */ | 668 | */ |
669 | static void __devinit quirk_vt82c686_acpi(struct pci_dev *dev) | 669 | static void quirk_vt82c686_acpi(struct pci_dev *dev) |
670 | { | 670 | { |
671 | u16 hm; | 671 | u16 hm; |
672 | u32 smb; | 672 | u32 smb; |
@@ -688,7 +688,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_vt | |||
688 | * 0x88 (128 bytes of power management registers) | 688 | * 0x88 (128 bytes of power management registers) |
689 | * 0xd0 (16 bytes of SMB registers) | 689 | * 0xd0 (16 bytes of SMB registers) |
690 | */ | 690 | */ |
691 | static void __devinit quirk_vt8235_acpi(struct pci_dev *dev) | 691 | static void quirk_vt8235_acpi(struct pci_dev *dev) |
692 | { | 692 | { |
693 | u16 pm, smb; | 693 | u16 pm, smb; |
694 | 694 | ||
@@ -706,7 +706,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235, quirk_vt8235 | |||
706 | * TI XIO2000a PCIe-PCI Bridge erroneously reports it supports fast back-to-back: | 706 | * TI XIO2000a PCIe-PCI Bridge erroneously reports it supports fast back-to-back: |
707 | * Disable fast back-to-back on the secondary bus segment | 707 | * Disable fast back-to-back on the secondary bus segment |
708 | */ | 708 | */ |
709 | static void __devinit quirk_xio2000a(struct pci_dev *dev) | 709 | static void quirk_xio2000a(struct pci_dev *dev) |
710 | { | 710 | { |
711 | struct pci_dev *pdev; | 711 | struct pci_dev *pdev; |
712 | u16 command; | 712 | u16 command; |
@@ -780,7 +780,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, quirk | |||
780 | * noapic specified. For the moment we assume it's the erratum. We may be wrong | 780 | * noapic specified. For the moment we assume it's the erratum. We may be wrong |
781 | * of course. However the advice is demonstrably good even if so.. | 781 | * of course. However the advice is demonstrably good even if so.. |
782 | */ | 782 | */ |
783 | static void __devinit quirk_amd_ioapic(struct pci_dev *dev) | 783 | static void quirk_amd_ioapic(struct pci_dev *dev) |
784 | { | 784 | { |
785 | if (dev->revision >= 0x02) { | 785 | if (dev->revision >= 0x02) { |
786 | dev_warn(&dev->dev, "I/O APIC: AMD Erratum #22 may be present. In the event of instability try\n"); | 786 | dev_warn(&dev->dev, "I/O APIC: AMD Erratum #22 may be present. In the event of instability try\n"); |
@@ -789,7 +789,7 @@ static void __devinit quirk_amd_ioapic(struct pci_dev *dev) | |||
789 | } | 789 | } |
790 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic); | 790 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic); |
791 | 791 | ||
792 | static void __devinit quirk_ioapic_rmw(struct pci_dev *dev) | 792 | static void quirk_ioapic_rmw(struct pci_dev *dev) |
793 | { | 793 | { |
794 | if (dev->devfn == 0 && dev->bus->number == 0) | 794 | if (dev->devfn == 0 && dev->bus->number == 0) |
795 | sis_apic_bug = 1; | 795 | sis_apic_bug = 1; |
@@ -801,7 +801,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_ANY_ID, quirk_ioapic_rmw); | |||
801 | * Some settings of MMRBC can lead to data corruption so block changes. | 801 | * Some settings of MMRBC can lead to data corruption so block changes. |
802 | * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide | 802 | * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide |
803 | */ | 803 | */ |
804 | static void __devinit quirk_amd_8131_mmrbc(struct pci_dev *dev) | 804 | static void quirk_amd_8131_mmrbc(struct pci_dev *dev) |
805 | { | 805 | { |
806 | if (dev->subordinate && dev->revision <= 0x12) { | 806 | if (dev->subordinate && dev->revision <= 0x12) { |
807 | dev_info(&dev->dev, "AMD8131 rev %x detected; " | 807 | dev_info(&dev->dev, "AMD8131 rev %x detected; " |
@@ -819,7 +819,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_ | |||
819 | * value of the ACPI SCI interrupt is only done for convenience. | 819 | * value of the ACPI SCI interrupt is only done for convenience. |
820 | * -jgarzik | 820 | * -jgarzik |
821 | */ | 821 | */ |
822 | static void __devinit quirk_via_acpi(struct pci_dev *d) | 822 | static void quirk_via_acpi(struct pci_dev *d) |
823 | { | 823 | { |
824 | /* | 824 | /* |
825 | * VIA ACPI device: SCI IRQ line in PCI config byte 0x42 | 825 | * VIA ACPI device: SCI IRQ line in PCI config byte 0x42 |
@@ -926,7 +926,7 @@ DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_vlink); | |||
926 | * We need to switch it off to be able to recognize the real | 926 | * We need to switch it off to be able to recognize the real |
927 | * type of the chip. | 927 | * type of the chip. |
928 | */ | 928 | */ |
929 | static void __devinit quirk_vt82c598_id(struct pci_dev *dev) | 929 | static void quirk_vt82c598_id(struct pci_dev *dev) |
930 | { | 930 | { |
931 | pci_write_config_byte(dev, 0xfc, 0); | 931 | pci_write_config_byte(dev, 0xfc, 0); |
932 | pci_read_config_word(dev, PCI_DEVICE_ID, &dev->device); | 932 | pci_read_config_word(dev, PCI_DEVICE_ID, &dev->device); |
@@ -978,7 +978,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_FE_GATE_700C | |||
978 | * assigned to it. We force a larger allocation to ensure that | 978 | * assigned to it. We force a larger allocation to ensure that |
979 | * nothing gets put too close to it. | 979 | * nothing gets put too close to it. |
980 | */ | 980 | */ |
981 | static void __devinit quirk_dunord ( struct pci_dev * dev ) | 981 | static void quirk_dunord(struct pci_dev *dev) |
982 | { | 982 | { |
983 | struct resource *r = &dev->resource [1]; | 983 | struct resource *r = &dev->resource [1]; |
984 | r->start = 0; | 984 | r->start = 0; |
@@ -992,7 +992,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DUNORD, PCI_DEVICE_ID_DUNORD_I3000, quirk | |||
992 | * in the ProgIf. Unfortunately, the ProgIf value is wrong - 0x80 | 992 | * in the ProgIf. Unfortunately, the ProgIf value is wrong - 0x80 |
993 | * instead of 0x01. | 993 | * instead of 0x01. |
994 | */ | 994 | */ |
995 | static void __devinit quirk_transparent_bridge(struct pci_dev *dev) | 995 | static void quirk_transparent_bridge(struct pci_dev *dev) |
996 | { | 996 | { |
997 | dev->transparent = 1; | 997 | dev->transparent = 1; |
998 | } | 998 | } |
@@ -1066,7 +1066,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA | |||
1066 | /* | 1066 | /* |
1067 | * Serverworks CSB5 IDE does not fully support native mode | 1067 | * Serverworks CSB5 IDE does not fully support native mode |
1068 | */ | 1068 | */ |
1069 | static void __devinit quirk_svwks_csb5ide(struct pci_dev *pdev) | 1069 | static void quirk_svwks_csb5ide(struct pci_dev *pdev) |
1070 | { | 1070 | { |
1071 | u8 prog; | 1071 | u8 prog; |
1072 | pci_read_config_byte(pdev, PCI_CLASS_PROG, &prog); | 1072 | pci_read_config_byte(pdev, PCI_CLASS_PROG, &prog); |
@@ -1082,7 +1082,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB | |||
1082 | /* | 1082 | /* |
1083 | * Intel 82801CAM ICH3-M datasheet says IDE modes must be the same | 1083 | * Intel 82801CAM ICH3-M datasheet says IDE modes must be the same |
1084 | */ | 1084 | */ |
1085 | static void __devinit quirk_ide_samemode(struct pci_dev *pdev) | 1085 | static void quirk_ide_samemode(struct pci_dev *pdev) |
1086 | { | 1086 | { |
1087 | u8 prog; | 1087 | u8 prog; |
1088 | 1088 | ||
@@ -1101,7 +1101,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_10, qui | |||
1101 | * Some ATA devices break if put into D3 | 1101 | * Some ATA devices break if put into D3 |
1102 | */ | 1102 | */ |
1103 | 1103 | ||
1104 | static void __devinit quirk_no_ata_d3(struct pci_dev *pdev) | 1104 | static void quirk_no_ata_d3(struct pci_dev *pdev) |
1105 | { | 1105 | { |
1106 | pdev->dev_flags |= PCI_DEV_FLAGS_NO_D3; | 1106 | pdev->dev_flags |= PCI_DEV_FLAGS_NO_D3; |
1107 | } | 1107 | } |
@@ -1121,7 +1121,7 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_VIA, PCI_ANY_ID, | |||
1121 | /* This was originally an Alpha specific thing, but it really fits here. | 1121 | /* This was originally an Alpha specific thing, but it really fits here. |
1122 | * The i82375 PCI/EISA bridge appears as non-classified. Fix that. | 1122 | * The i82375 PCI/EISA bridge appears as non-classified. Fix that. |
1123 | */ | 1123 | */ |
1124 | static void __devinit quirk_eisa_bridge(struct pci_dev *dev) | 1124 | static void quirk_eisa_bridge(struct pci_dev *dev) |
1125 | { | 1125 | { |
1126 | dev->class = PCI_CLASS_BRIDGE_EISA << 8; | 1126 | dev->class = PCI_CLASS_BRIDGE_EISA << 8; |
1127 | } | 1127 | } |
@@ -1155,7 +1155,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_e | |||
1155 | */ | 1155 | */ |
1156 | static int asus_hides_smbus; | 1156 | static int asus_hides_smbus; |
1157 | 1157 | ||
1158 | static void __devinit asus_hides_smbus_hostbridge(struct pci_dev *dev) | 1158 | static void asus_hides_smbus_hostbridge(struct pci_dev *dev) |
1159 | { | 1159 | { |
1160 | if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) { | 1160 | if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) { |
1161 | if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB) | 1161 | if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB) |
@@ -1538,7 +1538,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB3 | |||
1538 | #endif | 1538 | #endif |
1539 | 1539 | ||
1540 | #ifdef CONFIG_X86_IO_APIC | 1540 | #ifdef CONFIG_X86_IO_APIC |
1541 | static void __devinit quirk_alder_ioapic(struct pci_dev *pdev) | 1541 | static void quirk_alder_ioapic(struct pci_dev *pdev) |
1542 | { | 1542 | { |
1543 | int i; | 1543 | int i; |
1544 | 1544 | ||
@@ -1561,7 +1561,7 @@ static void __devinit quirk_alder_ioapic(struct pci_dev *pdev) | |||
1561 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic); | 1561 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic); |
1562 | #endif | 1562 | #endif |
1563 | 1563 | ||
1564 | static void __devinit quirk_pcie_mch(struct pci_dev *pdev) | 1564 | static void quirk_pcie_mch(struct pci_dev *pdev) |
1565 | { | 1565 | { |
1566 | pci_msi_off(pdev); | 1566 | pci_msi_off(pdev); |
1567 | pdev->no_msi = 1; | 1567 | pdev->no_msi = 1; |
@@ -1575,7 +1575,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7525_MCH, quir | |||
1575 | * It's possible for the MSI to get corrupted if shpc and acpi | 1575 | * It's possible for the MSI to get corrupted if shpc and acpi |
1576 | * are used together on certain PXH-based systems. | 1576 | * are used together on certain PXH-based systems. |
1577 | */ | 1577 | */ |
1578 | static void __devinit quirk_pcie_pxh(struct pci_dev *dev) | 1578 | static void quirk_pcie_pxh(struct pci_dev *dev) |
1579 | { | 1579 | { |
1580 | pci_msi_off(dev); | 1580 | pci_msi_off(dev); |
1581 | dev->no_msi = 1; | 1581 | dev->no_msi = 1; |
@@ -1777,7 +1777,7 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8111_SMBUS, qui | |||
1777 | * but the PIO transfers won't work if BAR0 falls at the odd 8 bytes. | 1777 | * but the PIO transfers won't work if BAR0 falls at the odd 8 bytes. |
1778 | * Re-allocate the region if needed... | 1778 | * Re-allocate the region if needed... |
1779 | */ | 1779 | */ |
1780 | static void __devinit quirk_tc86c001_ide(struct pci_dev *dev) | 1780 | static void quirk_tc86c001_ide(struct pci_dev *dev) |
1781 | { | 1781 | { |
1782 | struct resource *r = &dev->resource[0]; | 1782 | struct resource *r = &dev->resource[0]; |
1783 | 1783 | ||
@@ -1790,7 +1790,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TOSHIBA_2, | |||
1790 | PCI_DEVICE_ID_TOSHIBA_TC86C001_IDE, | 1790 | PCI_DEVICE_ID_TOSHIBA_TC86C001_IDE, |
1791 | quirk_tc86c001_ide); | 1791 | quirk_tc86c001_ide); |
1792 | 1792 | ||
1793 | static void __devinit quirk_netmos(struct pci_dev *dev) | 1793 | static void quirk_netmos(struct pci_dev *dev) |
1794 | { | 1794 | { |
1795 | unsigned int num_parallel = (dev->subsystem_device & 0xf0) >> 4; | 1795 | unsigned int num_parallel = (dev->subsystem_device & 0xf0) >> 4; |
1796 | unsigned int num_serial = dev->subsystem_device & 0xf; | 1796 | unsigned int num_serial = dev->subsystem_device & 0xf; |
@@ -1828,7 +1828,7 @@ static void __devinit quirk_netmos(struct pci_dev *dev) | |||
1828 | DECLARE_PCI_FIXUP_CLASS_HEADER(PCI_VENDOR_ID_NETMOS, PCI_ANY_ID, | 1828 | DECLARE_PCI_FIXUP_CLASS_HEADER(PCI_VENDOR_ID_NETMOS, PCI_ANY_ID, |
1829 | PCI_CLASS_COMMUNICATION_SERIAL, 8, quirk_netmos); | 1829 | PCI_CLASS_COMMUNICATION_SERIAL, 8, quirk_netmos); |
1830 | 1830 | ||
1831 | static void __devinit quirk_e100_interrupt(struct pci_dev *dev) | 1831 | static void quirk_e100_interrupt(struct pci_dev *dev) |
1832 | { | 1832 | { |
1833 | u16 command, pmcsr; | 1833 | u16 command, pmcsr; |
1834 | u8 __iomem *csr; | 1834 | u8 __iomem *csr; |
@@ -1901,7 +1901,7 @@ DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, | |||
1901 | * The 82575 and 82598 may experience data corruption issues when transitioning | 1901 | * The 82575 and 82598 may experience data corruption issues when transitioning |
1902 | * out of L0S. To prevent this we need to disable L0S on the pci-e link | 1902 | * out of L0S. To prevent this we need to disable L0S on the pci-e link |
1903 | */ | 1903 | */ |
1904 | static void __devinit quirk_disable_aspm_l0s(struct pci_dev *dev) | 1904 | static void quirk_disable_aspm_l0s(struct pci_dev *dev) |
1905 | { | 1905 | { |
1906 | dev_info(&dev->dev, "Disabling L0s\n"); | 1906 | dev_info(&dev->dev, "Disabling L0s\n"); |
1907 | pci_disable_link_state(dev, PCIE_LINK_STATE_L0S); | 1907 | pci_disable_link_state(dev, PCIE_LINK_STATE_L0S); |
@@ -1921,7 +1921,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f1, quirk_disable_aspm_l0s); | |||
1921 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s); | 1921 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s); |
1922 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s); | 1922 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s); |
1923 | 1923 | ||
1924 | static void __devinit fixup_rev1_53c810(struct pci_dev* dev) | 1924 | static void fixup_rev1_53c810(struct pci_dev *dev) |
1925 | { | 1925 | { |
1926 | /* rev 1 ncr53c810 chips don't set the class at all which means | 1926 | /* rev 1 ncr53c810 chips don't set the class at all which means |
1927 | * they don't get their resources remapped. Fix that here. | 1927 | * they don't get their resources remapped. Fix that here. |
@@ -1935,7 +1935,7 @@ static void __devinit fixup_rev1_53c810(struct pci_dev* dev) | |||
1935 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); | 1935 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); |
1936 | 1936 | ||
1937 | /* Enable 1k I/O space granularity on the Intel P64H2 */ | 1937 | /* Enable 1k I/O space granularity on the Intel P64H2 */ |
1938 | static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) | 1938 | static void quirk_p64h2_1k_io(struct pci_dev *dev) |
1939 | { | 1939 | { |
1940 | u16 en1k; | 1940 | u16 en1k; |
1941 | 1941 | ||
@@ -1968,7 +1968,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE, | |||
1968 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE, | 1968 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE, |
1969 | quirk_nvidia_ck804_pcie_aer_ext_cap); | 1969 | quirk_nvidia_ck804_pcie_aer_ext_cap); |
1970 | 1970 | ||
1971 | static void __devinit quirk_via_cx700_pci_parking_caching(struct pci_dev *dev) | 1971 | static void quirk_via_cx700_pci_parking_caching(struct pci_dev *dev) |
1972 | { | 1972 | { |
1973 | /* | 1973 | /* |
1974 | * Disable PCI Bus Parking and PCI Master read caching on CX700 | 1974 | * Disable PCI Bus Parking and PCI Master read caching on CX700 |
@@ -2031,7 +2031,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, 0x324e, quirk_via_cx700_pci_parking_c | |||
2031 | * We believe that it is legal to read beyond the end tag and | 2031 | * We believe that it is legal to read beyond the end tag and |
2032 | * therefore the solution is to limit the read/write length. | 2032 | * therefore the solution is to limit the read/write length. |
2033 | */ | 2033 | */ |
2034 | static void __devinit quirk_brcm_570x_limit_vpd(struct pci_dev *dev) | 2034 | static void quirk_brcm_570x_limit_vpd(struct pci_dev *dev) |
2035 | { | 2035 | { |
2036 | /* | 2036 | /* |
2037 | * Only disable the VPD capability for 5706, 5706S, 5708, | 2037 | * Only disable the VPD capability for 5706, 5706S, 5708, |
@@ -2091,7 +2091,7 @@ DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_BROADCOM, | |||
2091 | * the DRBs - this is where we expose device 6. | 2091 | * the DRBs - this is where we expose device 6. |
2092 | * http://www.x86-secret.com/articles/tweak/pat/patsecrets-2.htm | 2092 | * http://www.x86-secret.com/articles/tweak/pat/patsecrets-2.htm |
2093 | */ | 2093 | */ |
2094 | static void __devinit quirk_unhide_mch_dev6(struct pci_dev *dev) | 2094 | static void quirk_unhide_mch_dev6(struct pci_dev *dev) |
2095 | { | 2095 | { |
2096 | u8 reg; | 2096 | u8 reg; |
2097 | 2097 | ||
@@ -2115,7 +2115,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82875_HB, | |||
2115 | * supports link speed auto negotiation, but falsely sets | 2115 | * supports link speed auto negotiation, but falsely sets |
2116 | * the link speed to 5GT/s. | 2116 | * the link speed to 5GT/s. |
2117 | */ | 2117 | */ |
2118 | static void __devinit quirk_tile_plx_gen1(struct pci_dev *dev) | 2118 | static void quirk_tile_plx_gen1(struct pci_dev *dev) |
2119 | { | 2119 | { |
2120 | if (tile_plx_gen1) { | 2120 | if (tile_plx_gen1) { |
2121 | pci_write_config_dword(dev, 0x98, 0x1); | 2121 | pci_write_config_dword(dev, 0x98, 0x1); |
@@ -2132,7 +2132,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8624, quirk_tile_plx_gen1); | |||
2132 | * aware of it. Instead of setting the flag on all busses in the | 2132 | * aware of it. Instead of setting the flag on all busses in the |
2133 | * machine, simply disable MSI globally. | 2133 | * machine, simply disable MSI globally. |
2134 | */ | 2134 | */ |
2135 | static void __devinit quirk_disable_all_msi(struct pci_dev *dev) | 2135 | static void quirk_disable_all_msi(struct pci_dev *dev) |
2136 | { | 2136 | { |
2137 | pci_no_msi(); | 2137 | pci_no_msi(); |
2138 | dev_warn(&dev->dev, "MSI quirk detected; MSI disabled\n"); | 2138 | dev_warn(&dev->dev, "MSI quirk detected; MSI disabled\n"); |
@@ -2146,7 +2146,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disab | |||
2146 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi); | 2146 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi); |
2147 | 2147 | ||
2148 | /* Disable MSI on chipsets that are known to not support it */ | 2148 | /* Disable MSI on chipsets that are known to not support it */ |
2149 | static void __devinit quirk_disable_msi(struct pci_dev *dev) | 2149 | static void quirk_disable_msi(struct pci_dev *dev) |
2150 | { | 2150 | { |
2151 | if (dev->subordinate) { | 2151 | if (dev->subordinate) { |
2152 | dev_warn(&dev->dev, "MSI quirk detected; " | 2152 | dev_warn(&dev->dev, "MSI quirk detected; " |
@@ -2164,7 +2164,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x5a3f, quirk_disable_msi); | |||
2164 | * we use the possible vendor/device IDs of the host bridge for the | 2164 | * we use the possible vendor/device IDs of the host bridge for the |
2165 | * declared quirk, and search for the APC bridge by slot number. | 2165 | * declared quirk, and search for the APC bridge by slot number. |
2166 | */ | 2166 | */ |
2167 | static void __devinit quirk_amd_780_apc_msi(struct pci_dev *host_bridge) | 2167 | static void quirk_amd_780_apc_msi(struct pci_dev *host_bridge) |
2168 | { | 2168 | { |
2169 | struct pci_dev *apc_bridge; | 2169 | struct pci_dev *apc_bridge; |
2170 | 2170 | ||
@@ -2272,7 +2272,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8132_BRIDGE, | |||
2272 | * for the MCP55 NIC. It is not yet determined whether the msi problem | 2272 | * for the MCP55 NIC. It is not yet determined whether the msi problem |
2273 | * also affects other devices. As for now, turn off msi for this device. | 2273 | * also affects other devices. As for now, turn off msi for this device. |
2274 | */ | 2274 | */ |
2275 | static void __devinit nvenet_msi_disable(struct pci_dev *dev) | 2275 | static void nvenet_msi_disable(struct pci_dev *dev) |
2276 | { | 2276 | { |
2277 | const char *board_name = dmi_get_system_info(DMI_BOARD_NAME); | 2277 | const char *board_name = dmi_get_system_info(DMI_BOARD_NAME); |
2278 | 2278 | ||
@@ -2298,7 +2298,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, | |||
2298 | * we have it set correctly. | 2298 | * we have it set correctly. |
2299 | * Note this is an undocumented register. | 2299 | * Note this is an undocumented register. |
2300 | */ | 2300 | */ |
2301 | static void __devinit nvbridge_check_legacy_irq_routing(struct pci_dev *dev) | 2301 | static void nvbridge_check_legacy_irq_routing(struct pci_dev *dev) |
2302 | { | 2302 | { |
2303 | u32 cfg; | 2303 | u32 cfg; |
2304 | 2304 | ||
@@ -2534,11 +2534,11 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, nv_msi_ht_cap_q | |||
2534 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_ANY_ID, nv_msi_ht_cap_quirk_all); | 2534 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_ANY_ID, nv_msi_ht_cap_quirk_all); |
2535 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID, nv_msi_ht_cap_quirk_all); | 2535 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID, nv_msi_ht_cap_quirk_all); |
2536 | 2536 | ||
2537 | static void __devinit quirk_msi_intx_disable_bug(struct pci_dev *dev) | 2537 | static void quirk_msi_intx_disable_bug(struct pci_dev *dev) |
2538 | { | 2538 | { |
2539 | dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; | 2539 | dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; |
2540 | } | 2540 | } |
2541 | static void __devinit quirk_msi_intx_disable_ati_bug(struct pci_dev *dev) | 2541 | static void quirk_msi_intx_disable_ati_bug(struct pci_dev *dev) |
2542 | { | 2542 | { |
2543 | struct pci_dev *p; | 2543 | struct pci_dev *p; |
2544 | 2544 | ||
@@ -2612,7 +2612,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1083, | |||
2612 | * kernel fails to allocate resources when hotplug device is | 2612 | * kernel fails to allocate resources when hotplug device is |
2613 | * inserted and PCI bus is rescanned. | 2613 | * inserted and PCI bus is rescanned. |
2614 | */ | 2614 | */ |
2615 | static void __devinit quirk_hotplug_bridge(struct pci_dev *dev) | 2615 | static void quirk_hotplug_bridge(struct pci_dev *dev) |
2616 | { | 2616 | { |
2617 | dev->is_hotplug_bridge = 1; | 2617 | dev->is_hotplug_bridge = 1; |
2618 | } | 2618 | } |
@@ -2752,7 +2752,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x342e, vtd_mask_spec_errors); | |||
2752 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3c28, vtd_mask_spec_errors); | 2752 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3c28, vtd_mask_spec_errors); |
2753 | #endif | 2753 | #endif |
2754 | 2754 | ||
2755 | static void __devinit fixup_ti816x_class(struct pci_dev* dev) | 2755 | static void fixup_ti816x_class(struct pci_dev *dev) |
2756 | { | 2756 | { |
2757 | /* TI 816x devices do not have class code set when in PCIe boot mode */ | 2757 | /* TI 816x devices do not have class code set when in PCIe boot mode */ |
2758 | dev_info(&dev->dev, "Setting PCI class for 816x PCIe device\n"); | 2758 | dev_info(&dev->dev, "Setting PCI class for 816x PCIe device\n"); |
@@ -2764,7 +2764,7 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_TI, 0xb800, | |||
2764 | /* Some PCIe devices do not work reliably with the claimed maximum | 2764 | /* Some PCIe devices do not work reliably with the claimed maximum |
2765 | * payload size supported. | 2765 | * payload size supported. |
2766 | */ | 2766 | */ |
2767 | static void __devinit fixup_mpss_256(struct pci_dev *dev) | 2767 | static void fixup_mpss_256(struct pci_dev *dev) |
2768 | { | 2768 | { |
2769 | dev->pcie_mpss = 1; /* 256 bytes */ | 2769 | dev->pcie_mpss = 1; /* 256 bytes */ |
2770 | } | 2770 | } |
@@ -2782,7 +2782,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE, | |||
2782 | * coalescing must be disabled. Unfortunately, it cannot be re-enabled because | 2782 | * coalescing must be disabled. Unfortunately, it cannot be re-enabled because |
2783 | * it is possible to hotplug a device with MPS of 256B. | 2783 | * it is possible to hotplug a device with MPS of 256B. |
2784 | */ | 2784 | */ |
2785 | static void __devinit quirk_intel_mc_errata(struct pci_dev *dev) | 2785 | static void quirk_intel_mc_errata(struct pci_dev *dev) |
2786 | { | 2786 | { |
2787 | int err; | 2787 | int err; |
2788 | u16 rcc; | 2788 | u16 rcc; |
@@ -2888,7 +2888,7 @@ static void fixup_debug_report(struct pci_dev *dev, ktime_t calltime, | |||
2888 | * This resolves crashes often seen on monitor unplug. | 2888 | * This resolves crashes often seen on monitor unplug. |
2889 | */ | 2889 | */ |
2890 | #define I915_DEIER_REG 0x4400c | 2890 | #define I915_DEIER_REG 0x4400c |
2891 | static void __devinit disable_igfx_irq(struct pci_dev *dev) | 2891 | static void disable_igfx_irq(struct pci_dev *dev) |
2892 | { | 2892 | { |
2893 | void __iomem *regs = pci_iomap(dev, 0, 0); | 2893 | void __iomem *regs = pci_iomap(dev, 0, 0); |
2894 | if (regs == NULL) { | 2894 | if (regs == NULL) { |
@@ -2914,7 +2914,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); | |||
2914 | * PCI_COMMAND_INTX_DISABLE works though they actually do not properly | 2914 | * PCI_COMMAND_INTX_DISABLE works though they actually do not properly |
2915 | * support this feature. | 2915 | * support this feature. |
2916 | */ | 2916 | */ |
2917 | static void __devinit quirk_broken_intx_masking(struct pci_dev *dev) | 2917 | static void quirk_broken_intx_masking(struct pci_dev *dev) |
2918 | { | 2918 | { |
2919 | dev->broken_intx_masking = 1; | 2919 | dev->broken_intx_masking = 1; |
2920 | } | 2920 | } |