Re: [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"

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

 



On 07/12/2016 01:27 AM, Tero Kristo wrote:
On 12/07/16 06:34, Lokesh Vutla wrote:


On Tuesday 12 July 2016 03:09 AM, Dave Gerlach wrote:
This reverts commit 183e2077d007aa4b697efba095ecfea7244a6107.

The original patch added a check to am33xx_cm_wait_module_ready for a
clkctrl offset of 0 as an invalid case, however, clkctrl offset of 0 is
perfectly valid for hwmods, in particular the rtc.

Looks like a similar check is present for am33xx_cm_wait_module_idle.
Shouldn't that also be removed?

Oh this is annoying, I didn't notice that RTC had mutant register when I
did the patch to add the check in place, and didn't face this issue
either during testing. However, this check must be in there to avoid any
issues with the transition to the hwmod clock data, as all the clkctrl
offsets will be removed from hwmod data.

I think for RTC we probably need to add some sort of HWMOD flag, and add
a check within the hwmod code itself against this. Just reverting this
patch is wrong approach, as you need to fix it some other way then.

I agree, that was another option I considered, but I went with reverting it for now as there were no ill effects and we've made it this long with out it.

I can send a new version with a flag soon.

Regards,
Dave


-Tero


Thanks and regards,
Lokesh


Without reverting this patch sometimes external aborts are seen on
am335x during boot. This is due to the am33xx_cm_wait_module_ready
function immediately returning 0 rather than waiting for the RTC_CLKCTRL
register to indicate it is actually ready before rtc register accesses
happen.

Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx>
---
  arch/arm/mach-omap2/cm33xx.c | 3 ---
  1 file changed, 3 deletions(-)

diff --git a/arch/arm/mach-omap2/cm33xx.c b/arch/arm/mach-omap2/cm33xx.c
index c073fb57dd13..7b181f929525 100644
--- a/arch/arm/mach-omap2/cm33xx.c
+++ b/arch/arm/mach-omap2/cm33xx.c
@@ -220,9 +220,6 @@ static int am33xx_cm_wait_module_ready(u8 part,
s16 inst, u16 clkctrl_offs,
  {
      int i = 0;

-    if (!clkctrl_offs)
-        return 0;
-
      omap_test_timeout(_is_module_ready(inst, clkctrl_offs),
                MAX_MODULE_READY_TIME, i);




--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux