* [PATCH] powerpc: Make Book E watchdog reset type configurable
@ 2013-05-02 14:45 dirk.eibach
2013-05-02 16:17 ` Guenter Roeck
0 siblings, 1 reply; 10+ messages in thread
From: dirk.eibach @ 2013-05-02 14:45 UTC (permalink / raw)
To: linux-kernel; +Cc: Dirk Eibach, Kumar Gala, Wim Van Sebroeck, linux-watchdog
From: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: linux-watchdog@vger.kernel.org
---
drivers/watchdog/Kconfig | 32 ++++++++++++++++++++++++++++++++
drivers/watchdog/booke_wdt.c | 10 +++++++++-
2 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index e89fc31..6048593 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
The value can be overridden by the wdt_period command-line parameter.
+choice
+ prompt "PowerPC Book-E Watchdog reset type"
+ depends on BOOKE_WDT
+ default BOOKE_WDT_RESET_CHIP
+ help
+ Specify what kind of reset will be executed on watchdog timeout.
+
+ config BOOKE_WDT_RESET_CORE
+ bool "Core reset"
+ help
+ Watchdog timeout will trigger a core reset.
+ The exact function of any of these settings is implementation-de-
+ pendent.
+ See the User's Manual for the implementation for further details.
+
+ config BOOKE_WDT_RESET_CHIP
+ bool "Chip reset"
+ help
+ Watchdog timeout will trigger a chip reset.
+ The exact function of any of these settings is implementation-de-
+ pendent.
+ See the User's Manual for the implementation for further details.
+
+ config BOOKE_WDT_RESET_SYSTEM
+ bool "System reset"
+ help
+ Watchdog timeout will trigger a system reset.
+ The exact function of any of these settings is implementation-de-
+ pendent.
+ See the User's Manual for the implementation for further details.
+endchoice
+
# PPC64 Architecture
config WATCHDOG_RTAS
diff --git a/drivers/watchdog/booke_wdt.c b/drivers/watchdog/booke_wdt.c
index a8dbceb3..7791d19 100644
--- a/drivers/watchdog/booke_wdt.c
+++ b/drivers/watchdog/booke_wdt.c
@@ -22,6 +22,14 @@
#include <asm/time.h>
#include <asm/div64.h>
+#if defined(CONFIG_BOOKE_WDT_RESET_CORE)
+#define WRC WRC_CORE
+#elif defined(CONFIG_BOOKE_WDT_RESET_CHIP)
+#define WRC WRC_CHIP
+#elif defined(CONFIG_BOOKE_WDT_RESET_SYSTEM)
+#define WRC WRC_SYSTEM
+#endif
+
/* If the kernel parameter wdt=1, the watchdog will be enabled at boot.
* Also, the wdt_period sets the watchdog timer period timeout.
* For E500 cpus the wdt_period sets which bit changing from 0->1 will
@@ -136,7 +144,7 @@ static void __booke_wdt_enable(void *data)
__booke_wdt_ping(NULL);
val = mfspr(SPRN_TCR);
val &= ~WDTP_MASK;
- val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
+ val |= (TCR_WIE|TCR_WRC(WRC)|WDTP(booke_wdt_period));
mtspr(SPRN_TCR, val);
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-02 14:45 [PATCH] powerpc: Make Book E watchdog reset type configurable dirk.eibach
@ 2013-05-02 16:17 ` Guenter Roeck
2013-05-02 19:11 ` Dirk Eibach
0 siblings, 1 reply; 10+ messages in thread
From: Guenter Roeck @ 2013-05-02 16:17 UTC (permalink / raw)
To: dirk.eibach; +Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog
On Thu, May 02, 2013 at 04:45:13PM +0200, dirk.eibach@gdsys.cc wrote:
> From: Dirk Eibach <dirk.eibach@gdsys.cc>
>
> Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
> Cc: Kumar Gala <galak@kernel.crashing.org>
> Cc: Wim Van Sebroeck <wim@iguana.be>
> Cc: linux-watchdog@vger.kernel.org
> ---
> drivers/watchdog/Kconfig | 32 ++++++++++++++++++++++++++++++++
> drivers/watchdog/booke_wdt.c | 10 +++++++++-
> 2 files changed, 41 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index e89fc31..6048593 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
>
> The value can be overridden by the wdt_period command-line parameter.
>
> +choice
> + prompt "PowerPC Book-E Watchdog reset type"
> + depends on BOOKE_WDT
> + default BOOKE_WDT_RESET_CHIP
> + help
> + Specify what kind of reset will be executed on watchdog timeout.
> +
Seems to me it would be much better to make this configurable via platform data
and/or device tree.
Guenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-02 16:17 ` Guenter Roeck
@ 2013-05-02 19:11 ` Dirk Eibach
2013-05-03 1:17 ` Guenter Roeck
0 siblings, 1 reply; 10+ messages in thread
From: Dirk Eibach @ 2013-05-02 19:11 UTC (permalink / raw)
To: Guenter Roeck
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
Hi Guenter,
>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
>> index e89fc31..6048593 100644
>> --- a/drivers/watchdog/Kconfig
>> +++ b/drivers/watchdog/Kconfig
>> @@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
>>
>> The value can be overridden by the wdt_period command-line
>> parameter.
>>
>> +choice
>> + prompt "PowerPC Book-E Watchdog reset type"
>> + depends on BOOKE_WDT
>> + default BOOKE_WDT_RESET_CHIP
>> + help
>> + Specify what kind of reset will be executed on watchdog timeout.
>> +
> Seems to me it would be much better to make this configurable via
> platform data
> and/or device tree.
good catch. What do the device-tree gurus think to be a nice property
name?
Cheers
Dirk
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-02 19:11 ` Dirk Eibach
@ 2013-05-03 1:17 ` Guenter Roeck
2013-05-03 8:33 ` Dirk Eibach
0 siblings, 1 reply; 10+ messages in thread
From: Guenter Roeck @ 2013-05-03 1:17 UTC (permalink / raw)
To: Dirk Eibach
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
Hi Dirk,
On Thu, May 02, 2013 at 09:11:19PM +0200, Dirk Eibach wrote:
> Hi Guenter,
>
> >>diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> >>index e89fc31..6048593 100644
> >>--- a/drivers/watchdog/Kconfig
> >>+++ b/drivers/watchdog/Kconfig
> >>@@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
> >>
> >> The value can be overridden by the wdt_period command-line
> >>parameter.
> >>
> >>+choice
> >>+ prompt "PowerPC Book-E Watchdog reset type"
> >>+ depends on BOOKE_WDT
> >>+ default BOOKE_WDT_RESET_CHIP
> >>+ help
> >>+ Specify what kind of reset will be executed on watchdog timeout.
> >>+
> >Seems to me it would be much better to make this configurable via
> >platform data
> >and/or device tree.
>
> good catch. What do the device-tree gurus think to be a nice
> property name?
>
How about "reset-type" ? If that is not acceptable, a more device specific
name might be "booke-reset-type".
I would suggest to write a patch including property description and copy
devicetree-discuss when you submit it. If devicetree works for your application,
I would not bother with platform data.
Btw, do you have an opinion about the timeout ? I'd like to get rid of the
configuration parameter, as it is quite confusing (try to match the parameter
to seconds on a Freescale processor and you'll understand what I mean).
I asked about it on the list a while ago, but did not get any feedback.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-03 1:17 ` Guenter Roeck
@ 2013-05-03 8:33 ` Dirk Eibach
2013-05-03 13:46 ` Guenter Roeck
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Dirk Eibach @ 2013-05-03 8:33 UTC (permalink / raw)
To: Guenter Roeck
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
Hi Guenter,
>>>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
>>>> index e89fc31..6048593 100644
>>>> --- a/drivers/watchdog/Kconfig
>>>> +++ b/drivers/watchdog/Kconfig
>>>> @@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
>>>>
>>>> The value can be overridden by the wdt_period command-line
>>>> parameter.
>>>>
>>>> +choice
>>>> + prompt "PowerPC Book-E Watchdog reset type"
>>>> + depends on BOOKE_WDT
>>>> + default BOOKE_WDT_RESET_CHIP
>>>> + help
>>>> + Specify what kind of reset will be executed on watchdog
>>>> timeout.
>>>> +
>>> Seems to me it would be much better to make this configurable via
>>> platform data
>>> and/or device tree.
>>
>> good catch. What do the device-tree gurus think to be a nice
>> property name?
having a closer look, I realized booke_wdt is not device-tree based
yet. Migrating it would come close to a rewrite, breaking compatibility
for all current users. Sorry, this is way beyond the time I have for
this project. So I suggest merging the change the way it is, as it is
clearly an improvement.
Cheers
Dirk
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-03 8:33 ` Dirk Eibach
@ 2013-05-03 13:46 ` Guenter Roeck
2013-05-03 18:30 ` Dirk Eibach
2013-05-03 15:59 ` Guenter Roeck
2013-05-26 17:04 ` Wim Van Sebroeck
2 siblings, 1 reply; 10+ messages in thread
From: Guenter Roeck @ 2013-05-03 13:46 UTC (permalink / raw)
To: Dirk Eibach
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
On Fri, May 03, 2013 at 10:33:13AM +0200, Dirk Eibach wrote:
> Hi Guenter,
>
> >>>>diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> >>>>index e89fc31..6048593 100644
> >>>>--- a/drivers/watchdog/Kconfig
> >>>>+++ b/drivers/watchdog/Kconfig
> >>>>@@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
> >>>>
> >>>> The value can be overridden by the wdt_period command-line
> >>>>parameter.
> >>>>
> >>>>+choice
> >>>>+ prompt "PowerPC Book-E Watchdog reset type"
> >>>>+ depends on BOOKE_WDT
> >>>>+ default BOOKE_WDT_RESET_CHIP
> >>>>+ help
> >>>>+ Specify what kind of reset will be executed on watchdog
> >>>>timeout.
> >>>>+
> >>>Seems to me it would be much better to make this configurable via
> >>>platform data
> >>>and/or device tree.
> >>
> >>good catch. What do the device-tree gurus think to be a nice
> >>property name?
>
> having a closer look, I realized booke_wdt is not device-tree based
> yet. Migrating it would come close to a rewrite, breaking
> compatibility for all current users. Sorry, this is way beyond the
Really ? I don't think making it a platform driver would be that hard,
or break anything.
> time I have for this project. So I suggest merging the change the
> way it is, as it is clearly an improvement.
>
That will be up to Wim to decide.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-03 8:33 ` Dirk Eibach
2013-05-03 13:46 ` Guenter Roeck
@ 2013-05-03 15:59 ` Guenter Roeck
2013-05-26 17:04 ` Wim Van Sebroeck
2 siblings, 0 replies; 10+ messages in thread
From: Guenter Roeck @ 2013-05-03 15:59 UTC (permalink / raw)
To: Dirk Eibach
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
On Fri, May 03, 2013 at 10:33:13AM +0200, Dirk Eibach wrote:
> Hi Guenter,
>
> >>>>diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> >>>>index e89fc31..6048593 100644
> >>>>--- a/drivers/watchdog/Kconfig
> >>>>+++ b/drivers/watchdog/Kconfig
> >>>>@@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
> >>>>
> >>>> The value can be overridden by the wdt_period command-line
> >>>>parameter.
> >>>>
> >>>>+choice
> >>>>+ prompt "PowerPC Book-E Watchdog reset type"
> >>>>+ depends on BOOKE_WDT
> >>>>+ default BOOKE_WDT_RESET_CHIP
> >>>>+ help
> >>>>+ Specify what kind of reset will be executed on watchdog
> >>>>timeout.
> >>>>+
> >>>Seems to me it would be much better to make this configurable via
> >>>platform data
> >>>and/or device tree.
> >>
> >>good catch. What do the device-tree gurus think to be a nice
> >>property name?
>
> having a closer look, I realized booke_wdt is not device-tree based
> yet. Migrating it would come close to a rewrite, breaking
> compatibility for all current users. Sorry, this is way beyond the
> time I have for this project. So I suggest merging the change the
> way it is, as it is clearly an improvement.
>
I sent a couple of RFC patches converting the driver to a platform driver and
adding of support to linux-watchdog and linux-kernel mailing lists.
Compile tested only, and missing is automatic driver instantiation.
Guenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-03 13:46 ` Guenter Roeck
@ 2013-05-03 18:30 ` Dirk Eibach
2013-05-03 20:33 ` Guenter Roeck
0 siblings, 1 reply; 10+ messages in thread
From: Dirk Eibach @ 2013-05-03 18:30 UTC (permalink / raw)
To: Guenter Roeck
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
Am 03.05.2013 15:46, schrieb Guenter Roeck:
> On Fri, May 03, 2013 at 10:33:13AM +0200, Dirk Eibach wrote:
>> Hi Guenter,
>>
>>>>>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
>>>>>> index e89fc31..6048593 100644
>>>>>> --- a/drivers/watchdog/Kconfig
>>>>>> +++ b/drivers/watchdog/Kconfig
>>>>>> @@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
>>>>>>
>>>>>> The value can be overridden by the wdt_period command-line
>>>>>> parameter.
>>>>>>
>>>>>> +choice
>>>>>> + prompt "PowerPC Book-E Watchdog reset type"
>>>>>> + depends on BOOKE_WDT
>>>>>> + default BOOKE_WDT_RESET_CHIP
>>>>>> + help
>>>>>> + Specify what kind of reset will be executed on watchdog
>>>>>> timeout.
>>>>>> +
>>>>> Seems to me it would be much better to make this configurable via
>>>>> platform data
>>>>> and/or device tree.
>>>>
>>>> good catch. What do the device-tree gurus think to be a nice
>>>> property name?
>>
>> having a closer look, I realized booke_wdt is not device-tree based
>> yet. Migrating it would come close to a rewrite, breaking
>> compatibility for all current users. Sorry, this is way beyond the
>
> Really ? I don't think making it a platform driver would be that hard,
> or break anything.
Maybe I am missing something, but wouldn't making it a device-tree
driver mean, that I would have to identify all users of BOOKE_WDT and
add it to their device trees?
Cheers
Dirk
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-03 18:30 ` Dirk Eibach
@ 2013-05-03 20:33 ` Guenter Roeck
0 siblings, 0 replies; 10+ messages in thread
From: Guenter Roeck @ 2013-05-03 20:33 UTC (permalink / raw)
To: Dirk Eibach
Cc: linux-kernel, Kumar Gala, Wim Van Sebroeck, linux-watchdog,
devicetree-discuss
On Fri, May 03, 2013 at 08:30:03PM +0200, Dirk Eibach wrote:
>
>
> Am 03.05.2013 15:46, schrieb Guenter Roeck:
> >On Fri, May 03, 2013 at 10:33:13AM +0200, Dirk Eibach wrote:
> >>Hi Guenter,
> >>
> >>>>>>diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> >>>>>>index e89fc31..6048593 100644
> >>>>>>--- a/drivers/watchdog/Kconfig
> >>>>>>+++ b/drivers/watchdog/Kconfig
> >>>>>>@@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
> >>>>>>
> >>>>>> The value can be overridden by the wdt_period command-line
> >>>>>>parameter.
> >>>>>>
> >>>>>>+choice
> >>>>>>+ prompt "PowerPC Book-E Watchdog reset type"
> >>>>>>+ depends on BOOKE_WDT
> >>>>>>+ default BOOKE_WDT_RESET_CHIP
> >>>>>>+ help
> >>>>>>+ Specify what kind of reset will be executed on watchdog
> >>>>>>timeout.
> >>>>>>+
> >>>>>Seems to me it would be much better to make this configurable via
> >>>>>platform data
> >>>>>and/or device tree.
> >>>>
> >>>>good catch. What do the device-tree gurus think to be a nice
> >>>>property name?
> >>
> >>having a closer look, I realized booke_wdt is not device-tree based
> >>yet. Migrating it would come close to a rewrite, breaking
> >>compatibility for all current users. Sorry, this is way beyond the
> >
> >Really ? I don't think making it a platform driver would be that hard,
> >or break anything.
>
> Maybe I am missing something, but wouldn't making it a device-tree
> driver mean, that I would have to identify all users of BOOKE_WDT
> and add it to their device trees?
>
Not necessarily; only if the platform driver doesn't auto-instantiate.
I'll play with it and see if I can get it working.
On the other side, that wouldn't be too bad either. As far as I can see
from a quick search, there is no default configuration in the upstream kernel
which has BOOKE_WDT enabled.
Guenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] powerpc: Make Book E watchdog reset type configurable
2013-05-03 8:33 ` Dirk Eibach
2013-05-03 13:46 ` Guenter Roeck
2013-05-03 15:59 ` Guenter Roeck
@ 2013-05-26 17:04 ` Wim Van Sebroeck
2 siblings, 0 replies; 10+ messages in thread
From: Wim Van Sebroeck @ 2013-05-26 17:04 UTC (permalink / raw)
To: Dirk Eibach
Cc: Guenter Roeck, linux-kernel, Kumar Gala, linux-watchdog,
devicetree-discuss
Hi Dirk,
> having a closer look, I realized booke_wdt is not device-tree based
> yet. Migrating it would come close to a rewrite, breaking compatibility
> for all current users. Sorry, this is way beyond the time I have for
> this project. So I suggest merging the change the way it is, as it is
> clearly an improvement.
My opinion: don't put it in Kconfig.
I see 2 options for the time being:
1) the DT way
2) introduce a moduleparam for it.
Kind regards,
Wim.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-05-26 17:04 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-02 14:45 [PATCH] powerpc: Make Book E watchdog reset type configurable dirk.eibach
2013-05-02 16:17 ` Guenter Roeck
2013-05-02 19:11 ` Dirk Eibach
2013-05-03 1:17 ` Guenter Roeck
2013-05-03 8:33 ` Dirk Eibach
2013-05-03 13:46 ` Guenter Roeck
2013-05-03 18:30 ` Dirk Eibach
2013-05-03 20:33 ` Guenter Roeck
2013-05-03 15:59 ` Guenter Roeck
2013-05-26 17:04 ` Wim Van Sebroeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox