android_kernel_xiaomi_sm8350/drivers/pci
Daniel Drake 09d6029f43 PCI: VIA IRQ quirk behaviour change
The most recent VIA IRQ quirk changes have broken various VIA devices for
some users.  We are not able to add these devices to the blacklist as they
are also available in PCI-card form, and running the quirk on these devices
brings us back to square one (running the VIA quirk on non-VIA boards where
the quirk is not needed).

This patch, based on suggestions from Sergey Vlasov, implements a scheme
similar to but more restrictive than the scheme we had in 2.6.16 and
earlier.  It runs the quirk on all VIA hardware, but *only* if a VIA
southbridge was detected on the system.

To further reduce the amount of quirked devices, this patch includes a
change suggested by Linus at http://lkml.org/lkml/2005/9/27/113 This
ensures that devices bound to non-legacy IO-APIC interrupt lines are not
quirked.  We have made one change to Linus' suggestion: we do a comparison
of ">15" rather than ">=15", as 15 is still in the legacy interrupt range.

There is still a downside to this patch: if the user inserts a VIA PCI card
into a VIA-based motherboard, in some circumstances the quirk will also run
on the VIA PCI card.  This corner case is hard to avoid.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-10-18 11:36:10 -07:00
..
hotplug pciehp: Remove unnecessary check in pciehp_ctrl.c 2006-10-18 11:36:10 -07:00
pcie IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
.gitignore
access.c
bus.c PCI: fix __must_check warnings 2006-09-26 17:43:53 -07:00
hotplug.c
htirq.c [PATCH] htirq: tidy up the htirq code 2006-10-04 07:55:30 -07:00
Kconfig [PATCH] HT_IRQ must depend on PCI 2006-10-11 11:14:23 -07:00
Makefile [PATCH] htirq: tidy up the htirq code 2006-10-04 07:55:30 -07:00
msi.c [PATCH] msi: refactor and move the msi irq_chip into the arch code 2006-10-04 07:55:29 -07:00
msi.h [PATCH] msi: refactor and move the msi irq_chip into the arch code 2006-10-04 07:55:29 -07:00
pci-acpi.c [PATCH] PCI ACPI: Rename the functions to avoid multiple instances. 2006-06-21 11:59:59 -07:00
pci-driver.c PCI: Multiprobe sanitizer 2006-09-26 17:43:53 -07:00
pci-sysfs.c PCI: fix __must_check warnings 2006-09-26 17:43:53 -07:00
pci.c PCI: Restore PCI Express capability registers after PM event 2006-09-26 17:43:53 -07:00
pci.h MSI: Cleanup existing MSI quirks 2006-09-26 17:43:52 -07:00
probe.c PCI: fix __must_check warnings 2006-09-26 17:43:53 -07:00
proc.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
quirks.c PCI: VIA IRQ quirk behaviour change 2006-10-18 11:36:10 -07:00
remove.c PCI: add pci_stop_bus_device 2006-09-26 17:43:54 -07:00
rom.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
search.c PCI: pci/search: EXPORTs cannot be __devinit 2006-08-03 13:20:06 -07:00
setup-bus.c [PATCH] fix "PCI: assign ioapic resource at hotplug" 2006-10-04 07:55:14 -07:00
setup-irq.c
setup-res.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
syscall.c