mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
drm/amd/display: Release DSC before acquiring
[ Upstream commit 58180a0cc0 ]
[why]
Need to unassign DSC from pipes that are not using it
so other pipes can acquire it. That is needed for
asic's that have unmatching number of DSC engines from
the number of pipes.
[how]
Before acquiring dsc to stream resources, first remove it.
Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Reviewed-by: Eryk Brol <Eryk.Brol@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@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
4d9a5224d5
commit
b8dc6255bb
@@ -828,6 +828,9 @@ bool compute_mst_dsc_configs_for_state(struct drm_atomic_state *state,
|
|||||||
if (computed_streams[i])
|
if (computed_streams[i])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (dcn20_remove_stream_from_ctx(stream->ctx->dc, dc_state, stream) != DC_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
mutex_lock(&aconnector->mst_mgr.lock);
|
mutex_lock(&aconnector->mst_mgr.lock);
|
||||||
if (!compute_mst_dsc_configs_for_link(state, dc_state, stream->link)) {
|
if (!compute_mst_dsc_configs_for_link(state, dc_state, stream->link)) {
|
||||||
mutex_unlock(&aconnector->mst_mgr.lock);
|
mutex_unlock(&aconnector->mst_mgr.lock);
|
||||||
@@ -845,7 +848,8 @@ bool compute_mst_dsc_configs_for_state(struct drm_atomic_state *state,
|
|||||||
stream = dc_state->streams[i];
|
stream = dc_state->streams[i];
|
||||||
|
|
||||||
if (stream->timing.flags.DSC == 1)
|
if (stream->timing.flags.DSC == 1)
|
||||||
dc_stream_add_dsc_to_resource(stream->ctx->dc, dc_state, stream);
|
if (dc_stream_add_dsc_to_resource(stream->ctx->dc, dc_state, stream) != DC_OK)
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user