linux/drivers/pci
Linus Torvalds ad7edfe049 [PCI] Do not enable CRS Software Visibility by default
It appears that some PCI-E bridges do the wrong thing in the presense of
CRS Software Visibility and MMCONFIG.  In particular, it looks like an
ATI bridge (device ID 7936) will return 0001 in the vendor ID field of
any bridged devices indefinitely.

Not enabling CRS SV avoids the problem, and as we currently do not
really make good use of the feature anyway (we just time out rather than
do any threaded discovery as suggested by the CRS specs), we're better
off just not enabling it.

This should fix a slew of problem reports with random devices (generally
graphics adapters or fairly high-performance networking cards, since it
only affected PCI-E) not getting properly recognized on these AMD systems.

If we really want to use CRS-SV, we may end up eventually needing a
whitelist of systems where this should be enabled, along with some kind
of "pcibios_enable_crs()" query to call the system-specific code.

Suggested-by: Loic Prylli <loic@myri.com>
Tested-by: Kai Ruhnau <kai@tragetaschen.dyndns.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Greg Kroah-Hartman <greg@kroah.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-12-27 21:21:36 -08:00
..
hotplug pci hotplug: kernel-doc fixes 2007-11-28 14:35:26 -08:00
pcie pci-aer: fix kernel-doc mistakes 2007-11-28 14:35:26 -08:00
.gitignore Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
Kconfig PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
Makefile Intel IOMMU: Intel IOMMU driver 2007-10-22 08:13:18 -07:00
access.c [PATCH] severing module.h->sched.h 2006-12-04 02:00:22 -05:00
bus.c pci: do not mark exported functions as __devinit 2007-05-02 19:02:35 -07:00
dmar.c Intel IOMMU: DMAR detection and parsing logic 2007-10-22 08:13:18 -07:00
hotplug.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
htirq.c PCI: Use pci_find_ht_capability() in drivers/pci/htirq.c 2006-12-20 10:54:42 -08:00
intel-iommu.c intel-iommu: Fix array overflow 2007-10-30 08:06:55 -07:00
intel-iommu.h intel-iommu fixes 2007-10-29 07:41:32 -07:00
iova.c intel-iommu: optimize sg map/unmap calls 2007-10-22 08:13:19 -07:00
iova.h intel-iommu: optimize sg map/unmap calls 2007-10-22 08:13:19 -07:00
msi.c PCI: Add quirk for devices which disable MSI when INTX_DISABLE is set. 2007-11-05 13:35:16 -08:00
msi.h PCI: Make some MSI-X #defines generic 2006-12-01 14:36:56 -08:00
pci-acpi.c ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
pci-driver.c PCI: make pci_match_device() static 2007-11-05 13:35:17 -08:00
pci-sysfs.c PCI: drivers/pci/pci-sysfs.c: Add missing pci_dev_put 2007-11-28 14:35:26 -08:00
pci.c more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
pci.h Intel IOMMU: PCI generic helper function 2007-10-22 08:13:18 -07:00
probe.c [PCI] Do not enable CRS Software Visibility by default 2007-12-27 21:21:36 -08:00
proc.c pci: write file size to inode on proc bus file write 2007-10-12 15:03:17 -07:00
quirks.c PCI: Remove 3 incorrect MSI quirks. 2007-11-05 13:35:17 -08:00
remove.c PCI: add pci_stop_bus_device 2006-09-26 17:43:54 -07:00
rom.c [IA64] SN: Correct ROM resource length for BIOS copy 2007-07-09 13:37:18 -07:00
search.c PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
setup-bus.c PCI: remove transparent bridge sizing 2007-10-12 15:03:17 -07:00
setup-irq.c kobjects: fix up improper use of the kobject name field 2007-10-12 14:51:02 -07:00
setup-res.c pci: do not mark exported functions as __devinit 2007-05-02 19:02:35 -07:00
syscall.c pci syscall.c: Switch to refcounting API 2007-07-11 16:02:07 -07:00