[Freedreno] [PATCH 1/2] drm/msm/dpu: add support for color processing blocks in dpu driver

Rob Clark robdclark at gmail.com
Mon Jun 8 22:54:19 UTC 2020


On Mon, Jun 8, 2020 at 3:37 PM John Stultz <john.stultz at linaro.org> wrote:
>
> On Mon, Jun 8, 2020 at 3:25 PM John Stultz <john.stultz at linaro.org> wrote:
> >
> > On Wed, Mar 25, 2020 at 1:17 AM Kalyan Thota <kalyan_t at codeaurora.org> wrote:
> > >
> > > This change adds support to configure dspp blocks in
> > > the dpu driver.
> > >
> > > Macro description of the changes coming in this patch.
> > > 1) Add dspp definitions in the hw catalog.
> > > 2) Add capability to reserve dspp blocks in the display data path.
> > > 3) Attach the reserved block to the encoder.
> > >
> > > Signed-off-by: Kalyan Thota <kalyan_t at codeaurora.org>
> >
> > Hey all,
> >   With this patch now merged upstream, I'm seeing a regression on
> > db845c that I bisected down to it.
> >
> > When I boot up I see:
> > [   40.976737] [drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu
> > error]failed to get dspp on lm 0
> > [   40.985600] [drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu
> > error]failed to get dspp on lm 0
> > [   40.994587] [drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu
> > error]failed to get dspp on lm 0
> > [   41.003492] [drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu
> > error]failed to get dspp on lm 0
> > [   41.012283] [drm:_dpu_rm_make_reservation] [dpu error]unable to
> > find appropriate mixers
> > [   41.020369] [drm:dpu_rm_reserve] [dpu error]failed to reserve hw
> > resources: -119
> >
> > Over and over, and the display doesn't start up.
> >
> > I suspect we're supposed to catch the following check before the failure:
> >
> > +       if (!reqs->topology.num_dspp)
> > +               return true;
> >
> > I suspect the issue is in dpu_encoder_get_topology() we don't fully
> > initialize the topology structure on the stack before returning it.
> >
> > Does that sound plausible or is there likely some other cause?
>
> This guess is wrong. The topology.num_dspp is 2, but lm_cfg->dspp is
> coming back as zero.
>
> I'll continue digging to see if I can understand better whats going wrong.
>

It looks like no DSPP was added to 845, see sdm845_lm vs sc7180_lm


Kaylan, can this be fixed sanely to make DSPP optional, or should we
revert and try again next time?

BR,
-R


More information about the Freedreno mailing list