Before we add additional types of planes to the DRM plane list, ensure
that existing loops over all planes continue to operate only on
"overlay" planes and ignore primary & cursor planes.

Cc: Inki Dae <inki.dae at samsung.com>
Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
---
 drivers/gpu/drm/exynos/exynos_drm_encoder.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_encoder.c 
b/drivers/gpu/drm/exynos/exynos_drm_encoder.c
index 06f1b2a..2fa2685 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_encoder.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_encoder.c
@@ -127,6 +127,9 @@ static void disable_plane_to_crtc(struct drm_device *dev,
         * (encoder->crtc)
         */
        list_for_each_entry(plane, &dev->mode_config.plane_list, head) {
+               if (plane->type != DRM_PLANE_TYPE_OVERLAY)
+                       continue;
+
                if (plane->crtc == old_crtc) {
                        /*
                         * do not change below call order.
@@ -247,6 +250,9 @@ static void exynos_drm_encoder_disable(struct drm_encoder 
*encoder)

        /* all planes connected to this encoder should be also disabled. */
        list_for_each_entry(plane, &dev->mode_config.plane_list, head) {
+               if (plane->type != DRM_PLANE_TYPE_OVERLAY)
+                       continue;
+
                if (plane->crtc == encoder->crtc)
                        plane->funcs->disable_plane(plane);
        }
-- 
1.8.5.1

Reply via email to