Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
added a device node for the Exynos5420 DISP1 power domain but dit not
make the DP controller a consumer of that power domain.
This causes an "Unhandled fault: imprecise external abort" error if the
exynos-dp driver tries to access the DP controller registers and the PD
was turned off. This lead to a kernel panic and a complete system hang.
Make the DP controller device node a consumer of the DISP1 power domain
to ensure that the PD is turned on when the exynos-dp driver is probed.
Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
Signed-off-by: Javier Martinez Canillas <[email protected]>
---
Hello,
This latent bug was not exposed before since drivers for other devices
marked as DISP1 power domain consumers were probed before exynos-dp so
the PD was already on which made possible to access the DP registers.
But "regulator: Defer lookup of supply to regulator_get" [0] that is in
linux-next from a couple of days now, changed the order on which the
drivers' probes succeed so the PD was disabled during exynos-dp probe.
Exynos5420 machines with a display such as the Exynos5420 Peach Pit and
Exynos5800 Peach Pi were failing to boot due this issue, i.e: [1].
Olof,
Could you please confirm $subject fixes the issue catched by your farm?
Krzysztof,
This patch conflicts with your Exynos5 phandle notation cleanup [2] but
I preferred to send it on top of linux-next instead of making your series
a dependency since it fixes a very important bug that had caused -next to
be broken on these matchines for days now.
Thanks a lot and best regards,
Javier
[0]: https://lkml.org/lkml/2015/3/24/1167
[1]: http://arm-soc.lixom.net/bootlogs/next/next-20150409/pi-arm-exynos_defconfig.html
[2]: https://lkml.org/lkml/2015/4/12/49
arch/arm/boot/dts/exynos5420.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index f67b23f303c3..45317538bbae 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -536,6 +536,7 @@
clock-names = "dp";
phys = <&dp_phy>;
phy-names = "dp";
+ power-domains = <&disp_pd>;
};
mipi_phy: video-phy@10040714 {
--
2.1.4
2015-04-13 5:30 GMT+09:00 Javier Martinez Canillas
<[email protected]>:
> Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> added a device node for the Exynos5420 DISP1 power domain but dit not
> make the DP controller a consumer of that power domain.
>
> This causes an "Unhandled fault: imprecise external abort" error if the
> exynos-dp driver tries to access the DP controller registers and the PD
> was turned off. This lead to a kernel panic and a complete system hang.
>
> Make the DP controller device node a consumer of the DISP1 power domain
> to ensure that the PD is turned on when the exynos-dp driver is probed.
>
> Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> Hello,
>
> This latent bug was not exposed before since drivers for other devices
> marked as DISP1 power domain consumers were probed before exynos-dp so
> the PD was already on which made possible to access the DP registers.
>
> But "regulator: Defer lookup of supply to regulator_get" [0] that is in
> linux-next from a couple of days now, changed the order on which the
> drivers' probes succeed so the PD was disabled during exynos-dp probe.
>
> Exynos5420 machines with a display such as the Exynos5420 Peach Pit and
> Exynos5800 Peach Pi were failing to boot due this issue, i.e: [1].
>
> Olof,
>
> Could you please confirm $subject fixes the issue catched by your farm?
>
> Krzysztof,
>
> This patch conflicts with your Exynos5 phandle notation cleanup [2] but
> I preferred to send it on top of linux-next instead of making your series
> a dependency since it fixes a very important bug that had caused -next to
> be broken on these matchines for days now.
Sure, I don't mind. My patchset is just a cleanup so it can wait and
should not block important stuff.
Best regards,
Krzysztof
Hello Kukjin,
On 04/12/2015 10:30 PM, Javier Martinez Canillas wrote:
> Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> added a device node for the Exynos5420 DISP1 power domain but dit not
> make the DP controller a consumer of that power domain.
>
> This causes an "Unhandled fault: imprecise external abort" error if the
> exynos-dp driver tries to access the DP controller registers and the PD
> was turned off. This lead to a kernel panic and a complete system hang.
>
> Make the DP controller device node a consumer of the DISP1 power domain
> to ensure that the PD is turned on when the exynos-dp driver is probed.
>
> Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> Signed-off-by: Javier Martinez Canillas <[email protected]>
Any comments about this patch?
It's very trivial but fixes a very important regression on Exynos5420 boards
with display panel and Peach Pit and Pi have been broken since next-20150401.
This [0] is the Peach Pit boot log with yesteday's linux-next for example.
Best regards,
Javier
[0]: http://arm-soc.lixom.net/bootlogs/next/next-20150415/pit-arm-exynos_defconfig.html
Hello Kukjin,
On 04/16/2015 09:40 AM, Javier Martinez Canillas wrote:
>
> On 04/12/2015 10:30 PM, Javier Martinez Canillas wrote:
>> Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
>> added a device node for the Exynos5420 DISP1 power domain but dit not
>> make the DP controller a consumer of that power domain.
>>
>> This causes an "Unhandled fault: imprecise external abort" error if the
>> exynos-dp driver tries to access the DP controller registers and the PD
>> was turned off. This lead to a kernel panic and a complete system hang.
>>
>> Make the DP controller device node a consumer of the DISP1 power domain
>> to ensure that the PD is turned on when the exynos-dp driver is probed.
>>
>> Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
>> Signed-off-by: Javier Martinez Canillas <[email protected]>
>
> Any comments about this patch?
>
> It's very trivial but fixes a very important regression on Exynos5420 boards
> with display panel and Peach Pit and Pi have been broken since next-20150401.
>
> This [0] is the Peach Pit boot log with yesteday's linux-next for example.
>
> Best regards,
> Javier
>
> [0]: http://arm-soc.lixom.net/bootlogs/next/next-20150415/pit-arm-exynos_defconfig.html
>
It has been many weeks since this patch has been posted and linux-next
is still broken:
http://arm-soc.lixom.net/bootlogs/next/next-20150429/pi-arm-exynos_defconfig.html
Could you please apply $subject to fix the imprecise external abort issue.
Best regards,
Javier
Javier Martinez Canillas wrote:
>
> Hello Kukjin,
>
Hi,
> On 04/16/2015 09:40 AM, Javier Martinez Canillas wrote:
> >
> > On 04/12/2015 10:30 PM, Javier Martinez Canillas wrote:
> >> Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> >> added a device node for the Exynos5420 DISP1 power domain but dit not
> >> make the DP controller a consumer of that power domain.
> >>
> >> This causes an "Unhandled fault: imprecise external abort" error if the
> >> exynos-dp driver tries to access the DP controller registers and the PD
> >> was turned off. This lead to a kernel panic and a complete system hang.
> >>
> >> Make the DP controller device node a consumer of the DISP1 power domain
> >> to ensure that the PD is turned on when the exynos-dp driver is probed.
> >>
> >> Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> >> Signed-off-by: Javier Martinez Canillas <[email protected]>
> >
> > Any comments about this patch?
> >
> > It's very trivial but fixes a very important regression on Exynos5420 boards
> > with display panel and Peach Pit and Pi have been broken since next-20150401.
> >
> > This [0] is the Peach Pit boot log with yesteday's linux-next for example.
> >
> > Best regards,
> > Javier
> >
> > [0]: http://arm-soc.lixom.net/bootlogs/next/next-20150415/pit-arm-exynos_defconfig.html
> >
>
> It has been many weeks since this patch has been posted and linux-next
> is still broken:
>
> http://arm-soc.lixom.net/bootlogs/next/next-20150429/pi-arm-exynos_defconfig.html
>
> Could you please apply $subject to fix the imprecise external abort issue.
>
Sure I'll in this weekend.
Thanks for your gentle reminder ;-)
- Kukjin
Kukjin Kim <[email protected]> writes:
> Javier Martinez Canillas wrote:
>>
>> Hello Kukjin,
>>
> Hi,
>
>> On 04/16/2015 09:40 AM, Javier Martinez Canillas wrote:
>> >
>> > On 04/12/2015 10:30 PM, Javier Martinez Canillas wrote:
>> >> Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
>> >> added a device node for the Exynos5420 DISP1 power domain but dit not
>> >> make the DP controller a consumer of that power domain.
>> >>
>> >> This causes an "Unhandled fault: imprecise external abort" error if the
>> >> exynos-dp driver tries to access the DP controller registers and the PD
>> >> was turned off. This lead to a kernel panic and a complete system hang.
>> >>
>> >> Make the DP controller device node a consumer of the DISP1 power domain
>> >> to ensure that the PD is turned on when the exynos-dp driver is probed.
>> >>
>> >> Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
>> >> Signed-off-by: Javier Martinez Canillas <[email protected]>
>> >
>> > Any comments about this patch?
>> >
>> > It's very trivial but fixes a very important regression on Exynos5420 boards
>> > with display panel and Peach Pit and Pi have been broken since next-20150401.
>> >
>> > This [0] is the Peach Pit boot log with yesteday's linux-next for example.
>> >
>> > Best regards,
>> > Javier
>> >
>> > [0]: http://arm-soc.lixom.net/bootlogs/next/next-20150415/pit-arm-exynos_defconfig.html
>> >
>>
>> It has been many weeks since this patch has been posted and linux-next
>> is still broken:
>>
>> http://arm-soc.lixom.net/bootlogs/next/next-20150429/pi-arm-exynos_defconfig.html
>>
>> Could you please apply $subject to fix the imprecise external abort issue.
>>
> Sure I'll in this weekend.
>
> Thanks for your gentle reminder ;-)
Tested-by: Kevin Hilman <[email protected]>
I confirm that this patch fixes the imprecise aborts (and sometimes
kernel panics) that I'm seeing on exynos5800-peach-pi with linux-next.
Kevin
Hi Kukjin,
On Wed, Apr 29, 2015 at 5:36 PM, Kukjin Kim <[email protected]> wrote:
[...]
>>
>> Could you please apply $subject to fix the imprecise external abort issue.
>>
> Sure I'll in this weekend.
This patch is still not in linux-next.
Also I think this fix is needed as a fix for mainline v4.1-rc as well,
where the same is happening.
Krzysztof has generously offered to help collecting/queuing/submitting
patches to help improve the maintenance of exynos. Please work
closely with him share the responsibility of improving the state of
mainline exynos support.
Thanks,
Kevin
On 04/13/15 05:30, Javier Martinez Canillas wrote:
> Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> added a device node for the Exynos5420 DISP1 power domain but dit not
> make the DP controller a consumer of that power domain.
>
> This causes an "Unhandled fault: imprecise external abort" error if the
> exynos-dp driver tries to access the DP controller registers and the PD
> was turned off. This lead to a kernel panic and a complete system hang.
>
> Make the DP controller device node a consumer of the DISP1 power domain
> to ensure that the PD is turned on when the exynos-dp driver is probed.
>
> Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> Hello,
>
> This latent bug was not exposed before since drivers for other devices
> marked as DISP1 power domain consumers were probed before exynos-dp so
> the PD was already on which made possible to access the DP registers.
>
> But "regulator: Defer lookup of supply to regulator_get" [0] that is in
> linux-next from a couple of days now, changed the order on which the
> drivers' probes succeed so the PD was disabled during exynos-dp probe.
>
> Exynos5420 machines with a display such as the Exynos5420 Peach Pit and
> Exynos5800 Peach Pi were failing to boot due this issue, i.e: [1].
>
> Olof,
>
> Could you please confirm $subject fixes the issue catched by your farm?
>
> Krzysztof,
>
> This patch conflicts with your Exynos5 phandle notation cleanup [2] but
> I preferred to send it on top of linux-next instead of making your series
> a dependency since it fixes a very important bug that had caused -next to
> be broken on these matchines for days now.
>
> Thanks a lot and best regards,
> Javier
>
> [0]: https://lkml.org/lkml/2015/3/24/1167
> [1]: http://arm-soc.lixom.net/bootlogs/next/next-20150409/pi-arm-exynos_defconfig.html
> [2]: https://lkml.org/lkml/2015/4/12/49
>
> arch/arm/boot/dts/exynos5420.dtsi | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
> index f67b23f303c3..45317538bbae 100644
> --- a/arch/arm/boot/dts/exynos5420.dtsi
> +++ b/arch/arm/boot/dts/exynos5420.dtsi
> @@ -536,6 +536,7 @@
> clock-names = "dp";
> phys = <&dp_phy>;
> phy-names = "dp";
> + power-domains = <&disp_pd>;
> };
>
> mipi_phy: video-phy@10040714 {
Sorry for the late response. I've applied in -fixes and will be sent to
arm-soc soon. Thanks.
- Kukjin