linux/drivers/pci
Ian Abbott 21c5fd9738 PCI: Add workaround for PLX PCI 9050 BAR alignment erratum
The PLX PCI 9050 PCI Target bridge controller has a bug that prevents
its local configuration registers being read through BAR0 (memory) or
BAR1 (i/o) if the base address lies on an odd 128-byte boundary, i.e. if
bit 7 of the base address is non-zero.  This bug is described in the PCI
9050 errata list, version 1.4, May 2005.  It was fixed in the
pin-compatible PCI 9052, which can be distinguished from the PCI 9050 by
checking the revision in the PCI header, which is hard-coded for these
chips.

Workaround the problem by re-allocating the affected regions to a
256-byte boundary.  Note that BAR0 and/or BAR1 may have been disabled
(size 0) during initialization of the PCI chip when its configuration is
read from a serial EEPROM.

Currently, the fix-up has only been used for devices with the default
vendor and device ID of the PLX PCI 9050.  The PCI 9052 shares the same
default device ID as the PCI 9050 but they have different PCI revision
codes.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2012-11-07 15:24:19 -07:00
..
hotplug Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
pcie PCI: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-11-07 15:24:18 -07:00
access.c PCI: Add accessors for PCI Express Capability 2012-08-23 09:41:20 -06:00
ats.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
bus.c PCI: Use correct type when freeing bus resource list 2012-09-18 16:50:33 -06:00
host-bridge.c PCI: add host bridge release support 2012-04-30 14:52:43 -06:00
hotplug-pci.c PCI: hotplug: remove pci_do_scan_bus() 2012-06-13 15:42:27 -06:00
hotplug.c
htirq.c pci: Fix files needing export.h for EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:22 -04:00
ioapic.c pci, x86/io-apic: Allow PCI_IOAPIC to be user configurable on x86 2011-12-06 09:21:05 +01:00
iov.c Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()" 2012-09-20 17:10:54 -06:00
irq.c PCI: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-11-07 15:24:18 -07:00
Kconfig PCI: Drop bogus default from ARCH_SUPPORTS_MSI 2012-09-10 16:49:52 -06:00
Makefile PCI: build resource code for M68K architecture 2012-07-13 09:40:37 -06:00
msi.c x86/PCI: Expand the x86_msi_ops to have a restore MSIs. 2012-01-06 14:02:26 -08:00
msi.h
of.c PCI: OF: Don't crash when bridge parent is NULL. 2011-08-19 08:51:37 -07:00
pci-acpi.c PCI / PM: Fix D3/D3cold/D4 messages printed by acpi_pci_set_power_state() 2012-08-15 11:46:18 -06:00
pci-driver.c PCI: Don't touch card regs after runtime suspend D3 2012-11-07 15:24:18 -07:00
pci-label.c switch ->is_visible() to returning umode_t 2012-01-03 22:54:55 -05:00
pci-stub.c PCI: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-11-07 15:24:18 -07:00
pci-sysfs.c PCI/PM: Fix config reg access for D3cold and bridge suspending 2012-08-21 17:34:24 -06:00
pci.c Merge commit 'v3.6-rc5' into pci/gavin-window-alignment 2012-09-13 15:54:57 -06:00
pci.h Merge branch 'pci/rafael-pci_set_power_state-rebase' into next 2012-07-05 16:29:52 -06:00
probe.c Merge branch 'pci/yinghai-misc' into next 2012-09-24 17:24:11 -06:00
proc.c PCI: Remove unused, commented-out, code 2012-08-22 11:31:53 -06:00
quirks.c PCI: Add workaround for PLX PCI 9050 BAR alignment erratum 2012-11-07 15:24:19 -07:00
remove.c PCI: Stop all children first, before removing all children 2012-09-20 17:37:23 -06:00
rom.c PCI: Remove unused, commented-out, code 2012-08-22 11:31:53 -06:00
search.c Merge branch 'pci/feng-avoid-kmalloc' into next 2012-09-10 16:31:08 -06:00
setup-bus.c PCI: Refactor pbus_size_mem() 2012-09-11 16:59:46 -06:00
setup-irq.c PCI: Provide a default pcibios_update_irq() 2012-09-18 17:28:21 -06:00
setup-res.c Merge branch 'pci/nikhil-big-bar-fixes' into next 2012-07-18 14:06:20 -06:00
slot.c pci: add module.h to files implicitly relying on its presence. 2011-10-31 19:31:23 -04:00
syscall.c
vpd.c pci: Fix files needing export.h for EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:22 -04:00
xen-pcifront.c Features: 2012-10-02 22:09:10 -07:00