public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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