Commit a783e7b5 authored by Leon Elazar's avatar Leon Elazar Committed by Alex Deucher

drm/amd/display: adding new dc_update_surfaces_and_stream

Signed-off-by: default avatarLeon Elazar <leon.elazar@amd.com>
Acked-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ab587d4a
......@@ -1268,6 +1268,27 @@ enum surface_update_type dc_check_update_surfaces_for_stream(
return overall_type;
}
void dc_update_surfaces_and_stream(struct dc *dc,
struct dc_surface_update *surface_updates, int surface_count,
const struct dc_stream *dc_stream,
struct dc_stream_update *stream_update)
{
const struct dc_stream_status *stream_status;
stream_status = dc_stream_get_status(dc_stream);
ASSERT(stream_status);
if (!stream_status)
return; /* Cannot update stream that is not committed */
if (stream_update) {
dc->stream_funcs.stream_update_scaling(dc, dc_stream,
&stream_update->src, &stream_update->dst);
}
dc_update_surfaces_for_stream(dc, surface_updates,
surface_count, dc_stream);
}
enum surface_update_type update_surface_trace_level = UPDATE_TYPE_FULL;
void dc_update_surfaces_for_stream(struct dc *dc,
......
......@@ -433,6 +433,35 @@ struct dc_stream {
/* TODO: CEA VIC */
};
struct dc_stream_update {
struct rect src;
struct rect dst;
};
/*
* Setup stream attributes if no stream updates are provided
* there will be no impact on the stream parameters
*
* Set up surface attributes and associate to a stream
* The surfaces parameter is an absolute set of all surface active for the stream.
* If no surfaces are provided, the stream will be blanked; no memory read.
* Any flip related attribute changes must be done through this interface.
*
* After this call:
* Surfaces attributes are programmed and configured to be composed into stream.
* This does not trigger a flip. No surface address is programmed.
*
*/
void dc_update_surfaces_and_stream(struct dc *dc,
struct dc_surface_update *surface_updates, int surface_count,
const struct dc_stream *dc_stream,
struct dc_stream_update *stream_update);
/*
* Log the current stream state.
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment