mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
drm/amd/display: enable dsc_clk even if dsc_pg disabled
[ Upstream commit 40255df370e94d44f0f0a924400d68db0ee31bec ] [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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1d1cc275d1
commit
3b70d45c7e
@@ -1806,7 +1806,7 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c
|
|||||||
if (dc->hwss.subvp_pipe_control_lock)
|
if (dc->hwss.subvp_pipe_control_lock)
|
||||||
dc->hwss.subvp_pipe_control_lock(dc, context, true, true, NULL, subvp_prev_use);
|
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);
|
dc->hwss.update_dsc_pg(dc, context, false);
|
||||||
|
|
||||||
disable_dangling_plane(dc, context);
|
disable_dangling_plane(dc, context);
|
||||||
@@ -1905,7 +1905,7 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c
|
|||||||
dc->hwss.optimize_bandwidth(dc, context);
|
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);
|
dc->hwss.update_dsc_pg(dc, context, true);
|
||||||
|
|
||||||
if (dc->ctx->dce_version >= DCE_VERSION_MAX)
|
if (dc->ctx->dce_version >= DCE_VERSION_MAX)
|
||||||
@@ -2193,7 +2193,7 @@ void dc_post_update_surfaces_to_stream(struct dc *dc)
|
|||||||
|
|
||||||
dc->hwss.optimize_bandwidth(dc, context);
|
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);
|
dc->hwss.update_dsc_pg(dc, context, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3453,7 +3453,7 @@ static void commit_planes_for_stream(struct dc *dc,
|
|||||||
if (get_seamless_boot_stream_count(context) == 0)
|
if (get_seamless_boot_stream_count(context) == 0)
|
||||||
dc->hwss.prepare_bandwidth(dc, context);
|
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);
|
dc->hwss.update_dsc_pg(dc, context, false);
|
||||||
|
|
||||||
context_clock_trace(dc, context);
|
context_clock_trace(dc, context);
|
||||||
|
|||||||
@@ -79,6 +79,9 @@ void dcn32_dsc_pg_control(
|
|||||||
if (hws->ctx->dc->debug.disable_dsc_power_gate)
|
if (hws->ctx->dc->debug.disable_dsc_power_gate)
|
||||||
return;
|
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);
|
REG_GET(DC_IP_REQUEST_CNTL, IP_REQUEST_EN, &org_ip_request_cntl);
|
||||||
if (org_ip_request_cntl == 0)
|
if (org_ip_request_cntl == 0)
|
||||||
REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1);
|
REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user