From: Greg Kroah-Hartman Date: Fri, 6 Dec 2024 13:24:28 +0000 (+0100) Subject: 6.1-stable patches X-Git-Tag: v6.6.64~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=272b18be21aeea68757d3ecd1fb7ab45cb792c48;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: drm-amd-pm-update-current_socclk-and-current_uclk-in-gpu_metrics-on-smu-v13.0.7.patch drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch drm-sti-avoid-potential-dereference-of-error-pointers.patch --- diff --git a/queue-6.1/drm-amd-pm-update-current_socclk-and-current_uclk-in-gpu_metrics-on-smu-v13.0.7.patch b/queue-6.1/drm-amd-pm-update-current_socclk-and-current_uclk-in-gpu_metrics-on-smu-v13.0.7.patch new file mode 100644 index 00000000000..16d58b097ad --- /dev/null +++ b/queue-6.1/drm-amd-pm-update-current_socclk-and-current_uclk-in-gpu_metrics-on-smu-v13.0.7.patch @@ -0,0 +1,31 @@ +From 2abf2f7032df4c4e7f6cf7906da59d0e614897d6 Mon Sep 17 00:00:00 2001 +From: Umio Yasuno +Date: Thu, 14 Nov 2024 16:15:27 +0900 +Subject: drm/amd/pm: update current_socclk and current_uclk in gpu_metrics on smu v13.0.7 + +From: Umio Yasuno + +commit 2abf2f7032df4c4e7f6cf7906da59d0e614897d6 upstream. + +These were missed before. + +Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3751 +Signed-off-by: Umio Yasuno +Signed-off-by: Alex Deucher +Cc: stable@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c ++++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c +@@ -1314,6 +1314,8 @@ static ssize_t smu_v13_0_7_get_gpu_metri + gpu_metrics->average_dclk1_frequency = metrics->AverageDclk1Frequency; + + gpu_metrics->current_gfxclk = metrics->CurrClock[PPCLK_GFXCLK]; ++ gpu_metrics->current_socclk = metrics->CurrClock[PPCLK_SOCCLK]; ++ gpu_metrics->current_uclk = metrics->CurrClock[PPCLK_UCLK]; + gpu_metrics->current_vclk0 = metrics->CurrClock[PPCLK_VCLK_0]; + gpu_metrics->current_dclk0 = metrics->CurrClock[PPCLK_DCLK_0]; + gpu_metrics->current_vclk1 = metrics->CurrClock[PPCLK_VCLK_1]; diff --git a/queue-6.1/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch b/queue-6.1/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch new file mode 100644 index 00000000000..b0505a84ac4 --- /dev/null +++ b/queue-6.1/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch @@ -0,0 +1,33 @@ +From 4f8dbadef085ab447a01a8d4806a3f629fea05ed Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Fri, 25 Oct 2024 17:14:46 +0200 +Subject: drm/etnaviv: flush shader L1 cache after user commandstream + +From: Lucas Stach + +commit 4f8dbadef085ab447a01a8d4806a3f629fea05ed upstream. + +The shader L1 cache is a writeback cache for shader loads/stores +and thus must be flushed before any BOs backing the shader buffers +are potentially freed. + +Cc: stable@vger.kernel.org +Reviewed-by: Christian Gmeiner +Signed-off-by: Lucas Stach +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c ++++ b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c +@@ -481,7 +481,8 @@ void etnaviv_buffer_queue(struct etnaviv + } else { + CMD_LOAD_STATE(buffer, VIVS_GL_FLUSH_CACHE, + VIVS_GL_FLUSH_CACHE_DEPTH | +- VIVS_GL_FLUSH_CACHE_COLOR); ++ VIVS_GL_FLUSH_CACHE_COLOR | ++ VIVS_GL_FLUSH_CACHE_SHADER_L1); + if (has_blt) { + CMD_LOAD_STATE(buffer, VIVS_BLT_ENABLE, 0x1); + CMD_LOAD_STATE(buffer, VIVS_BLT_SET_COMMAND, 0x1); diff --git a/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch b/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch new file mode 100644 index 00000000000..8242d994b89 --- /dev/null +++ b/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch @@ -0,0 +1,36 @@ +From e965e771b069421c233d674c3c8cd8c7f7245f42 Mon Sep 17 00:00:00 2001 +From: Ma Ke +Date: Mon, 9 Sep 2024 14:33:59 +0800 +Subject: drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check + +From: Ma Ke + +commit e965e771b069421c233d674c3c8cd8c7f7245f42 upstream. + +The return value of drm_atomic_get_crtc_state() needs to be +checked. To avoid use of error pointer 'crtc_state' in case +of the failure. + +Cc: stable@vger.kernel.org +Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes") +Signed-off-by: Ma Ke +Acked-by: Alain Volmat +Link: https://patchwork.freedesktop.org/patch/msgid/20240909063359.1197065-1-make24@iscas.ac.cn +Signed-off-by: Alain Volmat +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/sti/sti_gdp.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/sti/sti_gdp.c ++++ b/drivers/gpu/drm/sti/sti_gdp.c +@@ -638,6 +638,9 @@ static int sti_gdp_atomic_check(struct d + + mixer = to_sti_mixer(crtc); + crtc_state = drm_atomic_get_crtc_state(state, crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ + mode = &crtc_state->mode; + dst_x = new_plane_state->crtc_x; + dst_y = new_plane_state->crtc_y; diff --git a/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch b/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch new file mode 100644 index 00000000000..17748f128af --- /dev/null +++ b/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch @@ -0,0 +1,35 @@ +From c1ab40a1fdfee732c7e6ff2fb8253760293e47e8 Mon Sep 17 00:00:00 2001 +From: Ma Ke +Date: Fri, 13 Sep 2024 17:09:26 +0800 +Subject: drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check + +From: Ma Ke + +commit c1ab40a1fdfee732c7e6ff2fb8253760293e47e8 upstream. + +The return value of drm_atomic_get_crtc_state() needs to be +checked. To avoid use of error pointer 'crtc_state' in case +of the failure. + +Cc: stable@vger.kernel.org +Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes") +Signed-off-by: Ma Ke +Link: https://patchwork.freedesktop.org/patch/msgid/20240913090926.2023716-1-make24@iscas.ac.cn +Signed-off-by: Alain Volmat +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/sti/sti_hqvdp.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/sti/sti_hqvdp.c ++++ b/drivers/gpu/drm/sti/sti_hqvdp.c +@@ -1037,6 +1037,9 @@ static int sti_hqvdp_atomic_check(struct + return 0; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ + mode = &crtc_state->mode; + dst_x = new_plane_state->crtc_x; + dst_y = new_plane_state->crtc_y; diff --git a/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers.patch b/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers.patch new file mode 100644 index 00000000000..ab3840c6d8d --- /dev/null +++ b/queue-6.1/drm-sti-avoid-potential-dereference-of-error-pointers.patch @@ -0,0 +1,35 @@ +From 831214f77037de02afc287eae93ce97f218d8c04 Mon Sep 17 00:00:00 2001 +From: Ma Ke +Date: Fri, 13 Sep 2024 17:04:12 +0800 +Subject: drm/sti: avoid potential dereference of error pointers + +From: Ma Ke + +commit 831214f77037de02afc287eae93ce97f218d8c04 upstream. + +The return value of drm_atomic_get_crtc_state() needs to be +checked. To avoid use of error pointer 'crtc_state' in case +of the failure. + +Cc: stable@vger.kernel.org +Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes") +Signed-off-by: Ma Ke +Link: https://patchwork.freedesktop.org/patch/msgid/20240913090412.2022848-1-make24@iscas.ac.cn +Signed-off-by: Alain Volmat +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/sti/sti_cursor.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/sti/sti_cursor.c ++++ b/drivers/gpu/drm/sti/sti_cursor.c +@@ -200,6 +200,9 @@ static int sti_cursor_atomic_check(struc + return 0; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ + mode = &crtc_state->mode; + dst_x = new_plane_state->crtc_x; + dst_y = new_plane_state->crtc_y; diff --git a/queue-6.1/series b/queue-6.1/series index 28f02fc30f0..1104066af41 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -504,3 +504,8 @@ iio-adc-ad7923-fix-buffer-overflow-for-tx_buf-and-ring_xfer.patch powerpc-fix-stack-protector-kconfig-test-for-clang.patch powerpc-adjust-adding-stack-protector-flags-to-kbuild_clags-for-clang.patch btrfs-don-t-bug_on-on-enomem-from-btrfs_lookup_extent_info-in-walk_down_proc.patch +drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch +drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch +drm-sti-avoid-potential-dereference-of-error-pointers.patch +drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch +drm-amd-pm-update-current_socclk-and-current_uclk-in-gpu_metrics-on-smu-v13.0.7.patch