We now get a fourcc array from dispc when asking for a plane's supported
pixel formats, so we can drop omap_framebuffer_get_formats() which was
used to convert between DSS and DRM pixel formats.

Signed-off-by: Tomi Valkeinen <tomi.valkei...@ti.com>
---
 drivers/gpu/drm/omapdrm/omap_drv.h   |  2 --
 drivers/gpu/drm/omapdrm/omap_fb.c    | 22 ----------------------
 drivers/gpu/drm/omapdrm/omap_plane.c | 15 +++++++--------
 3 files changed, 7 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h 
b/drivers/gpu/drm/omapdrm/omap_drv.h
index 67bb3be6b412..bdd346fb38f4 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -158,8 +158,6 @@ struct drm_encoder *omap_connector_attached_encoder(
                struct drm_connector *connector);
 bool omap_connector_get_hdmi_mode(struct drm_connector *connector);
 
-uint32_t omap_framebuffer_get_formats(uint32_t *pixel_formats,
-               uint32_t max_formats, const u32 *supported_modes);
 struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
                struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
 struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c 
b/drivers/gpu/drm/omapdrm/omap_fb.c
index 7820b61d7c1a..ec60620fe2d1 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -55,28 +55,6 @@ static const struct {
        { DRM_FORMAT_UYVY,        DRM_FORMAT_UYVY },
 };
 
-/* convert from overlay's pixel formats bitmask to an array of fourcc's */
-uint32_t omap_framebuffer_get_formats(uint32_t *pixel_formats,
-               uint32_t max_formats, const u32 *supported_modes)
-{
-       uint32_t nformats = 0;
-       int i = 0;
-
-       for (i = 0; i < ARRAY_SIZE(formats) && nformats < max_formats; i++) {
-               unsigned int t;
-
-               for (t = 0; supported_modes[t]; ++t) {
-                       if (supported_modes[t] != formats[i].dss_format)
-                               continue;
-
-                       pixel_formats[nformats++] = formats[i].pixel_format;
-                       break;
-               }
-       }
-
-       return nformats;
-}
-
 /* per-plane info for the fb: */
 struct plane {
        struct drm_gem_object *bo;
diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c 
b/drivers/gpu/drm/omapdrm/omap_plane.c
index 6cabbda5ec57..6e2ea83b560c 100644
--- a/drivers/gpu/drm/omapdrm/omap_plane.c
+++ b/drivers/gpu/drm/omapdrm/omap_plane.c
@@ -34,9 +34,6 @@ struct omap_plane {
        struct drm_plane base;
        enum omap_plane_id id;
        const char *name;
-
-       uint32_t nformats;
-       uint32_t formats[32];
 };
 
 struct omap_plane_state {
@@ -346,6 +343,8 @@ struct drm_plane *omap_plane_init(struct drm_device *dev,
        struct omap_plane *omap_plane;
        enum omap_plane_id id;
        int ret;
+       u32 nformats;
+       const u32 *formats;
 
        if (WARN_ON(idx >= ARRAY_SIZE(plane_idx_to_id)))
                return ERR_PTR(-EINVAL);
@@ -358,17 +357,17 @@ struct drm_plane *omap_plane_init(struct drm_device *dev,
        if (!omap_plane)
                return ERR_PTR(-ENOMEM);
 
-       omap_plane->nformats = omap_framebuffer_get_formats(
-                       omap_plane->formats, ARRAY_SIZE(omap_plane->formats),
-                       priv->dispc_ops->ovl_get_color_modes(id));
+       formats = priv->dispc_ops->ovl_get_color_modes(id);
+       for (nformats = 0; formats[nformats]; ++nformats)
+               ;
        omap_plane->id = id;
        omap_plane->name = plane_id_to_name[id];
 
        plane = &omap_plane->base;
 
        ret = drm_universal_plane_init(dev, plane, possible_crtcs,
-                                      &omap_plane_funcs, omap_plane->formats,
-                                      omap_plane->nformats, type, NULL);
+                                      &omap_plane_funcs, formats,
+                                      nformats, type, NULL);
        if (ret < 0)
                goto error;
 
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to