Re: [PATCH] drm/msm/dpu: ensure device suspend happens during PM sleep

From: Rob Clark
Date: Wed Mar 25 2020 - 11:40:27 EST


On Tue, Mar 24, 2020 at 7:35 AM Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> Hi,
>
> On Sun, Mar 22, 2020 at 11:14 PM Kalyan Thota <kalyan_t@xxxxxxxxxxxxxx> wrote:
> >
> > "The PM core always increments the runtime usage counter
> > before calling the ->suspend() callback and decrements it
> > after calling the ->resume() callback"
> >
> > DPU and DSI are managed as runtime devices. When
> > suspend is triggered, PM core adds a refcount on all the
> > devices and calls device suspend, since usage count is
> > already incremented, runtime suspend was not getting called
> > and it kept the clocks on which resulted in target not
> > entering into XO shutdown.
> >
> > Add changes to manage runtime devices during pm sleep.
> >
> > Changes in v1:
> > - Remove unnecessary checks in the function
> > _dpu_kms_disable_dpu (Rob Clark).
>
> I'm wondering what happened with my feedback on v1, AKA:
>
> https://lore.kernel.org/r/CAD=FV=VxzEV40g+ieuEN+7o=34+wM8MHO8o7T5zA1Yosx7SVWg@xxxxxxxxxxxxxx
>
> Maybe you didn't see it? ...or if you or Rob think I'm way off base
> (always possible) then please tell me so.
>

At least w/ the current patch, disable_dpu should not be called for
screen-off (although I'd hope if all the screens are off the device
would suspend). But I won't claim to be a pm expert.. so not really
sure if this is the best approach or not. I don't think our
arrangement of sub-devices under a parent is completely abnormal, so
it does feel like there should be a simpler solution..

BR,
-R