Re: [PATCH v3] ARM: Samsung: fix watchdog reset issue with clk_get()

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

 



Hi,

On Thursday 18 August 2011 03:55 PM, Marek Szyprowski wrote:
clkdev framework uses global mutex to protect clock tree, so it is not
possible to call clk_get() in interrupt context. This patch fixes this
issue and makes system reset by watchdog call working again.

Signed-off-by: Marek Szyprowski<m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park<kyungmin.park@xxxxxxxxxxx>
---
  arch/arm/plat-samsung/clock.c                      |   11 +++++++++++
  arch/arm/plat-samsung/include/plat/clock.h         |    3 +++
  .../arm/plat-samsung/include/plat/watchdog-reset.h |   10 +++-------
  3 files changed, 17 insertions(+), 7 deletions(-)


history:
v3:
- moved initialization to arch_initcall, cleaned the code

v2:
- added missing '__init' section modifiers
(snip)

I tried to test this patch with ORIGEN board.

I took the ORIGEN board support patch from kgene's
next-samsung-board-v3.1 branch and rebased it onto the for-next branch for testing.

The system reboot stops at a message saying "Restarting system" and hangs.

However applying below patch reboots the system without even applying Marek's patch.

Is there something wrong with mach-origen.c or u-boot [1]?

[1] git://git.linaro.org/people/angus/u-boot.git (origen)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

From: Tushar Behera <tushar.behera@xxxxxxxxxx>
Date: Fri, 19 Aug 2011 14:47:04 +0530
Subject: [PATCH] [TEST] ARM: Disabling cache operation during system reset

On ORIGEN/SMDKV310 board, system reboot hangs during cache disabling
call in arm_machine_restart()=>cpu_proc_fin(). Applying given patch enables the system to reboot properly.

This patch is no way a proposed solution. It is intended for further
investigation.

Signed-off-by: Tushar Behera <tushar.behera@xxxxxxxxxx>
---
 arch/arm/mm/proc-v7.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index a30e785..1bffc35 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -43,10 +43,12 @@ ENTRY(cpu_v7_proc_init)
 ENDPROC(cpu_v7_proc_init)

 ENTRY(cpu_v7_proc_fin)
+#if 0
 	mrc	p15, 0, r0, c1, c0, 0		@ ctrl register
 	bic	r0, r0, #0x1000			@ ...i............
 	bic	r0, r0, #0x0006			@ .............ca.
 	mcr	p15, 0, r0, c1, c0, 0		@ disable caches
+#endif
 	mov	pc, lr
 ENDPROC(cpu_v7_proc_fin)

--
1.7.4.1




--
Tushar Behera
--
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


[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux