MLK-22600-4 drm/imx: dpu: plane: Support alpha in pixel for overlay planes
authorLiu Ying <victor.liu@nxp.com>
Thu, 12 Sep 2019 06:30:28 +0000 (14:30 +0800)
committerLiu Ying <victor.liu@nxp.com>
Fri, 20 Sep 2019 02:01:33 +0000 (10:01 +0800)
Now that we've already got proper default blend mode support,
we may introduce alpha in pixel feature for overlay planes.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit 4881b188f809d1e3de8662dff94b1b2dfc00a62a)

drivers/gpu/drm/imx/dpu/dpu-plane.c

index f000838..0292f25 100644 (file)
 #include "dpu-plane.h"
 #include "imx-drm.h"
 
-/*
- * RGB and packed/2planar YUV formats
- * are widely supported by many fetch units.
- */
-static const uint32_t dpu_primary_formats[] = {
+static const uint32_t dpu_formats[] = {
        DRM_FORMAT_ARGB8888,
        DRM_FORMAT_XRGB8888,
        DRM_FORMAT_ABGR8888,
@@ -45,19 +41,6 @@ static const uint32_t dpu_primary_formats[] = {
        DRM_FORMAT_NV21,
 };
 
-static const uint32_t dpu_overlay_formats[] = {
-       DRM_FORMAT_XRGB8888,
-       DRM_FORMAT_XBGR8888,
-       DRM_FORMAT_RGBX8888,
-       DRM_FORMAT_BGRX8888,
-       DRM_FORMAT_RGB565,
-
-       DRM_FORMAT_YUYV,
-       DRM_FORMAT_UYVY,
-       DRM_FORMAT_NV12,
-       DRM_FORMAT_NV21,
-};
-
 static const uint64_t dpu_format_modifiers[] = {
        DRM_FORMAT_MOD_VIVANTE_TILED,
        DRM_FORMAT_MOD_VIVANTE_SUPER_TILED,
@@ -875,20 +858,11 @@ struct dpu_plane *dpu_plane_init(struct drm_device *drm,
 
        plane = &dpu_plane->base;
 
-       if (type == DRM_PLANE_TYPE_PRIMARY)
-               ret = drm_universal_plane_init(drm, plane, possible_crtcs,
-                                              &dpu_plane_funcs,
-                                              dpu_primary_formats,
-                                              ARRAY_SIZE(dpu_primary_formats),
-                                              dpu_format_modifiers,
-                                              type, NULL);
-       else
-               ret = drm_universal_plane_init(drm, plane, possible_crtcs,
-                                              &dpu_plane_funcs,
-                                              dpu_overlay_formats,
-                                              ARRAY_SIZE(dpu_overlay_formats),
-                                              dpu_format_modifiers,
-                                              type, NULL);
+       ret = drm_universal_plane_init(drm, plane, possible_crtcs,
+                                      &dpu_plane_funcs,
+                                      dpu_formats, ARRAY_SIZE(dpu_formats),
+                                      dpu_format_modifiers,
+                                      type, NULL);
        if (ret)
                goto err;