RE: [PATCH v2 0/9] Intel Keem Bay WDT bug fixes

From: Sanil, Shruthi
Date: Mon May 24 2021 - 02:06:56 EST


Hi Roeck,

I have addressed your review comments in the v2 version of this patch series.
Could you please review?

If no comments, can I get an Acked-by tag?
Thanks!

Regards,
Shruthi

> -----Original Message-----
> From: Sanil, Shruthi <shruthi.sanil@xxxxxxxxx>
> Sent: Monday, May 17, 2021 11:20 PM
> To: wim@xxxxxxxxxxxxxxxxxx; linux@xxxxxxxxxxxx; linux-
> watchdog@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Cc: andriy.shevchenko@xxxxxxxxxxxxxxx; kris.pan@xxxxxxxxxxxxxxx;
> mgross@xxxxxxxxxxxxxxx; Thokala, Srikanth <srikanth.thokala@xxxxxxxxx>;
> Raja Subramanian, Lakshmi Bai <lakshmi.bai.raja.subramanian@xxxxxxxxx>;
> Sangannavar, Mallikarjunappa <mallikarjunappa.sangannavar@xxxxxxxxx>;
> Sanil, Shruthi <shruthi.sanil@xxxxxxxxx>
> Subject: [PATCH v2 0/9] Intel Keem Bay WDT bug fixes
>
> From: Shruthi Sanil <shruthi.sanil@xxxxxxxxx>
>
> The series of patches include the below bug fixes in the Intel Keem Bay
> watchdog timer driver:
>
> Patch 1/9:
> - Update WDT pre-timeout during the initialization
> The pretimeout register has a default reset value. Hence
> when a smaller WDT timeout is set which would be lesser than the
> default pretimeout, the system behaves abnormally, starts
> triggering the pretimeout interrupt even when the WDT is
> not enabled, most of the times leading to system crash.
> Hence an update in the pre-timeout is also required for the
> default timeout that is being configured.
>
> Patch 2/9:
> - Upadate WDT pretimeout for every update in timeout
> The pre-timeout value to be programmed to the register has to be
> calculated and updated for every change in the timeout value.
> Else the threshold time wouldn't be calculated to its
> corresponding timeout.
>
> Patch 3/9:
> - Update pretimeout to 0 in the TH ISR
> The pretimeout has to be updated to 0 during the ISR of the
> ThresHold interrupt. Else the TH interrupt would be triggerred for
> every tick until the timeout.
>
> Patch 4/9:
> - Clear either the TO or TH interrupt bit
> During the interrupt service routine of the TimeOut interrupt and
> the ThresHold interrupt, the respective interrupt clear bit
> have to be cleared and not both.
>
> Patch 5/9:
> - Remove timeout update in the WDT start function
> Removed set timeout from the start WDT function. There is a function
> defined to set the timeout. Hence no need to set the timeout again in
> start function as the timeout would have been already updated
> before calling the start/enable.
>
> Patch 6/9:
> - Removed timeout update in the TO ISR
> In the TO ISR removed updating the Timeout value because
> its not serving any purpose as the timer would have already expired
> and the system would be rebooting.
>
> Patch 7/9:
> - MACRO for WDT enable and disable values
> Introduced MACRO's for WDT enable and disable values for better
> readability
>
> Patch 8/9:
> - WDT SMC handler MACRO name update
> Updated the WDT SMC handler MACRO name to make it clear that its
> a ARM SMC handler that helps in clearing the WDT interrupt bit.
>
> Patch 9/9:
> - Typo corrections and other blank operations
> Corrected typos, aligned the tabs and added new lines
> wherever required for better readability
>
> Changes since v1:
> - Dropped a patch with the incorrect fix
> regarding the WDT suspend/resume function.
>
> Shruthi Sanil (9):
> watchdog: keembay: Update WDT pre-timeout during the initialization
> watchdog: keembay: Upadate WDT pretimeout for every update in timeout
> watchdog: keembay: Update pretimeout to zero in the TH ISR
> watchdog: keembay: Clear either the TO or TH interrupt bit
> watchdog: keembay: Remove timeout update in the WDT start function
> watchdog: keembay: Removed timeout update in the TO ISR
> watchdog: keembay: MACRO for WDT enable and disable values
> watchdog: keembay: WDT SMC handler MACRO name update
> watchdog: keembay: Typo corrections and other blank operations
>
> drivers/watchdog/keembay_wdt.c | 34 ++++++++++++++++++++++------------
> 1 file changed, 22 insertions(+), 12 deletions(-)
>
>
> base-commit: 88b06399c9c766c283e070b022b5ceafa4f63f19
> --
> 2.17.1