aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmytro Laktyushkin <[email protected]>2017-10-03 11:11:28 -0400
committerAlex Deucher <[email protected]>2017-10-21 16:47:37 -0400
commitbac4c5592774fef2503c3204e8f947ce595bfcdf (patch)
tree513546046538489e220890113cbe8529cf542be5
parentff79cbdccea94935ff9d2111458e439e28c86e74 (diff)
drm/amd/display: block video planes >4k on dcn10
Signed-off-by: Dmytro Laktyushkin <[email protected]> Reviewed-by: Tony Cheng <[email protected]> Acked-by: Harry Wentland <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
index f168335e95bf..4dd7c3af51e6 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
@@ -1163,6 +1163,14 @@ static void dcn10_destroy_resource_pool(struct resource_pool **pool)
*pool = NULL;
}
+enum dc_status dcn10_validate_plane(const struct dc_plane_state *plane_state)
+{
+ if (plane_state->format >= SURFACE_PIXEL_FORMAT_VIDEO_BEGIN
+ && plane_state->src_rect.width > 3840)
+ return DC_FAIL_SURFACE_VALIDATE;
+
+ return DC_OK;
+}
static struct dc_cap_funcs cap_funcs = {
.get_dcc_compression_cap = get_dcc_compression_cap
@@ -1174,6 +1182,7 @@ static struct resource_funcs dcn10_res_pool_funcs = {
.validate_guaranteed = dcn10_validate_guaranteed,
.validate_bandwidth = dcn_validate_bandwidth,
.acquire_idle_pipe_for_layer = dcn10_acquire_idle_pipe_for_layer,
+ .validate_plane = dcn10_validate_plane,
.add_stream_to_ctx = dcn10_add_stream_to_ctx
};