From patchwork Sun Apr 12 20:30:59 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 6203971 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id ECFF99F1AC for ; Sun, 12 Apr 2015 20:31:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0B27720265 for ; Sun, 12 Apr 2015 20:31:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E9ADC2026C for ; Sun, 12 Apr 2015 20:31:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752006AbbDLUbZ (ORCPT ); Sun, 12 Apr 2015 16:31:25 -0400 Received: from bhuna.collabora.co.uk ([93.93.135.160]:60680 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751872AbbDLUbY (ORCPT ); Sun, 12 Apr 2015 16:31:24 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: javier) with ESMTPSA id CD928600401 From: Javier Martinez Canillas To: Kukjin Kim Cc: Doug Anderson , Olof Johansson , Krzysztof Kozlowski , Andrzej Hajda , Kevin Hilman , Tyler Baker , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Javier Martinez Canillas Subject: [PATCH 1/1] ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420 Date: Sun, 12 Apr 2015 22:30:59 +0200 Message-Id: <1428870659-5525-1-git-send-email-javier.martinez@collabora.co.uk> X-Mailer: git-send-email 2.1.4 Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Tested-by: Kevin Hilman --- 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 {