]> www.infradead.org Git - users/hch/dma-mapping.git/commit
drm/msm/dpu: move CRTC resource assignment to dpu_encoder_virt_atomic_check
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 3 Sep 2024 03:22:45 +0000 (06:22 +0300)
committerAbhinav Kumar <quic_abhinavk@quicinc.com>
Mon, 14 Oct 2024 20:16:16 +0000 (13:16 -0700)
commit3ae133b0192b9b0c9f560bbc096887053150195f
treec45637b0a8aede4e6792dfe06dbc425f25bdf009
parentbfecbc2cfba9b06d67d9d249c33d92e570e2fa70
drm/msm/dpu: move CRTC resource assignment to dpu_encoder_virt_atomic_check

Historically CRTC resources (LMs and CTLs) were assigned in
dpu_crtc_atomic_begin(). The commit 9222cdd27e82 ("drm/msm/dpu: move hw
resource tracking to crtc state") simply moved resources to
struct dpu_crtc_state, without changing the code sequence. Later on the
commit b107603b4ad0 ("drm/msm/dpu: map mixer/ctl hw blocks in encoder
modeset") rearanged the code, but still kept the cstate->num_mixers
assignment to happen during commit phase. This makes dpu_crtc_state
inconsistent between consequent atomic_check() calls.

Move CRTC resource assignment to happen at the end of
dpu_encoder_virt_atomic_check().

Fixes: b107603b4ad0 ("drm/msm/dpu: map mixer/ctl hw blocks in encoder modeset")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/612235/
Link: https://lore.kernel.org/r/20240903-dpu-mode-config-width-v6-2-617e1ecc4b7a@linaro.org
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c