Regression: 442ec4c04d1: PCI: dwc: all: Split struct pcie_port into host-only and core structures

Kishon Vijay Abraham I kishon at ti.com
Mon May 8 08:50:36 PDT 2017


Hi,

On Monday 08 May 2017 09:09 PM, Kishon Vijay Abraham I wrote:
> Hi,
> 
> On Monday 08 May 2017 08:32 PM, Peter Senna Tschudin wrote:
>> Hello Kishon,
>>
>> Our iMX6 hardware (imx6q-b850v3.dts) is not booting with latest
>> linux-next and I could bisect until:
>>
>> commit 442ec4c04d1235f8c664a74004dae54a7a574d18
>> Author: Kishon Vijay Abraham I <kishon at ti.com>
>> Date:   Wed Feb 15 18:48:14 2017 +0530
>>
>>     PCI: dwc: all: Split struct pcie_port into host-only and core structures
>>
>> Which seem to be causing our issues. Our device (imx6q-b850v3.dts) boots
>> fine with 4.10, and also boots if we disable pcie with:
>>
>> diff --git a/arch/arm/boot/dts/imx6q-b850v3.dts b/arch/arm/boot/dts/imx6q-b850v3.dts
>> index 2c1e98e..e655fd7 100644
>> --- a/arch/arm/boot/dts/imx6q-b850v3.dts
>> +++ b/arch/arm/boot/dts/imx6q-b850v3.dts
>> @@ -212,3 +212,8 @@
>>                 };
>>         };
>>  };
>> +
>> +&pcie {
>> +        status = "disabled";
>> +};
>>
>> But otherwise our system freezes while initializing PCI, see dmesg with
>> some more information. Is this something specific of our system/dt or
>> can this be a bug that is affecting others as well?
> 
> Haven't seen this in dra7xx. I've tried with few ethernet PCIe cards and also a
> PCIe-to-PCI bridge.

Can you enable PCI_DEBUG and share the logs?

Thanks
Kishon

>>
>> Kind Regards,
>>
>> Peter
>>
>> Starting kernel ...
>>
>> Uncompressing Linux... done, booting the kernel.
> .
> .
> <snip>
> .
> .
>> [    0.501998] OF: PCI: host bridge /soc/pcie at 1ffc000 ranges:
>> [    0.507275] OF: PCI:    IO 0x01f80000..0x01f8ffff -> 0x00000000
>> [    0.513202] OF: PCI:   MEM 0x01000000..0x01efffff -> 0x01000000
>> [    0.739697] imx6q-pcie 1ffc000.pcie: link up
>> [    0.741115] imx6q-pcie 1ffc000.pcie: Link: Gen2 disabled
>> [    0.746421] imx6q-pcie 1ffc000.pcie: Link up, Gen1
>> [    0.751343] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
>> [    0.757475] pci_bus 0000:00: root bus resource [bus 00-ff]
>> [    0.762974] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> [    0.769128] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
>> [    0.776052] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
>> [    0.782044] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
>> [    0.788279] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
>> [    0.795041] pci 0000:00:00.0: supports D1
>> [    0.798971] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
>> [    0.805503] PCI: bus0: Fast back to back transfers disabled
>> [    0.811079] pci 0000:01:00.0: [10b5:8605] type 01 class 0x060400
> 
> I could see a couple of device detected [16c3:abcd and [10b5:8605]. What other
> devices are connected?
>> [    0.817034] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff]
>> [    0.823778] pci 0000:01:00.0: supports D1 D2
>> [    0.827418] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
>> [    0.859773] PCI: bus1: Fast back to back transfers disabled
>> [    0.862502] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
>> [    0.870810] pci_bus 0000:02: busn_res: can not insert [bus 02-ff] under [bus 01] (conflicts with (null) [bus 01])
> 
> Do you get the above message in the working scenario?
>> [    0.880800] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf0a40000
>> [    0.888416] pgd = 80004000
>> [    0.891112] [f0a40000] *pgd=7e01d811, *pte=01f40243, *ppte=01f40013
>> [    0.897384] Internal error: : 1008 [#1] SMP ARM
>> [    0.901903] Modules linked in:
>> [    0.904951] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-next-20170508-dirty #106
>> [    0.912775] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
>> [    0.919302] task: ee908000 task.stack: ee906000
>> [    0.923836] PC is at dw_pcie_read+0x60/0x8c
>> [    0.928005] LR is at dw_pcie_rd_conf+0x188/0x1e0
>> [    0.932616] pc : [<804125b8>]    lr : [<80413308>]    psr: 60000093
>> [    0.932616] sp : ee907af0  ip : ee907b00  fp : ee907afc
>> [    0.944096] r10: 00000000  r9 : eea28b10  r8 : 00000000
>> [    0.949317] r7 : 00000000  r6 : 00000000  r5 : f0a40000  r4 : eea28b28
>> [    0.955840] r3 : 00000000  r2 : ee907b6c  r1 : 00000004  r0 : f0a40000
>> [    0.962368] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
>> [    0.969589] Control: 10c5387d  Table: 1000404a  DAC: 00000051
>> [    0.975330] Process swapper/0 (pid: 1, stack limit = 0xee906210)
>> [    0.981333] Stack: (0xee907af0 to 0xee908000)
>> [    0.985686] 7ae0:                                     ee907b54 ee907b00 80413308 80412564
>> [    0.993864] 7b00: 01f40000 00000000 02000000 00000000 00040000 804126ec 01f40000 00000000
>> [    1.002041] 7b20: 804126ec 00000004 ee907b44 80413180 ee907bd4 60000013 00000000 00000002
>> [    1.010220] 7b40: 00000000 eeb1be00 ee907b8c ee907b58 803f3eac 8041318c ee907b6c 80412564
>> [    1.018397] 7b60: 00000000 00000000 ee907b84 00000000 00000000 00000000 ee907bd4 0000ea60
>> [    1.026577] 7b80: ee907bcc ee907b90 803f6598 803f3e40 eea28b10 00000000 ee907bfc 80400974
>> [    1.034754] 7ba0: 00000000 00000000 eeb1be00 00000000 00000000 00000002 00000000 00000001
>> [    1.042932] 7bc0: ee907bf4 ee907bd0 803f7f08 803f6570 ee907bfc 80db80b4 00000008 eeb1be00
>> [    1.051109] 7be0: eea16000 00000000 ee907c14 ee907bf8 803f7fec 803f7ec4 00000008 eeb1be00
>> [    1.059287] 7c00: eea16000 00000002 ee907c3c ee907c18 803f902c 803f7f88 eeb1bc00 eeb1be00
>> [    1.067466] 7c20: eea16000 00000001 00000002 00000000 ee907c94 ee907c40 803f8d58 803f9008
>> [    1.075643] 7c40: 8010e080 802097c8 80a57698 00000001 00000000 00000000 00000000 00000000
>> [    1.083821] 7c60: 00000001 00ff0201 ee907c94 eea16000 eeb1bc00 eeb1bc14 00000001 00000001
>> [    1.091999] 7c80: 00000001 00000001 ee907cbc ee907c98 803f9088 803f8ab4 eeb1ba00 eeb1bc00
>> [    1.100177] 7ca0: eea15c00 00000000 00000001 00000001 ee907d14 ee907cc0 803f8ca0 803f9008
>> [    1.108355] 7cc0: 8010e080 802097c8 80a57698 00000000 00000000 00000000 00000000 00000000
>> [    1.116533] 7ce0: 00000001 00010100 ee907d14 eea15c00 eeb1ba00 eeb1ba14 00000000 00000000
>> [    1.124712] 7d00: ee803e10 00000000 ee907d3c ee907d18 803f9088 803f8ab4 00000000 eeb1ba00
>> [    1.132890] 7d20: 80d308b4 ee907d70 ee907d70 ee803e10 ee907d5c ee907d40 803f92d4 803f9008
>> [    1.141069] 7d40: ee907d70 80d308b4 eea28b28 80d3082c ee907da4 ee907d60 80413d20 803f9274
>> [    1.149247] 7d60: ee907d70 80d308b4 8016f3bc eefd9ef8 ee907d70 ee907d70 ee803e00 00000000
>> [    1.157425] 7d80: eea28b10 ee803e10 ee01a490 ee803e00 eefd9ef8 80c00660 ee907ddc ee907da8
>> [    1.165603] 7da0: 8041479c 80413adc 00010080 80a886e4 ee01a490 ee803e10 ee803e10 80d308fc
>> [    1.173781] 7dc0: 00000000 00000000 80d308fc 00000000 ee907df4 ee907de0 804e10e8 8041441c
>> [    1.181959] 7de0: 80dc0d30 ee803e10 ee907e1c ee907df8 804df498 804e10b0 ee803e10 80d308fc
>> [    1.190136] 7e00: ee803e44 00000000 00000000 80c6a83c ee907e3c ee907e20 804df610 804df2b4
>> [    1.198313] 7e20: 00000000 80d308fc 804df53c 00000000 ee907e64 ee907e40 804dd74c 804df548
>> [    1.206493] 7e40: ee947058 ee8f8434 ee94706c 80d308fc ee01a380 80d40850 ee907e74 ee907e68
>> [    1.214669] 7e60: 804def1c 804dd6dc ee907e9c ee907e78 804dea5c 804def00 80a88880 ee907e88
>> [    1.222848] 7e80: 80d308fc ffffe000 80c6a834 80b29414 ee907eb4 ee907ea0 804dfe9c 804de958
>> [    1.231026] 7ea0: 80c2c07c ffffe000 ee907ec4 ee907eb8 804e1090 804dfe20 ee907edc ee907ec8
>> [    1.239204] 7ec0: 80c2c0bc 804e105c 80a58f90 ffffe000 ee907f4c ee907ee0 80101c78 80c2c088
>> [    1.247383] 7ee0: 80c00684 803b9664 80b2a200 000000b9 ee907f4c ee907f00 80142b54 80c0066c
>> [    1.255559] 7f00: 8015ddd4 00000006 00000006 00000000 80b29414 80ab8644 efffea30 efffea38
>> [    1.263739] 7f20: 00000000 00000006 80d7f000 80c99e94 80d7f000 80c6a834 80b29414 000000b9
>> [    1.271916] 7f40: ee907f94 ee907f50 80c00eb0 80101c38 00000006 00000006 00000000 80c00660
>> [    1.280093] 7f60: 00000000 00000007 8088ee80 00000000 8088ee80 00000000 00000000 00000000
>> [    1.288272] 7f80: 00000000 00000000 ee907fac ee907f98 8088ee98 80c00d88 00000000 8088ee80
>> [    1.296450] 7fa0: 00000000 ee907fb0 801080f8 8088ee8c 00000000 00000000 00000000 00000000
>> [    1.304627] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>> [    1.312805] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
>> [    1.320978] Backtrace:
>> [    1.323425] [<80412558>] (dw_pcie_read) from [<80413308>] (dw_pcie_rd_conf+0x188/0x1e0)
>> [    1.331433] [<80413180>] (dw_pcie_rd_conf) from [<803f3eac>] (pci_bus_read_config_dword+0x78/0xa0)
>> [    1.340387]  r10:eeb1be00 r9:00000000 r8:00000002 r7:00000000 r6:60000013 r5:ee907bd4
>> [    1.348210]  r4:80413180
>> [    1.350744] [<803f3e34>] (pci_bus_read_config_dword) from [<803f6598>] (pci_bus_read_dev_vendor_id+0x34/0x104)
>> [    1.360740]  r6:0000ea60 r5:ee907bd4 r4:00000000
>> [    1.365358] [<803f6564>] (pci_bus_read_dev_vendor_id) from [<803f7f08>] (pci_scan_single_device+0x50/0xc4)
>> [    1.375011]  r10:00000001 r9:00000000 r8:00000002 r7:00000000 r6:00000000 r5:eeb1be00
>> [    1.382835]  r4:00000000
>> [    1.385366] [<803f7eb8>] (pci_scan_single_device) from [<803f7fec>] (pci_scan_slot+0x70/0x118)
>> [    1.393975]  r7:00000000 r6:eea16000 r5:eeb1be00 r4:00000008
>> [    1.399634] [<803f7f7c>] (pci_scan_slot) from [<803f902c>] (pci_scan_child_bus+0x30/0x108)
>> [    1.407895]  r7:00000002 r6:eea16000 r5:eeb1be00 r4:00000008
>> [    1.413551] [<803f8ffc>] (pci_scan_child_bus) from [<803f8d58>] (pci_scan_bridge+0x2b0/0x554)
>> [    1.422078]  r9:00000000 r8:00000002 r7:00000001 r6:eea16000 r5:eeb1be00 r4:eeb1bc00
>> [    1.429820] [<803f8aa8>] (pci_scan_bridge) from [<803f9088>] (pci_scan_child_bus+0x8c/0x108)
>> [    1.438261]  r10:00000001 r9:00000001 r8:00000001 r7:00000001 r6:eeb1bc14 r5:eeb1bc00
>> [    1.446085]  r4:eea16000
>> [    1.448612] [<803f8ffc>] (pci_scan_child_bus) from [<803f8ca0>] (pci_scan_bridge+0x1f8/0x554)
>> [    1.457138]  r9:00000001 r8:00000001 r7:00000000 r6:eea15c00 r5:eeb1bc00 r4:eeb1ba00
>> [    1.464881] [<803f8aa8>] (pci_scan_bridge) from [<803f9088>] (pci_scan_child_bus+0x8c/0x108)
>> [    1.473321]  r10:00000000 r9:ee803e10 r8:00000000 r7:00000000 r6:eeb1ba14 r5:eeb1ba00
>> [    1.481145]  r4:eea15c00
>> [    1.483675] [<803f8ffc>] (pci_scan_child_bus) from [<803f92d4>] (pci_scan_root_bus_msi+0x6c/0xd4)
>> [    1.492549]  r9:ee803e10 r8:ee907d70 r7:ee907d70 r6:80d308b4 r5:eeb1ba00 r4:00000000
>> [    1.500292] [<803f9268>] (pci_scan_root_bus_msi) from [<80413d20>] (dw_pcie_host_init+0x250/0x4f8)
>> [    1.509249]  r5:80d3082c r4:eea28b28
>> [    1.512822] [<80413ad0>] (dw_pcie_host_init) from [<8041479c>] (imx6_pcie_probe+0x38c/0x540)
>> [    1.521259]  r10:80c00660 r9:eefd9ef8 r8:ee803e00 r7:ee01a490 r6:ee803e10 r5:eea28b10
>> [    1.529083]  r4:00000000
>> [    1.531619] [<80414410>] (imx6_pcie_probe) from [<804e10e8>] (platform_drv_probe+0x44/0x7c)
>> [    1.539963]  r9:00000000 r8:80d308fc r7:00000000 r6:00000000 r5:80d308fc r4:ee803e10
>> [    1.547709] [<804e10a4>] (platform_drv_probe) from [<804df498>] (really_probe+0x1f0/0x294)
>> [    1.555967]  r5:ee803e10 r4:80dc0d30
>> [    1.559540] [<804df2a8>] (really_probe) from [<804df610>] (__driver_attach+0xd4/0xd8)
>> [    1.567367]  r9:80c6a83c r8:00000000 r7:00000000 r6:ee803e44 r5:80d308fc r4:ee803e10
>> [    1.575113] [<804df53c>] (__driver_attach) from [<804dd74c>] (bus_for_each_dev+0x7c/0xb0)
>> [    1.583286]  r7:00000000 r6:804df53c r5:80d308fc r4:00000000
>> [    1.588945] [<804dd6d0>] (bus_for_each_dev) from [<804def1c>] (driver_attach+0x28/0x30)
>> [    1.596945]  r6:80d40850 r5:ee01a380 r4:80d308fc
>> [    1.601560] [<804deef4>] (driver_attach) from [<804dea5c>] (bus_add_driver+0x110/0x220)
>> [    1.609564] [<804de94c>] (bus_add_driver) from [<804dfe9c>] (driver_register+0x88/0x104)
>> [    1.617652]  r7:80b29414 r6:80c6a834 r5:ffffe000 r4:80d308fc
>> [    1.623311] [<804dfe14>] (driver_register) from [<804e1090>] (__platform_driver_register+0x40/0x54)
>> [    1.632353]  r5:ffffe000 r4:80c2c07c
>> [    1.635931] [<804e1050>] (__platform_driver_register) from [<80c2c0bc>] (imx6_pcie_init+0x40/0x54)
>> [    1.644890] [<80c2c07c>] (imx6_pcie_init) from [<80101c78>] (do_one_initcall+0x4c/0x17c)
>> [    1.652983] [<80101c2c>] (do_one_initcall) from [<80c00eb0>] (kernel_init_freeable+0x134/0x1f4)
>> [    1.661675]  r8:000000b9 r7:80b29414 r6:80c6a834 r5:80d7f000 r4:80c99e94
>> [    1.668385] [<80c00d7c>] (kernel_init_freeable) from [<8088ee98>] (kernel_init+0x18/0x124)
>> [    1.676641]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:8088ee80
>> [    1.684464]  r4:00000000
>> [    1.687000] [<8088ee80>] (kernel_init) from [<801080f8>] (ret_from_fork+0x14/0x3c)
>> [    1.694558]  r5:8088ee80 r4:00000000
>> [    1.698131] Code: ee073f9a e1a00003 e5821000 e89da800 (e5901000)
>> [    1.704224] ---[ end trace dc8f87ab88f61701 ]---
>> [    1.708894] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>> [    1.708894]
>> [    1.717974] CPU1: stopping
>> [    1.720663] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D         4.11.0-next-20170508-dirty #106
>> [    1.729705] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
>> [    1.736230] Backtrace:
>> [    1.738676] [<8010c7d0>] (dump_backtrace) from [<8010cad4>] (show_stack+0x20/0x24)
>> [    1.746239]  r7:00000001 r6:60000193 r5:00000000 r4:80d2f200
>> [    1.751902] [<8010cab4>] (show_stack) from [<803b1970>] (dump_stack+0x94/0xb0)
>> [    1.759120] [<803b18dc>] (dump_stack) from [<8010f708>] (handle_IPI+0x28c/0x334)
>> [    1.766510]  r7:00000001 r6:80ca1e0c r5:ee92df38 r4:80d7f310
>> [    1.772167] [<8010f47c>] (handle_IPI) from [<801015a4>] (gic_handle_irq+0xa8/0xc4)
>> [    1.779735]  r10:80d0432c r9:f4000100 r8:80d2f648 r7:ee92df38 r6:000003ff r5:000003eb
>> [    1.787561]  r4:f400010c r3:00000000
>> [    1.791134] [<801014fc>] (gic_handle_irq) from [<80894a6c>] (__irq_svc+0x6c/0x90)
>> [    1.798609] Exception stack(0xee92df38 to 0xee92df80)
>> [    1.803657] df20:                                                       0000062c 6e329000
>> [    1.811839] df40: 00000000 8011bd60 ee92c000 00000000 80d03cf8 80d03cac 80d16f9f 80a5d91c
>> [    1.820016] df60: 00000000 ee92df94 ee92df98 ee92df88 80108a00 80108a04 60000013 ffffffff
>> [    1.828194]  r10:00000000 r9:ee92c000 r8:80d16f9f r7:ee92df6c r6:ffffffff r5:60000013
>> [    1.836019]  r4:80108a04
>> [    1.838552] [<801089c4>] (arch_cpu_idle) from [<8089424c>] (default_idle_call+0x30/0x3c)
>> [    1.846647] [<8089421c>] (default_idle_call) from [<8015ed88>] (do_idle+0xc4/0x14c)
>> [    1.854296] [<8015ecc4>] (do_idle) from [<8015f09c>] (cpu_startup_entry+0x28/0x2c)
>> [    1.861864]  r9:412fc09a r8:1000406a r7:80d7f320 r6:10c0387d r5:00000001 r4:00000087
>> [    1.869609] [<8015f074>] (cpu_startup_entry) from [<8010f1ec>] (secondary_start_kernel+0x148/0x174)
>> [    1.878656] [<8010f0a4>] (secondary_start_kernel) from [<1010196c>] (0x1010196c)
>> [    1.886046]  r5:00000051 r4:7e92006a
>> [    1.889619] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>> [    1.889619]
>>
> 
> -Kishon
> 



More information about the linux-arm-kernel mailing list