linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
@ 2016-07-11 21:39 Dave Gerlach
  2016-07-11 21:43 ` Dave Gerlach
  2016-07-12  3:34 ` Lokesh Vutla
  0 siblings, 2 replies; 7+ messages in thread
From: Dave Gerlach @ 2016-07-11 21:39 UTC (permalink / raw)
  To: linux-arm-kernel

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.

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@ti.com>
---
 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);
 
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
  2016-07-11 21:39 [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register" Dave Gerlach
@ 2016-07-11 21:43 ` Dave Gerlach
  2016-07-11 21:50   ` Dave Gerlach
  2016-07-12  3:34 ` Lokesh Vutla
  1 sibling, 1 reply; 7+ messages in thread
From: Dave Gerlach @ 2016-07-11 21:43 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,
On 07/11/2016 04:39 PM, Dave Gerlach wrote:
> This reverts commit 183e2077d007aa4b697efba095ecfea7244a6107.
>

This is a fix for an external abort seen on am335x platforms during boot 
on next-20160711. The offending patch was merged to next on 
next-20160705 and I haven't seen any ill effects from reverting it with 
this patch, and the external abort goes away entirely with it reverted.

Regards,
Dave

> 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.
>
> 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@ti.com>
> ---
>   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);
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
  2016-07-11 21:43 ` Dave Gerlach
@ 2016-07-11 21:50   ` Dave Gerlach
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Gerlach @ 2016-07-11 21:50 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/11/2016 04:43 PM, Dave Gerlach wrote:
> Hi,
> On 07/11/2016 04:39 PM, Dave Gerlach wrote:
>> This reverts commit 183e2077d007aa4b697efba095ecfea7244a6107.
>>
>
> This is a fix for an external abort seen on am335x platforms during boot
> on next-20160711. The offending patch was merged to next on
> next-20160705 and I haven't seen any ill effects from reverting it with
> this patch, and the external abort goes away entirely with it reverted.
>

Failure can be seen here [1].

Regards,
Dave

[1] 
https://storage.kernelci.org/next/next-20160711/arm-omap2plus_defconfig/lab-baylibre-seattle/boot-am335x-boneblack.html

> Regards,
> Dave
>
>> 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.
>>
>> 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@ti.com>
>> ---
>>   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);
>>
>>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
  2016-07-11 21:39 [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register" Dave Gerlach
  2016-07-11 21:43 ` Dave Gerlach
@ 2016-07-12  3:34 ` Lokesh Vutla
  2016-07-12  6:27   ` Tero Kristo
  1 sibling, 1 reply; 7+ messages in thread
From: Lokesh Vutla @ 2016-07-12  3:34 UTC (permalink / raw)
  To: linux-arm-kernel



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?

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@ti.com>
> ---
>  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);
>  
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
  2016-07-12  3:34 ` Lokesh Vutla
@ 2016-07-12  6:27   ` Tero Kristo
  2016-07-12 13:34     ` Dave Gerlach
  0 siblings, 1 reply; 7+ messages in thread
From: Tero Kristo @ 2016-07-12  6:27 UTC (permalink / raw)
  To: linux-arm-kernel

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.

-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@ti.com>
>> ---
>>   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);
>>
>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
  2016-07-12  6:27   ` Tero Kristo
@ 2016-07-12 13:34     ` Dave Gerlach
  2016-07-12 17:55       ` Dave Gerlach
  0 siblings, 1 reply; 7+ messages in thread
From: Dave Gerlach @ 2016-07-12 13:34 UTC (permalink / raw)
  To: linux-arm-kernel

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@ti.com>
>>> ---
>>>   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);
>>>
>>>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register"
  2016-07-12 13:34     ` Dave Gerlach
@ 2016-07-12 17:55       ` Dave Gerlach
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Gerlach @ 2016-07-12 17:55 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/12/2016 08:34 AM, Dave Gerlach wrote:
> 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.

Ok so let's forget this patch, new series sent here

http://marc.info/?l=linux-omap&m=146834587516818&w=2

Regards,
Dave

>
> 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@ti.com>
>>>> ---
>>>>   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);
>>>>
>>>>
>>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-07-12 17:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-11 21:39 [PATCH] Revert "ARM: AM33xx: fix module_wait_ready without clkctrl register" Dave Gerlach
2016-07-11 21:43 ` Dave Gerlach
2016-07-11 21:50   ` Dave Gerlach
2016-07-12  3:34 ` Lokesh Vutla
2016-07-12  6:27   ` Tero Kristo
2016-07-12 13:34     ` Dave Gerlach
2016-07-12 17:55       ` Dave Gerlach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).