Separate crtc id and plane id indexing in omap_modeset_init(). The
coupling of crtc- and plane-id is hard to follow.

Signed-off-by: Jyri Sarha <jsarha at ti.com>
---
 drivers/gpu/drm/omapdrm/omap_drv.c | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c 
b/drivers/gpu/drm/omapdrm/omap_drv.c
index fe79498..8d0fe45 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -264,24 +264,24 @@ cleanup:
        return r;
 }

-static int omap_modeset_create_crtc(struct drm_device *dev, int id,
-                                   enum omap_channel channel)
+static int omap_modeset_create_crtc(struct drm_device *dev, int crtc_id,
+                                   int plane_id, enum omap_channel channel)
 {
        struct omap_drm_private *priv = dev->dev_private;
        struct drm_plane *plane;
        struct drm_crtc *crtc;

-       plane = omap_plane_init(dev, id, DRM_PLANE_TYPE_PRIMARY);
+       plane = omap_plane_init(dev, plane_id, DRM_PLANE_TYPE_PRIMARY);
        if (IS_ERR(plane))
                return PTR_ERR(plane);

-       crtc = omap_crtc_init(dev, plane, channel, id);
+       crtc = omap_crtc_init(dev, plane, channel, crtc_id);

        BUG_ON(priv->num_crtcs >= ARRAY_SIZE(priv->crtcs));
-       priv->crtcs[id] = crtc;
+       priv->crtcs[crtc_id] = crtc;
        priv->num_crtcs++;

-       priv->planes[id] = plane;
+       priv->planes[plane_id] = plane;
        priv->num_planes++;

        return 0;
@@ -315,7 +315,7 @@ static int omap_modeset_init(struct drm_device *dev)
        int num_ovls = dss_feat_get_num_ovls();
        int num_mgrs = dss_feat_get_num_mgrs();
        int num_crtcs;
-       int i, id = 0;
+       int i, crtc_id = 0, plane_id = 0;
        int ret;

        drm_mode_config_init(dev);
@@ -377,7 +377,7 @@ static int omap_modeset_init(struct drm_device *dev)
                 * the possible_crtcs field for all the encoders with the final
                 * set of crtcs we create
                 */
-               if (id == num_crtcs)
+               if (crtc_id == num_crtcs)
                        continue;

                /*
@@ -396,7 +396,8 @@ static int omap_modeset_init(struct drm_device *dev)
                 * allocated crtc, we create a new crtc for it
                 */
                if (!channel_used(dev, channel)) {
-                       ret = omap_modeset_create_crtc(dev, id, channel);
+                       ret = omap_modeset_create_crtc(dev, crtc_id, plane_id,
+                                                      channel);
                        if (ret < 0) {
                                dev_err(dev->dev,
                                        "could not create CRTC (channel %u)\n",
@@ -404,7 +405,7 @@ static int omap_modeset_init(struct drm_device *dev)
                                return ret;
                        }

-                       id++;
+                       crtc_id++; plane_id++;
                }
        }

@@ -412,7 +413,7 @@ static int omap_modeset_init(struct drm_device *dev)
         * we have allocated crtcs according to the need of the panels/encoders,
         * adding more crtcs here if needed
         */
-       for (; id < num_crtcs; id++) {
+       for (; crtc_id < num_crtcs; crtc_id++) {

                /* find a free manager for this crtc */
                for (i = 0; i < num_mgrs; i++) {
@@ -426,21 +427,22 @@ static int omap_modeset_init(struct drm_device *dev)
                        return -ENOMEM;
                }

-               ret = omap_modeset_create_crtc(dev, id, i);
+               ret = omap_modeset_create_crtc(dev, crtc_id, plane_id, i);
                if (ret < 0) {
                        dev_err(dev->dev,
                                "could not create CRTC (channel %u)\n", i);
                        return ret;
                }
+               plane_id++;
        }

        /*
         * Create normal planes for the remaining overlays:
         */
-       for (; id < num_ovls; id++) {
+       for (; plane_id < num_ovls; plane_id++) {
                struct drm_plane *plane;

-               plane = omap_plane_init(dev, id, DRM_PLANE_TYPE_OVERLAY);
+               plane = omap_plane_init(dev, plane_id, DRM_PLANE_TYPE_OVERLAY);
                if (IS_ERR(plane))
                        return PTR_ERR(plane);

@@ -453,6 +455,7 @@ static int omap_modeset_init(struct drm_device *dev)
                struct omap_dss_device *dssdev =
                                        omap_encoder_get_dssdev(encoder);
                struct omap_dss_device *output;
+               int id;

                output = omapdss_find_output_from_display(dssdev);

-- 
1.9.1

Reply via email to