]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 6.6
authorSasha Levin <sashal@kernel.org>
Mon, 11 Dec 2023 18:11:16 +0000 (13:11 -0500)
committerSasha Levin <sashal@kernel.org>
Mon, 11 Dec 2023 18:11:16 +0000 (13:11 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-6.6/drm-amdgpu-fix-refclk-reporting-for-smu-v13.0.6.patch [new file with mode: 0644]
queue-6.6/drm-amdgpu-restrict-extended-wait-to-psp-v13.0.6.patch [new file with mode: 0644]
queue-6.6/drm-amdgpu-update-retry-times-for-psp-bl-wait.patch [new file with mode: 0644]
queue-6.6/series

diff --git a/queue-6.6/drm-amdgpu-fix-refclk-reporting-for-smu-v13.0.6.patch b/queue-6.6/drm-amdgpu-fix-refclk-reporting-for-smu-v13.0.6.patch
new file mode 100644 (file)
index 0000000..76df111
--- /dev/null
@@ -0,0 +1,37 @@
+From 0dba26c42aa6a14342cca4d669da6016caefd47c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 6 Sep 2023 09:21:39 +0530
+Subject: drm/amdgpu: Fix refclk reporting for SMU v13.0.6
+
+From: Lijo Lazar <lijo.lazar@amd.com>
+
+[ Upstream commit 6b7d211740da2c3a7656be8cbb36f32e6d9c6cbd ]
+
+SMU v13.0.6 SOCs have 100MHz reference clock.
+
+Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
+Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Stable-dep-of: 6fce23a4d8c5 ("drm/amdgpu: Restrict extended wait to PSP v13.0.6")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/amd/amdgpu/soc15.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
+index f5be40d7ba367..28094cd7d9c21 100644
+--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
+@@ -325,7 +325,8 @@ static u32 soc15_get_xclk(struct amdgpu_device *adev)
+       u32 reference_clock = adev->clock.spll.reference_freq;
+       if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 0) ||
+-          adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 1))
++          adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 1) ||
++          adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 6))
+               return 10000;
+       if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(10, 0, 0) ||
+           adev->ip_versions[MP1_HWIP][0] == IP_VERSION(10, 0, 1))
+-- 
+2.42.0
+
diff --git a/queue-6.6/drm-amdgpu-restrict-extended-wait-to-psp-v13.0.6.patch b/queue-6.6/drm-amdgpu-restrict-extended-wait-to-psp-v13.0.6.patch
new file mode 100644 (file)
index 0000000..b55414b
--- /dev/null
@@ -0,0 +1,63 @@
+From a128ed70eff90689c95a03e77caa5fc1d71b4e76 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 29 Nov 2023 18:06:55 +0530
+Subject: drm/amdgpu: Restrict extended wait to PSP v13.0.6
+
+From: Lijo Lazar <lijo.lazar@amd.com>
+
+[ Upstream commit 6fce23a4d8c5f93bf80b7f122449fbb97f1e40dd ]
+
+Only PSPv13.0.6 SOCs take a longer time to reach steady state. Other
+PSPv13 based SOCs don't need extended wait. Also, reduce PSPv13.0.6 wait
+time.
+
+Cc: stable@vger.kernel.org
+Fixes: fc5988907156 ("drm/amdgpu: update retry times for psp vmbx wait")
+Fixes: d8c1925ba8cd ("drm/amdgpu: update retry times for psp BL wait")
+Link: https://lore.kernel.org/amd-gfx/34dd4c66-f7bf-44aa-af8f-c82889dd652c@amd.com/
+Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
+Reviewed-by: Asad Kamal <asad.kamal@amd.com>
+Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
+index 8e4372f24f850..fe1995ed13be7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
+@@ -60,7 +60,7 @@ MODULE_FIRMWARE("amdgpu/psp_14_0_0_ta.bin");
+ #define GFX_CMD_USB_PD_USE_LFB 0x480
+ /* Retry times for vmbx ready wait */
+-#define PSP_VMBX_POLLING_LIMIT 20000
++#define PSP_VMBX_POLLING_LIMIT 3000
+ /* VBIOS gfl defines */
+ #define MBOX_READY_MASK 0x80000000
+@@ -161,14 +161,18 @@ static int psp_v13_0_wait_for_vmbx_ready(struct psp_context *psp)
+ static int psp_v13_0_wait_for_bootloader(struct psp_context *psp)
+ {
+       struct amdgpu_device *adev = psp->adev;
+-      int retry_loop, ret;
++      int retry_loop, retry_cnt, ret;
++      retry_cnt =
++              (adev->ip_versions[MP0_HWIP][0] == IP_VERSION(13, 0, 6)) ?
++                      PSP_VMBX_POLLING_LIMIT :
++                      10;
+       /* Wait for bootloader to signify that it is ready having bit 31 of
+        * C2PMSG_35 set to 1. All other bits are expected to be cleared.
+        * If there is an error in processing command, bits[7:0] will be set.
+        * This is applicable for PSP v13.0.6 and newer.
+        */
+-      for (retry_loop = 0; retry_loop < PSP_VMBX_POLLING_LIMIT; retry_loop++) {
++      for (retry_loop = 0; retry_loop < retry_cnt; retry_loop++) {
+               ret = psp_wait_for(
+                       psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_35),
+                       0x80000000, 0xffffffff, false);
+-- 
+2.42.0
+
diff --git a/queue-6.6/drm-amdgpu-update-retry-times-for-psp-bl-wait.patch b/queue-6.6/drm-amdgpu-update-retry-times-for-psp-bl-wait.patch
new file mode 100644 (file)
index 0000000..2861b4b
--- /dev/null
@@ -0,0 +1,39 @@
+From 8d5538535edb54f7700919aab8d61627ff42d601 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 16 Oct 2023 22:10:34 +0800
+Subject: drm/amdgpu: update retry times for psp BL wait
+
+From: Asad Kamal <asad.kamal@amd.com>
+
+[ Upstream commit d8c1925ba8cde2863297728a4c8fbf8fe766757a ]
+
+Increase retry time for PSP BL wait, to compensate
+for longer time to set c2pmsg 35 ready bit during
+mode1 with RAS
+
+Signed-off-by: Asad Kamal <asad.kamal@amd.com>
+Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Stable-dep-of: 6fce23a4d8c5 ("drm/amdgpu: Restrict extended wait to PSP v13.0.6")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
+index 52d80f286b3dd..8e4372f24f850 100644
+--- a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
+@@ -168,7 +168,7 @@ static int psp_v13_0_wait_for_bootloader(struct psp_context *psp)
+        * If there is an error in processing command, bits[7:0] will be set.
+        * This is applicable for PSP v13.0.6 and newer.
+        */
+-      for (retry_loop = 0; retry_loop < 10; retry_loop++) {
++      for (retry_loop = 0; retry_loop < PSP_VMBX_POLLING_LIMIT; retry_loop++) {
+               ret = psp_wait_for(
+                       psp, SOC15_REG_OFFSET(MP0, 0, regMP0_SMN_C2PMSG_35),
+                       0x80000000, 0xffffffff, false);
+-- 
+2.42.0
+
index c72f6c0ada83b023b5fd7bd40575fe1da2cadd85..3bb37639174c2f7e5e55651113876a6f9032cca1 100644 (file)
@@ -239,3 +239,6 @@ netfilter-nft_set_pipapo-skip-inactive-elements-during-set-walk.patch
 asoc-qcom-sc8280xp-limit-speaker-digital-volumes.patch
 gcc-plugins-randstruct-update-code-comment-in-relayout_struct.patch
 riscv-kconfig-add-select-arm_amba-to-soc_starfive.patch
+drm-amdgpu-fix-refclk-reporting-for-smu-v13.0.6.patch
+drm-amdgpu-update-retry-times-for-psp-bl-wait.patch
+drm-amdgpu-restrict-extended-wait-to-psp-v13.0.6.patch