drm/sun4i: backend: Avoid counting YUV planes that use the frontend

Our hardware has a limited number of YUV planes (usually 1) that can be
supported using the backend only. However, YUV planes can also be
supported by the frontend and must then not be counted when checking for
that limitation.

Only count the YUV plane when the frontend is not used.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181123092515.2511-15-paul.kocialkowski@bootlin.com
This commit is contained in:
Paul Kocialkowski 2018-11-23 10:24:46 +01:00 committed by Maxime Ripard
parent ab6985108a
commit ae56bfbdad
No known key found for this signature in database
GPG Key ID: E3EF0D6F671851C5

View File

@ -542,6 +542,11 @@ static int sun4i_backend_atomic_check(struct sunxi_engine *engine,
DRM_DEBUG_DRIVER("Using the frontend for plane %d\n", DRM_DEBUG_DRIVER("Using the frontend for plane %d\n",
plane->index); plane->index);
num_frontend_planes++; num_frontend_planes++;
} else {
if (fb->format->is_yuv) {
DRM_DEBUG_DRIVER("Plane FB format is YUV\n");
num_yuv_planes++;
}
} }
DRM_DEBUG_DRIVER("Plane FB format is %s\n", DRM_DEBUG_DRIVER("Plane FB format is %s\n",
@ -550,11 +555,6 @@ static int sun4i_backend_atomic_check(struct sunxi_engine *engine,
if (fb->format->has_alpha || (plane_state->alpha != DRM_BLEND_ALPHA_OPAQUE)) if (fb->format->has_alpha || (plane_state->alpha != DRM_BLEND_ALPHA_OPAQUE))
num_alpha_planes++; num_alpha_planes++;
if (fb->format->is_yuv) {
DRM_DEBUG_DRIVER("Plane FB format is YUV\n");
num_yuv_planes++;
}
DRM_DEBUG_DRIVER("Plane zpos is %d\n", DRM_DEBUG_DRIVER("Plane zpos is %d\n",
plane_state->normalized_zpos); plane_state->normalized_zpos);