Re: [PATCH] arm64: dts: rockchip: fix rk3399 pcie speed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 23, 2020 at 1:40 PM Robin Murphy <robin.murphy@xxxxxxx> wrote:
>
> On 2020-04-23 5:26 pm, Rob Herring wrote:
> > On Thu, Apr 23, 2020 at 11:13 AM Peter Geis <pgwipeout@xxxxxxxxx> wrote:
> >>
> >> On Thu, Apr 23, 2020 at 11:49 AM Robin Murphy <robin.murphy@xxxxxxx> wrote:
> >>>
> >>> On 2020-04-23 4:09 pm, Peter Geis wrote:
> >>>> On Thu, Apr 23, 2020 at 11:05 AM Peter Geis <pgwipeout@xxxxxxxxx> wrote:
> >>>>>
> >>>>> The rk3399 is capable of operating at PCIe gen 2 as per the TRM.
> >>>>> The device-tree incorrectly limits us to gen 1.
> >>>>>
> >>>>> Correctly set the maximum link speed to <2>.
> >>>>>
> >>>>> Tested on the rockpro64.
> >>>>
> >>>> Note, this was tested on the rockpro64 after I performed the hardware
> >>>> fixes as delineated at
> >>>> https://forum.pine64.org/showthread.php?tid=8374
> >
> > Are you going to fix everyone's board?
> >
> >>>>
> >>>> We probably will have to drop this back to <1> on board specific dts
> >>>> files if issues are discovered.
> >>>
> >>> I'd say commit 712fa1777207 and the fact that the current rev 1.8
> >>> datasheet only mentions 2.5GT/s rather weaken that argument. It would
> >>> seem safer to leave the default as-is, and only override it for boards
> >>> where Gen2 really is proven to work reliably. Which, er, is already the
> >>> case ;)
> >>
> >> Do we have a copy of this errata?
> >> I can't seem to find it.
> >> The write up in that commit is extremely vague.
>
> I'm not a Rockchip customer, so I don't have access to any more RK3399
> documentation than you do. However, I have been involved in plenty of
> errata discussions, writeups, and workarounds for Arm Ltd. IP, so based
> on general experience if I see a patch like that coming directly from
> the silicon vendor, I'm inclined to trust it at face value.
>
> >> As the tegra mailing list often points out, the device-tree describes
> >> the hardware as it is.
> >
> > I think that's DT describes the h/w not settings for the Linux kernel
> > which is different from what's discussed here.
>
> Seconded - this is not a matter of software policy, it's still a
> property of the hardware regardless of what exact route it takes into
> the final DTB. If anyone wants to get into the philosophical argument of
> how accurately a SoC dtsi should describe the SoC in isolation, then I'd
> push for the correct default speed actually being 0GT/s, since if you
> don't consider the board then the link layer isn't even powered ;)
>
> >> As:
> >> The rk3399 itself supports PCIe gen 2.
>
> That's what's in question here - clearly RK3399 *was designed* to
> support Gen2, but Rockchip have since decided that they will only
> officially support using it at Gen1 speeds.
>
> >> The board specific implementations determine if we need to limit that to gen 1.
> >> The rk3399 should be set to 2, and any board that requires that to be
> >> redefined should do that via an override in their device-tree.
> >> This is similar to the gmac overrides for timing.
>
> Note that the GMAC delay settings are not "overrides", they are
> board-specific parameters based the physical trace lengths between the
> SoC and the external phy.
>
> AFAICS this would be far more like putting the 2GHz/1.5GHz OPPs into the
> base dtsi - on the basis that that was also an original design target[1]
> and does work on some RK3399s - then expecting board authors to remember
> to downgrade them to the 1.8GHz/1.4GHz that ended up being the
> officially-supported maximum for all the chips that weren't lucky enough
> to be special "OP1"s.
>
> >> Do we have a list of the boards that require pulling back down to gen 1?
>
> Any that are likely to suffer wobbly signal integrity by exporting the
> PCIe signals on random pin headers instead of proper connectors would
> probably be a fair starting point, but most of that list would consist
> of any number of current and future boards that are not yet supported
> upstream, and would potentially not be supported upstream for even
> longer if some poor engineer wastes time chasing random PCI errors
> because someone set the default to an unsupported value.
>
> Robin.
>
> [1]
> https://www.cnx-software.com/2016/02/22/more-details-about-rockchip-rk3399-cortex-a72-soc-4k-h-264h-265vp9-usb-3-0-pcie-and-displayport/
>
> >>> That said, "proven to work reliably" is itself a bit doubtful - my
> >>> NanoPC-T4 has always been rock-solid at Gen2 with a Samsung Evo 960
> >>> NVMe, yet I've seen plenty of reports of other NVMe models being
> >>> unusable with mainline due to failing link training ~90% of the time.
> >>> It's a grey area for sure.
> >
> > That seems pretty clear to me as to what the default should be. What's
> > most likely to work OOTB for users.
> >
> > Rob
> >

Very well, I am properly chastised.
This will have to remain something an individual user will do, until
someone comes up with something better.

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-rockchip



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux