diff options
-rw-r--r-- | arch/x86/pci/xen.c | 4 | ||||
-rw-r--r-- | drivers/pci/pci-sysfs.c | 11 | ||||
-rw-r--r-- | drivers/pci/quirks.c | 4 |
3 files changed, 16 insertions, 3 deletions
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c index c4b3646bd04c..9542a746dc50 100644 --- a/arch/x86/pci/xen.c +++ b/arch/x86/pci/xen.c | |||
@@ -409,10 +409,8 @@ int __init pci_xen_init(void) | |||
409 | pcibios_enable_irq = xen_pcifront_enable_irq; | 409 | pcibios_enable_irq = xen_pcifront_enable_irq; |
410 | pcibios_disable_irq = NULL; | 410 | pcibios_disable_irq = NULL; |
411 | 411 | ||
412 | #ifdef CONFIG_ACPI | ||
413 | /* Keep ACPI out of the picture */ | 412 | /* Keep ACPI out of the picture */ |
414 | acpi_noirq = 1; | 413 | acpi_noirq_set(); |
415 | #endif | ||
416 | 414 | ||
417 | #ifdef CONFIG_PCI_MSI | 415 | #ifdef CONFIG_PCI_MSI |
418 | x86_msi.setup_msi_irqs = xen_setup_msi_irqs; | 416 | x86_msi.setup_msi_irqs = xen_setup_msi_irqs; |
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index 7b282f4ba8dc..eb6bee8724cc 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c | |||
@@ -278,6 +278,16 @@ static ssize_t subordinate_bus_number_show(struct device *dev, | |||
278 | } | 278 | } |
279 | static DEVICE_ATTR_RO(subordinate_bus_number); | 279 | static DEVICE_ATTR_RO(subordinate_bus_number); |
280 | 280 | ||
281 | static ssize_t ari_enabled_show(struct device *dev, | ||
282 | struct device_attribute *attr, | ||
283 | char *buf) | ||
284 | { | ||
285 | struct pci_dev *pci_dev = to_pci_dev(dev); | ||
286 | |||
287 | return sprintf(buf, "%u\n", pci_ari_enabled(pci_dev->bus)); | ||
288 | } | ||
289 | static DEVICE_ATTR_RO(ari_enabled); | ||
290 | |||
281 | static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, | 291 | static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, |
282 | char *buf) | 292 | char *buf) |
283 | { | 293 | { |
@@ -786,6 +796,7 @@ static struct attribute *pci_dev_attrs[] = { | |||
786 | &dev_attr_devspec.attr, | 796 | &dev_attr_devspec.attr, |
787 | #endif | 797 | #endif |
788 | &dev_attr_driver_override.attr, | 798 | &dev_attr_driver_override.attr, |
799 | &dev_attr_ari_enabled.attr, | ||
789 | NULL, | 800 | NULL, |
790 | }; | 801 | }; |
791 | 802 | ||
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 2637c8c1c3ed..fc734014206f 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -3213,6 +3213,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0030, | |||
3213 | quirk_broken_intx_masking); | 3213 | quirk_broken_intx_masking); |
3214 | DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */ | 3214 | DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */ |
3215 | quirk_broken_intx_masking); | 3215 | quirk_broken_intx_masking); |
3216 | DECLARE_PCI_FIXUP_FINAL(0x1b7c, 0x0004, /* Ceton InfiniTV4 */ | ||
3217 | quirk_broken_intx_masking); | ||
3216 | 3218 | ||
3217 | /* | 3219 | /* |
3218 | * Realtek RTL8169 PCI Gigabit Ethernet Controller (rev 10) | 3220 | * Realtek RTL8169 PCI Gigabit Ethernet Controller (rev 10) |
@@ -3877,6 +3879,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9120, | |||
3877 | quirk_dma_func1_alias); | 3879 | quirk_dma_func1_alias); |
3878 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9123, | 3880 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9123, |
3879 | quirk_dma_func1_alias); | 3881 | quirk_dma_func1_alias); |
3882 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9128, | ||
3883 | quirk_dma_func1_alias); | ||
3880 | /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c14 */ | 3884 | /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c14 */ |
3881 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9130, | 3885 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9130, |
3882 | quirk_dma_func1_alias); | 3886 | quirk_dma_func1_alias); |