OSDN Git Service

drm/msm: loop over encoders using drm_for_each_encoder()
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Wed, 6 Apr 2022 10:12:46 +0000 (13:12 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 25 Apr 2022 21:50:47 +0000 (00:50 +0300)
Rather than manually looping over encoders array, use standard
drm_for_each_encoder() macro.

Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/480942/
Link: https://lore.kernel.org/r/20220406101247.483649-3-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c

index 6ace18e..eb09766 100644 (file)
@@ -685,6 +685,7 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms)
        struct drm_plane *primary_planes[MAX_PLANES], *plane;
        struct drm_plane *cursor_planes[MAX_PLANES] = { NULL };
        struct drm_crtc *crtc;
+       struct drm_encoder *encoder;
 
        struct msm_drm_private *priv;
        struct dpu_mdss_cfg *catalog;
@@ -749,8 +750,8 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms)
        }
 
        /* All CRTCs are compatible with all encoders */
-       for (i = 0; i < priv->num_encoders; i++)
-               priv->encoders[i]->possible_crtcs = (1 << priv->num_crtcs) - 1;
+       drm_for_each_encoder(encoder, dev)
+               encoder->possible_crtcs = (1 << priv->num_crtcs) - 1;
 
        return 0;
 }
index 7676b4d..5322d1c 100644 (file)
@@ -437,6 +437,7 @@ static int modeset_init(struct mdp5_kms *mdp5_kms)
        int i, ret, pi = 0, ci = 0;
        struct drm_plane *primary[MAX_BASES] = { NULL };
        struct drm_plane *cursor[MAX_BASES] = { NULL };
+       struct drm_encoder *encoder;
 
        /*
         * Construct encoders and modeset initialize connector devices
@@ -502,11 +503,8 @@ static int modeset_init(struct mdp5_kms *mdp5_kms)
         * Now that we know the number of crtcs we've created, set the possible
         * crtcs for the encoders
         */
-       for (i = 0; i < priv->num_encoders; i++) {
-               struct drm_encoder *encoder = priv->encoders[i];
-
+       drm_for_each_encoder(encoder, dev)
                encoder->possible_crtcs = (1 << priv->num_crtcs) - 1;
-       }
 
        return 0;