Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1406308

[PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain for Exynos5420

Path csiph.com!weretis.net!feeder4.news.weretis.net!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod
From Javier Martinez Canillas <javier@osg.samsung.com>
Newsgroups linux.kernel
Subject [PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain for Exynos5420
Date Tue, 24 May 2016 19:50:02 +0200
Message-ID <rCoCS-6jw-7@gated-at.bofh.it> (permalink)
References <rCoCS-6jw-9@gated-at.bofh.it>
X-Original-To linux-kernel@vger.kernel.org
X-Mailer git-send-email 2.5.5
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 54
Organization linux.* mail to news gateway
X-Original-Cc devicetree@vger.kernel.org, Kukjin Kim <kgene@kernel.org>, Michael Turquette <mturquette@baylibre.com>, Krzysztof Kozlowski <k.kozlowski@samsung.com>, Marek Szyprowski <m.szyprowski@samsung.com>, Mauro Carvalho Chehab <mchehab@osg.samsung.com>, Shuah Khan <shuahkh@osg.samsung.com>, Stephen Boyd <sboyd@codeaurora.org>, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sylwester Nawrocki <s.nawrocki@samsung.com>, Tomasz Figa <tomasz.figa@gmail.com>, linux-clk@vger.kernel.org, Nicolas Dufresne <nicolas.dufresne@collabora.com>, Javier Martinez Canillas <javier@osg.samsung.com>
X-Original-Date Tue, 24 May 2016 13:41:02 -0400
X-Original-Message-ID <1464111662-15336-3-git-send-email-javier@osg.samsung.com>
X-Original-References <1464111662-15336-1-git-send-email-javier@osg.samsung.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1406308

Show key headers only | View raw


The MFC IP is also inter-connected by an Async-Bridge so the CLK_ACLK333
has to be ungated during a power domain switch. Trying to do it when the
clock is gated will fail and lead to an imprecise external abort error
when the driver tries to access the MFC registers with the PD disabled.

For example, if the s5p-mfc module is removed and the MFC PD turned off:

[  186.835606] Power domain power-domain@10044060 disable failed
[  186.835671] s5p-mfc 11000000.codec: Removing 11000000.codec
[  186.837670] Power domain power-domain@10044060 disable failed

And when the module is inserted again:

[ 2395.176956] s5p_mfc_wait_for_done_dev:34: Interrupt (dev->int_type:0, command:12) timed out
[ 2395.177031] s5p_mfc_init_hw:272: Failed to load firmware
[ 2395.177384] Unhandled fault: imprecise external abort (0x1406) at 0x00000000
[ 2395.177441] pgd = ec3b4000
[ 2395.177467] [00000000] *pgd=00000000
[ 2395.177507] Internal error: : 1406 [#1] PREEMPT SMP ARM
[ 2395.177550] Modules linked in: s5p_mfc mwifiex_sdio mwifiex uvcvideo s5p_jpeg v4l2_mem2mem videobuf2_vmalloc videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 videobuf2_core v4l2_common videodev media [last unloaded: s5p_mfc]
[ 2395.177774] CPU: 1 PID: 2382 Comm: v4l_id Tainted: G        W       4.6.0-rc6-next-20160502-00010-g7730dc64d2c1-dirty #179
[ 2395.177857] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 2395.177906] task: ed275500 ti: e6c8c000 task.ti: e6c8c000
[ 2395.177996] PC is at s5p_mfc_reset+0x1c4/0x284 [s5p_mfc]
[ 2395.178057] LR is at s5p_mfc_reset+0x1a4/0x284 [s5p_mfc]

This patch fixes this issue by adding the CLK_ACLK333 as an Async-Bridge
clock for the MFC power domain, so the PD configuration works properly.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

---

 arch/arm/boot/dts/exynos5420.dtsi | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index 4c8523471c65..f3e9d873633e 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -313,8 +313,9 @@
 	mfc_pd: power-domain@10044060 {
 		compatible = "samsung,exynos4210-pd";
 		reg = <0x10044060 0x20>;
-		clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_USER_ACLK333>;
-		clock-names = "oscclk", "clk0";
+		clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_USER_ACLK333>,
+			 <&clock CLK_ACLK333>;
+		clock-names = "oscclk", "clk0","asb0";
 		#power-domain-cells = <0>;
 	};
 
-- 
2.5.5

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] ARM: dts: Fix imprecise external abort error when accessing Exynos MFC Javier Martinez Canillas <javier@osg.samsung.com> - 2016-05-24 19:50 +0200
  [PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain for Exynos5420 Javier Martinez Canillas <javier@osg.samsung.com> - 2016-05-24 19:50 +0200
    Re: [PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain  for Exynos5420 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-25 09:50 +0200
      Re: [PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain  for Exynos5420 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-25 10:10 +0200
      Re: [PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain  for Exynos5420 Javier Martinez Canillas <javier@osg.samsung.com> - 2016-05-25 16:30 +0200
    Re: [PATCH 2/2] ARM: dts: Add async-bridge clock to MFC power domain  for Exynos5420 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-30 09:50 +0200
  [PATCH 1/2] clk: exynos5420: Set ID for aclk333 gate clock Javier Martinez Canillas <javier@osg.samsung.com> - 2016-05-24 19:50 +0200
    Re: [PATCH 1/2] clk: exynos5420: Set ID for aclk333 gate clock Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-25 09:20 +0200
    Re: [PATCH 1/2] clk: exynos5420: Set ID for aclk333 gate clock Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-05-30 14:50 +0200
  Re: [PATCH 0/2] ARM: dts: Fix imprecise external abort error when  accessing Exynos MFC Marek Szyprowski <m.szyprowski@samsung.com> - 2016-05-25 09:00 +0200
    Re: [PATCH 0/2] ARM: dts: Fix imprecise external abort error when  accessing Exynos MFC Javier Martinez Canillas <javier@osg.samsung.com> - 2016-05-25 16:20 +0200

csiph-web