Re: [Freedreno] [PATCH 11/11] drm/msm/dpu: do not use mixer that supports dspp when not required

2023-04-20 Thread Arnaud Vrac
Le jeu. 20 avr. 2023 à 01:18, Dmitry Baryshkov
 a écrit :
>
> 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).

Good point, I'll add the change.

>
> >
> > Signed-off-by: Arnaud Vrac 
> > ---
> >   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
>


Re: [Freedreno] [PATCH 11/11] drm/msm/dpu: do not use mixer that supports dspp when not required

2023-04-19 Thread Dmitry Baryshkov

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 
---
  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



[Freedreno] [PATCH 11/11] drm/msm/dpu: do not use mixer that supports dspp when not required

2023-04-19 Thread Arnaud Vrac
This avoids using lm blocks that support DSPP when not needed, to
keep those resources available.

Signed-off-by: Arnaud Vrac 
---
 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)) {

-- 
2.40.0