Move a call to dpu_format_populate_plane_sizes() to the atomic_check
step, so that any issues with the FB layout can be reported as early as
possible.

Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index a57853ac70b1..927fde2f1391 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -674,12 +674,6 @@ static int dpu_plane_prepare_fb(struct drm_plane *plane,
                }
        }
 
-       ret = dpu_format_populate_plane_sizes(new_state->fb, &pstate->layout);
-       if (ret) {
-               DPU_ERROR_PLANE(pdpu, "failed to get format plane sizes, %d\n", 
ret);
-               return ret;
-       }
-
        /* validate framebuffer layout before commit */
        ret = dpu_format_populate_addrs(pstate->aspace,
                                        new_state->fb,
@@ -865,6 +859,12 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
                return -E2BIG;
        }
 
+       ret = dpu_format_populate_plane_sizes(new_plane_state->fb, 
&pstate->layout);
+       if (ret) {
+               DPU_ERROR_PLANE(pdpu, "failed to get format plane sizes, %d\n", 
ret);
+               return ret;
+       }
+
        fmt = msm_framebuffer_format(new_plane_state->fb);
 
        max_linewidth = pdpu->catalog->caps->max_linewidth;

-- 
2.39.2

Reply via email to