linux/drivers/parisc
Helge Deller d81f734462 parisc: Fix up devices below a PCI-PCI MegaRAID controller bridge
A MegaRAID PCI card in my rp5470 acts as PCI-PCI bridge.
Resource allocation for PCI devices behind such a bridge is quite incomplete,
so that syslog reports those warnings:

 LBA 0:10: PCI host bridge to bus 0000:50
 pci_bus 0000:50: root bus resource [io  0x80000-0x8ffff] (bus address [0x0000-0xffff])
 pci_bus 0000:50: root bus resource [mem 0xffffffff94000000-0xffffffff95ffffff] (bus address [0x94000000-0x95ffffff])
 pci_bus 0000:50: root bus resource [bus 50-57]
 pci 0000:50:00.0: [8086:0964] type 01 class 0x060400
 pci 0000:50:00.1: [8086:1960] type 00 class 0x0e0001
 pci 0000:50:00.1: reg 0x10: [mem 0x00000000-0x003fffff pref]
 pci 0000:50:00.1: reg 0x30: [mem 0x00000000-0x00007fff pref]
 pci 0000:50:00.0: Changing bridge control from 0x00000000 to 0x00000023
 pci_bus 0000:51: busn_res: can not insert [bus 51-ff] under [bus 50-57] (conflicts with (null) [bus 50-57])
 pci 0000:50:00.0: PCI bridge to [bus 51-ff]
 pci 0000:50:00.0:   bridge window [io  0x80000-0x80fff]
 pci 0000:50:00.0:   bridge window [mem 0x00000000-0x000fffff]
 pci 0000:50:00.0:   bridge window [mem 0x00000000-0x000fffff pref]
 pci 0000:50:00.0: can't claim BAR 14 [mem 0x00000000-0x000fffff]: no compatible bridge window
 pci 0000:50:00.0: can't claim BAR 15 [mem 0x00000000-0x000fffff pref]: no compatible bridge window
 pci 0000:50:00.0: can't claim BAR 16 [??? 0x00000000 flags 0x0]: no compatible bridge window
 pci_bus 0000:51: busn_res: [bus 51-ff] end is updated to 51
 pci 0000:50:00.0: BAR 16: [??? 0x00000000 flags 0x20000000] has bogus alignment
 pci 0000:50:00.1: BAR 0: assigned [mem 0xffffffff94000000-0xffffffff943fffff pref]
 pci 0000:50:00.0: BAR 14: assigned [mem 0xffffffff94400000-0xffffffff944fffff]
 pci 0000:50:00.0: BAR 15: assigned [mem 0xffffffff94500000-0xffffffff945fffff pref]
 pci 0000:50:00.1: BAR 6: assigned [mem 0xffffffff94600000-0xffffffff94607fff pref]
 pci 0000:50:00.0: PCI bridge to [bus 51]
 pci 0000:50:00.0:   bridge window [io  0x80000-0x80fff]
 pci 0000:50:00.0:   bridge window [mem 0xffffffff94400000-0xffffffff944fffff]
 pci 0000:50:00.0:   bridge window [mem 0xffffffff94500000-0xffffffff945fffff pref]

The patch below tries to improve the resource allocation.
Output is now:

 LBA 0:10: PCI host bridge to bus 0000:50
 pci_bus 0000:50: root bus resource [io  0x80000-0x8ffff] (bus address [0x0000-0xffff])
 pci_bus 0000:50: root bus resource [mem 0xffffffff94000000-0xffffffff95ffffff] (bus address [0x94000000-0x95ffffff])
 pci_bus 0000:50: root bus resource [bus 50-57]
 pci 0000:50:00.0: Changing bridge control from 0x00000000 to 0x00000023
 pci 0000:50:00.0: PCI bridge to [bus 51-ff]
 pci 0000:50:00.1: BAR 0: assigned [mem 0xffffffff94000000-0xffffffff943fffff pref]
 pci 0000:50:00.1: BAR 6: assigned [mem 0xffffffff94400000-0xffffffff94407fff pref]
 pci 0000:50:00.0: PCI bridge to [bus 51]
 pci 0000:50:00.0:   bridge window [io  0x80000-0x80fff]

Signed-off-by: Helge Deller <deller@gmx.de>
2017-08-24 18:46:44 +02:00
..
asp.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
ccio-dma.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
ccio-rm-dma.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
dino.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
eisa_eeprom.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
eisa_enumerator.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
eisa.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
gsc.c
gsc.h
hppb.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
iommu-helpers.h parisc iommu: fix panic due to trying to allocate too large region 2015-12-12 16:07:25 +01:00
iosapic_private.h
iosapic.c parisc/irq: Use access helper irq_data_get_affinity_mask() 2015-07-31 22:20:04 +02:00
Kconfig PCI: Include pci/hotplug Kconfig directly from pci/Kconfig 2016-03-08 15:10:48 -06:00
lasi.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
lba_pci.c parisc: Fix up devices below a PCI-PCI MegaRAID controller bridge 2017-08-24 18:46:44 +02:00
led.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
Makefile
pdc_stable.c parisc: pdc_stable: Fix locking when creating sysfs links 2017-07-31 16:43:13 +02:00
power.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
README.dino
sba_iommu.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
superio.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
wax.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00

/*
** HP VISUALIZE Workstation PCI Bus Defect
**
** "HP has discovered a potential system defect that can affect
** the behavior of five models of HP VISUALIZE workstations when
** equipped with third-party or customer-installed PCI I/O expansion
** cards. The defect is limited to the HP C180, C160, C160L, B160L,
** and B132L VISUALIZE workstations, and will only be encountered
** when data is transmitted through PCI I/O expansion cards on the
** PCI bus. HP-supplied graphics cards that utilize the PCI bus are
** not affected."
**
** http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?locale=en_US&prodTypeId=12454&prodSeriesId=44443
**
**	Product		First Good Serial Number
**  C200/C240 (US)	US67350000
**B132L+/B180 (US)	US67390000
**   C200 (Europe)	3713G01000
**  B180L (Europe)	3720G01000
**
** Note that many boards were fixed/replaced under a free replacement
** program. Assume a machine is only "suspect" until proven otherwise.
**
** "The pci_check program will also be available as application
**  patch PHSS_12295"
*/