[Freedreno] [PATCH 11/11] drm/msm/dpu: do not use mixer that supports dspp when not required
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Wed Apr 19 23:18:56 UTC 2023
On 19/04/2023 17:41, Arnaud Vrac wrote:
> This avoids using lm blocks that support DSPP when not needed, to
> keep those resources available.
This will break some of the platforms. Consider qcm2290 which has a
single LM with DSPP. So, _dpu_rm_check_lm_and_get_connected_blks should
be performed in two steps: first skip non-DSPP-enabled LMs when DSPP is
not required. Then, if the LM (pair) is not found, look for any suitable
LM(pair).
>
> Signed-off-by: Arnaud Vrac <avrac at freebox.fr>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
> index f4dda88a73f7d..4b393d46c743f 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
> @@ -362,7 +362,7 @@ static bool _dpu_rm_check_lm_and_get_connected_blks(struct dpu_rm *rm,
> *pp_idx = idx;
>
> if (!reqs->topology.num_dspp)
> - return true;
> + return !lm_cfg->dspp;
>
> idx = lm_cfg->dspp - DSPP_0;
> if (idx < 0 || idx >= ARRAY_SIZE(rm->dspp_blks)) {
>
--
With best wishes
Dmitry
More information about the Freedreno
mailing list