Re: [PATCH v5 05/10] drm/msm/dpu: clear the CWB blocks left by a previous reservation
From: Konrad Dybcio
Date: Mon Oct 26 2026 - 05:13:48 EST
On 10/24/26 1:25 AM, Dmitry Baryshkov wrote:
> dpu_encoder_virt_atomic_mode_set() only writes the first num_cwb entries
> of dpu_enc->hw_cwb[], and not at all when the encoder is not the
> writeback of a clone, so a modeset which drops the clone, or reserves
> fewer CWB blocks, keeps the pointers from the previous reservation.
> dpu_encoder_helper_phys_setup_cwb() then walks every non-NULL entry: it
> programs a CWB mux the crtc no longer owns, and looks its pingpong up past
> the pingpongs actually assigned, in the uninitialised part of rt_pp_list[].
>
> Store NULL for the entries which have no CWB block, as is done for the
> pingpongs.
>
> Fixes: 5008375443ed ("drm/msm/dpu: Reserve resources for CWB")
> Assisted-by: LLM
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---
Acked-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Konrad