[PATCH v5 05/15] drm/msm/dpu: decide right side per last bit
Jessica Zhang
quic_jesszhan at quicinc.com
Sat Feb 15 00:29:24 UTC 2025
On 1/17/2025 8:00 AM, Jun Nie wrote:
> Currently, only one pair of mixers is supported, so a non-zero counter
> value is sufficient to identify the correct mixer within that pair.
> However, future implementations may involve multiple mixer pairs. With
> the current implementation, all mixers within the second pair would be
> incorrectly selected as right mixer. To correctly select the mixer
> within a pair, test the least significant bit of the counter. If the
> least significant bit is not set, select the mixer as left one;
> otherwise, select the mixer as right one for all pairs.
>
> Signed-off-by: Jun Nie <jun.nie at linaro.org>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Reviewed-by: Jessica Zhang <quic_jesszhan at quicinc.com>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> index 7191b1a6d41b3..41c9d3e3e3c7c 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> @@ -369,11 +369,10 @@ static void _dpu_crtc_setup_blend_cfg(struct dpu_crtc_mixer *mixer,
> static void _dpu_crtc_program_lm_output_roi(struct drm_crtc *crtc)
> {
> struct dpu_crtc_state *crtc_state;
> - int lm_idx, lm_horiz_position;
> + int lm_idx;
>
> crtc_state = to_dpu_crtc_state(crtc->state);
>
> - lm_horiz_position = 0;
> for (lm_idx = 0; lm_idx < crtc_state->num_mixers; lm_idx++) {
> const struct drm_rect *lm_roi = &crtc_state->lm_bounds[lm_idx];
> struct dpu_hw_mixer *hw_lm = crtc_state->mixers[lm_idx].hw_lm;
> @@ -384,7 +383,7 @@ static void _dpu_crtc_program_lm_output_roi(struct drm_crtc *crtc)
>
> cfg.out_width = drm_rect_width(lm_roi);
> cfg.out_height = drm_rect_height(lm_roi);
> - cfg.right_mixer = lm_horiz_position++;
> + cfg.right_mixer = lm_idx & 0x1;
> cfg.flags = 0;
> hw_lm->ops.setup_mixer_out(hw_lm, &cfg);
> }
>
> --
> 2.34.1
>
More information about the Freedreno
mailing list