The patch below does not apply to the 6.1-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x 40255df370e94d44f0f0a924400d68db0ee31bec # <resolve conflicts, build, test, etc.> git commit -s git send-email --to 'stable@vger.kernel.org' --in-reply-to '2023112221-register-buckle-1396@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
40255df370e9 ("drm/amd/display: enable dsc_clk even if dsc_pg disabled") 0fa45b6aeae4 ("drm/amd/display: Add DCN35 Resource") 17e349e6841b ("drm/amd/display: Implement interface for notify cursor support change") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay") e013864479f7 ("drm/amd/display: Add structs for Freesync Panel Replay")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 40255df370e94d44f0f0a924400d68db0ee31bec Mon Sep 17 00:00:00 2001 From: Muhammad Ahmed ahmed.ahmed@amd.com Date: Mon, 18 Sep 2023 16:52:54 -0400 Subject: [PATCH] drm/amd/display: enable dsc_clk even if dsc_pg disabled
[why] need to enable dsc_clk regardless dsc_pg
Reviewed-by: Charlene Liu charlene.liu@amd.com Cc: Mario Limonciello mario.limonciello@amd.com Cc: Alex Deucher alexander.deucher@amd.com Cc: stable@vger.kernel.org Acked-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Muhammad Ahmed ahmed.ahmed@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 72dffb7a49f9..39e291a467e2 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -1853,7 +1853,7 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c if (dc->hwss.subvp_pipe_control_lock) dc->hwss.subvp_pipe_control_lock(dc, context, true, true, NULL, subvp_prev_use);
- if (dc->debug.enable_double_buffered_dsc_pg_support) + if (dc->hwss.update_dsc_pg) dc->hwss.update_dsc_pg(dc, context, false);
disable_dangling_plane(dc, context); @@ -1960,7 +1960,7 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c dc->hwss.optimize_bandwidth(dc, context); }
- if (dc->debug.enable_double_buffered_dsc_pg_support) + if (dc->hwss.update_dsc_pg) dc->hwss.update_dsc_pg(dc, context, true);
if (dc->ctx->dce_version >= DCE_VERSION_MAX) @@ -2207,7 +2207,7 @@ void dc_post_update_surfaces_to_stream(struct dc *dc)
dc->hwss.optimize_bandwidth(dc, context);
- if (dc->debug.enable_double_buffered_dsc_pg_support) + if (dc->hwss.update_dsc_pg) dc->hwss.update_dsc_pg(dc, context, true); }
@@ -3565,7 +3565,7 @@ static void commit_planes_for_stream(struct dc *dc, if (get_seamless_boot_stream_count(context) == 0) dc->hwss.prepare_bandwidth(dc, context);
- if (dc->debug.enable_double_buffered_dsc_pg_support) + if (dc->hwss.update_dsc_pg) dc->hwss.update_dsc_pg(dc, context, false);
context_clock_trace(dc, context); diff --git a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c index 76fd7a41bdbf..45b557d8e089 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c +++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c @@ -77,6 +77,9 @@ void dcn32_dsc_pg_control( if (hws->ctx->dc->debug.disable_dsc_power_gate) return;
+ if (!hws->ctx->dc->debug.enable_double_buffered_dsc_pg_support) + return; + REG_GET(DC_IP_REQUEST_CNTL, IP_REQUEST_EN, &org_ip_request_cntl); if (org_ip_request_cntl == 0) REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1); diff --git a/drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.c b/drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.c index 10ae1b3da751..6214866916c7 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.c @@ -742,7 +742,7 @@ static const struct dc_debug_options debug_defaults_drv = { .disable_mem_low_power = false, .enable_hpo_pg_support = false, //must match enable_single_display_2to1_odm_policy to support dynamic ODM transitions - .enable_double_buffered_dsc_pg_support = false, + .enable_double_buffered_dsc_pg_support = true, .enable_dp_dig_pixel_rate_div_policy = 1, .disable_z10 = false, .ignore_pg = true,
linux-stable-mirror@lists.linaro.org