summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dc.h
diff options
context:
space:
mode:
authorAndrey Grodzovsky <Andrey.Grodzovsky@amd.com>2017-08-11 10:43:45 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:17:06 -0400
commit19f89e2392e692208a0a00465d30b2b2bf43e9a9 (patch)
tree7be949e250c2b3c554e84c14419a201db7594b03 /drivers/gpu/drm/amd/display/dc/dc.h
parent577b5c2b51014b3c276ab1d456aaad965dbb4930 (diff)
drm/amd/display: Per plane validation context build.
Introduce add/remove plane to/from context. Make DC wrapper to use them in WIndows/Diags. Use them in dc_update_surface_to_stream. Call add/remove plane from Linux DM. Remove dc_validation_set from dc_validate_global_state interface and by this remove clean Linux DM from using it. Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dc.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc.h37
1 files changed, 30 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index 9cc1c28caa4e..55fc58102515 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -619,15 +619,40 @@ bool dc_stream_get_scanoutpos(const struct dc_stream_state *stream,
uint32_t *h_position,
uint32_t *v_position);
-bool dc_remove_stream_from_ctx(
+bool dc_add_stream_to_ctx(
struct dc *dc,
+ struct validate_context *new_ctx,
+ struct dc_stream_state *stream);
+
+bool dc_remove_stream_from_ctx(
+ struct dc *dc,
struct validate_context *new_ctx,
struct dc_stream_state *stream);
-bool dc_add_stream_to_ctx(
- struct dc *dc,
- struct validate_context *new_ctx,
- struct dc_stream_state *stream);
+
+bool dc_add_plane_to_context(
+ const struct dc *dc,
+ struct dc_stream_state *stream,
+ struct dc_plane_state *plane_state,
+ struct validate_context *context);
+
+bool dc_remove_plane_from_context(
+ const struct dc *dc,
+ struct dc_stream_state *stream,
+ struct dc_plane_state *plane_state,
+ struct validate_context *context);
+
+bool dc_rem_all_planes_for_stream(
+ const struct dc *dc,
+ struct dc_stream_state *stream,
+ struct validate_context *context);
+
+bool dc_add_all_planes_for_stream(
+ const struct dc *dc,
+ struct dc_stream_state *stream,
+ struct dc_plane_state * const *plane_states,
+ int plane_count,
+ struct validate_context *context);
/*
* Structure to store surface/stream associations for validation
@@ -644,8 +669,6 @@ bool dc_validate_plane(struct dc *dc, const struct dc_plane_state *plane_state);
bool dc_validate_global_state(
struct dc *dc,
- const struct dc_validation_set set[],
- int set_count,
struct validate_context *new_ctx);
/*