mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
drm/amd/display: Use dc_update_planes_and_stream
[ Upstream commitf751128982] [Why & How] The old dc_commit_updates_for_stream lacks manipulation for many corner cases where the DC feature requires special attention; as a result, it starts to show its limitation (e.g., the SubVP feature is not supported by it, among other cases). To modernize and unify our internal API, this commit replaces the old dc_commit_updates_for_stream with dc_update_planes_and_stream, which has more features. Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Stable-dep-of:ea2062dd1f("drm/amd/display: fix the system hang while disable PSR") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e84a4e368a
commit
8d855bc676
@@ -2632,10 +2632,12 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
|
|||||||
bundle->surface_updates[m].surface->force_full_update =
|
bundle->surface_updates[m].surface->force_full_update =
|
||||||
true;
|
true;
|
||||||
}
|
}
|
||||||
dc_commit_updates_for_stream(
|
|
||||||
dm->dc, bundle->surface_updates,
|
dc_update_planes_and_stream(dm->dc,
|
||||||
|
bundle->surface_updates,
|
||||||
dc_state->stream_status->plane_count,
|
dc_state->stream_status->plane_count,
|
||||||
dc_state->streams[k], &bundle->stream_update, dc_state);
|
dc_state->streams[k],
|
||||||
|
&bundle->stream_update);
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
@@ -7887,12 +7889,11 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
|
|||||||
acrtc_state->stream->link->psr_settings.psr_allow_active)
|
acrtc_state->stream->link->psr_settings.psr_allow_active)
|
||||||
amdgpu_dm_psr_disable(acrtc_state->stream);
|
amdgpu_dm_psr_disable(acrtc_state->stream);
|
||||||
|
|
||||||
dc_commit_updates_for_stream(dm->dc,
|
dc_update_planes_and_stream(dm->dc,
|
||||||
bundle->surface_updates,
|
bundle->surface_updates,
|
||||||
planes_count,
|
planes_count,
|
||||||
acrtc_state->stream,
|
acrtc_state->stream,
|
||||||
&bundle->stream_update,
|
&bundle->stream_update);
|
||||||
dc_state);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable or disable the interrupts on the backend.
|
* Enable or disable the interrupts on the backend.
|
||||||
@@ -8334,12 +8335,11 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
|
|||||||
|
|
||||||
|
|
||||||
mutex_lock(&dm->dc_lock);
|
mutex_lock(&dm->dc_lock);
|
||||||
dc_commit_updates_for_stream(dm->dc,
|
dc_update_planes_and_stream(dm->dc,
|
||||||
dummy_updates,
|
dummy_updates,
|
||||||
status->plane_count,
|
status->plane_count,
|
||||||
dm_new_crtc_state->stream,
|
dm_new_crtc_state->stream,
|
||||||
&stream_update,
|
&stream_update);
|
||||||
dc_state);
|
|
||||||
mutex_unlock(&dm->dc_lock);
|
mutex_unlock(&dm->dc_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user