public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: linux-tip-commits@vger.kernel.org,
	Yazen Ghannam <yazen.ghannam@amd.com>,
	Mario Limonciello <mario.limonciello@amd.com>,
	"Borislav Petkov (AMD)" <bp@alien8.de>,
	x86@kernel.org
Subject: [PATCH] x86/CPU/AMD: Clean up the last-reset printing code a bit
Date: Sun, 4 May 2025 09:03:57 +0200	[thread overview]
Message-ID: <aBcRXYkJlfySzBEx@gmail.com> (raw)
In-Reply-To: <aBcLJxjTQGa1-r5S@gmail.com>


* Ingo Molnar <mingo@kernel.org> wrote:

> With those addressed:
> 
>   Reviewed-by: Ingo Molnar <mingo@kernel.org>

Patch attached to clean this all up.

Thanks,

	Ingo

====================>
From: Ingo Molnar <mingo@kernel.org>
Date: Sun, 4 May 2025 08:57:37 +0200
Subject: [PATCH] x86/CPU/AMD: Clean up the last-reset printing code a bit

 - Use consistent .rst formatting

 - Fix 'Sleep' class field to 'ACPI-State'

 - Standardize pin messages around the 'tripped' verbiage

 - Remove reference to ring-buffer printing & simplify
   the wording

 - Use curly braces for multi-line conditional statements

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Yazen Ghannam <yazen.ghannam@amd.com>
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Borislav Petkov (AMD) <bp@alien8.de>
---
 Documentation/arch/x86/amd-debugging.rst | 18 ++++++++++++------
 arch/x86/kernel/cpu/amd.c                | 15 ++++++++-------
 2 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/Documentation/arch/x86/amd-debugging.rst b/Documentation/arch/x86/amd-debugging.rst
index dea8a918c71b..d92bf59d62c7 100644
--- a/Documentation/arch/x86/amd-debugging.rst
+++ b/Documentation/arch/x86/amd-debugging.rst
@@ -52,6 +52,7 @@ report generated from this script to
 
 Spurious s2idle wakeups from an IRQ
 ===================================
+
 Spurious wakeups will generally have an IRQ set to ``/sys/power/pm_wakeup_irq``.
 This can be matched to ``/proc/interrupts`` to determine what device woke the system.
 
@@ -134,6 +135,7 @@ The ``amd_s2idle.py`` script will capture most of these artifacts for you.
 
 s2idle PM debug messages
 ========================
+
 During the s2idle flow on AMD systems, the ACPI LPS0 driver is responsible
 to check all uPEP constraints.  Failing uPEP constraints does not prevent
 s0i3 entry.  This means that if some constraints are not met, it is possible
@@ -160,6 +162,7 @@ After doing this, run the suspend cycle and look specifically for errors around:
 
 Historical examples of s2idle issues
 ====================================
+
 To help understand the types of issues that can occur and how to debug them,
 here are some historical examples of s2idle issues that have been resolved.
 
@@ -248,6 +251,7 @@ state entry.
 
 Runtime power consumption issues
 ================================
+
 Runtime power consumption is influenced by many factors, including but not
 limited to the configuration of the PCIe Active State Power Management (ASPM),
 the display brightness, the EPP policy of the CPU, and the power management
@@ -272,6 +276,7 @@ the battery life when more heavily biased towards performance.
 
 BIOS debug messages
 ===================
+
 Most OEM machines don't have a serial UART for outputting kernel or BIOS
 debug messages. However BIOS debug messages are useful for understanding
 both BIOS bugs and bugs with the Linux kernel drivers that call BIOS AML.
@@ -321,6 +326,7 @@ to help parse the messages.
 
 Random reboot issues
 ====================
+
 When a random reboot occurs, the high-level reason for the reboot is stored
 in a register that will persist onto the next boot.
 
@@ -338,7 +344,7 @@ There are 6 classes of reasons for the reboot:
 
    "0",  "Pin",      "thermal pin BP_THERMTRIP_L was tripped"
    "1",  "Pin",      "power button was pressed for 4 seconds"
-   "2",  "Pin",      "shutdown pin was shorted"
+   "2",  "Pin",      "shutdown pin was tripped"
    "4",  "Remote",   "remote ASF power off command was received"
    "9",  "Internal", "internal CPU thermal limit was tripped"
    "16", "Pin",      "system reset pin BP_SYS_RST_L was tripped"
@@ -346,8 +352,8 @@ There are 6 classes of reasons for the reboot:
    "18", "Software", "software wrote 0x4 to reset control register 0xCF9"
    "19", "Software", "software wrote 0x6 to reset control register 0xCF9"
    "20", "Software", "software wrote 0xE to reset control register 0xCF9"
-   "21", "Sleep",    "ACPI power state transition occurred"
-   "22", "Pin",      "keyboard reset pin KB_RST_L was asserted"
+   "21", "ACPI-state", "ACPI power state transition occurred"
+   "22", "Pin",      "keyboard reset pin KB_RST_L was tripped"
    "23", "Internal", "internal CPU shutdown event occurred"
    "24", "Hardware", "system failed to boot before failed boot timer expired"
    "25", "Hardware", "hardware watchdog timer expired"
@@ -357,6 +363,6 @@ There are 6 classes of reasons for the reboot:
    "30", "Internal", "a parity error occurred"
    "31", "Internal", "a software sync flood event occurred"
 
-This information is read by the kernel at bootup and is saved into the
-kernel ring buffer. When a random reboot occurs this message can be helpful
-to determine the next component to debug such an issue.
+This information is read by the kernel at bootup and printed into
+the syslog. When a random reboot occurs this message can be helpful
+to determine the next component to debug.
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 04b11e7c1bf5..56c281f086f1 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -1241,18 +1241,18 @@ void amd_check_microcode(void)
 }
 
 static const char * const s5_reset_reason_txt[] = {
-	[0] = "thermal pin BP_THERMTRIP_L was tripped",
-	[1] = "power button was pressed for 4 seconds",
-	[2] = "shutdown pin was shorted",
-	[4] = "remote ASF power off command was received",
-	[9] = "internal CPU thermal limit was tripped",
+	[0]  = "thermal pin BP_THERMTRIP_L was tripped",
+	[1]  = "power button was pressed for 4 seconds",
+	[2]  = "shutdown pin was tripped",
+	[4]  = "remote ASF power off command was received",
+	[9]  = "internal CPU thermal limit was tripped",
 	[16] = "system reset pin BP_SYS_RST_L was tripped",
 	[17] = "software issued PCI reset",
 	[18] = "software wrote 0x4 to reset control register 0xCF9",
 	[19] = "software wrote 0x6 to reset control register 0xCF9",
 	[20] = "software wrote 0xE to reset control register 0xCF9",
 	[21] = "ACPI power state transition occurred",
-	[22] = "keyboard reset pin KB_RST_L was asserted",
+	[22] = "keyboard reset pin KB_RST_L was tripped",
 	[23] = "internal CPU shutdown event occurred",
 	[24] = "system failed to boot before failed boot timer expired",
 	[25] = "hardware watchdog timer expired",
@@ -1283,9 +1283,10 @@ static __init int print_s5_reset_status_mmio(void)
 		if (!(value & BIT(i)))
 			continue;
 
-		if (s5_reset_reason_txt[i])
+		if (s5_reset_reason_txt[i]) {
 			pr_info("x86/amd: Previous system reset reason [0x%08lx]: %s\n",
 				value, s5_reset_reason_txt[i]);
+		}
 	}
 
 	return 0;

  reply	other threads:[~2025-05-04  7:04 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-22 23:48 [PATCH v5 0/5] AMD Zen debugging documentation Mario Limonciello
2025-04-22 23:48 ` [PATCH v5 1/5] Documentation: Add AMD Zen debugging document Mario Limonciello
2025-05-02  9:36   ` [tip: x86/platform] " tip-bot2 for Mario Limonciello
2025-04-22 23:48 ` [PATCH v5 2/5] i2c: piix4: Depends on X86 Mario Limonciello
2025-04-24 16:24   ` [tip: x86/platform] i2c: piix4: Make CONFIG_I2C_PIIX4 dependent on CONFIG_X86 tip-bot2 for Mario Limonciello
2025-04-25 11:18   ` [PATCH v5 2/5] i2c: piix4: Depends on X86 Andi Shyti
2025-04-26  9:42     ` Ingo Molnar
2025-04-28 18:18       ` Andi Shyti
2025-04-26  9:57   ` [tip: x86/platform] i2c: piix4: Make CONFIG_I2C_PIIX4 dependent on CONFIG_X86 tip-bot2 for Mario Limonciello
2025-06-10  9:16   ` [PATCH v5 2/5] i2c: piix4: Depends on X86 Geert Uytterhoeven
2025-06-10  9:24     ` Huacai Chen
2025-06-10 14:12       ` Mario Limonciello
2025-06-10 14:53         ` Hans de Goede
2025-06-10 14:55           ` Hans de Goede
2025-06-10 16:59             ` Geert Uytterhoeven
2025-06-10 18:52               ` Hans de Goede
2025-04-22 23:48 ` [PATCH v5 3/5] i2c: piix4: Move SB800_PIIX4_FCH_PM_ADDR definition to amd/fch.h Mario Limonciello
2025-04-24 16:24   ` [tip: x86/platform] i2c: piix4, x86/platform: Move the SB800 PIIX4 FCH definitions to <asm/amd/fch.h> tip-bot2 for Mario Limonciello
2025-04-25 11:18   ` [PATCH v5 3/5] i2c: piix4: Move SB800_PIIX4_FCH_PM_ADDR definition to amd/fch.h Andi Shyti
2025-04-26  9:57   ` [tip: x86/platform] i2c: piix4, x86/platform: Move the SB800 PIIX4 FCH definitions to <asm/amd/fch.h> tip-bot2 for Mario Limonciello
2025-04-22 23:48 ` [PATCH v5 4/5] platform/x86/amd: pmc: use FCH_PM_BASE definition Mario Limonciello
2025-04-24 16:24   ` [tip: x86/platform] platform/x86/amd/pmc: Use " tip-bot2 for Mario Limonciello
2025-04-26  9:56   ` tip-bot2 for Mario Limonciello
2025-04-29 14:39   ` [PATCH v5 4/5] platform/x86/amd: pmc: use " Ilpo Järvinen
2025-04-22 23:48 ` [PATCH v5 5/5] x86/CPU/AMD: Print the reason for the last reset Mario Limonciello
2025-04-30 19:03   ` Borislav Petkov
2025-04-30 19:05     ` Mario Limonciello
2025-04-30 19:10       ` Borislav Petkov
2025-04-30 19:17         ` Mario Limonciello
2025-04-30 19:25           ` Borislav Petkov
2025-04-30 19:32             ` Mario Limonciello
2025-04-30 19:38               ` Borislav Petkov
2025-05-01  8:31               ` Borislav Petkov
2025-05-04  6:38                 ` Ingo Molnar
2025-05-02  9:36   ` [tip: x86/platform] " tip-bot2 for Yazen Ghannam
2025-05-04  6:37     ` Ingo Molnar
2025-05-04  7:03       ` Ingo Molnar [this message]
2025-05-04  9:52         ` [PATCH] x86/CPU/AMD: Clean up the last-reset printing code a bit Borislav Petkov
2025-05-04 18:08           ` Mario Limonciello
2025-05-05  5:32         ` [tip: x86/platform] " tip-bot2 for Ingo Molnar
2025-05-05 14:12   ` [tip: x86/platform] x86/CPU/AMD: Print the reason for the last reset tip-bot2 for Yazen Ghannam
2025-04-23 15:02 ` [PATCH v5 0/5] AMD Zen debugging documentation Jonathan Corbet
2025-04-28 16:14   ` Mario Limonciello
2025-04-24 15:58 ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aBcRXYkJlfySzBEx@gmail.com \
    --to=mingo@kernel.org \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=x86@kernel.org \
    --cc=yazen.ghannam@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox