PCI quirk: TI XIO200a erroneously reports support for fast b2b transfers
This quirk will disable fast back to back transfer on the secondary bus segment of the TI Bridge. Signed-off-by: Gabe Black <gabe.black@ni.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
@@ -670,6 +670,25 @@ static void __devinit quirk_vt8235_acpi(struct pci_dev *dev)
|
|||||||
}
|
}
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235, quirk_vt8235_acpi);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235, quirk_vt8235_acpi);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TI XIO2000a PCIe-PCI Bridge erroneously reports it supports fast back-to-back:
|
||||||
|
* Disable fast back-to-back on the secondary bus segment
|
||||||
|
*/
|
||||||
|
static void __devinit quirk_xio2000a(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
struct pci_dev *pdev;
|
||||||
|
u16 command;
|
||||||
|
|
||||||
|
dev_warn(&dev->dev, "TI XIO2000a quirk detected; "
|
||||||
|
"secondary bus fast back-to-back transfers disabled\n");
|
||||||
|
list_for_each_entry(pdev, &dev->subordinate->devices, bus_list) {
|
||||||
|
pci_read_config_word(pdev, PCI_COMMAND, &command);
|
||||||
|
if (command & PCI_COMMAND_FAST_BACK)
|
||||||
|
pci_write_config_word(pdev, PCI_COMMAND, command & ~PCI_COMMAND_FAST_BACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_XIO2000A,
|
||||||
|
quirk_xio2000a);
|
||||||
|
|
||||||
#ifdef CONFIG_X86_IO_APIC
|
#ifdef CONFIG_X86_IO_APIC
|
||||||
|
|
||||||
|
@@ -776,6 +776,7 @@
|
|||||||
#define PCI_DEVICE_ID_TI_X515 0x8036
|
#define PCI_DEVICE_ID_TI_X515 0x8036
|
||||||
#define PCI_DEVICE_ID_TI_XX12 0x8039
|
#define PCI_DEVICE_ID_TI_XX12 0x8039
|
||||||
#define PCI_DEVICE_ID_TI_XX12_FM 0x803b
|
#define PCI_DEVICE_ID_TI_XX12_FM 0x803b
|
||||||
|
#define PCI_DEVICE_ID_TI_XIO2000A 0x8231
|
||||||
#define PCI_DEVICE_ID_TI_1130 0xac12
|
#define PCI_DEVICE_ID_TI_1130 0xac12
|
||||||
#define PCI_DEVICE_ID_TI_1031 0xac13
|
#define PCI_DEVICE_ID_TI_1031 0xac13
|
||||||
#define PCI_DEVICE_ID_TI_1131 0xac15
|
#define PCI_DEVICE_ID_TI_1131 0xac15
|
||||||
|
Reference in New Issue
Block a user