AMD MP2 STB function provides a data buffer used to log debug information about the system execution during S2Idle suspend/resume. A data buffer known as the STB (Smart Trace Buffer) is a circular buffer which is a low-level log to assist in debugging by providing insights into any potential hangs or stalls that may occur during the S2Idle suspend/resume processes. The current PMC driver retrieves STB data from MP1, but there can be scenarios where MP1 might hang or become unresponsive, leading to the loss of critical data present in the STB buffer. This defeats the purpose of the STB buffer, which was originally meant to help identify system failures. This feature creates stb_read_previous_boot debugfs allows users to retrieve the STB log from MP2 specifically from the last occurrence of the S2Idle suspend/resume. A userspace daemon can access STB log of last S2Idle suspend/resume which can help to troubleshoot potential issues related to hangs or stalls during the S2Idle suspend/resume sequence. Reviewed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> Link: https://lore.kernel.org/r/20240404090702.325838-1-Basavaraj.Natikar@amd.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
35 lines
1.2 KiB
Text
35 lines
1.2 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# AMD PMC Driver
|
|
#
|
|
|
|
config AMD_PMC
|
|
tristate "AMD SoC PMC driver"
|
|
depends on ACPI && PCI && RTC_CLASS && AMD_NB
|
|
depends on SUSPEND
|
|
select SERIO
|
|
help
|
|
The driver provides support for AMD Power Management Controller
|
|
primarily responsible for S2Idle transactions that are driven from
|
|
a platform firmware running on SMU. This driver also provides a debug
|
|
mechanism to investigate the S2Idle transactions and failures.
|
|
|
|
Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU.
|
|
|
|
If you choose to compile this driver as a module the module will be
|
|
called amd-pmc.
|
|
|
|
config AMD_MP2_STB
|
|
bool "AMD SoC MP2 STB function"
|
|
depends on AMD_PMC
|
|
default AMD_PMC
|
|
help
|
|
AMD MP2 STB function provides a data buffer used to log debug
|
|
information about the system execution during S2Idle suspend/resume.
|
|
A data buffer known as the STB (Smart Trace Buffer) is a circular
|
|
buffer which is a low-level log for the SoC which is used to debug
|
|
any hangs/stalls during S2Idle suspend/resume.
|
|
|
|
Creates debugfs to get STB, a userspace daemon can access STB log of
|
|
last S2Idle suspend/resume which can help to debug if hangs/stalls
|
|
during S2Idle suspend/resume.
|