Hi Javier, 2015-11-21 1:44 GMT+09:00 Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>: > Hello Inki, > > On 11/20/2015 08:13 AM, Inki Dae wrote: >> >> >> 2015년 11월 20일 19:59에 Inki Dae 이(가) 쓴 글: >>> Hi Javier, >>> >>> 2015년 11월 20일 00:51에 Javier Martinez Canillas 이(가) 쓴 글: >>>> On 11/19/2015 11:55 AM, Javier Martinez Canillas wrote: >>>>>>> >>>>>> >>>>>> This series causes a boot failure on at least an Exynos5800 Peach Pi >>>>>> Chromebook (tested myself) and seems to be the cause of other Exynos >>>>>> boards failing to boot: http://kernelci.org/boot/?exynos&fail >>>>>> >>>>>> [snip] >>>>>> >>>>>>> drm/exynos: add pm_runtime to Mixer >>>>>>> drm/exynos: add pm_runtime to FIMD >>>>>> >>>>>> I had to revert these patches in order to get the machine in a bootable >>>>>> state again, the sha1 hash for these patches in next-20151119 are: >>>>>> >>>>>> 045febd5f813 drm/exynos: add pm_runtime to FIMD >>>> >>>> On a closer look, only reverting the FIMD patch is enough >>>> to make at least the Exynos5800 Peach Pi to boot again. >>> >>> Thanks for report. >>> >>> I assume that the issue is because above patch removed 'suspended' variable >>> for checking the suspend status in runtime so I revived it. >>> >>> I'm not sure that the change could resolve the issue. Could you test it >>> with the change again? I have no Exynos5800 Peach Pi board. :( >>> >>> For this, I pushed it to below exynos-drm/for-next branch, >>> https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/commit/?h=exynos-drm/for-next&id=e84f43e2b2c3388694b0b3a58c2c4447f1fbae7c >>> >>> If the issue is resolved by the change then I will modify other patches for >>> DECON series. And if really so, there may be a corner case we missed. >> >> Oops, I found out one error at the boot log, >> http://storage.kernelci.org/next/next-20151120/arm-multi_v7_defconfig+CONFIG_LKDTM=y/lab-collabora/boot-exynos5800-peach-pi.html >> >> The boot log says, >> [ 5.754493] vdd_ldo9: supplied by vdd_2v >> [ 5.765510] of_graph_get_next_endpoint(): no port node found in /dp-controller@145B0000 >> > > This message is a red herring for the reported issue, the message is also > present when the machine boots and the display is brought correctly. > >> Seems this error is because exynos5800-peach-pit.dts file doesn't have 'ports' node in dp node. >> >> Below is dp node description of exynos5420-peach-pit.dts file. >> &dp { >> status = "okay"; >> pinctrl-names = "default"; >> pinctrl-0 = <&dp_hpd_gpio>; >> samsung,color-space = <0>; >> samsung,dynamic-range = <0>; >> samsung,ycbcr-coeff = <0>; >> samsung,color-depth = <1>; >> samsung,link-rate = <0x06>; >> samsung,lane-count = <2>; >> samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; >> >> ports { >> port@0 { >> dp_out: endpoint { >> remote-endpoint = <&bridge_in>; >> }; >> }; >> }; >> }; >> >> And below is for exynos5800-peash-pit.dts, >> &dp { >> status = "okay"; >> pinctrl-names = "default"; >> pinctrl-0 = <&dp_hpd_gpio>; >> samsung,color-space = <0>; >> samsung,dynamic-range = <0>; >> samsung,ycbcr-coeff = <0>; >> samsung,color-depth = <1>; >> samsung,link-rate = <0x0a>; >> samsung,lane-count = <2>; >> samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; >> panel = <&panel>; >> }; >> > > The difference is because the Exynos5420 Peach Pit Display Port is not > attached directly to the display panel, there is an eDP/LVDS bridge chip > in the middle (PS8622) while the Exynos5800 Peach Pi doesn't have that. > > The Exynos DP driver lookups for either a panel phandle or an OF graph > endpoint that points to a bridge chip and the bridge enpoint has a port > that points to the panel. > > So the DT is correct but of_graph_get_next_endpoint() always prints an Then, the DT is really incorrect. As you mentioned, if the Exynos5800 Peach PI board doesn't use eDP, then the dp node __should be removed__ from exynos5800-peach-pit.dts. >From a common-sense standpoint, there is no any reason to build and probe dp driver if the board doesn't use dp hardware. > error if the port so OF graph endpoints it seems can't be optional as > used in this driver. Maybe that message should be change to debug then? > > Another option is to extend the DP driver DT binding to be more generic > supporting having a port to a panel besides a bridge, so we could have > something like this for Exynos5800 Peach and be consistent in both cases: It's really not good. This would make it more complex. The best solution is just to remove the dt node from the device tree file. Thanks, Inki Dae > > diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts > index 7b018e451880..9c6fd7314ee0 100644 > --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts > +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts > @@ -122,6 +122,12 @@ > compatible = "auo,b133htn01"; > power-supply = <&tps65090_fet6>; > backlight = <&backlight>; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&dp_out>; > + }; > + }; > }; > > mmc1_pwrseq: mmc1_pwrseq { > @@ -148,7 +154,14 @@ > samsung,link-rate = <0x0a>; > samsung,lane-count = <2>; > samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; > - panel = <&panel>; > + > + ports { > + port@0 { > + dp_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > }; > > &fimd { > > Best regards, > -- > Javier Martinez Canillas > Open Source Group > Samsung Research America > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html