From: Greg Kroah-Hartman Date: Wed, 18 Jun 2025 13:07:31 +0000 (+0200) Subject: drop some 6.12 drm patches X-Git-Tag: v6.6.94~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cb42d75b9687ab8f5742b98098b3ae61b0709988;p=thirdparty%2Fkernel%2Fstable-queue.git drop some 6.12 drm patches --- diff --git a/queue-6.12/drm-amd-pm-add-inst-to-dpm_set_vcn_enable.patch b/queue-6.12/drm-amd-pm-add-inst-to-dpm_set_vcn_enable.patch deleted file mode 100644 index 37a53faf39..0000000000 --- a/queue-6.12/drm-amd-pm-add-inst-to-dpm_set_vcn_enable.patch +++ /dev/null @@ -1,232 +0,0 @@ -From 9742a9b41b5265371ebe4bcef38b1d59ac76f286 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 2 Oct 2024 20:51:53 -0400 -Subject: drm/amd/pm: add inst to dpm_set_vcn_enable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Boyuan Zhang - -[ Upstream commit 8b7f3529cd7bca239404d7279056e566639ac055 ] - -Add an instance parameter to the existing function dpm_set_vcn_enable() -for future implementation. Re-write all pptable functions accordingly. - -v2: Remove duplicated dpm_set_vcn_enable() functions in v1. Instead, -adding instance parameter to existing functions. - -Signed-off-by: Boyuan Zhang -Suggested-by: Christian König -Suggested-by: Alex Deucher -Acked-by: Christian König -Reviewed-by: Alex Deucher -Signed-off-by: Alex Deucher -Stable-dep-of: ee7360fc27d6 ("drm/amdgpu: read back register after written for VCN v4.0.5") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 2 +- - drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 2 +- - drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h | 3 ++- - drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0.h | 3 ++- - drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 3 ++- - drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_5_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c | 4 +++- - drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c | 3 ++- - 13 files changed, 31 insertions(+), 13 deletions(-) - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -index 3fd8da5dc761e..59c083a16962d 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -@@ -255,7 +255,7 @@ static int smu_dpm_set_vcn_enable(struct smu_context *smu, - if (atomic_read(&power_gate->vcn_gated) ^ enable) - return 0; - -- ret = smu->ppt_funcs->dpm_set_vcn_enable(smu, enable); -+ ret = smu->ppt_funcs->dpm_set_vcn_enable(smu, enable, 0xff); - if (!ret) - atomic_set(&power_gate->vcn_gated, !enable); - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h -index 2b8a18ce25d94..4e92295ac1b2d 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h -+++ b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h -@@ -744,7 +744,7 @@ struct pptable_funcs { - * @dpm_set_vcn_enable: Enable/disable VCN engine dynamic power - * management. - */ -- int (*dpm_set_vcn_enable)(struct smu_context *smu, bool enable); -+ int (*dpm_set_vcn_enable)(struct smu_context *smu, bool enable, int inst); - - /** - * @dpm_set_jpeg_enable: Enable/disable JPEG engine dynamic power -diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h b/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h -index 30178dde6d49f..6d46728e7627e 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h -+++ b/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h -@@ -255,7 +255,8 @@ int smu_v13_0_wait_for_event(struct smu_context *smu, enum smu_event_type event, - uint64_t event_arg); - - int smu_v13_0_set_vcn_enable(struct smu_context *smu, -- bool enable); -+ bool enable, -+ int inst); - - int smu_v13_0_set_jpeg_enable(struct smu_context *smu, - bool enable); -diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0.h b/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0.h -index 3c1b4aa4a68d7..d2289592accc0 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0.h -+++ b/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0.h -@@ -210,7 +210,8 @@ int smu_v14_0_wait_for_event(struct smu_context *smu, enum smu_event_type event, - uint64_t event_arg); - - int smu_v14_0_set_vcn_enable(struct smu_context *smu, -- bool enable); -+ bool enable, -+ int inst); - - int smu_v14_0_set_jpeg_enable(struct smu_context *smu, - bool enable); -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c -index d4b954b22441c..4251c64d00dbe 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c -@@ -2031,7 +2031,9 @@ static bool arcturus_is_dpm_running(struct smu_context *smu) - return !!(feature_enabled & SMC_DPM_FEATURE); - } - --static int arcturus_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int arcturus_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - int ret = 0; - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c -index 27c1892b2c749..48b0eb6dd4ff4 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c -@@ -1135,7 +1135,9 @@ static int navi10_set_default_dpm_table(struct smu_context *smu) - return 0; - } - --static int navi10_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int navi10_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - int ret = 0; - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c -index 1af90990d05c8..063bb60ff70f0 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c -@@ -1152,7 +1152,9 @@ static int sienna_cichlid_set_default_dpm_table(struct smu_context *smu) - return 0; - } - --static int sienna_cichlid_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int sienna_cichlid_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - struct amdgpu_device *adev = smu->adev; - int i, ret = 0; -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c -index 9bca748ac2e94..6a7c5f60b3ada 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c -@@ -461,7 +461,9 @@ static int vangogh_init_smc_tables(struct smu_context *smu) - return smu_v11_0_init_smc_tables(smu); - } - --static int vangogh_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int vangogh_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - int ret = 0; - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c -index 1a8a42b176e52..a21be0971bb3f 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c -@@ -645,7 +645,9 @@ static enum amd_pm_state_type renoir_get_current_power_state(struct smu_context - return pm_type; - } - --static int renoir_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int renoir_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - int ret = 0; - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -index 4f78c84da780c..52da68bbaaf03 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -@@ -2088,7 +2088,8 @@ int smu_v13_0_get_current_pcie_link_speed(struct smu_context *smu) - } - - int smu_v13_0_set_vcn_enable(struct smu_context *smu, -- bool enable) -+ bool enable, -+ int inst) - { - struct amdgpu_device *adev = smu->adev; - int i, ret = 0; -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_5_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_5_ppt.c -index 9c2c43bfed0bb..3204917f91bf6 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_5_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_5_ppt.c -@@ -193,7 +193,9 @@ static int smu_v13_0_5_system_features_control(struct smu_context *smu, bool en) - return ret; - } - --static int smu_v13_0_5_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int smu_v13_0_5_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - int ret = 0; - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c -index 260c339f89c5d..0890951351f97 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c -@@ -220,7 +220,9 @@ static int yellow_carp_system_features_control(struct smu_context *smu, bool en) - return ret; - } - --static int yellow_carp_dpm_set_vcn_enable(struct smu_context *smu, bool enable) -+static int yellow_carp_dpm_set_vcn_enable(struct smu_context *smu, -+ bool enable, -+ int inst) - { - int ret = 0; - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c -index e5f619c979d80..73bd75c34a76e 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c -@@ -1492,7 +1492,8 @@ int smu_v14_0_set_single_dpm_table(struct smu_context *smu, - } - - int smu_v14_0_set_vcn_enable(struct smu_context *smu, -- bool enable) -+ bool enable, -+ int inst) - { - struct amdgpu_device *adev = smu->adev; - int i, ret = 0; --- -2.39.5 - diff --git a/queue-6.12/drm-amd-pm-power-up-or-down-vcn-by-instance.patch b/queue-6.12/drm-amd-pm-power-up-or-down-vcn-by-instance.patch deleted file mode 100644 index 7674e6893c..0000000000 --- a/queue-6.12/drm-amd-pm-power-up-or-down-vcn-by-instance.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 086e935468922c353e6620a658a87f6355ae5fcd Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sun, 29 Sep 2024 15:17:29 -0400 -Subject: drm/amd/pm: power up or down vcn by instance -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Boyuan Zhang - -[ Upstream commit 8aaf166703751ffd9a9fbc4d8b996f538b278983 ] - -For smu ip with multiple vcn instances (smu 11/13/14), remove all the -for loop in dpm_set_vcn_enable() functions. And use the instance -argument to power up/down vcn for the given instance only, instead -of powering up/down for all vcn instances. - -v2: remove all duplicated functions in v1. - -remove for-loop from each ip, and temporarily move to dpm_set_vcn_enable, -in order to keep the exact same logic as before, until further separation -in the next patch. - -Signed-off-by: Boyuan Zhang -Acked-by: Christian König -Reviewed-by: Alex Deucher -Signed-off-by: Alex Deucher -Stable-dep-of: ee7360fc27d6 ("drm/amdgpu: read back register after written for VCN v4.0.5") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 9 +++-- - .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 20 +++++------ - .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 16 ++++----- - .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c | 35 ++++++++----------- - 4 files changed, 35 insertions(+), 45 deletions(-) - -diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -index 59c083a16962d..6535508d01e1f 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -@@ -241,6 +241,7 @@ static int smu_dpm_set_vcn_enable(struct smu_context *smu, - { - struct smu_power_context *smu_power = &smu->smu_power; - struct smu_power_gate *power_gate = &smu_power->power_gate; -+ struct amdgpu_device *adev = smu->adev; - int ret = 0; - - /* -@@ -255,9 +256,11 @@ static int smu_dpm_set_vcn_enable(struct smu_context *smu, - if (atomic_read(&power_gate->vcn_gated) ^ enable) - return 0; - -- ret = smu->ppt_funcs->dpm_set_vcn_enable(smu, enable, 0xff); -- if (!ret) -- atomic_set(&power_gate->vcn_gated, !enable); -+ for (int i = 0; i < adev->vcn.num_vcn_inst; i++) { -+ ret = smu->ppt_funcs->dpm_set_vcn_enable(smu, enable, i); -+ if (ret) -+ return ret; -+ } - - return ret; - } -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c -index 063bb60ff70f0..b2472bfa0c3bb 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c -@@ -1157,19 +1157,15 @@ static int sienna_cichlid_dpm_set_vcn_enable(struct smu_context *smu, - int inst) - { - struct amdgpu_device *adev = smu->adev; -- int i, ret = 0; -+ int ret = 0; - -- for (i = 0; i < adev->vcn.num_vcn_inst; i++) { -- if (adev->vcn.harvest_config & (1 << i)) -- continue; -- /* vcn dpm on is a prerequisite for vcn power gate messages */ -- if (smu_cmn_feature_is_enabled(smu, SMU_FEATURE_MM_DPM_PG_BIT)) { -- ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -- SMU_MSG_PowerUpVcn : SMU_MSG_PowerDownVcn, -- 0x10000 * i, NULL); -- if (ret) -- return ret; -- } -+ if (adev->vcn.harvest_config & (1 << inst)) -+ return ret; -+ /* vcn dpm on is a prerequisite for vcn power gate messages */ -+ if (smu_cmn_feature_is_enabled(smu, SMU_FEATURE_MM_DPM_PG_BIT)) { -+ ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -+ SMU_MSG_PowerUpVcn : SMU_MSG_PowerDownVcn, -+ 0x10000 * inst, NULL); - } - - return ret; -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -index 52da68bbaaf03..8d0e215159fa6 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c -@@ -2092,18 +2092,14 @@ int smu_v13_0_set_vcn_enable(struct smu_context *smu, - int inst) - { - struct amdgpu_device *adev = smu->adev; -- int i, ret = 0; -+ int ret = 0; - -- for (i = 0; i < adev->vcn.num_vcn_inst; i++) { -- if (adev->vcn.harvest_config & (1 << i)) -- continue; -+ if (adev->vcn.harvest_config & (1 << inst)) -+ return ret; - -- ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -- SMU_MSG_PowerUpVcn : SMU_MSG_PowerDownVcn, -- i << 16U, NULL); -- if (ret) -- return ret; -- } -+ ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -+ SMU_MSG_PowerUpVcn : SMU_MSG_PowerDownVcn, -+ inst << 16U, NULL); - - return ret; - } -diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c -index 73bd75c34a76e..47cee5a77107a 100644 ---- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c -+++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c -@@ -1496,29 +1496,24 @@ int smu_v14_0_set_vcn_enable(struct smu_context *smu, - int inst) - { - struct amdgpu_device *adev = smu->adev; -- int i, ret = 0; -+ int ret = 0; - -- for (i = 0; i < adev->vcn.num_vcn_inst; i++) { -- if (adev->vcn.harvest_config & (1 << i)) -- continue; -+ if (adev->vcn.harvest_config & (1 << inst)) -+ return ret; - -- if (smu->is_apu) { -- if (i == 0) -- ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -- SMU_MSG_PowerUpVcn0 : SMU_MSG_PowerDownVcn0, -- i << 16U, NULL); -- else if (i == 1) -- ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -- SMU_MSG_PowerUpVcn1 : SMU_MSG_PowerDownVcn1, -- i << 16U, NULL); -- } else { -+ if (smu->is_apu) { -+ if (inst == 0) - ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -- SMU_MSG_PowerUpVcn : SMU_MSG_PowerDownVcn, -- i << 16U, NULL); -- } -- -- if (ret) -- return ret; -+ SMU_MSG_PowerUpVcn0 : SMU_MSG_PowerDownVcn0, -+ inst << 16U, NULL); -+ else if (inst == 1) -+ ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -+ SMU_MSG_PowerUpVcn1 : SMU_MSG_PowerDownVcn1, -+ inst << 16U, NULL); -+ } else { -+ ret = smu_cmn_send_smc_msg_with_param(smu, enable ? -+ SMU_MSG_PowerUpVcn : SMU_MSG_PowerDownVcn, -+ inst << 16U, NULL); - } - - return ret; --- -2.39.5 - diff --git a/queue-6.12/drm-amdgpu-read-back-register-after-written-for-vcn-.patch b/queue-6.12/drm-amdgpu-read-back-register-after-written-for-vcn-.patch deleted file mode 100644 index 993fb0a861..0000000000 --- a/queue-6.12/drm-amdgpu-read-back-register-after-written-for-vcn-.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 8185ec1cd181014bb78cd9e6b5a721f4ab71b843 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 12 May 2025 15:14:43 -0400 -Subject: drm/amdgpu: read back register after written for VCN v4.0.5 - -From: David (Ming Qiang) Wu - -[ Upstream commit 07c9db090b86e5211188e1b351303fbc673378cf ] - -On VCN v4.0.5 there is a race condition where the WPTR is not -updated after starting from idle when doorbell is used. Adding -register read-back after written at function end is to ensure -all register writes are done before they can be used. - -Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12528 -Signed-off-by: David (Ming Qiang) Wu -Reviewed-by: Mario Limonciello -Tested-by: Mario Limonciello -Reviewed-by: Alex Deucher -Reviewed-by: Ruijing Dong -Signed-off-by: Alex Deucher -Stable-dep-of: ee7360fc27d6 ("drm/amdgpu: read back register after written for VCN v4.0.5") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c -index e0b02bf1c5639..db33a2b9109aa 100644 ---- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c -+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c -@@ -985,6 +985,10 @@ static int vcn_v4_0_5_start_dpg_mode(struct amdgpu_device *adev, int inst_idx, b - ring->doorbell_index << VCN_RB1_DB_CTRL__OFFSET__SHIFT | - VCN_RB1_DB_CTRL__EN_MASK); - -+ /* Keeping one read-back to ensure all register writes are done, otherwise -+ * it may introduce race conditions */ -+ RREG32_SOC15(VCN, inst_idx, regVCN_RB1_DB_CTRL); -+ - return 0; - } - -@@ -1169,6 +1173,10 @@ static int vcn_v4_0_5_start(struct amdgpu_device *adev) - fw_shared->sq.queue_mode &= ~(FW_QUEUE_RING_RESET | FW_QUEUE_DPG_HOLD_OFF); - } - -+ /* Keeping one read-back to ensure all register writes are done, otherwise -+ * it may introduce race conditions */ -+ RREG32_SOC15(VCN, i, regVCN_RB_ENABLE); -+ - return 0; - } - --- -2.39.5 - diff --git a/queue-6.12/series b/queue-6.12/series index ae3ee34cae..07bae18b8c 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -392,9 +392,6 @@ path_overmount-avoid-false-negatives.patch fix-propagation-graph-breakage-by-move_mount_set_gro.patch do_change_type-refuse-to-operate-on-unmounted-not-ou.patch tools-power-turbostat-fix-amd-package-energy-reporti.patch -drm-amd-pm-add-inst-to-dpm_set_vcn_enable.patch -drm-amd-pm-power-up-or-down-vcn-by-instance.patch -drm-amdgpu-read-back-register-after-written-for-vcn-.patch alsa-hda-realtek-fix-micmute-leds-on-hp-laptops-with.patch alsa-hda-realtek-fix-micmute-leds-on-hp-laptops-with.patch-23213 alsa-hda-realtek-add-support-for-various-hp-laptops-.patch