drm/msm/dpu: avoid unnecessary check in DPU reservations
authorKalyan Thota <quic_kalyant@quicinc.com>
Mon, 13 Feb 2023 11:11:43 +0000 (03:11 -0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 6 Apr 2023 17:29:43 +0000 (20:29 +0300)
Return immediately on failure, this will make dpu reservations
part look cleaner.

Signed-off-by: Kalyan Thota <quic_kalyant@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Patchwork: https://patchwork.freedesktop.org/patch/522442/
Link: https://lore.kernel.org/r/1676286704-818-4-git-send-email-quic_kalyant@quicinc.com
[DB: fixed merge conflict with b6975693846b, retain those changes]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c

index 6a6df8a2e15fe1380ef565472c11083f8cae215f..1dc5dbe5857233a8ba89dad7a189c49f58d56e81 100644 (file)
@@ -635,25 +635,22 @@ static int dpu_encoder_virt_atomic_check(
                if (ret) {
                        DPU_ERROR_ENC(dpu_enc,
                                        "mode unsupported, phys idx %d\n", i);
-                       break;
+                       return ret;
                }
        }
 
        topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode, crtc_state);
 
-       /* Reserve dynamic resources now. */
-       if (!ret) {
-               /*
-                * Release and Allocate resources on every modeset
-                * Dont allocate when active is false.
-                */
-               if (drm_atomic_crtc_needs_modeset(crtc_state)) {
-                       dpu_rm_release(global_state, drm_enc);
+       /*
+        * Release and Allocate resources on every modeset
+        * Dont allocate when active is false.
+        */
+       if (drm_atomic_crtc_needs_modeset(crtc_state)) {
+               dpu_rm_release(global_state, drm_enc);
 
-                       if (!crtc_state->active_changed || crtc_state->enable)
-                               ret = dpu_rm_reserve(&dpu_kms->rm, global_state,
-                                               drm_enc, crtc_state, topology);
-               }
+               if (!crtc_state->active_changed || crtc_state->enable)
+                       ret = dpu_rm_reserve(&dpu_kms->rm, global_state,
+                                       drm_enc, crtc_state, topology);
        }
 
        trace_dpu_enc_atomic_check_flags(DRMID(drm_enc), adj_mode->flags);