aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott B2022-01-24 09:45:15 -0800
committerScott B2022-01-25 19:05:25 -0800
commit78632eab6ad55c3a3aacdbcdfb0635492b2d8efb (patch)
treec999dbd3a28d9803f9d9c505fd38ce902c600330
parent0ab1e6564f7e5877a5e3f70129dd72e67499fe09 (diff)
downloadaur-78632eab6ad55c3a3aacdbcdfb0635492b2d8efb.tar.gz
patch: update s0ix patches for 5.16.3
-rw-r--r--.SRCINFO4
-rw-r--r--9001-v5.16.3-s0ix-patch-2022-01-25.patch (renamed from 9001-v5.16-s0ix-patch-2022-01-17.patch)311
-rw-r--r--PKGBUILD4
3 files changed, 63 insertions, 256 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 804045e0a339..05e8d70f9d93 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -33,7 +33,7 @@ pkgbase = linux-xanmod-rog
source = Bluetooth-btusb-Add-support-for-Foxconn-Mediatek-Chip.patch
source = Bluetooth-btusb-Add-support-for-IMC-Networks-Mediatek-Chip-MT7921.patch
source = mt76-mt7921e-fix-possible-probe-failure-after-reboot.patch
- source = 9001-v5.16-s0ix-patch-2022-01-17.patch
+ source = 9001-v5.16.3-s0ix-patch-2022-01-25.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
sha256sums = 027d7e8988bb69ac12ee92406c3be1fe13f990b1ca2249e226225cd1573308bb
@@ -52,7 +52,7 @@ pkgbase = linux-xanmod-rog
sha256sums = 7dbfdd120bc155cad1879579cb9dd1185eb5e37078c8c93fef604a275a163812
sha256sums = 1444af2e125080934c67b6adb4561fd354a72ce47d3de393b24f53832ee492ac
sha256sums = 63ebf908ba2a66865a94e3a4af579d41ec15573522d3ebb07bf8ded3bc57e833
- sha256sums = c9e46df90b9bd721fcd3c84205efce5a6963daf0cadad46c29f5d57be3ec6187
+ sha256sums = 0907831e3bd6b47bc83f247503dbf3d0301728a77c459e900cff6bc2a7fc4d96
pkgname = linux-xanmod-rog
pkgdesc = The Linux Xanmod kernel and modules with ASUS ROG laptop patches (Zephyrus G14, G15, etc)
diff --git a/9001-v5.16-s0ix-patch-2022-01-17.patch b/9001-v5.16.3-s0ix-patch-2022-01-25.patch
index 89fa4b80faee..1d95ab603cd0 100644
--- a/9001-v5.16-s0ix-patch-2022-01-17.patch
+++ b/9001-v5.16.3-s0ix-patch-2022-01-25.patch
@@ -1,37 +1,29 @@
-From b4c5953e0377b39c43f0ddb62e1d130495bdf019 Mon Sep 17 00:00:00 2001
+From b304bc5408e9f2b02ca879089c6d0d3453f07a1d Mon Sep 17 00:00:00 2001
From: Scott B <arglebargle@arglebargle.dev>
-Date: Mon, 17 Jan 2022 10:09:38 -0800
-Subject: [PATCH] v5.16 s0ix patch 2022-01-17
+Date: Tue, 25 Jan 2022 03:00:18 -0800
+Subject: [PATCH] v5.16.3 s0ix patch 2022-01-25
Squashed commit of the following:
-commit b7fc459a41bbfbe7268279fb8d0769df37dfb957
+commit 5ea443ed5fb99b4a4fa3680d84800524cf8c8ce0
Author: Mario Limonciello <mario.limonciello@amd.com>
-Date: Fri Jan 7 10:49:59 2022 -0600
+Date: Thu Jan 20 11:44:39 2022 -0600
- drm/amd/display: Revert W/A for hard hangs on DCN20/DCN21
+ platform/x86: amd-pmc: Correct usage of SMU version
- The WA from commit 2a50edbf10c8 ("drm/amd/display: Apply w/a for hard hang
- on HPD") and commit 1bd3bc745e7f ("drm/amd/display: Extend w/a for hard
- hang on HPD to dcn20") causes a regression in s0ix where the system will
- fail to resume properly on many laptops. Pull the workarounds out to
- avoid that s0ix regression in the common case. This HPD hang happens with
- an external device and a new W/A will need to be developed for this in the
- future.
+ Yellow carp has been outputting versions like `1093.24.0`, but this
+ is supposed to be 69.24.0. That is the MSB is being interpreted
+ incorrectly.
- Cc: Kazlauskas Nicholas <Nicholas.Kazlauskas@amd.com>
- Cc: Qingqing Zhuo <qingqing.zhuo@amd.com>
- Reported-by: Scott Bruce <smbruce@gmail.com>
- Reported-by: Chris Hixon <linux-kernel-bugs@hixontech.com>
- Reported-by: spasswolf@web.de
- Link: https://bugzilla.kernel.org/show_bug.cgi?id=215436
- Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1821
- Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1852
- Fixes: 2a50edbf10c8 ("drm/amd/display: Apply w/a for hard hang on HPD")
- Fixes: 1bd3bc745e7f ("drm/amd/display: Extend w/a for hard hang on HPD to dcn20")
+ The MSB is not part of the major version, but has generally been
+ treated that way thus far. It's actually the program, and used to
+ distinguish between two programs from a similar family but different
+ codebase.
+
+ Link: https://patchwork.freedesktop.org/patch/469993/
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
-commit 73c260f09f0aa7ab79de33f191ae55248952e833
+commit eee47dd38d08ddd658edf1a59dfb77b759f98778
Author: Sanket Goswami <Sanket.Goswami@amd.com>
Date: Tue Nov 30 16:53:18 2021 +0530
@@ -50,7 +42,7 @@ Date: Tue Nov 30 16:53:18 2021 +0530
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
-commit e6000d5a223f89882671e1aa61dd43e20051fe34
+commit d0abe9fe91000dd97ed7695b42d4d9fd6953149f
Author: Sanket Goswami <Sanket.Goswami@amd.com>
Date: Tue Nov 30 16:53:17 2021 +0530
@@ -63,13 +55,13 @@ Date: Tue Nov 30 16:53:17 2021 +0530
Suggested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
-commit b6e9788d0f2d13aa2be66c88ca949ebf65ee32ea
+commit d49a43a7795b26842b495de26537f873eab4b7e4
Author: Julian Sikorski <belegdol+github@gmail.com>
Date: Fri Nov 19 17:52:36 2021 +0100
GFXOFF check patch by Lijo Lazar
-commit af2cbc6459a8108dcc0b8a513630b794c38d8c19
+commit 9ebb97c9270c70966120ac3027d65a37a732baf7
Author: Mario Limonciello <mario.limonciello@amd.com>
Date: Fri Sep 24 12:32:06 2021 -0500
@@ -82,18 +74,10 @@ Date: Fri Sep 24 12:32:06 2021 -0500
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Change-Id: I34f5ca978aab69ff0a0906191eec21649b19fe27
---
- drivers/acpi/x86/s2idle.c | 6 +
- .../display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c | 11 +-
- .../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 11 +-
- .../display/dc/irq/dcn20/irq_service_dcn20.c | 25 ---
- .../display/dc/irq/dcn20/irq_service_dcn20.h | 2 -
- .../display/dc/irq/dcn21/irq_service_dcn21.c | 25 ---
- .../display/dc/irq/dcn21/irq_service_dcn21.h | 2 -
- .../gpu/drm/amd/display/dc/irq/irq_service.c | 2 +-
- .../gpu/drm/amd/display/dc/irq/irq_service.h | 4 -
- drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 5 +-
- drivers/platform/x86/amd-pmc.c | 172 ++++++++++++++++--
- 11 files changed, 170 insertions(+), 95 deletions(-)
+ drivers/acpi/x86/s2idle.c | 6 +
+ drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 5 +-
+ drivers/platform/x86/amd-pmc.c | 185 +++++++++++++++++++---
+ 3 files changed, 175 insertions(+), 21 deletions(-)
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index 1c48358b43ba..0b65d4623214 100644
@@ -112,204 +96,6 @@ index 1c48358b43ba..0b65d4623214 100644
if (adev->power.state < lpi_constraints_table[i].min_dstate)
acpi_handle_info(handle,
"LPI: Constraint not met; min power state:%s current power state:%s\n",
-diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
-index 2108bff49d4e..146e6d670899 100644
---- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
-+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c
-@@ -38,7 +38,6 @@
- #include "clk/clk_11_0_0_offset.h"
- #include "clk/clk_11_0_0_sh_mask.h"
-
--#include "irq/dcn20/irq_service_dcn20.h"
-
- #undef FN
- #define FN(reg_name, field_name) \
-@@ -223,8 +222,6 @@ void dcn2_update_clocks(struct clk_mgr *clk_mgr_base,
- bool force_reset = false;
- bool p_state_change_support;
- int total_plane_count;
-- int irq_src;
-- uint32_t hpd_state;
-
- if (dc->work_arounds.skip_clock_update)
- return;
-@@ -242,13 +239,7 @@ void dcn2_update_clocks(struct clk_mgr *clk_mgr_base,
- if (dc->res_pool->pp_smu)
- pp_smu = &dc->res_pool->pp_smu->nv_funcs;
-
-- for (irq_src = DC_IRQ_SOURCE_HPD1; irq_src <= DC_IRQ_SOURCE_HPD6; irq_src++) {
-- hpd_state = dc_get_hpd_state_dcn20(dc->res_pool->irqs, irq_src);
-- if (hpd_state)
-- break;
-- }
--
-- if (display_count == 0 && !hpd_state)
-+ if (display_count == 0)
- enter_display_off = true;
-
- if (enter_display_off == safe_to_lower) {
-diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
-index ac2d4c4f04e4..d3c8db65ff45 100644
---- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
-+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c
-@@ -42,7 +42,6 @@
- #include "clk/clk_10_0_2_sh_mask.h"
- #include "renoir_ip_offset.h"
-
--#include "irq/dcn21/irq_service_dcn21.h"
-
- /* Constants */
-
-@@ -130,11 +129,9 @@ void rn_update_clocks(struct clk_mgr *clk_mgr_base,
- struct dc_clocks *new_clocks = &context->bw_ctx.bw.dcn.clk;
- struct dc *dc = clk_mgr_base->ctx->dc;
- int display_count;
-- int irq_src;
- bool update_dppclk = false;
- bool update_dispclk = false;
- bool dpp_clock_lowered = false;
-- uint32_t hpd_state;
-
- struct dmcu *dmcu = clk_mgr_base->ctx->dc->res_pool->dmcu;
-
-@@ -151,14 +148,8 @@ void rn_update_clocks(struct clk_mgr *clk_mgr_base,
-
- display_count = rn_get_active_display_cnt_wa(dc, context);
-
-- for (irq_src = DC_IRQ_SOURCE_HPD1; irq_src <= DC_IRQ_SOURCE_HPD5; irq_src++) {
-- hpd_state = dc_get_hpd_state_dcn21(dc->res_pool->irqs, irq_src);
-- if (hpd_state)
-- break;
-- }
--
- /* if we can go lower, go lower */
-- if (display_count == 0 && !hpd_state) {
-+ if (display_count == 0) {
- rn_vbios_smu_set_dcn_low_power_state(clk_mgr, DCN_PWR_STATE_LOW_POWER);
- /* update power state */
- clk_mgr_base->clks.pwr_state = DCN_PWR_STATE_LOW_POWER;
-diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c b/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c
-index 9ccafe007b23..c4b067d01895 100644
---- a/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c
-+++ b/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c
-@@ -132,31 +132,6 @@ enum dc_irq_source to_dal_irq_source_dcn20(
- }
- }
-
--uint32_t dc_get_hpd_state_dcn20(struct irq_service *irq_service, enum dc_irq_source source)
--{
-- const struct irq_source_info *info;
-- uint32_t addr;
-- uint32_t value;
-- uint32_t current_status;
--
-- info = find_irq_source_info(irq_service, source);
-- if (!info)
-- return 0;
--
-- addr = info->status_reg;
-- if (!addr)
-- return 0;
--
-- value = dm_read_reg(irq_service->ctx, addr);
-- current_status =
-- get_reg_field_value(
-- value,
-- HPD0_DC_HPD_INT_STATUS,
-- DC_HPD_SENSE);
--
-- return current_status;
--}
--
- static bool hpd_ack(
- struct irq_service *irq_service,
- const struct irq_source_info *info)
-diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.h b/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.h
-index 4d69ab24ca25..aee4b37999f1 100644
---- a/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.h
-+++ b/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.h
-@@ -31,6 +31,4 @@
- struct irq_service *dal_irq_service_dcn20_create(
- struct irq_service_init_data *init_data);
-
--uint32_t dc_get_hpd_state_dcn20(struct irq_service *irq_service, enum dc_irq_source source);
--
- #endif
-diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c b/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c
-index 78940cb20e10..ed54e1c819be 100644
---- a/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c
-+++ b/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c
-@@ -135,31 +135,6 @@ enum dc_irq_source to_dal_irq_source_dcn21(
- return DC_IRQ_SOURCE_INVALID;
- }
-
--uint32_t dc_get_hpd_state_dcn21(struct irq_service *irq_service, enum dc_irq_source source)
--{
-- const struct irq_source_info *info;
-- uint32_t addr;
-- uint32_t value;
-- uint32_t current_status;
--
-- info = find_irq_source_info(irq_service, source);
-- if (!info)
-- return 0;
--
-- addr = info->status_reg;
-- if (!addr)
-- return 0;
--
-- value = dm_read_reg(irq_service->ctx, addr);
-- current_status =
-- get_reg_field_value(
-- value,
-- HPD0_DC_HPD_INT_STATUS,
-- DC_HPD_SENSE);
--
-- return current_status;
--}
--
- static bool hpd_ack(
- struct irq_service *irq_service,
- const struct irq_source_info *info)
-diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.h b/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.h
-index 616470e32380..da2bd0e93d7a 100644
---- a/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.h
-+++ b/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.h
-@@ -31,6 +31,4 @@
- struct irq_service *dal_irq_service_dcn21_create(
- struct irq_service_init_data *init_data);
-
--uint32_t dc_get_hpd_state_dcn21(struct irq_service *irq_service, enum dc_irq_source source);
--
- #endif
-diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
-index 4db1133e4466..a2a4fbeb83f8 100644
---- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
-+++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
-@@ -79,7 +79,7 @@ void dal_irq_service_destroy(struct irq_service **irq_service)
- *irq_service = NULL;
- }
-
--const struct irq_source_info *find_irq_source_info(
-+static const struct irq_source_info *find_irq_source_info(
- struct irq_service *irq_service,
- enum dc_irq_source source)
- {
-diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
-index e60b82480093..dbfcb096eedd 100644
---- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
-+++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h
-@@ -69,10 +69,6 @@ struct irq_service {
- const struct irq_service_funcs *funcs;
- };
-
--const struct irq_source_info *find_irq_source_info(
-- struct irq_service *irq_service,
-- enum dc_irq_source source);
--
- void dal_irq_service_construct(
- struct irq_service *irq_service,
- struct irq_service_init_data *init_data);
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 9d7d64fdf410..37e83df92264 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -328,7 +114,7 @@ index 9d7d64fdf410..37e83df92264 100644
switch (block_type) {
/*
diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
-index 230593ae5d6d..15a5b23e7b8d 100644
+index 230593ae5d6d..9b6dc15547f5 100644
--- a/drivers/platform/x86/amd-pmc.c
+++ b/drivers/platform/x86/amd-pmc.c
@@ -35,6 +35,12 @@
@@ -352,9 +138,17 @@ index 230593ae5d6d..15a5b23e7b8d 100644
enum amd_pmc_def {
MSG_TEST = 0x01,
MSG_OS_HINT_PCO,
-@@ -121,14 +128,21 @@ struct amd_pmc_dev {
- u16 minor;
- u16 rev;
+@@ -117,18 +124,26 @@ struct amd_pmc_dev {
+ u32 cpu_id;
+ u32 active_ips;
+ /* SMU version information */
+- u16 major;
+- u16 minor;
+- u16 rev;
++ u8 smu_program;
++ u8 major;
++ u8 minor;
++ u8 rev;
struct device *dev;
+ struct pci_dev *rdev;
struct mutex lock; /* generic mutex lock */
@@ -374,7 +168,20 @@ index 230593ae5d6d..15a5b23e7b8d 100644
static inline u32 amd_pmc_reg_read(struct amd_pmc_dev *dev, int reg_offset)
{
-@@ -175,6 +189,50 @@ static int amd_pmc_get_smu_version(struct amd_pmc_dev *dev)
+@@ -166,15 +181,61 @@ static int amd_pmc_get_smu_version(struct amd_pmc_dev *dev)
+ if (rc)
+ return rc;
+
+- dev->major = (val >> 16) & GENMASK(15, 0);
++ dev->smu_program = (val >> 24) & GENMASK(7, 0);
++ dev->major = (val >> 16) & GENMASK(7, 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);
++ dev_dbg(dev->dev, "SMU program %u version is %u.%u.%u\n",
++ dev->smu_program, dev->major, dev->minor, dev->rev);
+
return 0;
}
@@ -425,7 +232,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev,
struct seq_file *s)
{
-@@ -288,6 +346,10 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev)
+@@ -288,6 +349,10 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev)
&s0ix_stats_fops);
debugfs_create_file("amd_pmc_idlemask", 0644, dev->dbgfs_dir, dev,
&amd_pmc_idlemask_fops);
@@ -436,7 +243,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
}
#else
static inline void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev)
-@@ -484,6 +546,13 @@ static int __maybe_unused amd_pmc_suspend(struct device *dev)
+@@ -484,6 +549,13 @@ static int __maybe_unused amd_pmc_suspend(struct device *dev)
if (rc)
dev_err(pdev->dev, "suspend failed\n");
@@ -450,7 +257,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
return rc;
}
-@@ -504,6 +573,14 @@ static int __maybe_unused amd_pmc_resume(struct device *dev)
+@@ -504,6 +576,14 @@ static int __maybe_unused amd_pmc_resume(struct device *dev)
/* Dump the IdleMask to see the blockers */
amd_pmc_idlemask_read(pdev, dev, NULL);
@@ -465,7 +272,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
return 0;
}
-@@ -521,6 +598,62 @@ static const struct pci_device_id pmc_pci_ids[] = {
+@@ -521,6 +601,62 @@ static const struct pci_device_id pmc_pci_ids[] = {
{ }
};
@@ -528,7 +335,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
static int amd_pmc_probe(struct platform_device *pdev)
{
struct amd_pmc_dev *dev = &pmc;
-@@ -534,22 +667,23 @@ static int amd_pmc_probe(struct platform_device *pdev)
+@@ -534,22 +670,23 @@ static int amd_pmc_probe(struct platform_device *pdev)
rdev = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0));
if (!rdev || !pci_match_id(pmc_pci_ids, rdev)) {
@@ -558,7 +365,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
}
base_addr_lo = val & AMD_PMC_BASE_ADDR_HI_MASK;
-@@ -557,24 +691,25 @@ static int amd_pmc_probe(struct platform_device *pdev)
+@@ -557,24 +694,25 @@ static int amd_pmc_probe(struct platform_device *pdev)
err = pci_write_config_dword(rdev, AMD_PMC_SMU_INDEX_ADDRESS, AMD_PMC_BASE_ADDR_HI);
if (err) {
dev_err(dev->dev, "error writing to 0x%x\n", AMD_PMC_SMU_INDEX_ADDRESS);
@@ -591,7 +398,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
mutex_init(&dev->lock);
-@@ -583,8 +718,10 @@ static int amd_pmc_probe(struct platform_device *pdev)
+@@ -583,8 +721,10 @@ static int amd_pmc_probe(struct platform_device *pdev)
base_addr_hi = FCH_BASE_PHY_ADDR_HIGH;
fch_phys_addr = ((u64)base_addr_hi << 32 | base_addr_lo);
dev->fch_virt_addr = devm_ioremap(dev->dev, fch_phys_addr, FCH_SSC_MAPPING_SIZE);
@@ -604,7 +411,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
/* Use SMU to get the s0i3 debug stats */
err = amd_pmc_setup_smu_logging(dev);
-@@ -595,6 +732,10 @@ static int amd_pmc_probe(struct platform_device *pdev)
+@@ -595,6 +735,10 @@ static int amd_pmc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, dev);
amd_pmc_dbgfs_register(dev);
return 0;
@@ -615,7 +422,7 @@ index 230593ae5d6d..15a5b23e7b8d 100644
}
static int amd_pmc_remove(struct platform_device *pdev)
-@@ -602,6 +743,7 @@ static int amd_pmc_remove(struct platform_device *pdev)
+@@ -602,6 +746,7 @@ static int amd_pmc_remove(struct platform_device *pdev)
struct amd_pmc_dev *dev = platform_get_drvdata(pdev);
amd_pmc_dbgfs_unregister(dev);
@@ -624,5 +431,5 @@ index 230593ae5d6d..15a5b23e7b8d 100644
return 0;
}
--
-2.34.1
+2.35.0
diff --git a/PKGBUILD b/PKGBUILD
index d475519fb9b6..e66471828c02 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -138,7 +138,7 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar
"mt76-mt7921e-fix-possible-probe-failure-after-reboot.patch"
# squashed s0ix enablement
- "9001-v5.16-s0ix-patch-2022-01-17.patch"
+ "9001-v5.16.3-s0ix-patch-2022-01-25.patch"
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds
@@ -161,7 +161,7 @@ sha256sums=('027d7e8988bb69ac12ee92406c3be1fe13f990b1ca2249e226225cd1573308bb'
'7dbfdd120bc155cad1879579cb9dd1185eb5e37078c8c93fef604a275a163812'
'1444af2e125080934c67b6adb4561fd354a72ce47d3de393b24f53832ee492ac'
'63ebf908ba2a66865a94e3a4af579d41ec15573522d3ebb07bf8ded3bc57e833'
- 'c9e46df90b9bd721fcd3c84205efce5a6963daf0cadad46c29f5d57be3ec6187')
+ '0907831e3bd6b47bc83f247503dbf3d0301728a77c459e900cff6bc2a7fc4d96')
export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux}
export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-"$pkgbase"}