summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authordragonn2021-09-20 09:12:15 +0200
committerdragonn2021-09-20 09:12:15 +0200
commit3fd8f33c94d648c87abfb4db970367cf6b6633a6 (patch)
tree49277284b287f05f56cacdc3433ede724de03916
parent825d71ed713c470164cb24131dd6af6fcb19664e (diff)
downloadaur-3fd8f33c94d648c87abfb4db970367cf6b6633a6.tar.gz
5.14.6
-rw-r--r--.SRCINFO10
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD16
-rw-r--r--sys-kernel_arch-sources-g14_files-9001-v5.14.6-s0ix-patch-2021-09-18.patch (renamed from sys-kernel_arch-sources-g14_files-9001-v5.14.4-s0ix-patch-2021-09-15.patch)242
4 files changed, 239 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7f17cbc77e22..5639842e0d77 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-g14
pkgdesc = Linux
- pkgver = 5.14.5.arch1
+ pkgver = 5.14.6.arch1
pkgrel = 1
url = https://lab.retarded.farm/zappel/asus-rog-zephyrus-g14/
arch = x86_64
@@ -16,7 +16,7 @@ pkgbase = linux-g14
makedepends = git
makedepends = gcc>=11.0
options = !strip
- source = archlinux-linux::git+https://github.com/archlinux/linux?signed#tag=v5.14.5-arch1
+ source = archlinux-linux::git+https://github.com/archlinux/linux?signed#tag=v5.14.6-arch1
source = config
source = choose-gcc-optimization.sh
source = sys-kernel_arch-sources-g14_files-0004-5.8+--more-uarches-for-kernel.patch::https://raw.githubusercontent.com/graysky2/kernel_compiler_patch/a8d200f422f4b2abeaa6cfcfa37136b308e6e33e/more-uarches-for-kernel-5.8%2B.patch
@@ -41,14 +41,13 @@ pkgbase = linux-g14
source = sys-kernel_arch-sources-g14_files-8021-mt76-mt7921-fix-the-inconsistent-state-between-bind-and-unbind.patch
source = sys-kernel_arch-sources-g14_files-8022-mt76-mt7921-report-HE-MU-radiotap.patch
source = sys-kernel_arch-sources-g14_files-8023-v2-mt76-mt7921-fix-kernel-warning-from-cfg80211_calculate_bitrate.patch
- source = sys-kernel_arch-sources-g14_files-9001-v5.14.4-s0ix-patch-2021-09-15.patch
+ source = sys-kernel_arch-sources-g14_files-9001-v5.14.6-s0ix-patch-2021-09-18.patch
source = sys-kernel_arch-sources-g14_files-9004-HID-asus-Reduce-object-size-by-consolidating-calls.patch
source = sys-kernel_arch-sources-g14_files-9005-acpi-battery-Always-read-fresh-battery-state-on-update.patch
source = sys-kernel_arch-sources-g14_files-9006-amd-c3-entry.patch
source = sys-kernel_arch-sources-g14_files-9007-squashed-net-tcp_bbr-bbr2-for-5.14.y.patch
source = sys-kernel_arch-sources-g14_files-9008-fix-cpu-hotplug.patch
source = sys-kernel_arch-sources-g14_files-9009-amd-pstate-sqashed.patch
- source = sys-kernel_arch-sources-g14_files-9010-amd-apci-allow-c3.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
validpgpkeys = A2FF3A36AAA56654109064AB19802F8B0D70FC30
@@ -78,14 +77,13 @@ pkgbase = linux-g14
sha256sums = 1770fec49335bc93194e9e55ced49e1cb67f2df4bf6948e80712a0b2ba50fa49
sha256sums = 6da4010f86a74125969fd3dbc953da7b45209d33ff3d216474c3399e82e893ff
sha256sums = eb391b6d1ebf7ef99ece00b23609b94180a1f3c0149bcf05f6bbeb74d0b724c7
- sha256sums = 041214e202be4a6e90f00724e87ed787b39db148b24efd5fb03fcf23577601c1
+ sha256sums = 526052481abf77ab25ae1b27567e459bb9d18bd4928ed904a1bc4bbd97833f0c
sha256sums = 544464bf0807b324120767d55867f03014a9fda4e1804768ca341be902d7ade4
sha256sums = f7a4bf6293912bfc4a20743e58a5a266be8c4dbe3c1862d196d3a3b45f2f7c90
sha256sums = ee8794a551e33226900654d5c806183bf3b9b2e06f64fdc322987215d233d399
sha256sums = 2d854fc70297bb52bbc27dbf35ca019800530e40565be9740704d7f81bc4c763
sha256sums = 1cec0be41732a23c709e66d4a67e71bc5a75c77a3e4b73faafb5d7bfd3fafc0f
sha256sums = e62cbe1cb1577b1d80095fbb566d0516592e6174e7740e61a340164aff9bf2ec
- sha256sums = bcb5966742921cdc772f163f6cbf0998e22cb1527d5a82b7b71eab4d605243dd
pkgname = linux-g14
pkgdesc = The Linux kernel and modules
diff --git a/.gitignore b/.gitignore
index c8af6bbfe8e9..21eeaed1532c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,5 @@ test
fedora-kernel-*.zip
old
old-mediatek
-new-mediatek \ No newline at end of file
+new-mediatek
+*.tar.zst \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
index 64906cb082b0..7bf22aa1e6a0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgbase=linux-g14
-pkgver=5.14.5.arch1
+pkgver=5.14.6.arch1
pkgrel=1
pkgdesc='Linux'
_srctag=v${pkgver%.*}-${pkgver##*.}
@@ -47,6 +47,7 @@ source=(
# mediatek mt7921 bt/wifi patches
+
"sys-kernel_arch-sources-g14_files-8011-Bluetooth-btusb-Enable-MSFT-extension-for-Mediatek-Chip-MT7921.patch"
"sys-kernel_arch-sources-g14_files-8012-mt76-mt7915-send-EAPOL-frames-at-lowest-rate.patch"
"sys-kernel_arch-sources-g14_files-8013-mt76-mt7921-robustify-hardware-initialization-flow.patch"
@@ -60,9 +61,11 @@ source=(
"sys-kernel_arch-sources-g14_files-8021-mt76-mt7921-fix-the-inconsistent-state-between-bind-and-unbind.patch"
"sys-kernel_arch-sources-g14_files-8022-mt76-mt7921-report-HE-MU-radiotap.patch"
"sys-kernel_arch-sources-g14_files-8023-v2-mt76-mt7921-fix-kernel-warning-from-cfg80211_calculate_bitrate.patch"
+
+ #"sys-kernel_arch-sources-g14_files-8024-mediatek-19-09-2021-squashed.patch"
# squashed s0ix enablement through 2021-09-03
- "sys-kernel_arch-sources-g14_files-9001-v5.14.4-s0ix-patch-2021-09-15.patch"
+ "sys-kernel_arch-sources-g14_files-9001-v5.14.6-s0ix-patch-2021-09-18.patch"
#"sys-kernel_arch-sources-g14_files-9002-amd-pmc-delay-test.patch"
# a small amd_pmc SMU debugging patch per Mario Limonciello @AMD
#"sys-kernel_arch-sources-g14_files-9002-amd-pmc-smu-register-dump-for-diagnostics.patch"
@@ -76,7 +79,7 @@ source=(
"sys-kernel_arch-sources-g14_files-9008-fix-cpu-hotplug.patch"
"sys-kernel_arch-sources-g14_files-9009-amd-pstate-sqashed.patch"
- "sys-kernel_arch-sources-g14_files-9010-amd-apci-allow-c3.patch"
+ #"sys-kernel_arch-sources-g14_files-9010-amd-apci-allow-c3.patch"
)
validpgpkeys=(
@@ -111,14 +114,13 @@ sha256sums=('SKIP'
'1770fec49335bc93194e9e55ced49e1cb67f2df4bf6948e80712a0b2ba50fa49'
'6da4010f86a74125969fd3dbc953da7b45209d33ff3d216474c3399e82e893ff'
'eb391b6d1ebf7ef99ece00b23609b94180a1f3c0149bcf05f6bbeb74d0b724c7'
- '041214e202be4a6e90f00724e87ed787b39db148b24efd5fb03fcf23577601c1'
+ '526052481abf77ab25ae1b27567e459bb9d18bd4928ed904a1bc4bbd97833f0c'
'544464bf0807b324120767d55867f03014a9fda4e1804768ca341be902d7ade4'
'f7a4bf6293912bfc4a20743e58a5a266be8c4dbe3c1862d196d3a3b45f2f7c90'
'ee8794a551e33226900654d5c806183bf3b9b2e06f64fdc322987215d233d399'
'2d854fc70297bb52bbc27dbf35ca019800530e40565be9740704d7f81bc4c763'
'1cec0be41732a23c709e66d4a67e71bc5a75c77a3e4b73faafb5d7bfd3fafc0f'
- 'e62cbe1cb1577b1d80095fbb566d0516592e6174e7740e61a340164aff9bf2ec'
- 'bcb5966742921cdc772f163f6cbf0998e22cb1527d5a82b7b71eab4d605243dd')
+ 'e62cbe1cb1577b1d80095fbb566d0516592e6174e7740e61a340164aff9bf2ec')
# notable microarch levels:
#
@@ -173,7 +175,7 @@ prepare() {
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
- warning "Applying patch $src..."
+ msg2 "Applying patch $src..."
patch -Np1 < "../$src"
done
diff --git a/sys-kernel_arch-sources-g14_files-9001-v5.14.4-s0ix-patch-2021-09-15.patch b/sys-kernel_arch-sources-g14_files-9001-v5.14.6-s0ix-patch-2021-09-18.patch
index 25f571901530..012fe05076f2 100644
--- a/sys-kernel_arch-sources-g14_files-9001-v5.14.4-s0ix-patch-2021-09-15.patch
+++ b/sys-kernel_arch-sources-g14_files-9001-v5.14.6-s0ix-patch-2021-09-18.patch
@@ -1,11 +1,58 @@
-From a7056f48cf6be7f02cad9fa8406cd92dd8e23b10 Mon Sep 17 00:00:00 2001
+From c76d0e81f0480e7a40db872677e837ae4c8a44aa Mon Sep 17 00:00:00 2001
From: Scott B <arglebargle@arglebargle.dev>
-Date: Wed, 15 Sep 2021 03:19:12 -0700
-Subject: [PATCH] v5.14.4 s0ix patch 2021-09-15
+Date: Sat, 18 Sep 2021 15:36:27 -0700
+Subject: [PATCH] v5.14.6 s0ix patch 2021-09-18
Squashed commit of the following:
-commit 172a95ed32721a87abb5b865608ca52cf469da6c
+commit 90f4fc1b714d70c368ae7458b5c9682775a6e0e1
+Author: Sanket Goswami <Sanket.Goswami@amd.com>
+Date: Thu Sep 16 18:11:30 2021 +0530
+
+ platform/x86: amd-pmc: Check s0i3 cycle status
+
+ As the PM firmware returns the status of the last s0i3 in the smu_metrics
+ structure, the existing name "s0i3_cyclecount" seems to be a misnomer.
+ Change it accordingly to "s0i3_last_entry_status".
+
+ Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
+ Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
+
+commit 014e2fdeaf232d1c5fd1a74813f749a7a6c0f812
+Author: Sanket Goswami <Sanket.Goswami@amd.com>
+Date: Thu Sep 16 18:10:02 2021 +0530
+
+ platform/x86: amd-pmc: Export Idlemask values based on the APU
+
+ IdleMask is the metric used by the PM firmware to know the status of each
+ of the Hardware IP blocks monitored by the PM firmware.
+
+ Knowing this value is key to get the information of s2idle suspend/resume
+ status. This value is mapped to PMC scratch registers, retrieve them
+ accordingly based on the CPU family and the underlying firmware support.
+
+ Co-developed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
+ Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
+ Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
+ Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
+ Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
+
+commit 50913ca2c9ffb1d07fe0f402249ae151e95e87df
+Author: Mario Limonciello <mario.limonciello@amd.com>
+Date: Wed Sep 15 16:52:16 2021 -0500
+
+ ACPI: processor idle: Allow playing dead in C3
+
+ commit 1a022e3f1be1 ("idle, x86: Allow off-lined CPU to enter
+ deeper C states") originally allowed offlined CPUs to play dead
+ up to ACPI C2. Although this improves power consumption of offlined
+ CPUs, it does not allow the CPUs to get into the deepest state
+ on AMD platforms blocking s0i3 entry.
+
+ BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1708
+ Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
+
+commit 949ccde94b90a5966c23d1bd286b28778b5dbf20
Author: Mario Limonciello <mario.limonciello@amd.com>
Date: Thu Sep 9 11:19:43 2021 -0500
@@ -28,7 +75,7 @@ Date: Thu Sep 9 11:19:43 2021 -0500
BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1629
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
-commit b53b1045fd67d18ed948ff9d54517e9bfe01ce83
+commit 235b6c0ae71da1245e4cb5fcede464f629d8d1ec
Author: Scott B <28817345+foundObjects@users.noreply.github.com>
Date: Wed Jul 21 18:10:28 2021 -0700
@@ -37,7 +84,7 @@ Date: Wed Jul 21 18:10:28 2021 -0700
patch this per Mario's request:
https://gitlab.freedesktop.org/drm/amd/-/issues/1629#note_1000332
-commit ef5537a8e3ad810798d4296f687445d4e538e5e4
+commit fe0d159834023ad729170befd9cd09f82cef4471
Author: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Date: Tue Aug 31 17:36:12 2021 +0530
@@ -50,7 +97,7 @@ Date: Tue Aug 31 17:36:12 2021 +0530
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
-commit 2ed2ba9e98dd6438596792b2204ffb79f850d898
+commit 9cf6e041f865e42514bcb8429a20c1c056d7a5ab
Author: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Date: Tue Aug 31 17:36:13 2021 +0530
@@ -63,7 +110,7 @@ Date: Tue Aug 31 17:36:13 2021 +0530
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
-commit fa619f720d9b7ecf7c9914f9164a2d33e7c4dbad
+commit 91f7908d258f1edc3287429b236710ee790dd217
Author: Mario Limonciello <mario.limonciello@amd.com>
Date: Tue Aug 31 11:36:19 2021 -0500
@@ -92,7 +139,7 @@ Date: Tue Aug 31 11:36:19 2021 -0500
Reported-by: Maxwell Beck <max@ryt.one>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
-commit a8126200ab377bbb8025ba3a60b935a485ca7602
+commit 04cd8a215540e78dba7c63aeba71fc563ea4038b
Author: Scott B <28817345+foundObjects@users.noreply.github.com>
Date: Tue Jul 20 23:33:01 2021 -0700
@@ -104,7 +151,7 @@ Date: Tue Jul 20 23:33:01 2021 -0700
Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
-commit aaaa4dc0eedb97a20688dbe7936bb1701118648a
+commit dd4c25dc971802f3f8ccb9d21f3b4842b8894c5e
Author: Scott B <28817345+foundObjects@users.noreply.github.com>
Date: Tue Jul 20 23:31:31 2021 -0700
@@ -116,14 +163,29 @@ Date: Tue Jul 20 23:31:31 2021 -0700
Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
---
- drivers/acpi/x86/s2idle.c | 67 +++++++++++--------
+ drivers/acpi/processor_idle.c | 3 +-
+ drivers/acpi/x86/s2idle.c | 67 ++++++++-------
.../gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 3 +
.../gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c | 3 +
- drivers/pinctrl/pinctrl-amd.c | 19 ++++--
+ drivers/pinctrl/pinctrl-amd.c | 19 +++--
drivers/pinctrl/pinctrl-amd.h | 1 +
- drivers/platform/x86/amd-pmc.c | 3 +-
- 6 files changed, 62 insertions(+), 34 deletions(-)
-
+ drivers/platform/x86/amd-pmc.c | 84 ++++++++++++++++++-
+ 7 files changed, 143 insertions(+), 37 deletions(-)
+
+diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
+index 095c8aca141e..1b6529396371 100644
+--- a/drivers/acpi/processor_idle.c
++++ b/drivers/acpi/processor_idle.c
+@@ -789,7 +789,8 @@ static int acpi_processor_setup_cstates(struct acpi_processor *pr)
+ state->enter = acpi_idle_enter;
+
+ state->flags = 0;
+- if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2) {
++ if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2
++ || cx->type == ACPI_STATE_C3) {
+ state->enter_dead = acpi_idle_play_dead;
+ drv->safe_state_index = count;
+ }
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index 3a308461246a..7d1976e5dd8b 100644
--- a/drivers/acpi/x86/s2idle.c
@@ -317,10 +379,21 @@ index 95e763424042..1d4317073654 100644
/* KERNCZ configuration*/
diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
-index 3481479a2942..6d2d3650f8b9 100644
+index 3481479a2942..a489f1e4d7dc 100644
--- a/drivers/platform/x86/amd-pmc.c
+++ b/drivers/platform/x86/amd-pmc.c
-@@ -71,7 +71,7 @@
+@@ -29,6 +29,10 @@
+ #define AMD_PMC_REGISTER_RESPONSE 0x980
+ #define AMD_PMC_REGISTER_ARGUMENT 0x9BC
+
++/* PMC Scratch Registers */
++#define AMD_PMC_SCRATCH_REG_CZN 0x94
++#define AMD_PMC_SCRATCH_REG_YC 0xD14
++
+ /* Base address of SMU for mapping physical address to virtual address */
+ #define AMD_PMC_SMU_INDEX_ADDRESS 0xB8
+ #define AMD_PMC_SMU_INDEX_DATA 0xBC
+@@ -71,7 +75,7 @@
#define AMD_CPU_ID_YC 0x14B5
#define PMC_MSG_DELAY_MIN_US 100
@@ -329,7 +402,113 @@ index 3481479a2942..6d2d3650f8b9 100644
#define SOC_SUBSYSTEM_IP_MAX 12
#define DELAY_MIN_US 2000
-@@ -270,6 +270,7 @@ static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set, u32 *data, u8 msg
+@@ -110,6 +114,10 @@ struct amd_pmc_dev {
+ u32 base_addr;
+ u32 cpu_id;
+ u32 active_ips;
++/* SMU version information */
++ u16 major;
++ u16 minor;
++ u16 rev;
+ struct device *dev;
+ struct mutex lock; /* generic mutex lock */
+ #if IS_ENABLED(CONFIG_DEBUG_FS)
+@@ -133,7 +141,7 @@ static inline void amd_pmc_reg_write(struct amd_pmc_dev *dev, int reg_offset, u3
+ struct smu_metrics {
+ u32 table_version;
+ u32 hint_count;
+- u32 s0i3_cyclecount;
++ u32 s0i3_last_entry_status;
+ u32 timein_s0i2;
+ u64 timeentering_s0i3_lastcapture;
+ u64 timeentering_s0i3_totaltime;
+@@ -162,7 +170,8 @@ static int smu_fw_info_show(struct seq_file *s, void *unused)
+ seq_puts(s, "\n=== SMU Statistics ===\n");
+ seq_printf(s, "Table Version: %d\n", table.table_version);
+ seq_printf(s, "Hint Count: %d\n", table.hint_count);
+- seq_printf(s, "S0i3 Cycle Count: %d\n", table.s0i3_cyclecount);
++ seq_printf(s, "Last S0i3 Status: %s\n", table.s0i3_last_entry_status ? "Success" :
++ "Unknown/Fail");
+ seq_printf(s, "Time (in us) to S0i3: %lld\n", table.timeentering_s0i3_lastcapture);
+ seq_printf(s, "Time (in us) in S0i3: %lld\n", table.timein_s0i3_lastcapture);
+
+@@ -201,6 +210,66 @@ static int s0ix_stats_show(struct seq_file *s, void *unused)
+ }
+ DEFINE_SHOW_ATTRIBUTE(s0ix_stats);
+
++static int amd_pmc_get_smu_version(struct amd_pmc_dev *dev)
++{
++ int rc;
++ u32 val;
++
++ rc = amd_pmc_send_cmd(dev, 0, &val, SMU_MSG_GETSMUVERSION, 1);
++ if (rc)
++ return rc;
++
++ dev->major = (val >> 16) & GENMASK(15, 0);
++ dev->minor = (val >> 8) & GENMASK(7, 0);
++ dev->rev = (val >> 0) & GENMASK(7, 0);
++
++ dev_dbg(dev->dev, "SMU version is %u.%u.%u\n", dev->major, dev->minor, dev->rev);
++
++ return 0;
++}
++
++static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev,
++ struct seq_file *s)
++{
++ u32 val;
++
++ switch (pdev->cpu_id) {
++ case AMD_CPU_ID_CZN:
++ val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_CZN);
++ break;
++ case AMD_CPU_ID_YC:
++ val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_YC);
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ if (dev)
++ dev_dbg(pdev->dev, "SMU idlemask s0i3: 0x%x\n", val);
++
++ if (s)
++ seq_printf(s, "SMU idlemask : 0x%x\n", val);
++
++ return 0;
++}
++
++static int amd_pmc_idlemask_show(struct seq_file *s, void *unused)
++{
++ struct amd_pmc_dev *dev = s->private;
++ int rc;
++
++ if (dev->major > 56 || (dev->major >= 55 && dev->minor >= 37)) {
++ rc = amd_pmc_idlemask_read(dev, NULL, s);
++ if (rc)
++ return rc;
++ } else {
++ seq_puts(s, "Unsupported SMU version for Idlemask\n");
++ }
++
++ return 0;
++}
++DEFINE_SHOW_ATTRIBUTE(amd_pmc_idlemask);
++
+ static void amd_pmc_dbgfs_unregister(struct amd_pmc_dev *dev)
+ {
+ debugfs_remove_recursive(dev->dbgfs_dir);
+@@ -213,6 +282,8 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev)
+ &smu_fw_info_fops);
+ debugfs_create_file("s0ix_stats", 0644, dev->dbgfs_dir, dev,
+ &s0ix_stats_fops);
++ debugfs_create_file("amd_pmc_idlemask", 0644, dev->dbgfs_dir, dev,
++ &amd_pmc_idlemask_fops);
+ }
+ #else
+ static inline void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev)
+@@ -270,6 +341,7 @@ static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set, u32 *data, u8 msg
u32 val;
mutex_lock(&dev->lock);
@@ -337,6 +516,33 @@ index 3481479a2942..6d2d3650f8b9 100644
/* Wait until we get a valid response */
rc = readx_poll_timeout(ioread32, dev->regbase + AMD_PMC_REGISTER_RESPONSE,
val, val != 0, PMC_MSG_DELAY_MIN_US,
+@@ -349,6 +421,8 @@ static int __maybe_unused amd_pmc_suspend(struct device *dev)
+ amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_RESET, 0);
+ amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_START, 0);
+
++ /* Dump the IdleMask before we send hint to SMU */
++ amd_pmc_idlemask_read(pdev, dev, NULL);
+ msg = amd_pmc_get_os_hint(pdev);
+ rc = amd_pmc_send_cmd(pdev, 1, NULL, msg, 0);
+ if (rc)
+@@ -371,6 +445,9 @@ static int __maybe_unused amd_pmc_resume(struct device *dev)
+ if (rc)
+ dev_err(pdev->dev, "resume failed\n");
+
++ /* Dump the IdleMask to see the blockers */
++ amd_pmc_idlemask_read(pdev, dev, NULL);
++
+ return 0;
+ }
+
+@@ -457,6 +534,7 @@ static int amd_pmc_probe(struct platform_device *pdev)
+ if (err)
+ dev_err(dev->dev, "SMU debugging info not supported on this platform\n");
+
++ amd_pmc_get_smu_version(dev);
+ platform_set_drvdata(pdev, dev);
+ amd_pmc_dbgfs_register(dev);
+ return 0;
--
2.33.0