Message ID | 20161125105718.3866-10-thierry.reding@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ works.. Relevant parts of bootlog: [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, using 4 lanes [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin change, signature: 00000008 [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, using 1 lanes [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin change, signature: 00000000 [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, retrying [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, retrying [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, retrying [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge to bus 0000:00 [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 3.217343] pci_bus 0000:00: root bus resource [mem 0x13000000-0x1fffffff] [ 3.224218] pci_bus 0000:00: root bus resource [mem 0x20000000-0x3fffffff pref] [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem 0x13000000-0x130fffff] [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem 0x20000000-0x200fffff 64bit pref] [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem 0x20000000-0x20003fff 64bit pref] [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem 0x13000000-0x13000fff 64bit] [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] [ 3.307666] pci 0000:00:01.0: bridge window [mem 0x13000000-0x130fffff] [ 3.314454] pci 0000:00:01.0: bridge window [mem 0x20000000-0x200fffff 64bit pref] [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate host bridge [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME interrupt [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko] then [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write @0x000000007a484000: EMEM address decode error (EMEM decode error) [ 3.717747] r8169 0000:01:00.0 eth0: link down The card is alive though, the transfer LED is blinking according to incoming traffic, I assume; we can also see that the driver is able to access the hw to some extent. The kernel version is 4.9rc7 with just this series on top. The same board/card also works in U-boot. - Mikko On 11/25/2016 12:57 PM, Thierry Reding wrote: > From: Thierry Reding <treding@nvidia.com> > > Enable the x4 PCIe and M.2 Key E slots on Jetson TX1. The Key E slot is > currently untested due to lack of hardware. > > Signed-off-by: Thierry Reding <treding@nvidia.com> > --- > arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 26 ++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts > index 983775e637a4..4c1ea7a08d43 100644 > --- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts > +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts > @@ -7,6 +7,32 @@ > model = "NVIDIA Jetson TX1 Developer Kit"; > compatible = "nvidia,p2371-2180", "nvidia,tegra210"; > > + pcie-controller@01003000 { > + status = "okay"; > + > + avdd-pll-uerefe-supply = <&avdd_1v05_pll>; > + hvddio-pex-supply = <&vdd_1v8>; > + dvddio-pex-supply = <&vdd_pex_1v05>; > + dvdd-pex-pll-supply = <&vdd_pex_1v05>; > + hvdd-pex-pll-e-supply = <&vdd_1v8>; > + vddio-pex-ctl-supply = <&vdd_1v8>; > + > + pci@1,0 { > + phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, > + <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, > + <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, > + <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; > + phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3"; > + status = "okay"; > + }; > + > + pci@2,0 { > + phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; > + phy-names = "pcie-0"; > + status = "okay"; > + }; > + }; > + > host1x@50000000 { > dsi@54300000 { > status = "okay"; > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
I've also tried with OCZ SSD and things are working fine. Boot log... [ 1.770836] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration [ 1.796262] tegra-pcie 1003000.pcie-controller: probing port 0, using 4 lanes [ 1.809456] tegra-pcie 1003000.pcie-controller: Slot present pin change, signature: 00000008 [ 1.828019] tegra-pcie 1003000.pcie-controller: probing port 1, using 1 lanes [ 1.835179] tegra-pcie 1003000.pcie-controller: Slot present pin change, signature: 00000000 [ 2.254574] tegra-pcie 1003000.pcie-controller: link 1 down, retrying [ 2.665182] tegra-pcie 1003000.pcie-controller: link 1 down, retrying [ 3.075772] tegra-pcie 1003000.pcie-controller: link 1 down, retrying [ 3.084231] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring [ 3.090863] tegra-pcie 1003000.pcie-controller: PCI host bridge to bus 0000:00 [ 3.098138] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 3.104340] pci_bus 0000:00: root bus resource [mem 0x13000000-0x1fffffff] [ 3.111232] pci_bus 0000:00: root bus resource [mem 0x20000000-0x3fffffff pref] [ 3.118566] pci_bus 0000:00: root bus resource [bus 00-ff] [ 3.124490] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 3.144765] pci 0000:00:01.0: BAR 14: assigned [mem 0x13000000-0x130fffff] [ 3.151670] pci 0000:01:00.0: BAR 2: assigned [mem 0x13000000-0x1303ffff 64bit] [ 3.159013] pci 0000:01:00.0: BAR 0: assigned [mem 0x13040000-0x1305ffff 64bit] [ 3.166338] pci 0000:01:00.0: BAR 6: assigned [mem 0x13060000-0x1306ffff pref] [ 3.173559] pci 0000:00:01.0: PCI bridge to [bus 01] [ 3.178530] pci 0000:00:01.0: bridge window [mem 0x13000000-0x130fffff] [ 3.185338] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate host bridge [ 3.192384] pcieport 0000:00:01.0: enabling device (0000 -> 0002) [ 3.198747] pcieport 0000:00:01.0: Signaling PME through PCIe PME interrupt [ 3.205763] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt [ 3.212491] mvsas 0000:01:00.0: mvsas: driver version 0.8.16 [ 3.218182] mvsas 0000:01:00.0: enabling device (0000 -> 0002) [ 3.229007] mvsas 0000:01:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5 Gbps [ 10.184674] scsi host0: mvsas [ 10.368296] ata1.00: ATA-8: OCZ-REVODRIVE3 X2, 2.25, max UDMA/133 [ 10.374400] ata1.00: 117231408 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 10.388296] ata1.00: configured for UDMA/133 [ 10.411571] scsi 0:0:0:0: Direct-Access ATA OCZ-REVODRIVE3 X 2.25 PQ: 0 ANSI: 5 [ 10.441215] sd 0:0:0:0: [sda] 117231408 512-byte logical blocks: (60.0 GB/55.9 GiB) [ 10.620169] ata2.00: ATA-8: OCZ-REVODRIVE3 X2, 2.25, max UDMA/133 [ 10.626283] ata2.00: 117231408 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 10.640171] ata2.00: configured for UDMA/133 [ 10.644714] sd 0:0:0:0: [sda] Write Protect is off [ 10.649597] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 10.661798] sd 0:0:0:0: [sda] Attached SCSI disk [ 10.670963] scsi 0:0:1:0: Direct-Access ATA OCZ-REVODRIVE3 X 2.25 PQ: 0 ANSI: 5 [ 10.701173] sd 0:0:1:0: [sdb] 117231408 512-byte logical blocks: (60.0 GB/55.9 GiB) [ 10.879961] ata3.00: ATA-8: OCZ-REVODRIVE3 X2, 2.25, max UDMA/133 [ 10.886076] ata3.00: 117231408 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 10.899961] ata3.00: configured for UDMA/133 [ 10.904486] sd 0:0:1:0: [sdb] Write Protect is off [ 10.909367] sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 10.920861] sdb: sdb1 [ 10.924375] sd 0:0:1:0: [sdb] Attached SCSI disk [ 10.933242] scsi 0:0:2:0: Direct-Access ATA OCZ-REVODRIVE3 X 2.25 PQ: 0 ANSI: 5 [ 10.965166] sd 0:0:2:0: [sdc] 117231408 512-byte logical blocks: (60.0 GB/55.9 GiB) [ 11.143890] ata4.00: ATA-8: OCZ-REVODRIVE3 X2, 2.25, max UDMA/133 [ 11.150002] ata4.00: 117231408 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 11.163892] ata4.00: configured for UDMA/133 [ 11.168424] sd 0:0:2:0: [sdc] Write Protect is off [ 11.173306] sd 0:0:2:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 11.184751] sdc: sdc1 [ 11.188243] sd 0:0:2:0: [sdc] Attached SCSI disk [ 11.197107] scsi 0:0:3:0: Direct-Access ATA OCZ-REVODRIVE3 X 2.25 PQ: 0 ANSI: 5 [ 11.229166] sd 0:0:3:0: [sdd] 117231408 512-byte logical blocks: (60.0 GB/55.9 GiB) [ 11.238220] 70090000.usb supply dvdd-pex-pll not found, using dummy regulator [ 11.245777] sd 0:0:3:0: [sdd] Write Protect is off [ 11.245848] sd 0:0:3:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 11.251511] sdd: sdd1 [ 11.252354] sd 0:0:3:0: [sdd] Attached SCSI disk Thanks, Vidya Sagar On Monday 28 November 2016 10:24 PM, Mikko Perttunen wrote: > Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ > works.. Relevant parts of bootlog: > > [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration > [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, > using 4 lanes > [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin > change, signature: 00000008 > [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, > using 1 lanes > [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin > change, signature: 00000000 > [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring > [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge to > bus 0000:00 > [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > [ 3.217343] pci_bus 0000:00: root bus resource [mem > 0x13000000-0x1fffffff] > [ 3.224218] pci_bus 0000:00: root bus resource [mem > 0x20000000-0x3fffffff pref] > [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] > [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus > 00-00]), reconfiguring > [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem > 0x13000000-0x130fffff] > [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem > 0x20000000-0x200fffff 64bit pref] > [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] > [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem > 0x20000000-0x20003fff 64bit pref] > [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem > 0x13000000-0x13000fff 64bit] > [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] > [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] > [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] > [ 3.307666] pci 0000:00:01.0: bridge window [mem > 0x13000000-0x130fffff] > [ 3.314454] pci 0000:00:01.0: bridge window [mem > 0x20000000-0x200fffff 64bit pref] > [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate > host bridge > [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) > [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME > interrupt > [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt > [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded > [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) > [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at > 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 > [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 > bytes, tx checksumming: ko] > > then > > [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write > @0x000000007a484000: EMEM address decode error (EMEM decode error) > [ 3.717747] r8169 0000:01:00.0 eth0: link down > > The card is alive though, the transfer LED is blinking according to > incoming traffic, I assume; we can also see that the driver is able to > access the hw to some extent. The kernel version is 4.9rc7 with just > this series on top. The same board/card also works in U-boot. > > - Mikko > > On 11/25/2016 12:57 PM, Thierry Reding wrote: >> From: Thierry Reding <treding@nvidia.com> >> >> Enable the x4 PCIe and M.2 Key E slots on Jetson TX1. The Key E slot is >> currently untested due to lack of hardware. >> >> Signed-off-by: Thierry Reding <treding@nvidia.com> >> --- >> arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 26 >> ++++++++++++++++++++++ >> 1 file changed, 26 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts >> b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts >> index 983775e637a4..4c1ea7a08d43 100644 >> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts >> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts >> @@ -7,6 +7,32 @@ >> model = "NVIDIA Jetson TX1 Developer Kit"; >> compatible = "nvidia,p2371-2180", "nvidia,tegra210"; >> >> + pcie-controller@01003000 { >> + status = "okay"; >> + >> + avdd-pll-uerefe-supply = <&avdd_1v05_pll>; >> + hvddio-pex-supply = <&vdd_1v8>; >> + dvddio-pex-supply = <&vdd_pex_1v05>; >> + dvdd-pex-pll-supply = <&vdd_pex_1v05>; >> + hvdd-pex-pll-e-supply = <&vdd_1v8>; >> + vddio-pex-ctl-supply = <&vdd_1v8>; >> + >> + pci@1,0 { >> + phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, >> + <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, >> + <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, >> + <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; >> + phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3"; >> + status = "okay"; >> + }; >> + >> + pci@2,0 { >> + phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; >> + phy-names = "pcie-0"; >> + status = "okay"; >> + }; >> + }; >> + >> host1x@50000000 { >> dsi@54300000 { >> status = "okay"; >> -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 28, 2016 at 06:54:44PM +0200, Mikko Perttunen wrote: > Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ > works.. Relevant parts of bootlog: > > [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration > [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, using 4 > lanes > [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin change, > signature: 00000008 > [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, using 1 > lanes > [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin change, > signature: 00000000 > [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring > [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge to bus > 0000:00 > [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > [ 3.217343] pci_bus 0000:00: root bus resource [mem > 0x13000000-0x1fffffff] > [ 3.224218] pci_bus 0000:00: root bus resource [mem 0x20000000-0x3fffffff > pref] > [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] > [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), > reconfiguring > [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem > 0x13000000-0x130fffff] > [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem 0x20000000-0x200fffff > 64bit pref] > [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] > [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem 0x20000000-0x20003fff > 64bit pref] > [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem 0x13000000-0x13000fff > 64bit] > [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] > [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] > [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] > [ 3.307666] pci 0000:00:01.0: bridge window [mem 0x13000000-0x130fffff] > [ 3.314454] pci 0000:00:01.0: bridge window [mem 0x20000000-0x200fffff > 64bit pref] > [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate host > bridge > [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) > [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME > interrupt > [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt > [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded > [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) > [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at > 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 > [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, > tx checksumming: ko] > > then > > [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write > @0x000000007a484000: EMEM address decode error (EMEM decode error) > [ 3.717747] r8169 0000:01:00.0 eth0: link down Hmm... that's very odd. It seems like for some reason the PCIe controller wants to access memory that's below the DRAM. Do you happen to have the SMMU enabled for PCIe? Can you try adding some debug prints to the networking driver to find out where this address is coming from? > The card is alive though, the transfer LED is blinking according to incoming > traffic, I assume; we can also see that the driver is able to access the hw > to some extent. The kernel version is 4.9rc7 with just this series on top. > The same board/card also works in U-boot. I've tested this on a recent linux-next, so perhaps that's something else to try out. I wouldn't expect v4.9-rc7 to have any issues with a PCI network driver, but who knows. Thanks, Thierry
On 11/30/2016 07:48 PM, Thierry Reding wrote: > On Mon, Nov 28, 2016 at 06:54:44PM +0200, Mikko Perttunen wrote: >> Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ >> works.. Relevant parts of bootlog: >> >> [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration >> [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, using 4 >> lanes >> [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin change, >> signature: 00000008 >> [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, using 1 >> lanes >> [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin change, >> signature: 00000000 >> [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, retrying >> [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, retrying >> [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, retrying >> [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring >> [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge to bus >> 0000:00 >> [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] >> [ 3.217343] pci_bus 0000:00: root bus resource [mem >> 0x13000000-0x1fffffff] >> [ 3.224218] pci_bus 0000:00: root bus resource [mem 0x20000000-0x3fffffff >> pref] >> [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] >> [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), >> reconfiguring >> [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem >> 0x13000000-0x130fffff] >> [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem 0x20000000-0x200fffff >> 64bit pref] >> [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] >> [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem 0x20000000-0x20003fff >> 64bit pref] >> [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem 0x13000000-0x13000fff >> 64bit] >> [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] >> [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] >> [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] >> [ 3.307666] pci 0000:00:01.0: bridge window [mem 0x13000000-0x130fffff] >> [ 3.314454] pci 0000:00:01.0: bridge window [mem 0x20000000-0x200fffff >> 64bit pref] >> [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate host >> bridge >> [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) >> [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME >> interrupt >> [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt >> [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded >> [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) >> [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at >> 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 >> [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, >> tx checksumming: ko] >> >> then >> >> [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write >> @0x000000007a484000: EMEM address decode error (EMEM decode error) >> [ 3.717747] r8169 0000:01:00.0 eth0: link down > > Hmm... that's very odd. It seems like for some reason the PCIe > controller wants to access memory that's below the DRAM. Do you happen > to have the SMMU enabled for PCIe? Can you try adding some debug prints > to the networking driver to find out where this address is coming from? SMMU is disabled; I'll try adding debug prints. The behavior certainly looks pretty strange. > >> The card is alive though, the transfer LED is blinking according to incoming >> traffic, I assume; we can also see that the driver is able to access the hw >> to some extent. The kernel version is 4.9rc7 with just this series on top. >> The same board/card also works in U-boot. > > I've tested this on a recent linux-next, so perhaps that's something > else to try out. I wouldn't expect v4.9-rc7 to have any issues with a > PCI network driver, but who knows. I did test earlier with -next too but with some random set of patches and config options, but I agree that it's not likely to be the reason. I had some IP stack (UDPv6 warnings IIRC?) and lockdep issues or somesuch with recent -next's so I switched to rc7. > > Thanks, > Thierry > Thanks, Mikko. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Nov 30, 2016 at 08:06:45PM +0200, Mikko Perttunen wrote: > On 11/30/2016 07:48 PM, Thierry Reding wrote: > > On Mon, Nov 28, 2016 at 06:54:44PM +0200, Mikko Perttunen wrote: > > > Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ > > > works.. Relevant parts of bootlog: > > > > > > [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration > > > [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, using 4 > > > lanes > > > [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin change, > > > signature: 00000008 > > > [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, using 1 > > > lanes > > > [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin change, > > > signature: 00000000 > > > [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > > > [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > > > [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, retrying > > > [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring > > > [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge to bus > > > 0000:00 > > > [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > > > [ 3.217343] pci_bus 0000:00: root bus resource [mem > > > 0x13000000-0x1fffffff] > > > [ 3.224218] pci_bus 0000:00: root bus resource [mem 0x20000000-0x3fffffff > > > pref] > > > [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] > > > [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), > > > reconfiguring > > > [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem > > > 0x13000000-0x130fffff] > > > [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem 0x20000000-0x200fffff > > > 64bit pref] > > > [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] > > > [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem 0x20000000-0x20003fff > > > 64bit pref] > > > [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem 0x13000000-0x13000fff > > > 64bit] > > > [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] > > > [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] > > > [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] > > > [ 3.307666] pci 0000:00:01.0: bridge window [mem 0x13000000-0x130fffff] > > > [ 3.314454] pci 0000:00:01.0: bridge window [mem 0x20000000-0x200fffff > > > 64bit pref] > > > [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate host > > > bridge > > > [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) > > > [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME > > > interrupt > > > [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt > > > [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded > > > [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) > > > [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at > > > 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 > > > [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, > > > tx checksumming: ko] > > > > > > then > > > > > > [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write > > > @0x000000007a484000: EMEM address decode error (EMEM decode error) > > > [ 3.717747] r8169 0000:01:00.0 eth0: link down > > > > Hmm... that's very odd. It seems like for some reason the PCIe > > controller wants to access memory that's below the DRAM. Do you happen > > to have the SMMU enabled for PCIe? Can you try adding some debug prints > > to the networking driver to find out where this address is coming from? > > SMMU is disabled; I'll try adding debug prints. The behavior certainly looks > pretty strange. Maybe you can also find out if at any point in the above the driver is actually accessing the I/O ports. I don't think we've ever tested that particular part very much. I seem to be using a very similar card to yours, which makes it all the more surprising that it isn't working for you. Thierry
Is it possible that, this NIC card's DMA is only 32-bit capable (can be confirmed from lspci -vv output) and since SMMU is disabled, allocated memory's physical address happen to fall beyond 0xFFFF_FFFF region, so, >32-bits are stripped off by DMA controller of NIC, resulting in accesses to random addresses? On Wednesday 30 November 2016 11:44 PM, Thierry Reding wrote: > * PGP Signed by an unknown key > > On Wed, Nov 30, 2016 at 08:06:45PM +0200, Mikko Perttunen wrote: >> On 11/30/2016 07:48 PM, Thierry Reding wrote: >>> On Mon, Nov 28, 2016 at 06:54:44PM +0200, Mikko Perttunen wrote: >>>> Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ >>>> works.. Relevant parts of bootlog: >>>> >>>> [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 configuration >>>> [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, using 4 >>>> lanes >>>> [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin change, >>>> signature: 00000008 >>>> [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, using 1 >>>> lanes >>>> [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin change, >>>> signature: 00000000 >>>> [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, retrying >>>> [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, retrying >>>> [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, retrying >>>> [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, ignoring >>>> [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge to bus >>>> 0000:00 >>>> [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] >>>> [ 3.217343] pci_bus 0000:00: root bus resource [mem >>>> 0x13000000-0x1fffffff] >>>> [ 3.224218] pci_bus 0000:00: root bus resource [mem 0x20000000-0x3fffffff >>>> pref] >>>> [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] >>>> [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), >>>> reconfiguring >>>> [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem >>>> 0x13000000-0x130fffff] >>>> [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem 0x20000000-0x200fffff >>>> 64bit pref] >>>> [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] >>>> [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem 0x20000000-0x20003fff >>>> 64bit pref] >>>> [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem 0x13000000-0x13000fff >>>> 64bit] >>>> [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] >>>> [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] >>>> [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] >>>> [ 3.307666] pci 0000:00:01.0: bridge window [mem 0x13000000-0x130fffff] >>>> [ 3.314454] pci 0000:00:01.0: bridge window [mem 0x20000000-0x200fffff >>>> 64bit pref] >>>> [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate host >>>> bridge >>>> [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) >>>> [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME >>>> interrupt >>>> [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt >>>> [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded >>>> [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) >>>> [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at >>>> 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 >>>> [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, >>>> tx checksumming: ko] >>>> >>>> then >>>> >>>> [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write >>>> @0x000000007a484000: EMEM address decode error (EMEM decode error) >>>> [ 3.717747] r8169 0000:01:00.0 eth0: link down >>> Hmm... that's very odd. It seems like for some reason the PCIe >>> controller wants to access memory that's below the DRAM. Do you happen >>> to have the SMMU enabled for PCIe? Can you try adding some debug prints >>> to the networking driver to find out where this address is coming from? >> SMMU is disabled; I'll try adding debug prints. The behavior certainly looks >> pretty strange. > Maybe you can also find out if at any point in the above the driver is > actually accessing the I/O ports. I don't think we've ever tested that > particular part very much. > > I seem to be using a very similar card to yours, which makes it all the > more surprising that it isn't working for you. > > Thierry > > * Unknown Key > * 0x7F3EB3A1 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
It would seem that it is 64-capable based on lspci and code in the driver. Looks like the memory that is allocated is coming from below 4G as well. On 11/30/2016 08:39 PM, Vidya Sagar wrote: > Is it possible that, this NIC card's DMA is only 32-bit capable (can be > confirmed from lspci -vv output) and since SMMU is disabled, allocated > memory's physical address happen to fall beyond 0xFFFF_FFFF region, so, >>32-bits are stripped off by DMA controller of NIC, resulting in > accesses to random addresses? > > > On Wednesday 30 November 2016 11:44 PM, Thierry Reding wrote: >> * PGP Signed by an unknown key >> >> On Wed, Nov 30, 2016 at 08:06:45PM +0200, Mikko Perttunen wrote: >>> On 11/30/2016 07:48 PM, Thierry Reding wrote: >>>> On Mon, Nov 28, 2016 at 06:54:44PM +0200, Mikko Perttunen wrote: >>>>> Testing this series with a Jetson TX1 + r8168e PCI-E card, it /almost/ >>>>> works.. Relevant parts of bootlog: >>>>> >>>>> [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 >>>>> configuration >>>>> [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, >>>>> using 4 >>>>> lanes >>>>> [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin >>>>> change, >>>>> signature: 00000008 >>>>> [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, >>>>> using 1 >>>>> lanes >>>>> [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin >>>>> change, >>>>> signature: 00000000 >>>>> [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>> retrying >>>>> [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>> retrying >>>>> [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>> retrying >>>>> [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>> ignoring >>>>> [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge >>>>> to bus >>>>> 0000:00 >>>>> [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] >>>>> [ 3.217343] pci_bus 0000:00: root bus resource [mem >>>>> 0x13000000-0x1fffffff] >>>>> [ 3.224218] pci_bus 0000:00: root bus resource [mem >>>>> 0x20000000-0x3fffffff >>>>> pref] >>>>> [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] >>>>> [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus >>>>> 00-00]), >>>>> reconfiguring >>>>> [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem >>>>> 0x13000000-0x130fffff] >>>>> [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem >>>>> 0x20000000-0x200fffff >>>>> 64bit pref] >>>>> [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] >>>>> [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem >>>>> 0x20000000-0x20003fff >>>>> 64bit pref] >>>>> [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem >>>>> 0x13000000-0x13000fff >>>>> 64bit] >>>>> [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] >>>>> [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] >>>>> [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] >>>>> [ 3.307666] pci 0000:00:01.0: bridge window [mem >>>>> 0x13000000-0x130fffff] >>>>> [ 3.314454] pci 0000:00:01.0: bridge window [mem >>>>> 0x20000000-0x200fffff >>>>> 64bit pref] >>>>> [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate >>>>> host >>>>> bridge >>>>> [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) >>>>> [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME >>>>> interrupt >>>>> [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME >>>>> interrupt >>>>> [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded >>>>> [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) >>>>> [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at >>>>> 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 >>>>> [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: >>>>> 9200 bytes, >>>>> tx checksumming: ko] >>>>> >>>>> then >>>>> >>>>> [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write >>>>> @0x000000007a484000: EMEM address decode error (EMEM decode error) >>>>> [ 3.717747] r8169 0000:01:00.0 eth0: link down >>>> Hmm... that's very odd. It seems like for some reason the PCIe >>>> controller wants to access memory that's below the DRAM. Do you happen >>>> to have the SMMU enabled for PCIe? Can you try adding some debug prints >>>> to the networking driver to find out where this address is coming from? >>> SMMU is disabled; I'll try adding debug prints. The behavior >>> certainly looks >>> pretty strange. >> Maybe you can also find out if at any point in the above the driver is >> actually accessing the I/O ports. I don't think we've ever tested that >> particular part very much. >> >> I seem to be using a very similar card to yours, which makes it all the >> more surprising that it isn't working for you. >> >> Thierry >> >> * Unknown Key >> * 0x7F3EB3A1 > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
I added debug prints but couldn't find any values matching the faulting address. I noticed that the error only happens if a cable is plugged in when I run "ifconfig enp1s0 up", so perhaps it is related to receiving a frame? In any case, since other people's cards are working, I think my issue shouldn't block merging this series. If we find an issue in it then we can fix it later. Cheers, Mikko. On 30.11.2016 21:38, Mikko Perttunen wrote: > It would seem that it is 64-capable based on lspci and code in the > driver. Looks like the memory that is allocated is coming from below 4G > as well. > > On 11/30/2016 08:39 PM, Vidya Sagar wrote: >> Is it possible that, this NIC card's DMA is only 32-bit capable (can be >> confirmed from lspci -vv output) and since SMMU is disabled, allocated >> memory's physical address happen to fall beyond 0xFFFF_FFFF region, so, >>> 32-bits are stripped off by DMA controller of NIC, resulting in >> accesses to random addresses? >> >> >> On Wednesday 30 November 2016 11:44 PM, Thierry Reding wrote: >>> * PGP Signed by an unknown key >>> >>> On Wed, Nov 30, 2016 at 08:06:45PM +0200, Mikko Perttunen wrote: >>>> On 11/30/2016 07:48 PM, Thierry Reding wrote: >>>>> On Mon, Nov 28, 2016 at 06:54:44PM +0200, Mikko Perttunen wrote: >>>>>> Testing this series with a Jetson TX1 + r8168e PCI-E card, it >>>>>> /almost/ >>>>>> works.. Relevant parts of bootlog: >>>>>> >>>>>> [ 1.876191] tegra-pcie 1003000.pcie-controller: 4x1, 1x1 >>>>>> configuration >>>>>> [ 1.884200] tegra-pcie 1003000.pcie-controller: probing port 0, >>>>>> using 4 >>>>>> lanes >>>>>> [ 1.893368] tegra-pcie 1003000.pcie-controller: Slot present pin >>>>>> change, >>>>>> signature: 00000008 >>>>>> [ 1.948049] tegra-pcie 1003000.pcie-controller: probing port 1, >>>>>> using 1 >>>>>> lanes >>>>>> [ 1.957209] tegra-pcie 1003000.pcie-controller: Slot present pin >>>>>> change, >>>>>> signature: 00000000 >>>>>> [ 2.367748] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>>> retrying >>>>>> [ 2.778307] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>>> retrying >>>>>> [ 3.188888] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>>> retrying >>>>>> [ 3.197344] tegra-pcie 1003000.pcie-controller: link 1 down, >>>>>> ignoring >>>>>> [ 3.203931] tegra-pcie 1003000.pcie-controller: PCI host bridge >>>>>> to bus >>>>>> 0000:00 >>>>>> [ 3.211160] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] >>>>>> [ 3.217343] pci_bus 0000:00: root bus resource [mem >>>>>> 0x13000000-0x1fffffff] >>>>>> [ 3.224218] pci_bus 0000:00: root bus resource [mem >>>>>> 0x20000000-0x3fffffff >>>>>> pref] >>>>>> [ 3.231525] pci_bus 0000:00: root bus resource [bus 00-ff] >>>>>> [ 3.237380] pci 0000:00:01.0: bridge configuration invalid ([bus >>>>>> 00-00]), >>>>>> reconfiguring >>>>>> [ 3.254499] pci 0000:00:01.0: BAR 14: assigned [mem >>>>>> 0x13000000-0x130fffff] >>>>>> [ 3.261389] pci 0000:00:01.0: BAR 15: assigned [mem >>>>>> 0x20000000-0x200fffff >>>>>> 64bit pref] >>>>>> [ 3.269220] pci 0000:00:01.0: BAR 13: assigned [io 0x1000-0x1fff] >>>>>> [ 3.275412] pci 0000:01:00.0: BAR 4: assigned [mem >>>>>> 0x20000000-0x20003fff >>>>>> 64bit pref] >>>>>> [ 3.283172] pci 0000:01:00.0: BAR 2: assigned [mem >>>>>> 0x13000000-0x13000fff >>>>>> 64bit] >>>>>> [ 3.290498] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff] >>>>>> [ 3.296596] pci 0000:00:01.0: PCI bridge to [bus 01] >>>>>> [ 3.301568] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] >>>>>> [ 3.307666] pci 0000:00:01.0: bridge window [mem >>>>>> 0x13000000-0x130fffff] >>>>>> [ 3.314454] pci 0000:00:01.0: bridge window [mem >>>>>> 0x20000000-0x200fffff >>>>>> 64bit pref] >>>>>> [ 3.322213] pci 0000:00:01.0: nv_msi_ht_cap_quirk didn't locate >>>>>> host >>>>>> bridge >>>>>> [ 3.329257] pcieport 0000:00:01.0: enabling device (0000 -> 0003) >>>>>> [ 3.335572] pcieport 0000:00:01.0: Signaling PME through PCIe PME >>>>>> interrupt >>>>>> [ 3.342537] pci 0000:01:00.0: Signaling PME through PCIe PME >>>>>> interrupt >>>>>> [ 3.349256] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded >>>>>> [ 3.354858] r8169 0000:01:00.0: enabling device (0000 -> 0003) >>>>>> [ 3.361460] r8169 0000:01:00.0 eth0: RTL8168e/8111e at >>>>>> 0xffff000008eae000, 98:de:d0:04:25:14, XID 0c200000 IRQ 348 >>>>>> [ 3.371812] r8169 0000:01:00.0 eth0: jumbo features [frames: >>>>>> 9200 bytes, >>>>>> tx checksumming: ko] >>>>>> >>>>>> then >>>>>> >>>>>> [ 3.706240] tegra-mc 70019000.memory-controller: afiw: write >>>>>> @0x000000007a484000: EMEM address decode error (EMEM decode error) >>>>>> [ 3.717747] r8169 0000:01:00.0 eth0: link down >>>>> Hmm... that's very odd. It seems like for some reason the PCIe >>>>> controller wants to access memory that's below the DRAM. Do you happen >>>>> to have the SMMU enabled for PCIe? Can you try adding some debug >>>>> prints >>>>> to the networking driver to find out where this address is coming >>>>> from? >>>> SMMU is disabled; I'll try adding debug prints. The behavior >>>> certainly looks >>>> pretty strange. >>> Maybe you can also find out if at any point in the above the driver is >>> actually accessing the I/O ports. I don't think we've ever tested that >>> particular part very much. >>> >>> I seem to be using a very similar card to yours, which makes it all the >>> more surprising that it isn't working for you. >>> >>> Thierry >>> >>> * Unknown Key >>> * 0x7F3EB3A1 >> > -- > To unsubscribe from this list: send the line "unsubscribe linux-tegra" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts index 983775e637a4..4c1ea7a08d43 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts @@ -7,6 +7,32 @@ model = "NVIDIA Jetson TX1 Developer Kit"; compatible = "nvidia,p2371-2180", "nvidia,tegra210"; + pcie-controller@01003000 { + status = "okay"; + + avdd-pll-uerefe-supply = <&avdd_1v05_pll>; + hvddio-pex-supply = <&vdd_1v8>; + dvddio-pex-supply = <&vdd_pex_1v05>; + dvdd-pex-pll-supply = <&vdd_pex_1v05>; + hvdd-pex-pll-e-supply = <&vdd_1v8>; + vddio-pex-ctl-supply = <&vdd_1v8>; + + pci@1,0 { + phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, + <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, + <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, + <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; + phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3"; + status = "okay"; + }; + + pci@2,0 { + phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; + phy-names = "pcie-0"; + status = "okay"; + }; + }; + host1x@50000000 { dsi@54300000 { status = "okay";