x86/PCI: Fix regression caused by commit 4d6b4e69a245
From: Liu Jiang <[email protected]>
Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interface acpi_pci_root_create, but the conversion missed on code piece in arch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is that acpi_pci_root_create() fails to insert host bridge resources into iomem_resource/ioport_resource because x86_pci_root_bus_resources() has already inserted those resources. So change x86_pci_root_bus_resources() to not insert resources into iomem_resource/ioport_resource.
--- arch/x86/pci/bus_numa.c | 16 +++------------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 10 insertions(+), 13 deletions(-)
arch/x86/pci/bus_numa.c +3 -13
@@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) bus);/* already added by acpi ? */ -resource_list_for_each_entry (window, resources) +resource_list_for_each_entry (window, &info->resources)if (window->res->flags &IORESOURCE_BUS ) { found = true;break ; } -if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:
drivers/acpi/pci_root.c +7 -0
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
Signature · 1 line
1.7.10.4
Jiang Liu wrote on 16/11/15 14:57:
Quoted 66 lines
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>--- arch/x86/pci/bus_numa.c | 16 +++------------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 10 insertions(+), 13 deletions(-)arch/x86/pci/bus_numa.c +3
-13@@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) bus);/* already added by acpi ? */ -resource_list_for_each_entry (window, resources) +resource_list_for_each_entry (window, &info->resources)if (window->res->flags &IORESOURCE_BUS ) { found = true;break ; } -if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:drivers/acpi/pci_root.c +0
-0@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ;
drivers/acpi/pci_root.c static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info) · line 780
Quoted 10 lines
drivers/acpi/pci_root.c +7
-0+/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
I have not previously seen the patch above and have not been able to successfully boot with it applied against the current Linus' git head.
I had booted successfully with a kernel built with the patch below from 9 November 2015, then removed the patch below and applied the patch above from 16 November 2015, and when I booted the resulting kernel, received a lock-up:
http://www.users.on.net/~arthur.marsh/20151116611.jpg
I'd be happy to test further patches.
Arthur.
From 02818ba34bfa76d93f2a29c85660da0323b0b457 Mon Sep 17 00:00:00 2001
From: Liu Jiang <[email protected]>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH]
--- arch/x86/pci/bus_numa.c | 3 +++ 1 file changed, 3 insertions(+)
arch/x86/pci/bus_numa.c +3 -0
@@ -51,6 +51,8 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)pci_add_resource (resources, &info->busn);list_for_each_entry (root_res, &info->resources, list) { +pci_add_resource (resources, &root_res->res); +#if 0 struct resource *res;struct resource *root;
@@ -61,6 +63,7 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) else root = &iomem_resource;insert_resource (root, res); +#endif }return ;
Signature · 1 line
1.7.10.4
Quoted 86 lines · Arthur Marsh
Jiang Liu wrote on 16/11/15 14:57:
Quoted 77 lines
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>.
The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>--- arch/x86/pci/bus_numa.c | 16 +++------------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 10 insertions(+), 13 deletions(-)arch/x86/pci/bus_numa.c +3
-13@@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) bus);/* already added by acpi ? */ -resource_list_for_each_entry (window, resources) +resource_list_for_each_entry (window, &info->resources)if (window->res->flags &IORESOURCE_BUS ) { found = true;break ; } -if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ;
default_resources:drivers/acpi/pci_root.c +7
-0@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info) else continue; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) {Quoted 2 lines
dev_info(&info->bridge->dev,I have not previously seen the patch above and have not been able to successfully boot with it applied against the current Linus' git head.
Quoted 5 lines
I had booted successfully with a kernel built with the patch below from 9 November 2015, then removed the patch below and applied the patch above from 16 November 2015, and when I booted the resulting kernel, received a lock-up:
I was also struck by Commit 4d6b4e69a245. The above patch did work for me. Attached is a bootlog from the failure.
Signature · 1 line
Hans
[ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 4.3.0+ (root@nf9n) (gcc version 4.8.2 (GCC) ) #876 PREEMPT Mon Nov 16 02:08:42 CET 2015 [ 0.000000] Disabled fast string operations [ 0.000000] x86/fpu: Legacy x87 FPU detected. [ 0.000000] x86/fpu: Using 'lazy' FPU context switches. [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009f000-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007f6813ff] usable [ 0.000000] BIOS-e820: [mem 0x000000007f681400-0x000000007fffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f4006fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000f4008000-0x00000000f400bfff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee0ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved [ 0.000000] Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel! [ 0.000000] SMBIOS 2.4 present. [ 0.000000] e820: last_pfn = 0x7f681 max_arch_pfn = 0x100000 [ 0.000000] x86/PAT: PAT not supported by CPU. [ 0.000000] ACPI: Early table checksum verification disabled [ 0.000000] ACPI: RSDP 0x00000000000FC0E0 000014 (v00 DELL ) [ 0.000000] ACPI: RSDT 0x000000007F681B4F 00004C (v01 DELL M07 27D70A0B ASL 00000061) [ 0.000000] ACPI: FACP 0x000000007F682800 000074 (v01 DELL M07 27D70A0B ASL 00000061) [ 0.000000] ACPI: DSDT 0x000000007F683400 004BBE (v01 INT430 SYSFexxx 00001001 INTL 20050624) [ 0.000000] ACPI: FACS 0x000000007F691C00 000040 [ 0.000000] ACPI: HPET 0x000000007F682F00 000038 (v01 DELL M07 00000001 ASL 00000061) [ 0.000000] ACPI: APIC 0x000000007F683000 000068 (v01 DELL M07 27D70A0B ASL 00000047) [ 0.000000] ACPI: ASF! 0x000000007F682C00 00007E (v32 DELL M07 27D70A0B ASL 00000061) [ 0.000000] ACPI: MCFG 0x000000007F682FC0 00003E (v16 DELL M07 27D70A0B ASL 00000061) [ 0.000000] ACPI: SLIC 0x000000007F68309C 000176 (v01 DELL M07 27D70A0B ASL 00000061) [ 0.000000] ACPI: TCPA 0x000000007F683300 000032 (v01 DELL M07 27D70A0B ASL 00000061) [ 0.000000] ACPI: SSDT 0x000000007F682280 0001C0 (v01 PmRef Cpu0Ist 00003000 INTL 20050624) [ 0.000000] ACPI: SSDT 0x000000007F6820BA 0001C6 (v01 PmRef Cpu0Cst 00003001 INTL 20050624) [ 0.000000] ACPI: SSDT 0x000000007F681BDE 0004DC (v01 PmRef CpuPm 00003000 INTL 20050624) [ 0.000000] 1150MB HIGHMEM available. [ 0.000000] 887MB LOWMEM available. [ 0.000000] mapped low ram: 0 - 377fe000 [ 0.000000] low ram: 0 - 377fe000 [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff] [ 0.000000] Normal [mem 0x0000000001000000-0x00000000377fdfff] [ 0.000000] HighMem [mem 0x00000000377fe000-0x000000007f680fff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009efff] [ 0.000000] node 0: [mem 0x0000000000100000-0x000000007f680fff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000007f680fff] [ 0.000000] Using APIC driver default [ 0.000000] Reserving Intel graphics stolen memory at 0x7f800000-0x7fffffff [ 0.000000] ACPI: PM-Timer IO Port: 0x1008 [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) [ 0.000000] IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [ 0.000000] Using ACPI (MADT) for SMP configuration information [ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000 [ 0.000000] e820: [mem 0x80000000-0xefffffff] available for PCI devices [ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 519983 [ 0.000000] Kernel command line: root=/dev/nfs ro nfsroot=10.10.0.1:/nfs/root/psion_14.1 ip=dhcp cpuidle.off=1 console=tty1 console=ttyS0,115200n8 BOOT_IMAGE=nightlybuild-psion [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Initializing CPU#0 [ 0.000000] Initializing HighMem for node 0 (000377fe:0007f681) [ 0.000000] Initializing Movable for node 0 (00000000:00000000) [ 0.000000] Memory: 2061544K/2087036K available (5160K kernel code, 335K rwdata, 1936K rodata, 396K init, 348K bss, 25492K reserved, 0K cma-reserved, 1178124K highmem) [ 0.000000] virtual kernel memory layout: [ 0.000000] fixmap : 0xfffa3000 - 0xfffff000 ( 368 kB) [ 0.000000] pkmap : 0xff800000 - 0xffc00000 (4096 kB) [ 0.000000] vmalloc : 0xf7ffe000 - 0xff7fe000 ( 120 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf77fe000 ( 887 MB) [ 0.000000] .init : 0xc1745000 - 0xc17a8000 ( 396 kB) [ 0.000000] .data : 0xc150a3b3 - 0xc1743dc0 (2278 kB) [ 0.000000] .text : 0xc1000000 - 0xc150a3b3 (5160 kB) [ 0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok. [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] NR_IRQS:2304 nr_irqs:256 16 [ 0.000000] Console: colour VGA+ 80x25 [ 0.000000] console [tty1] enabled [ 0.000000] console [ttyS0] enabled [ 0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns [ 0.000000] tsc: Fast TSC calibration using PIT [ 0.000000] tsc: Detected 1197.045 MHz processor [ 0.008002] Calibrating delay loop (skipped), value calculated using timer frequency.. 2394.09 BogoMIPS (lpj=4788180) [ 0.016004] pid_max: default: 32768 minimum: 301 [ 0.020010] ACPI: Core revision 20150930 [ 0.033875] ACPI: 4 ACPI AML tables successfully acquired and loaded [ 0.036267] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.040006] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.044364] Disabled fast string operations [ 0.048010] mce: CPU supports 6 MCE banks [ 0.052017] CPU0: Thermal monitoring enabled (TM2) [ 0.056005] process: using mwait in idle threads [ 0.060015] Last level iTLB entries: 4KB 128, 2MB 0, 4MB 2 [ 0.064004] Last level dTLB entries: 4KB 128, 2MB 0, 4MB 8, 1GB 0 [ 0.068003] CPU: Intel(R) Core(TM) Solo CPU U1400 @ 1.20GHz (family: 0x6, model: 0xe, stepping: 0xc) [ 0.078934] Performance Events: Core events, core PMU driver. [ 0.085635] ... version: 1 [ 0.088004] ... bit width: 40 [ 0.092004] ... generic registers: 2 [ 0.096004] ... value mask: 000000ffffffffff [ 0.100004] ... max period: 000000007fffffff [ 0.104004] ... fixed-purpose events: 0 [ 0.108004] ... event mask: 0000000000000003 [ 0.112288] Enabling APIC mode: Flat. Using 1 I/O APICs [ 0.116500] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 [ 0.160000] devtmpfs: initialized [ 0.160394] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.164346] NET: Registered protocol family 16 [ 0.172191] ACPI: bus type PCI registered [ 0.176142] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf0000000-0xf3ffffff] (base 0xf0000000) [ 0.180038] PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] reserved in E820 [ 0.184033] PCI: Using MMCONFIG for extended config space [ 0.188018] PCI: Using configuration type 1 for base access [ 0.192024] dmi type 0xB1 record - unknown flag [ 0.210966] ACPI: Added _OSI(Module Device) [ 0.212454] ACPI: Added _OSI(Processor Device) [ 0.216332] ACPI: Added _OSI(3.0 _SCP Extensions) [ 0.220009] ACPI: Added _OSI(Processor Aggregator Device) [ 0.247356] ACPI: Dynamic OEM Table Load: [ 0.250292] ACPI: SSDT 0x00000000F60CE480 000043 (v01 LMPWR DELLLOM 00001001 INTL 20050624) [ 0.260919] ACPI: Interpreter enabled [ 0.264021] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20150930/hwxface-580) [ 0.274241] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20150930/hwxface-580) [ 0.282255] ACPI: (supports S0 S3 S5) [ 0.284004] ACPI: Using IOAPIC for interrupt routing [ 0.288074] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug [ 0.374431] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) [ 0.376058] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig Segments] [ 0.380016] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM [ 0.384021] acpi PNP0A03:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge [ 0.397248] PCI host bridge to bus 0000:00 [ 0.400006] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 0.404021] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffff] [ 0.408011] pci_bus 0000:00: root bus resource [bus 00-ff] [ 0.413011] pci 0000:00:1b.0: System wakeup disabled by ACPI [ 0.416379] pci 0000:00:1c.0: System wakeup disabled by ACPI [ 0.420355] pci 0000:00:1c.1: System wakeup disabled by ACPI [ 0.429535] pci 0000:00:1d.0: System wakeup disabled by ACPI [ 0.437477] pci 0000:00:1d.1: System wakeup disabled by ACPI [ 0.445443] pci 0000:00:1d.2: System wakeup disabled by ACPI [ 0.453336] pci 0000:00:1d.3: System wakeup disabled by ACPI [ 0.461345] pci 0000:00:1d.7: System wakeup disabled by ACPI [ 0.464289] pci 0000:00:1e.0: System wakeup disabled by ACPI [ 0.468284] pci 0000:00:1f.0: can't claim BAR 7 [io 0x1000-0x107f]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.472034] pci 0000:00:1f.0: can't claim BAR 8 [io 0x1080-0x10bf]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.476013] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0900 (mask 007f) [ 0.480016] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 3 PIO at 0c80 (mask 003f) [ 0.484323] pci 0000:00:1f.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] [ 0.488025] pci 0000:00:1f.1: legacy IDE quirk: reg 0x14: [io 0x03f6] [ 0.492011] pci 0000:00:1f.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] [ 0.496009] pci 0000:00:1f.1: legacy IDE quirk: reg 0x1c: [io 0x0376] [ 0.504123] pci 0000:00:1c.0: PCI bridge to [bus 0b] [ 0.508925] pci 0000:00:1c.1: PCI bridge to [bus 0c] [ 0.512503] pci 0000:09:00.0: System wakeup disabled by ACPI [ 0.516135] pci 0000:00:1c.2: PCI bridge to [bus 09] [ 0.521005] pci 0000:00:1e.0: PCI bridge to [bus 02-03] (subtractive decode) [ 0.524197] pci_bus 0000:03: [bus 03-06] partially hidden behind transparent bridge 0000:02 [bus 02-03] [ 0.528027] pci 0000:00:1e.0: bridge has subordinate 03 but max busn 06 [ 0.532173] platform PNP0800:00: failed to claim resource 0 [ 0.536027] acpi PNP0800:00: platform device creation failed: -16 [ 0.540123] platform PNP0C04:00: failed to claim resource 0 [ 0.544011] acpi PNP0C04:00: platform device creation failed: -16 [ 0.564685] ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11) [ 0.569439] ACPI: PCI Interrupt Link [LNKB] (IRQs *5 7) [ 0.576144] ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 11) *3 [ 0.581656] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 *11) [ 0.588908] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *9 10 11 12 14 15) [ 0.596838] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 *10 11 12 14 15) [ 0.604837] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 9 10 11 12 14 15) [ 0.613143] ACPI: PCI Interrupt Link [LNKH] (IRQs *3 4 5 6 7 9 10 11 12 14 15) [ 0.624189] ACPI: Enabled 3 GPEs in block 00 to 1F [ 0.632214] vgaarb: setting as boot device: PCI:0000:00:02.0 [ 0.636000] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none [ 0.636419] vgaarb: loaded [ 0.640013] vgaarb: bridge control possible 0000:00:02.0 [ 0.644182] SCSI subsystem initialized [ 0.648250] ACPI: bus type USB registered [ 0.652164] usbcore: registered new interface driver usbfs [ 0.656071] usbcore: registered new interface driver hub [ 0.660078] usbcore: registered new device driver usb [ 0.664136] pps_core: LinuxPPS API ver. 1 registered [ 0.668053] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> [ 0.672032] PTP clock support registered [ 0.676219] Advanced Linux Sound Architecture Driver Initialized. [ 0.680161] PCI: Using ACPI for IRQ routing [ 0.686911] pci 0000:00:1c.1: can't claim BAR 8 [mem 0xefd00000-0xefdfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.688013] pci 0000:00:1c.2: can't claim BAR 8 [mem 0xefc00000-0xefcfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.692029] pci 0000:00:1e.0: can't claim BAR 8 [mem 0xefb00000-0xefbfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.696014] pci 0000:00:02.0: can't claim BAR 0 [mem 0xeff00000-0xeff7ffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.700012] pci 0000:00:02.0: can't claim BAR 1 [io 0xeff8-0xefff]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.704007] pci 0000:00:02.0: can't claim BAR 2 [mem 0xd0000000-0xdfffffff pref]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.708006] pci 0000:00:02.0: can't claim BAR 3 [mem 0xefec0000-0xefefffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.712007] pci 0000:00:02.1: can't claim BAR 0 [mem 0xeff80000-0xefffffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.716008] pci 0000:00:1b.0: can't claim BAR 0 [mem 0xefebc000-0xefebffff 64bit]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.720053] pci 0000:0c:00.0: can't claim BAR 0 [mem 0xefdff000-0xefdfffff]: no compatible bridge window [ 0.724046] pci 0000:09:00.0: can't claim BAR 0 [mem 0xefcf0000-0xefcfffff 64bit]: no compatible bridge window [ 0.728008] pci 0000:00:1d.0: can't claim BAR 4 [io 0xbf80-0xbf9f]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.732007] pci 0000:00:1d.1: can't claim BAR 4 [io 0xbf60-0xbf7f]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.736007] pci 0000:00:1d.2: can't claim BAR 4 [io 0xbf40-0xbf5f]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.740007] pci 0000:00:1d.3: can't claim BAR 4 [io 0xbf20-0xbf3f]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.744008] pci 0000:00:1d.7: can't claim BAR 0 [mem 0xffa80000-0xffa803ff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.748012] pci 0000:02:01.1: can't claim BAR 0 [mem 0xefbff800-0xefbfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.752008] pci 0000:02:01.2: can't claim BAR 0 [mem 0xefbff700-0xefbff7ff]: address conflict with PCI mem [mem 0x00000000-0xffffffff] [ 0.756010] pci 0000:00:1f.1: can't claim BAR 0 [io 0x01f0-0x01f7]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.760004] pci 0000:00:1f.1: BAR 0 [io size 0x0008] is immovable [ 0.764005] pci 0000:00:1f.1: can't claim BAR 1 [io 0x03f6]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.768004] pci 0000:00:1f.1: BAR 1 [io size 0x0001] is immovable [ 0.772006] pci 0000:00:1f.1: can't claim BAR 2 [io 0x0170-0x0177]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.776004] pci 0000:00:1f.1: BAR 2 [io size 0x0008] is immovable [ 0.780005] pci 0000:00:1f.1: can't claim BAR 3 [io 0x0376]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.784004] pci 0000:00:1f.1: BAR 3 [io size 0x0001] is immovable [ 0.788005] pci 0000:00:1f.1: can't claim BAR 4 [io 0xbfa0-0xbfaf]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.792008] pci 0000:00:1f.3: can't claim BAR 4 [io 0x10c0-0x10df]: address conflict with PCI IO [io 0x0000-0xffff] [ 0.800141] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 [ 0.805083] hpet0: 3 comparators, 64-bit 14.318180 MHz counter [ 0.813040] clocksource: Switched to clocksource hpet [ 0.817359] pnp: PnP ACPI init [ 0.833441] system 00:00: [mem 0x00000000-0x0009fbff] could not be reserved [ 0.840494] system 00:00: [mem 0x0009fc00-0x0009ffff] could not be reserved [ 0.847530] system 00:00: [mem 0x000c0000-0x000d3fff] could not be reserved [ 0.854561] system 00:00: [mem 0x000e0000-0x000fffff] could not be reserved [ 0.861597] system 00:00: [mem 0x00100000-0x7f6813ff] could not be reserved [ 0.868629] system 00:00: [mem 0x7f681400-0x7f6fffff] could not be reserved [ 0.875662] system 00:00: [mem 0x7f700000-0x7f7fffff] could not be reserved [ 0.882688] system 00:00: [mem 0x7f700000-0x7fefffff] could not be reserved [ 0.889715] system 00:00: [mem 0xffb00000-0xffffffff] could not be reserved [ 0.896742] system 00:00: [mem 0xfec00000-0xfec0ffff] could not be reserved [ 0.903768] system 00:00: [mem 0xfee00000-0xfee0ffff] could not be reserved [ 0.910794] system 00:00: [mem 0xfed20000-0xfed3ffff] could not be reserved [ 0.917819] system 00:00: [mem 0xfed45000-0xfed9ffff] could not be reserved [ 0.924846] system 00:00: [mem 0xffa80000-0xffa83fff] could not be reserved [ 0.931873] system 00:00: [mem 0xf4000000-0xf4003fff] could not be reserved [ 0.938901] system 00:00: [mem 0xf4004000-0xf4004fff] could not be reserved [ 0.945928] system 00:00: [mem 0xf4005000-0xf4005fff] could not be reserved [ 0.952956] system 00:00: [mem 0xf4006000-0xf4006fff] could not be reserved [ 0.959983] system 00:00: [mem 0xf4008000-0xf400bfff] could not be reserved [ 0.967011] system 00:00: [mem 0xf0000000-0xf3ffffff] could not be reserved [ 0.974155] system 00:01: [io 0x04d0-0x04d1] could not be reserved [ 0.980508] system 00:01: [io 0x1000-0x1005] could not be reserved [ 0.986847] system 00:01: [io 0x1008-0x100f] could not be reserved [ 0.993299] system 00:02: [io 0xf400-0xf4fe] could not be reserved [ 0.999657] system 00:02: [io 0x1006-0x1007] could not be reserved [ 1.005998] system 00:02: [io 0x100a-0x1059] could not be reserved [ 1.012335] system 00:02: [io 0x1060-0x107f] could not be reserved [ 1.018673] system 00:02: [io 0x1080-0x10bf] could not be reserved [ 1.025011] system 00:02: [io 0x10c0-0x10df] could not be reserved [ 1.031347] system 00:02: [io 0x1010-0x102f] could not be reserved [ 1.037679] system 00:02: [io 0x0809] could not be reserved [ 1.043807] system 00:06: [io 0x0c80-0x0caf] could not be reserved [ 1.050189] system 00:06: [io 0x0cc0-0x0cff] could not be reserved [ 1.056530] system 00:06: [io 0x0910-0x091f] could not be reserved [ 1.062870] system 00:06: [io 0x0920-0x092f] could not be reserved [ 1.069220] system 00:06: [io 0x0cbc-0x0cbf] could not be reserved [ 1.075559] system 00:06: [io 0x0930-0x097f] could not be reserved [ 1.082070] system 00:07: [mem 0xfed00000-0xfed003ff] could not be reserved [ 1.115884] system 00:0a: [io 0x0cb0-0x0cbb] could not be reserved [ 1.122243] system 00:0a: [mem 0xfed40000-0xfed44fff] could not be reserved [ 1.138883] pnp: PnP ACPI: found 11 devices [ 1.183169] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns [ 1.192360] pci 0000:00:1f.0: BAR 7: [io size 0x0080] has bogus alignment [ 1.199319] pci 0000:00:1f.0: BAR 8: [io size 0x0040] has bogus alignment [ 1.206421] pci 0000:00:02.0: BAR 2: no space for [mem size 0x10000000 pref] [ 1.213540] pci 0000:00:02.0: BAR 2: trying firmware assignment [mem 0xd0000000-0xdfffffff pref] [ 1.222419] pci 0000:00:02.0: BAR 2: [mem 0xd0000000-0xdfffffff pref] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.233377] pci 0000:00:02.0: BAR 2: failed to assign [mem size 0x10000000 pref] [ 1.240860] pci 0000:00:1e.0: BAR 8: no space for [mem size 0x0c000000] [ 1.247538] pci 0000:00:1e.0: BAR 8: failed to assign [mem size 0x0c000000] [ 1.254566] pci 0000:00:1c.0: BAR 8: no space for [mem size 0x00200000] [ 1.261245] pci 0000:00:1c.0: BAR 8: failed to assign [mem size 0x00200000] [ 1.268274] pci 0000:00:1c.0: BAR 9: no space for [mem size 0x00200000 64bit pref] [ 1.275926] pci 0000:00:1c.0: BAR 9: failed to assign [mem size 0x00200000 64bit pref] [ 1.283926] pci 0000:00:1c.1: BAR 8: no space for [mem size 0x00300000] [ 1.290606] pci 0000:00:1c.1: BAR 8: failed to assign [mem size 0x00300000] [ 1.297633] pci 0000:00:1c.1: BAR 9: no space for [mem size 0x00200000 64bit pref] [ 1.305285] pci 0000:00:1c.1: BAR 9: failed to assign [mem size 0x00200000 64bit pref] [ 1.313285] pci 0000:00:1c.2: BAR 8: no space for [mem size 0x00300000] [ 1.319965] pci 0000:00:1c.2: BAR 8: failed to assign [mem size 0x00300000] [ 1.326993] pci 0000:00:1c.2: BAR 9: no space for [mem size 0x00200000 64bit pref] [ 1.334644] pci 0000:00:1c.2: BAR 9: failed to assign [mem size 0x00200000 64bit pref] [ 1.344185] pci 0000:00:02.0: BAR 0: no space for [mem size 0x00080000] [ 1.350866] pci 0000:00:02.0: BAR 0: trying firmware assignment [mem 0xeff00000-0xeff7ffff] [ 1.359301] pci 0000:00:02.0: BAR 0: [mem 0xeff00000-0xeff7ffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.369820] pci 0000:00:02.0: BAR 0: failed to assign [mem size 0x00080000] [ 1.376848] pci 0000:00:02.1: BAR 0: no space for [mem size 0x00080000] [ 1.383529] pci 0000:00:02.1: BAR 0: trying firmware assignment [mem 0xeff80000-0xefffffff] [ 1.391961] pci 0000:00:02.1: BAR 0: [mem 0xeff80000-0xefffffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.402479] pci 0000:00:02.1: BAR 0: failed to assign [mem size 0x00080000] [ 1.409504] pci 0000:00:02.0: BAR 3: no space for [mem size 0x00040000] [ 1.416185] pci 0000:00:02.0: BAR 3: trying firmware assignment [mem 0xefec0000-0xefefffff] [ 1.424618] pci 0000:00:02.0: BAR 3: [mem 0xefec0000-0xefefffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.435136] pci 0000:00:02.0: BAR 3: failed to assign [mem size 0x00040000] [ 1.442164] pci 0000:00:1b.0: BAR 0: no space for [mem size 0x00004000 64bit] [ 1.449363] pci 0000:00:1b.0: BAR 0: trying firmware assignment [mem 0xefebc000-0xefebffff 64bit] [ 1.458317] pci 0000:00:1b.0: BAR 0: [mem 0xefebc000-0xefebffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.469356] pci 0000:00:1b.0: BAR 0: failed to assign [mem size 0x00004000 64bit] [ 1.476921] pci 0000:00:1c.0: BAR 7: no space for [io size 0x1000] [ 1.483252] pci 0000:00:1c.0: BAR 7: failed to assign [io size 0x1000] [ 1.489932] pci 0000:00:1c.1: BAR 7: no space for [io size 0x1000] [ 1.496265] pci 0000:00:1c.1: BAR 7: failed to assign [io size 0x1000] [ 1.502944] pci 0000:00:1c.2: BAR 7: no space for [io size 0x1000] [ 1.509275] pci 0000:00:1c.2: BAR 7: failed to assign [io size 0x1000] [ 1.515952] pci 0000:00:1e.0: BAR 7: no space for [io size 0x1000] [ 1.522284] pci 0000:00:1e.0: BAR 7: failed to assign [io size 0x1000] [ 1.528965] pci 0000:00:1d.7: BAR 0: no space for [mem size 0x00000400] [ 1.535644] pci 0000:00:1d.7: BAR 0: trying firmware assignment [mem 0xffa80000-0xffa803ff] [ 1.544080] pci 0000:00:1d.7: BAR 0: [mem 0xffa80000-0xffa803ff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.554616] pci 0000:00:1d.7: BAR 0: failed to assign [mem size 0x00000400] [ 1.561642] pci 0000:00:1d.0: BAR 4: no space for [io size 0x0020] [ 1.567972] pci 0000:00:1d.0: BAR 4: trying firmware assignment [io 0xbf80-0xbf9f] [ 1.575710] pci 0000:00:1d.0: BAR 4: [io 0xbf80-0xbf9f] conflicts with PCI IO [io 0x0000-0xffff] [ 1.584751] pci 0000:00:1d.0: BAR 4: failed to assign [io size 0x0020] [ 1.591429] pci 0000:00:1d.1: BAR 4: no space for [io size 0x0020] [ 1.597761] pci 0000:00:1d.1: BAR 4: trying firmware assignment [io 0xbf60-0xbf7f] [ 1.605500] pci 0000:00:1d.1: BAR 4: [io 0xbf60-0xbf7f] conflicts with PCI IO [io 0x0000-0xffff] [ 1.614542] pci 0000:00:1d.1: BAR 4: failed to assign [io size 0x0020] [ 1.621221] pci 0000:00:1d.2: BAR 4: no space for [io size 0x0020] [ 1.627551] pci 0000:00:1d.2: BAR 4: trying firmware assignment [io 0xbf40-0xbf5f] [ 1.635290] pci 0000:00:1d.2: BAR 4: [io 0xbf40-0xbf5f] conflicts with PCI IO [io 0x0000-0xffff] [ 1.644330] pci 0000:00:1d.2: BAR 4: failed to assign [io size 0x0020] [ 1.651009] pci 0000:00:1d.3: BAR 4: no space for [io size 0x0020] [ 1.657341] pci 0000:00:1d.3: BAR 4: trying firmware assignment [io 0xbf20-0xbf3f] [ 1.665081] pci 0000:00:1d.3: BAR 4: [io 0xbf20-0xbf3f] conflicts with PCI IO [io 0x0000-0xffff] [ 1.674121] pci 0000:00:1d.3: BAR 4: failed to assign [io size 0x0020] [ 1.680800] pci 0000:00:1f.3: BAR 4: no space for [io size 0x0020] [ 1.687133] pci 0000:00:1f.3: BAR 4: trying firmware assignment [io 0x10c0-0x10df] [ 1.694873] pci 0000:00:1f.3: BAR 4: [io 0x10c0-0x10df] conflicts with PCI IO [io 0x0000-0xffff] [ 1.703913] pci 0000:00:1f.3: BAR 4: failed to assign [io size 0x0020] [ 1.710594] pci 0000:00:1f.1: BAR 4: no space for [io size 0x0010] [ 1.716926] pci 0000:00:1f.1: BAR 4: trying firmware assignment [io 0xbfa0-0xbfaf] [ 1.724667] pci 0000:00:1f.1: BAR 4: [io 0xbfa0-0xbfaf] conflicts with PCI IO [io 0x0000-0xffff] [ 1.733707] pci 0000:00:1f.1: BAR 4: failed to assign [io size 0x0010] [ 1.740385] pci 0000:00:02.0: BAR 1: no space for [io size 0x0008] [ 1.746718] pci 0000:00:02.0: BAR 1: trying firmware assignment [io 0xeff8-0xefff] [ 1.754456] pci 0000:00:02.0: BAR 1: [io 0xeff8-0xefff] conflicts with PCI IO [io 0x0000-0xffff] [ 1.763497] pci 0000:00:02.0: BAR 1: failed to assign [io size 0x0008] [ 1.770184] pci 0000:00:02.0: BAR 2: no space for [mem size 0x10000000 pref] [ 1.777296] pci 0000:00:02.0: BAR 2: trying firmware assignment [mem 0xd0000000-0xdfffffff pref] [ 1.786165] pci 0000:00:02.0: BAR 2: [mem 0xd0000000-0xdfffffff pref] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.797117] pci 0000:00:02.0: BAR 2: failed to assign [mem size 0x10000000 pref] [ 1.804596] pci 0000:00:1e.0: BAR 8: no space for [mem size 0x02000000] [ 1.811276] pci 0000:00:1e.0: BAR 8: failed to assign [mem size 0x02000000] [ 1.818304] pci 0000:00:1c.1: BAR 8: no space for [mem size 0x00100000] [ 1.824983] pci 0000:00:1c.1: BAR 8: failed to assign [mem size 0x00100000] [ 1.832010] pci 0000:00:1c.2: BAR 8: no space for [mem size 0x00100000] [ 1.838689] pci 0000:00:1c.2: BAR 8: failed to assign [mem size 0x00100000] [ 1.845714] pci 0000:00:02.0: BAR 0: no space for [mem size 0x00080000] [ 1.852394] pci 0000:00:02.0: BAR 0: trying firmware assignment [mem 0xeff00000-0xeff7ffff] [ 1.860829] pci 0000:00:02.0: BAR 0: [mem 0xeff00000-0xeff7ffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.871346] pci 0000:00:02.0: BAR 0: failed to assign [mem size 0x00080000] [ 1.878372] pci 0000:00:02.1: BAR 0: no space for [mem size 0x00080000] [ 1.885051] pci 0000:00:02.1: BAR 0: trying firmware assignment [mem 0xeff80000-0xefffffff] [ 1.893487] pci 0000:00:02.1: BAR 0: [mem 0xeff80000-0xefffffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.904003] pci 0000:00:02.1: BAR 0: failed to assign [mem size 0x00080000] [ 1.911037] pci 0000:00:02.0: BAR 3: no space for [mem size 0x00040000] [ 1.917716] pci 0000:00:02.0: BAR 3: trying firmware assignment [mem 0xefec0000-0xefefffff] [ 1.926149] pci 0000:00:02.0: BAR 3: [mem 0xefec0000-0xefefffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.936666] pci 0000:00:02.0: BAR 3: failed to assign [mem size 0x00040000] [ 1.943693] pci 0000:00:1b.0: BAR 0: no space for [mem size 0x00004000 64bit] [ 1.950891] pci 0000:00:1b.0: BAR 0: trying firmware assignment [mem 0xefebc000-0xefebffff 64bit] [ 1.959848] pci 0000:00:1b.0: BAR 0: [mem 0xefebc000-0xefebffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 1.970886] pci 0000:00:1b.0: BAR 0: failed to assign [mem size 0x00004000 64bit] [ 1.978451] pci 0000:00:1d.7: BAR 0: no space for [mem size 0x00000400] [ 1.985129] pci 0000:00:1d.7: BAR 0: trying firmware assignment [mem 0xffa80000-0xffa803ff] [ 1.993562] pci 0000:00:1d.7: BAR 0: [mem 0xffa80000-0xffa803ff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.004081] pci 0000:00:1d.7: BAR 0: failed to assign [mem size 0x00000400] [ 2.011107] pci 0000:00:1d.0: BAR 4: no space for [io size 0x0020] [ 2.017438] pci 0000:00:1d.0: BAR 4: trying firmware assignment [io 0xbf80-0xbf9f] [ 2.025176] pci 0000:00:1d.0: BAR 4: [io 0xbf80-0xbf9f] conflicts with PCI IO [io 0x0000-0xffff] [ 2.034218] pci 0000:00:1d.0: BAR 4: failed to assign [io size 0x0020] [ 2.040898] pci 0000:00:1d.1: BAR 4: no space for [io size 0x0020] [ 2.047230] pci 0000:00:1d.1: BAR 4: trying firmware assignment [io 0xbf60-0xbf7f] [ 2.054967] pci 0000:00:1d.1: BAR 4: [io 0xbf60-0xbf7f] conflicts with PCI IO [io 0x0000-0xffff] [ 2.064015] pci 0000:00:1d.1: BAR 4: failed to assign [io size 0x0020] [ 2.070695] pci 0000:00:1d.2: BAR 4: no space for [io size 0x0020] [ 2.077025] pci 0000:00:1d.2: BAR 4: trying firmware assignment [io 0xbf40-0xbf5f] [ 2.084764] pci 0000:00:1d.2: BAR 4: [io 0xbf40-0xbf5f] conflicts with PCI IO [io 0x0000-0xffff] [ 2.093803] pci 0000:00:1d.2: BAR 4: failed to assign [io size 0x0020] [ 2.100481] pci 0000:00:1d.3: BAR 4: no space for [io size 0x0020] [ 2.106812] pci 0000:00:1d.3: BAR 4: trying firmware assignment [io 0xbf20-0xbf3f] [ 2.114552] pci 0000:00:1d.3: BAR 4: [io 0xbf20-0xbf3f] conflicts with PCI IO [io 0x0000-0xffff] [ 2.123591] pci 0000:00:1d.3: BAR 4: failed to assign [io size 0x0020] [ 2.130269] pci 0000:00:1f.3: BAR 4: no space for [io size 0x0020] [ 2.136600] pci 0000:00:1f.3: BAR 4: trying firmware assignment [io 0x10c0-0x10df] [ 2.144339] pci 0000:00:1f.3: BAR 4: [io 0x10c0-0x10df] conflicts with PCI IO [io 0x0000-0xffff] [ 2.153379] pci 0000:00:1f.3: BAR 4: failed to assign [io size 0x0020] [ 2.160059] pci 0000:00:1f.1: BAR 4: no space for [io size 0x0010] [ 2.166390] pci 0000:00:1f.1: BAR 4: trying firmware assignment [io 0xbfa0-0xbfaf] [ 2.174128] pci 0000:00:1f.1: BAR 4: [io 0xbfa0-0xbfaf] conflicts with PCI IO [io 0x0000-0xffff] [ 2.183170] pci 0000:00:1f.1: BAR 4: failed to assign [io size 0x0010] [ 2.189847] pci 0000:00:02.0: BAR 1: no space for [io size 0x0008] [ 2.196179] pci 0000:00:02.0: BAR 1: trying firmware assignment [io 0xeff8-0xefff] [ 2.203918] pci 0000:00:02.0: BAR 1: [io 0xeff8-0xefff] conflicts with PCI IO [io 0x0000-0xffff] [ 2.212959] pci 0000:00:02.0: BAR 1: failed to assign [io size 0x0008] [ 2.219639] pci 0000:00:1e.0: BAR 7: no space for [io size 0x1000] [ 2.225971] pci 0000:00:1e.0: BAR 7: failed to assign [io size 0x1000] [ 2.232652] pci 0000:00:1c.2: BAR 9: no space for [mem size 0x00200000 64bit pref] [ 2.240302] pci 0000:00:1c.2: BAR 9: failed to assign [mem size 0x00200000 64bit pref] [ 2.248303] pci 0000:00:1c.2: BAR 7: no space for [io size 0x1000] [ 2.254634] pci 0000:00:1c.2: BAR 7: failed to assign [io size 0x1000] [ 2.261314] pci 0000:00:1c.1: BAR 9: no space for [mem size 0x00200000 64bit pref] [ 2.268964] pci 0000:00:1c.1: BAR 9: failed to assign [mem size 0x00200000 64bit pref] [ 2.278507] pci 0000:00:1c.1: BAR 7: no space for [io size 0x1000] [ 2.284839] pci 0000:00:1c.1: BAR 7: failed to assign [io size 0x1000] [ 2.291519] pci 0000:00:1c.0: BAR 8: no space for [mem size 0x00200000] [ 2.298199] pci 0000:00:1c.0: BAR 8: failed to assign [mem size 0x00200000] [ 2.305225] pci 0000:00:1c.0: BAR 9: no space for [mem size 0x00200000 64bit pref] [ 2.312878] pci 0000:00:1c.0: BAR 9: failed to assign [mem size 0x00200000 64bit pref] [ 2.320878] pci 0000:00:1c.0: BAR 7: no space for [io size 0x1000] [ 2.327208] pci 0000:00:1c.0: BAR 7: failed to assign [io size 0x1000] [ 2.333891] pci 0000:00:1c.0: PCI bridge to [bus 0b] [ 2.338936] pci 0000:0c:00.0: BAR 0: no space for [mem size 0x00001000] [ 2.345617] pci 0000:0c:00.0: BAR 0: trying firmware assignment [mem 0xefdff000-0xefdfffff] [ 2.354050] pci 0000:0c:00.0: BAR 0: [mem 0xefdff000-0xefdfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.364567] pci 0000:0c:00.0: BAR 0: failed to assign [mem size 0x00001000] [ 2.371595] pci 0000:0c:00.0: BAR 0: no space for [mem size 0x00001000] [ 2.378274] pci 0000:0c:00.0: BAR 0: trying firmware assignment [mem 0xefdff000-0xefdfffff] [ 2.386710] pci 0000:0c:00.0: BAR 0: [mem 0xefdff000-0xefdfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.397229] pci 0000:0c:00.0: BAR 0: failed to assign [mem size 0x00001000] [ 2.404256] pci 0000:00:1c.1: PCI bridge to [bus 0c] [ 2.409301] pci 0000:09:00.0: BAR 0: no space for [mem size 0x00010000 64bit] [ 2.416501] pci 0000:09:00.0: BAR 0: trying firmware assignment [mem 0xefcf0000-0xefcfffff 64bit] [ 2.425457] pci 0000:09:00.0: BAR 0: [mem 0xefcf0000-0xefcfffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.436495] pci 0000:09:00.0: BAR 0: failed to assign [mem size 0x00010000 64bit] [ 2.444062] pci 0000:09:00.0: BAR 0: no space for [mem size 0x00010000 64bit] [ 2.451261] pci 0000:09:00.0: BAR 0: trying firmware assignment [mem 0xefcf0000-0xefcfffff 64bit] [ 2.460216] pci 0000:09:00.0: BAR 0: [mem 0xefcf0000-0xefcfffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.471254] pci 0000:09:00.0: BAR 0: failed to assign [mem size 0x00010000 64bit] [ 2.478819] pci 0000:00:1c.2: PCI bridge to [bus 09] [ 2.483918] pci 0000:02:01.0: BAR 0: no space for [mem size 0x00001000] [ 2.490597] pci 0000:02:01.0: BAR 0: failed to assign [mem size 0x00001000] [ 2.497626] pci 0000:02:01.0: BAR 9: no space for [mem size 0x04000000 pref] [ 2.504739] pci 0000:02:01.0: BAR 9: failed to assign [mem size 0x04000000 pref] [ 2.512218] pci 0000:02:01.0: BAR 10: no space for [mem size 0x04000000] [ 2.518983] pci 0000:02:01.0: BAR 10: failed to assign [mem size 0x04000000] [ 2.526099] pci 0000:02:01.1: BAR 0: no space for [mem size 0x00000800] [ 2.532780] pci 0000:02:01.1: BAR 0: trying firmware assignment [mem 0xefbff800-0xefbfffff] [ 2.541215] pci 0000:02:01.1: BAR 0: [mem 0xefbff800-0xefbfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.551733] pci 0000:02:01.1: BAR 0: failed to assign [mem size 0x00000800] [ 2.558759] pci 0000:02:01.0: BAR 7: no space for [io size 0x0100] [ 2.565090] pci 0000:02:01.0: BAR 7: failed to assign [io size 0x0100] [ 2.571769] pci 0000:02:01.0: BAR 8: no space for [io size 0x0100] [ 2.578102] pci 0000:02:01.0: BAR 8: failed to assign [io size 0x0100] [ 2.584783] pci 0000:02:01.2: BAR 0: no space for [mem size 0x00000100] [ 2.591462] pci 0000:02:01.2: BAR 0: trying firmware assignment [mem 0xefbff700-0xefbff7ff] [ 2.599894] pci 0000:02:01.2: BAR 0: [mem 0xefbff700-0xefbff7ff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.610411] pci 0000:02:01.2: BAR 0: failed to assign [mem size 0x00000100] [ 2.617440] pci 0000:02:01.0: BAR 0: no space for [mem size 0x00001000] [ 2.624119] pci 0000:02:01.0: BAR 0: failed to assign [mem size 0x00001000] [ 2.631146] pci 0000:02:01.1: BAR 0: no space for [mem size 0x00000800] [ 2.637826] pci 0000:02:01.1: BAR 0: trying firmware assignment [mem 0xefbff800-0xefbfffff] [ 2.646258] pci 0000:02:01.1: BAR 0: [mem 0xefbff800-0xefbfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.656777] pci 0000:02:01.1: BAR 0: failed to assign [mem size 0x00000800] [ 2.663806] pci 0000:02:01.2: BAR 0: no space for [mem size 0x00000100] [ 2.670483] pci 0000:02:01.2: BAR 0: trying firmware assignment [mem 0xefbff700-0xefbff7ff] [ 2.678916] pci 0000:02:01.2: BAR 0: [mem 0xefbff700-0xefbff7ff] conflicts with PCI mem [mem 0x00000000-0xffffffff] [ 2.689434] pci 0000:02:01.2: BAR 0: failed to assign [mem size 0x00000100] [ 2.696461] pci 0000:02:01.0: BAR 10: no space for [mem size 0x04000000] [ 2.703225] pci 0000:02:01.0: BAR 10: failed to assign [mem size 0x04000000] [ 2.710339] pci 0000:02:01.0: BAR 9: no space for [mem size 0x04000000 pref] [ 2.717453] pci 0000:02:01.0: BAR 9: failed to assign [mem size 0x04000000 pref] [ 2.724932] pci 0000:02:01.0: BAR 8: no space for [io size 0x0100] [ 2.731263] pci 0000:02:01.0: BAR 8: failed to assign [io size 0x0100] [ 2.737943] pci 0000:02:01.0: BAR 7: no space for [io size 0x0100] [ 2.744274] pci 0000:02:01.0: BAR 7: failed to assign [io size 0x0100] [ 2.750954] pci 0000:02:01.0: CardBus bridge to [bus 03-06] [ 2.756589] pci 0000:00:1e.0: PCI bridge to [bus 02-03] [ 2.761892] pci_bus 0000:00: Some PCI device resources are unassigned, try booting with pci=realloc [ 2.771088] NET: Registered protocol family 2 [ 2.775780] TCP established hash table entries: 8192 (order: 3, 32768 bytes) [ 2.782931] TCP bind hash table entries: 8192 (order: 3, 32768 bytes) [ 2.789473] TCP: Hash tables configured (established 8192 bind 8192) [ 2.795922] UDP hash table entries: 512 (order: 1, 8192 bytes) [ 2.801830] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes) [ 2.808220] NET: Registered protocol family 1 [ 2.812736] RPC: Registered named UNIX socket transport module. [ 2.818726] RPC: Registered udp transport module. [ 2.823491] RPC: Registered tcp transport module. [ 2.828255] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 2.836113] futex hash table entries: 256 (order: -1, 3072 bytes) [ 2.850703] NFS: Registering the id_resolver key type [ 2.856096] Key type id_resolver registered [ 2.860365] Key type id_legacy registered [ 2.864452] Installing knfsd (copyright (C) 1996 [email protected]). [ 2.871025] ntfs: driver 2.1.32 [Flags: R/O]. [ 2.876116] bounce: pool size: 64 pages [ 2.880033] io scheduler noop registered [ 2.884050] io scheduler deadline registered (default) [ 2.889431] cr_bllcd: INTEL CARILLO RANCH LPC not found. [ 2.894850] cr_bllcd: Carillo Ranch Backlight Driver Initialized. [ 2.901730] ACPI: AC Adapter [AC] (off-line) [ 2.906310] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0 [ 2.915512] ACPI: Lid Switch [LID] [ 2.919121] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1 [ 2.927590] ACPI: Power Button [PBTN] [ 2.931441] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2 [ 2.939898] ACPI: Sleep Button [SBTN] [ 2.943859] ACPI: Video Device [VID] (multi-head: yes rom: no post: no) [ 2.951160] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/LNXVIDEO:00/input/input3 [ 2.960427] [Firmware Bug]: Duplicate ACPI video bus devices for the same VGA controller, please try module parameter "video.allow_duplicates=1"if the current driver doesn't work. [ 2.976679] tsc: Marking TSC unstable due to TSC halts in idle [ 2.987341] thermal LNXTHERM:00: registered as thermal_zone0 [ 2.993089] ACPI: Thermal Zone [THM] (59 C) [ 3.055910] ACPI: Battery Slot [BAT0] (battery present) [ 3.063205] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 24.076005] INFO: rcu_preempt detected stalls on CPUs/tasks: [ 24.076005] (detected by 0, t=5252 jiffies, g=-78, c=-79, q=244) [ 24.076005] All QSes seen, last rcu_preempt kthread activity 5252 (-68981--74233), jiffies_till_next_fqs=1, root ->qsmask 0x0 [ 24.076005] swapper R running 0 1 0 0x00000008 [ 24.076005] 00000000 f6050000 f603bbf4 c10724c0 c16346cf 00000000 00000001 00000000 [ 24.076005] 00000008 c1709170 c17092d4 f603bc48 c1083144 c163604d c163621c 00001484 [ 24.076005] fffef28b fffede07 00000001 00000000 00000000 003d0900 f6050000 9acd9bf3 [ 24.076005] Call Trace: [ 24.076005] [<c10724c0>] sched_show_task+0xae/0xb8 [ 24.076005] [<c1083144>] rcu_check_callbacks+0x43d/0x577 [ 24.076005] [<c1084c08>] update_process_times+0x22/0x43 [ 24.076005] [<c108fb6c>] tick_sched_handle+0x2f/0x31 [ 24.076005] [<c108fb9b>] tick_sched_timer+0x2d/0x5e [ 24.076005] [<c1085269>] __hrtimer_run_queues.constprop.28+0x9e/0x12c [ 24.076005] [<c1085592>] hrtimer_interrupt+0x72/0x16b [ 24.076005] [<c1050e24>] local_apic_timer_interrupt+0x37/0x39 [ 24.076005] [<c1051310>] smp_apic_timer_interrupt+0x2c/0x3a [ 24.076005] [<c150737d>] apic_timer_interrupt+0x2d/0x34 [ 24.076005] [<c1060742>] ? iomem_map_sanity_check+0x32/0x96 [ 24.076005] [<c105638a>] __ioremap_caller+0x1e6/0x264 [ 24.076005] [<c1056418>] ioremap_nocache+0x10/0x12 [ 24.076005] [<c1256b7e>] ? hpet_resources+0x26/0xac [ 24.076005] [<c1256b7e>] hpet_resources+0x26/0xac [ 24.076005] [<c122d988>] ? acpi_ut_walk_aml_resources+0x76/0xe0 [ 24.076005] [<c122b72d>] ? acpi_ut_update_ref_count+0x7d/0x28d [ 24.076005] [<c1227e90>] ? acpi_rs_create_aml_resources+0x45/0x45 [ 24.076005] [<c122ba24>] ? acpi_ut_update_object_reference+0xe7/0x14c [ 24.076005] [<c1227c62>] ? acpi_rs_create_resource_list+0x50/0x5a [ 24.076005] [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23 [ 24.076005] [<c1228ae4>] acpi_walk_resource_buffer+0x34/0x6f [ 24.076005] [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23 [ 24.076005] [<c1228d90>] acpi_walk_resources+0x57/0x70 [ 24.076005] [<c1256f56>] hpet_acpi_add+0x31/0x6b [ 24.076005] [<c120b5f5>] acpi_device_probe+0x34/0xc9 [ 24.076005] [<c1307dd5>] driver_probe_device+0xc1/0x1e5 [ 24.076005] [<c1307f40>] __driver_attach+0x47/0x63 [ 24.076005] [<c1306a90>] bus_for_each_dev+0x55/0x5f [ 24.076005] [<c1307a85>] driver_attach+0x14/0x16 [ 24.076005] [<c1307ef9>] ? driver_probe_device+0x1e5/0x1e5 [ 24.076005] [<c1307745>] bus_add_driver+0xaa/0x191 [ 24.076005] [<c1308538>] driver_register+0x6f/0xa4 [ 24.076005] [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a [ 24.076005] [<c120b50f>] acpi_bus_register_driver+0x2f/0x37 [ 24.076005] [<c1765517>] hpet_init+0x2b/0x57 [ 24.076005] [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a [ 24.076005] [<c100043b>] do_one_initcall+0xce/0x13f [ 24.076005] [<c106d9f9>] ? parse_args+0x1af/0x24d [ 24.076005] [<c1745ae3>] ? kernel_init_freeable+0xb8/0x155 [ 24.076005] [<c1745b03>] kernel_init_freeable+0xd8/0x155 [ 24.076005] [<c1502fcb>] kernel_init+0x8/0xb0 [ 24.076005] [<c1506ac8>] ret_from_kernel_thread+0x20/0x34 [ 24.076005] [<c1502fc3>] ? rest_init+0x6f/0x6f [ 24.076005] rcu_preempt kthread starved for 5252 jiffies! g4294967218 c4294967217 f0x2 s3 ->state=0x0 [ 87.096005] INFO: rcu_preempt detected stalls on CPUs/tasks: [ 87.096005] (detected by 0, t=21007 jiffies, g=-78, c=-79, q=244) [ 87.096005] All QSes seen, last rcu_preempt kthread activity 21007 (-53226--74233), jiffies_till_next_fqs=1, root ->qsmask 0x0 [ 87.096005] swapper R running 0 1 0 0x00000008 [ 87.096005] 00000000 f6050000 f603bbf4 c10724c0 c16346cf 00000000 00000001 00000000 [ 87.096005] 00000008 c1709170 c17092d4 f603bc48 c1083144 c163604d c163621c 0000520f [ 87.096005] ffff3016 fffede07 00000001 00000000 c1084f7f 003d0900 f6050000 003d0900 [ 87.096005] Call Trace: [ 87.096005] [<c10724c0>] sched_show_task+0xae/0xb8 [ 87.096005] [<c1083144>] rcu_check_callbacks+0x43d/0x577 [ 87.096005] [<c1084f7f>] ? hrtimer_forward+0x107/0x13a [ 87.096005] [<c1084c08>] update_process_times+0x22/0x43 [ 87.096005] [<c108fb6c>] tick_sched_handle+0x2f/0x31 [ 87.096005] [<c108fb9b>] tick_sched_timer+0x2d/0x5e [ 87.096005] [<c1085269>] __hrtimer_run_queues.constprop.28+0x9e/0x12c [ 87.096005] [<c1085592>] hrtimer_interrupt+0x72/0x16b [ 87.096005] [<c1050e24>] local_apic_timer_interrupt+0x37/0x39 [ 87.096005] [<c1051310>] smp_apic_timer_interrupt+0x2c/0x3a [ 87.096005] [<c150737d>] apic_timer_interrupt+0x2d/0x34 [ 87.096005] [<c106073c>] ? iomem_map_sanity_check+0x2c/0x96 [ 87.096005] [<c105638a>] __ioremap_caller+0x1e6/0x264 [ 87.096005] [<c1056418>] ioremap_nocache+0x10/0x12 [ 87.096005] [<c1256b7e>] ? hpet_resources+0x26/0xac [ 87.096005] [<c1256b7e>] hpet_resources+0x26/0xac [ 87.096005] [<c122d988>] ? acpi_ut_walk_aml_resources+0x76/0xe0 [ 87.096005] [<c122b72d>] ? acpi_ut_update_ref_count+0x7d/0x28d [ 87.096005] [<c1227e90>] ? acpi_rs_create_aml_resources+0x45/0x45 [ 87.096005] [<c122ba24>] ? acpi_ut_update_object_reference+0xe7/0x14c [ 87.096005] [<c1227c62>] ? acpi_rs_create_resource_list+0x50/0x5a [ 87.096005] [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23 [ 87.096005] [<c1228ae4>] acpi_walk_resource_buffer+0x34/0x6f [ 87.096005] [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23 [ 87.096005] [<c1228d90>] acpi_walk_resources+0x57/0x70 [ 87.096005] [<c1256f56>] hpet_acpi_add+0x31/0x6b [ 87.096005] [<c120b5f5>] acpi_device_probe+0x34/0xc9 [ 87.096005] [<c1307dd5>] driver_probe_device+0xc1/0x1e5 [ 87.096005] [<c1307f40>] __driver_attach+0x47/0x63 [ 87.096005] [<c1306a90>] bus_for_each_dev+0x55/0x5f [ 87.096005] [<c1307a85>] driver_attach+0x14/0x16 [ 87.096005] [<c1307ef9>] ? driver_probe_device+0x1e5/0x1e5 [ 87.096005] [<c1307745>] bus_add_driver+0xaa/0x191 [ 87.096005] [<c1308538>] driver_register+0x6f/0xa4 [ 87.096005] [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a [ 87.096005] [<c120b50f>] acpi_bus_register_driver+0x2f/0x37 [ 87.096005] [<c1765517>] hpet_init+0x2b/0x57 [ 87.096005] [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a [ 87.096005] [<c100043b>] do_one_initcall+0xce/0x13f [ 87.096005] [<c106d9f9>] ? parse_args+0x1af/0x24d [ 87.096005] [<c1745ae3>] ? kernel_init_freeable+0xb8/0x155 [ 87.096005] [<c1745b03>] kernel_init_freeable+0xd8/0x155 [ 87.096005] [<c1502fcb>] kernel_init+0x8/0xb0 [ 87.096005] [<c1506ac8>] ret_from_kernel_thread+0x20/0x34 [ 87.096005] [<c1502fc3>] ? rest_init+0x6f/0x6f [ 87.096005] rcu_preempt kthread starved for 21007 jiffies! g4294967218 c4294967217 f0x2 s3 ->state=0x0
Quoted 12 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.
Quoted 2 lines
Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>
What's the status of this? It looks like a regression we need to fix for v4.4.
AFAICT, Arthur did *not* test this patch (rather, his response says he did test it and the test failed).
4d6b4e69a245 was merged by Rafael, and I assume he'll merge the fix unless I hear otherwise.
Bjorn
Quoted 67 lines
Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>--- arch/x86/pci/bus_numa.c | 16 +++------------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 10 insertions(+), 13 deletions(-)arch/x86/pci/bus_numa.c +3
-13@@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) bus);/* already added by acpi ? */ -resource_list_for_each_entry (window, resources) +resource_list_for_each_entry (window, &info->resources)if (window->res->flags &IORESOURCE_BUS ) { found = true;break ; } -if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:drivers/acpi/pci_root.c +7
-0@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,Signature · 6 lines
1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki
maintainerQuoted 19 lines · Bjorn Helgaas
Quoted 12 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Quoted 2 lines
Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>
Quoted 8 lines
What's the status of this? It looks like a regression we need to fix for v4.4.
AFAICT, Arthur did *not* test this patch (rather, his response says he did test it and the test failed).
4d6b4e69a245was merged by Rafael, and I assume he'll merge the fix unless I hear otherwise.
Quite frankly, I'm more likely to revert the offending commit at this point as that's not the only regression reported against it and the fix only helps in one case (out of three known to me).
Thanks,
Rafael
Quoted 3 lines · Rafael J. Wysocki
Quite frankly, I'm more likely to revert the offending commit at this point as that's not the only regression reported against it and the fix only helps in one case (out of three known to me).
Using 4.4-rc1 and can confirm the patch fixes my regression report. The revert also fixes it, so either way is good for me!
Keith Busch wrote on 25/11/15 09:34:
Quoted 8 lines · Rafael J. Wysocki
Quoted 3 lines
Quite frankly, I'm more likely to revert the offending commit at this point as that's not the only regression reported against it and the fix only helps in one case (out of three known to me).
Using 4.4-rc1 and can confirm the patch fixes my regression report. The revert also fixes it, so either way is good for me!
To re-cap, all was fine for me until:
4d6b4e69a245e9df4b84dba387596086cb66887d is the first bad commit commit 4d6b4e69a245e9df4b84dba387596086cb66887d
Author: Jiang Liu <[email protected]> Date: Wed Oct 14 14:29:41 2015 +0800
x86/PCI/ACPI: Use common interface to support PCI host bridge
Use common interface to simplify ACPI PCI host bridge implementation.
:040000 040000 a3447eea376b5a3e6f57deb35cf064c5481b45e3 f64d8e49fd87b776933dfa3dfefcb33509004d3f M arch
From the boot-up I get the message as shown in the images at: http://www.users.on.net/~arthur.marsh/20151107601.jpg and
http://www.users.on.net/~arthur.marsh/20151107602.jpg
The boot-up suggests trying rebooting with pci=alloc but that didn't help.
The errors shown include
"BAR 0: trying firmware assignment [io size 0x0020]"
"BAR 0: [io size 0x0020] conflicts with PCI Bus #00 [io 0x0000-0xffff] "BAR 0: failed to assign [io size 0x0020]
Applying the following patch on top of the patch above from 14 October 2015 worked for me:
From 02818ba34bfa76d93f2a29c85660da0323b0b457 Mon Sep 17 00:00:00 2001
From: Liu Jiang <[email protected]>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH]
--- arch/x86/pci/bus_numa.c | 3 +++ 1 file changed, 3 insertions(+)
arch/x86/pci/bus_numa.c +3 -0
@@ -51,6 +51,8 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)pci_add_resource (resources, &info->busn);list_for_each_entry (root_res, &info->resources, list) { +pci_add_resource (resources, &root_res->res); +#if 0 struct resource *res;struct resource *root;
@@ -61,6 +63,7 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) else root = &iomem_resource;insert_resource (root, res); +#endif }return ;
###
The patch postd by Jian Liu on 16 November 2015 "[Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245" had *not* been seen or tested by me before being posted to the linux-acpi list and when I did test it (after removing the patch above from 9 November 2015), things broke:
http://www.users.on.net/~arthur.marsh/20151116611.jpg
So if "commit 4d6b4e69a245e9df4b84dba387596086cb66887d
x86/PCI/ACPI: Use common interface to support PCI host bridge" stays, then the patch "16 November 2015 [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245" would need to go and the patch above from 9 November 2015 would need to be accepted into the mainline for my machine to boot from the mainline code.
Arthur.
Quoted 86 lines · Arthur Marsh
Keith Busch wrote on 25/11/15 09:34:
Quoted 8 lines · Rafael J. Wysocki
Quoted 3 lines
Quite frankly, I'm more likely to revert the offending commit at this point as that's not the only regression reported against it and the fix only helps in one case (out of three known to me).
Using 4.4-rc1 and can confirm the patch fixes my regression report. The revert also fixes it, so either way is good for me!
To re-cap, all was fine for me until:
4d6b4e69a245e9df4b84dba387596086cb66887dis the first bad commit commit4d6b4e69a245e9df4b84dba387596086cb66887dAuthor: Jiang Liu <[email protected]> Date: Wed Oct 14 14:29:41 2015 +0800x86/PCI/ACPI: Use common interface to support PCI host bridge
Use common interface to simplify ACPI PCI host bridge implementation.
Signed-off-by Jiang Liu <[email protected]>Reviewed-by Hanjun Guo <[email protected]>Acked-by Bjorn Helgaas <[email protected]>Signed-off-by Rafael J. Wysocki <[email protected]>:040000 040000
a3447eea376b5a3e6f57deb35cf064c5481b45e3f64d8e49fd87b776933dfa3dfefcb33509004d3fM archFrom the boot-up I get the message as shown in the images at:
http://www.users.on.net/~arthur.marsh/20151107601.jpg and
http://www.users.on.net/~arthur.marsh/20151107602.jpgThe boot-up suggests trying rebooting with pci=alloc but that didn't help.
The errors shown include
"BAR 0: trying firmware assignment [io size0x0020]"
"BAR 0: [io size0x0020] conflicts with PCI Bus #00 [io 0x0000-0xffff] "BAR 0: failed to assign [io size0x0020]Applying the following patch on top of the patch above from 14 October 2015 worked for me:
From
02818ba34bfa76d93f2a29c85660da0323b0b457Mon Sep 17 00:00:00 2001
From: Liu Jiang <[email protected]>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH]Signed-off-by Liu Jiang <[email protected]>--- arch/x86/pci/bus_numa.c | 3 +++ 1 file changed, 3 insertions(+)arch/x86/pci/bus_numa.c +3
-0@@ -51,6 +51,8 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) pci_add_resource(resources, &info->busn);list_for_each_entry (root_res, &info->resources, list) { +pci_add_resource (resources, &root_res->res); +#if 0 struct resource *res;struct resource *root;@@ -61,6 +63,7 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources) else root = &iomem_resource;insert_resource (root, res); +#endif }return ;###
The patch postd by Jian Liu on 16 November 2015 "[Bugfix] x86/PCI: Fix regression caused by commit
4d6b4e69a245" had *not* been seen or tested by me before being posted to the linux-acpi list and when I did test it (after removing the patch above from 9 November 2015), things broke:
http://www.users.on.net/~arthur.marsh/20151116611.jpg
Quoted 6 lines
So if "commit
4d6b4e69a245e9df4b84dba387596086cb66887dx86/PCI/ACPI: Use common interface to support PCI host bridge" stays, then the patch "16 November 2015 [Bugfix] x86/PCI: Fix regression caused by commit4d6b4e69a245" would need to go and the patch above from 9 November 2015 would need to be accepted into the mainline for my machine to boot from the mainline code.
Hi Arthur,
Thanks for reminder again!
It's a little strange, the formal patch "[Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245" is based on the debug patch I sent to you at 9 November 2015.
Could you please help to try the attached patch again?
Thanks,
Gerry
Quoted 3 lines
Arthur.
From2f82bcfb3f8804197512e55259b57e6fbed6a913Mon Sep 17 00:00:00 2001
From: Liu Jiang <[email protected]>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interface acpi_pci_root_create, but the conversion missed on code piece in arch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is that acpi_pci_root_create() fails to insert host bridge resources into iomem_resource/ioport_resource because x86_pci_root_bus_resources() has already inserted those resources. So change x86_pci_root_bus_resources() to not insert resources into iomem_resource/ioport_resource.
--- arch/x86/pci/bus_numa.c | 13 ++----------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 9 insertions(+), 11 deletions(-)
arch/x86/pci/bus_numa.c +2 -11
@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:
drivers/acpi/pci_root.c +7 -0
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
Signature · 1 line
1.7.10.4
Jiang Liu wrote on 25/11/15 18:57:
Quoted 8 lines
Hi Arthur,
Thanks for reminder again!
It's a little strange, the formal patch "[Bugfix] x86/PCI: Fix regression caused by commit4d6b4e69a245" is based on the debug patch I sent to you at 9 November 2015.
Could you please help to try the attached patch again?
Thanks,
Gerry
OK, I'm booting alright now with git diff reporting the following (just the patch that Jiang Liu posted in the parent):
arch/x86/pci/bus_numa.c +2 -11
@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:
drivers/acpi/pci_root.c +7 -0
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
####
There have been at least two gcc-5 updates on this machine since originally reporting the problem so that may have affected results.
Thanks to all for help with this.
Arthur.
Quoted 26 lines · Rafael J. Wysocki
Quoted 25 lines · Bjorn Helgaas
Quoted 12 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Quoted 2 lines
Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>What's the status of this? It looks like a regression we need to fix for v4.4.
AFAICT, Arthur did *not* test this patch (rather, his response says he did test it and the test failed).
Quoted 6 lines
Quoted 2 lines
4d6b4e69a245was merged by Rafael, and I assume he'll merge the fix unless I hear otherwise.Quite frankly, I'm more likely to revert the offending commit at this point as that's not the only regression reported against it and the fix only helps in one case (out of three known to me).
Hi Rafael,
I got regression report from Hans de Bruin<[email protected]>,
Keith Busch <[email protected]>, and Arthur Marsh <[email protected]>. Hans and Keith also reports the patch fixes the regression. For Arthur's case, the debug patch works for him, but the formal patch based on the debug patch fails, so I need to do more investigation about this. Is there any other report related to commit 4d6b4e69a245 so I could help to investigate?
Thanks,
Gerry
Quoted 4 lines
Thanks,
Rafael
Quoted 30 lines · Jiang Liu
Quoted 21 lines · Rafael J. Wysocki
Quoted 20 lines · Bjorn Helgaas
Quoted 12 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Quoted 2 lines
Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>What's the status of this? It looks like a regression we need to fix for v4.4.
Quoted 8 lines
Quoted 5 lines
AFAICT, Arthur did *not* test this patch (rather, his response says he did test it and the test failed).
4d6b4e69a245was merged by Rafael, and I assume he'll merge the fix unless I hear otherwise.Quite frankly, I'm more likely to revert the offending commit at this point as that's not the only regression reported against it and the fix only helps in one case (out of three known to me).
Quoted 9 lines
Hi Rafael,
I got regression report from Hans de Bruin<[email protected]>,
Keith Busch <[email protected]>, and Arthur Marsh <[email protected]>. Hans and Keith also reports the patch fixes the regression. For Arthur's case, the debug patch works for him, but the formal patch based on the debug patch fails, so I need to do more investigation about this. Is there any other report related to commit4d6b4e69a245so I could help to investigate?
OK, so the proposed bug fix works for everybody, right?
In that case there's no reason not to apply it.
If there's anyone who can reproduce the problem and for whom that patch doesn't work, please let me know.
Thanks,
Rafael
PATCH 1/1 x86/PCI: Fix regression caused by commit 4d6b4e69a245
From: Liu Jiang <[email protected]>
Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interface acpi_pci_root_create, but the conversion missed on code piece in arch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is that acpi_pci_root_create() fails to insert host bridge resources into iomem_resource/ioport_resource because x86_pci_root_bus_resources() has already inserted those resources. So change x86_pci_root_bus_resources() to not insert resources into iomem_resource/ioport_resource.
--- arch/x86/pci/bus_numa.c | 13 ++----------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 9 insertions(+), 11 deletions(-)
arch/x86/pci/bus_numa.c +2 -11
@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:
drivers/acpi/pci_root.c +7 -0
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
Signature · 1 line
1.7.10.4
Quoted 13 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.
Quoted 6 lines
Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>Cc Hans de Bruin <[email protected]>
What exactly has changed between this version and the previous one?
Quoted 49 lines
--- arch/x86/pci/bus_numa.c | 13 ++----------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 9 insertions(+), 11 deletions(-)arch/x86/pci/bus_numa.c +2
-11@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:drivers/acpi/pci_root.c +7
-0@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
Signature · 2 lines
I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Quoted 14 lines · Rafael J. Wysocki
Quoted 13 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.
Quoted 8 lines
Quoted 6 lines
Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>Cc Hans de Bruin <[email protected]>What exactly has changed between this version and the previous one?
Hi Rafael,
I have removed following changes against the original patch
posted at Nov 16.
bus);
/* already added by acpi ? */
- resource_list_for_each_entry(window, resources)
+ resource_list_for_each_entry(window, &info->resources)
if (window->res->flags & IORESOURCE_BUS) {
found = true;
break;
}
-
if (!found)
pci_add_resource(resources, &info->busn);
And I only refined the commit message based on the test patch I sent to Authur as an attachment at Nov 25. Thanks,
Gerry
Quoted 52 lines
Quoted 51 lines
--- arch/x86/pci/bus_numa.c | 13 ++----------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 9 insertions(+), 11 deletions(-)arch/x86/pci/bus_numa.c +2
-11@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:drivers/acpi/pci_root.c +7
-0@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ; +/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
Quoted 39 lines · Jiang Liu
Quoted 14 lines · Rafael J. Wysocki
Quoted 13 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Quoted 8 lines
Quoted 6 lines
Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>Cc Hans de Bruin <[email protected]>What exactly has changed between this version and the previous one?
Hi Rafael,
I have removed following changes against the original patch
posted at Nov 16.(quoted diff) +1
-2bus); /* already added by acpi ? */ - resource_list_for_each_entry(window, resources) + resource_list_for_each_entry(window, &info->resources) if (window->res->flags & IORESOURCE_BUS) { found = true; break; } - if (!found) pci_add_resource(resources, &info->busn);
Quoted 2 lines
And I only refined the commit message based on the test patch I sent to Authur as an attachment at Nov 25.
OK, thanks.
Keith, Hans, can you test this version too please?
Bjorn, any more comments from you on this one?
Quoted 38 lines
Quoted 38 lines
Quoted 38 lines
--- arch/x86/pci/bus_numa.c | 13 ++----------- drivers/acpi/pci_root.c | 7 +++++++ 2 files changed, 9 insertions(+), 11 deletions(-)arch/x86/pci/bus_numa.c +2
-11@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)if (!found)pci_add_resource (resources, &info->busn); -list_for_each_entry (root_res, &info->resources, list) { -struct resource *res; -struct resource *root; +list_for_each_entry (root_res, &info->resources, list) +pci_add_resource (resources, &root_res->res); - res = &root_res->res; -pci_add_resource (resources, res); -if (res->flags &IORESOURCE_IO ) - root = &ioport_resource; -else - root = &iomem_resource; -insert_resource (root, res); - }return ; default_resources:drivers/acpi/pci_root.c +0
-0@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)else continue ;
Quoted 12 lines
Quoted 12 lines
drivers/acpi/pci_root.c static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info) · line 780
Quoted 11 lines
drivers/acpi/pci_root.c +7
-0+/* +* Some legacy x86 host bridge drivers use iomem_resource and +* ioport_resource as default resource pool, skip it. +*/ +if (res == root) +continue ; + conflict =insert_resource_conflict (root, res);if (conflict) { dev_info(&info->bridge->dev,
Thanks,
Rafael
Quoted 40 lines · Rafael J. Wysocki
Quoted 39 lines · Jiang Liu
Quoted 14 lines · Rafael J. Wysocki
Quoted 13 lines · Jiang Liu
From: Liu Jiang <[email protected]>
Commit
4d6b4e69a245("x86/PCI/ACPI: Use common interface to support PCI host bridge") converted x86 to use the common interfaceacpi_pci_root_create, but the conversion missed on code piece inarch/x86/pci/bus_numa.c, which causes regression on some legacy AMD platforms as reported by Arthur Marsh <[email protected]>. The root causes is thatacpi_pci_root_create()fails to insert host bridge resources into iomem_resource/ioport_resource becausex86_pci_root_bus_resources()has already inserted those resources. So changex86_pci_root_bus_resources()to not insert resources into iomem_resource/ioport_resource.Quoted 8 lines
Quoted 6 lines
Fixes 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")Signed-off-by Jiang Liu <[email protected]>Reported-and-tested-by Arthur Marsh <[email protected]>Cc Keith Busch <[email protected]>Cc Arthur Marsh <[email protected]>Cc Hans de Bruin <[email protected]>What exactly has changed between this version and the previous one?
Hi Rafael,
I have removed following changes against the original patch
posted at Nov 16.(quoted diff) +1
-2bus); /* already added by acpi ? */ - resource_list_for_each_entry(window, resources) + resource_list_for_each_entry(window, &info->resources) if (window->res->flags & IORESOURCE_BUS) { found = true; break; } - if (!found) pci_add_resource(resources, &info->busn);
Quoted 8 lines
Quoted 2 lines
And I only refined the commit message based on the test patch I sent to Authur as an attachment at Nov 25.
OK, thanks.
Keith, Hans, can you test this version too please?
Bjorn, any more comments from you on this one?
I haven't reviewed it in detail, but I don't have any objections to it.
Bjorn
Keith Busch
Tested-byQuoted 17 lines · Rafael J. Wysocki
Quoted 16 lines · Jiang Liu
Hi Rafael,
I have removed following changes against the original patch
posted at Nov 16.(quoted diff) +1
-2bus); /* already added by acpi ? */ - resource_list_for_each_entry(window, resources) + resource_list_for_each_entry(window, &info->resources) if (window->res->flags & IORESOURCE_BUS) { found = true; break; } - if (!found) pci_add_resource(resources, &info->busn);
Quoted 6 lines
Quoted 2 lines
And I only refined the commit message based on the test patch I sent to Authur as an attachment at Nov 25.
OK, thanks.
Keith, Hans, can you test this version too please?
Thanks, works for me!
Quoted 1 line
Bjorn, any more comments from you on this one?
Quoted 2 lines · Rafael J. Wysocki
Quoted 1 line · Jiang Liu
On 2015/11/28 0:06, Rafael J. Wysocki wrote:
...
Quoted 8 lines
Quoted 3 lines
And I only refined the commit message based on the test patch I sent to Authur as an attachment at Nov 25.
OK, thanks.
Keith, Hans, can you test this version too please?
This version of the patch works on my laptop too.
Signature · 1 line
Hans
Quoted 8 lines · Hans de Bruin
Quoted 2 lines · Rafael J. Wysocki
Quoted 1 line · Jiang Liu
On 2015/11/28 0:06, Rafael J. Wysocki wrote:
...
Quoted 4 lines
Quoted 3 lines
And I only refined the commit message based on the test patch I sent to Authur as an attachment at Nov 25.
Quoted 6 lines
Quoted 4 lines
OK, thanks.
Keith, Hans, can you test this version too please?
This version of the patch works on my laptop too.
Thank you all for verifying!
The patch is in my queue for 4.4-rc4.
Thanks,
Rafael