forked from Minki/linux
drm/amd/display: fix multi-display on CZ
- fixed wrong index in dce110_validate_surface_sets() - formatted for better readability Signed-off-by: Roman Li <Roman.Li@amd.com> Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> igned-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
024f0607cf
commit
98b49c2f9c
@ -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))
|
||||
return false;
|
||||
for (j = 0; j < context->stream_status[i].plane_count; j++) {
|
||||
struct dc_plane_state *plane =
|
||||
context->stream_status[i].plane_states[j];
|
||||
|
||||
/* irrespective of plane format, stream should be RGB encoded */
|
||||
if (context->streams[i]->timing.pixel_encoding != PIXEL_ENCODING_RGB)
|
||||
return false;
|
||||
/* 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)
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user