Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98b49c2f authored by Roman Li's avatar Roman Li Committed by Alex Deucher
Browse files

drm/amd/display: fix multi-display on CZ



- fixed wrong index in dce110_validate_surface_sets()
- formatted for better readability

Signed-off-by: default avatarRoman Li <Roman.Li@amd.com>
Reviewed-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
igned-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 024f0607
Loading
Loading
Loading
Loading
+21 −8
Original line number Diff line number Diff line
@@ -849,7 +849,7 @@ static bool dce110_validate_bandwidth(
static bool dce110_validate_surface_sets(
		struct dc_state *context)
{
	int i;
	int i, j;

	for (i = 0; i < context->stream_count; i++) {
		if (context->stream_status[i].plane_count == 0)
@@ -858,14 +858,27 @@ static bool dce110_validate_surface_sets(
		if (context->stream_status[i].plane_count > 2)
			return false;

		if ((context->stream_status[i].plane_states[i]->format >= SURFACE_PIXEL_FORMAT_VIDEO_BEGIN) &&
		    (context->stream_status[i].plane_states[i]->src_rect.width > 1920 ||
		     context->stream_status[i].plane_states[i]->src_rect.height > 1080))
		for (j = 0; j < context->stream_status[i].plane_count; j++) {
			struct dc_plane_state *plane =
				context->stream_status[i].plane_states[j];

			/* underlay validation */
			if (plane->format >= SURFACE_PIXEL_FORMAT_VIDEO_BEGIN) {

				if ((plane->src_rect.width > 1920 ||
					plane->src_rect.height > 1080))
					return false;

		/* irrespective of plane format, stream should be RGB encoded */
		if (context->streams[i]->timing.pixel_encoding != PIXEL_ENCODING_RGB)
				/* irrespective of plane format,
				 * stream should be RGB encoded
				 */
				if (context->streams[i]->timing.pixel_encoding
						!= PIXEL_ENCODING_RGB)
					return false;

			}

		}
	}

	return true;