[PATCH v3 0/3] power: reset: pscrr: record reset cause on panic and watchdog pretimeout

Faruque Ansari <[email protected]> Tue, 04 Aug 2026 14:51:19 +0530
Newsgroups org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-watchdog
Message-ID <[email protected]>
This series extends the Power State Change Reason Register (PSCRR) [1]
framework to capture two additional reset causes.

  1. Kernel panic — a panic notifier writes PSCR_KERNEL_PANIC to NVMEM
     before the system resets, so the next boot can distinguish a panic
     from other reset causes.

  2. Watchdog pretimeout — set_psc_reason(PSCR_WATCHDOG_PRETIMEOUT) is
     called from pretimeout_panic(), when the watchdog fire its
     pre-reset notification before resetting the system, so the reason gets
     saved and we know its was a watchdog timeout that caused the reset.

[1] https://lore.kernel.org/all/[email protected]/

Changes in v3:
  - Update patch 3/3 based on Guenter Roeck's feedback:
      * Move set_psc_reason(PSCR_WATCHDOG_PRETIMEOUT) from
        watchdog_notify_pretimeout() to pretimeout_panic().

Changes in v2:
https://lore.kernel.org/lkml/[email protected]/
  - Split patch 2/2 into two patches as requested by Guenter Roeck:
      * Patch 2/3: power/reset — add PSCR_WATCHDOG_PRETIMEOUT and guard
          panic notifier against overwriting watchdog reason.
      * Patch 3/3: watchdog — hook set_psc_reason() into
          watchdog_notify_pretimeout().

Signed-off-by: Faruque Ansari <[email protected]>
---
Faruque Ansari (3):
      power: reset: pscrr: add kernel panic reason tracking
      power: reset: pscrr: add watchdog pretimeout reason tracking
      watchdog: pretimeout: update PSC reason in panic pretimeout governor

 drivers/power/reset/pscrr/pscrr.c     | 30 ++++++++++++++++++++++++++++++
 drivers/watchdog/pretimeout_panic.c   |  2 ++
 include/linux/power/power_on_reason.h |  1 +
 include/linux/reboot.h                |  3 +++
 kernel/reboot.c                       |  1 +
 5 files changed, 37 insertions(+)
---
base-commit: 551961df5728932d968a4aae534714acfa43f3a1
change-id: 20260803-pscrr-reboot-reason-f1254965ec0d

Best regards,
-- 
Faruque Ansari <[email protected]>