Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/msm/dpu: fix mixer number counter on allocation

Current code only supports usage cases with one pair of mixers at
most. To support quad-pipe usage case, two pairs of mixers need to
be reserved. The lm_count for all pairs is cleared if a peer
allocation fails in current implementation. Reset the current lm_count
to an even number instead of completely clearing it. This prevents all
pairs from being cleared in cases where multiple LM pairs are needed.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/675400/
Link: https://lore.kernel.org/r/20250918-v6-16-rc2-quad-pipe-upstream-4-v16-1-ff6232e3472f@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

authored by

Jun Nie and committed by
Dmitry Baryshkov
74c4efe6 762dd3eb

+5 -1
+5 -1
drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
··· 374 374 if (!rm->mixer_blks[i]) 375 375 continue; 376 376 377 - lm_count = 0; 377 + /* 378 + * Reset lm_count to an even index. This will drop the previous 379 + * primary mixer if failed to find its peer. 380 + */ 381 + lm_count &= ~1; 378 382 lm_idx[lm_count] = i; 379 383 380 384 if (!_dpu_rm_check_lm_and_get_connected_blks(rm, global_state,