Hi, On Fri, Apr 17, 2020 at 12:13 AM 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 force suspend on runtime devices during pm sleep. > > Changes in v1: > - Remove unnecessary checks in the function > _dpu_kms_disable_dpu (Rob Clark). > > Changes in v2: > - Avoid using suspend_late to reset the usagecount > as suspend_late might not be called during suspend > call failures (Doug). > > Changes in v3: > - Use force suspend instead of managing device usage_count > via runtime put and get API's to trigger callbacks (Doug). > > Changes in v4: > - Check the return values of pm_runtime_force_suspend and > pm_runtime_force_resume API's and pass appropriately (Doug). > > Signed-off-by: Kalyan Thota <kalyan_t@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 2 ++ > drivers/gpu/drm/msm/dsi/dsi.c | 2 ++ > drivers/gpu/drm/msm/msm_drv.c | 14 +++++++++++++- > 3 files changed, 17 insertions(+), 1 deletion(-) I am most certainly not an expert in this code, but as far as I can tell it looks sane. Thus: Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> -Doug _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel