On Wed, 19 Jun 2024 at 01:56, Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> wrote: > On 6/13/2024 4:20 PM, Abhinav Kumar wrote: > > On 6/13/2024 3:36 PM, Dmitry Baryshkov wrote: > >> The dpu_crtc_atomic_check() already calls the function > >> _dpu_crtc_check_and_setup_lm_bounds(). There is no need to call it > >> again from dpu_crtc_atomic_begin(). > >> > >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > >> --- > >> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 -- > >> 1 file changed, 2 deletions(-) > >> > > > > Reviewed-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> > > > This change is causing a small regression on sc7280 chromebook. > > I have tested and concluded that this is causing the chrome boot > animation to disappear. > > I have tested a couple of times and without this change it works fine. > > If this change was meant as an optimization, can we drop this one and > investigate later why this is causing one? I have not spent time > investigating why it happened. Rest of the series works well and I dont > see any dependency as such. Let me know if that works for you. Otherwise > I will have to spend a little more time on this patch and why chrome > compositor does not like this for the animation screen. Oh, my. Thank you for the test! I think I know what's happening. The cstate->num_mixers gets set only in dpu_encoder_virt_atomic_mode_set(). So during dpu_crtc_atomic_check() we don't have cstate->num_mixers is stale (and if it is 0, the check is skipped). I guess I'll have to move cstate->mixers[] and cstate->num_mixers assignment to the dpu_encoder_virt_atomic_check(). And maybe we should start thinking about my old idea of moving resource allocation to the CRTC code. -- With best wishes Dmitry