[PATCH v3 2/3] drm/xe: Handle polling only for system s/r in xe_display_pm_suspend/resume()

Govindapillai, Vinod vinod.govindapillai at intel.com
Fri Aug 23 09:15:06 UTC 2024


On Fri, 2024-08-23 at 12:08 +0300, Govindapillai, Vinod wrote:
> On Fri, 2024-08-23 at 08:43 +0000, Murthy, Arun R wrote:
> > > > > diff --git a/drivers/gpu/drm/xe/display/xe_display.c
> > > > > b/drivers/gpu/drm/xe/display/xe_display.c
> > > > > index ad7fc5137b42..b2a0b4b5c45c 100644
> > > > > --- a/drivers/gpu/drm/xe/display/xe_display.c
> > > > > +++ b/drivers/gpu/drm/xe/display/xe_display.c
> > > > > @@ -320,15 +320,13 @@ void xe_display_pm_suspend(struct xe_device
> > > > > *xe, bool runtime)
> > > > >          * properly.
> > > > >          */
> > > > >         intel_power_domains_disable(xe);
> > > > > +
> > > > Un-necessary change.

I Missed this earlier! Okay! Can do this before pushing the change if RB-ed

+Corrected Ville's email Id...

Vinod

> > > > 
> > > > >         intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED,
> > > > > true);
> > > > > -       if (has_display(xe)) {
> > > > > +       if (!runtime && has_display(xe)) {
> > > > >                 drm_kms_helper_poll_disable(&xe->drm);
> > > > 
> > > > Can we get rid of this API as we don't reply on device polling and use interrupt
> > > based.
> > > 
> > > Not sure if I understand the point! Wonder if it is relevant at this context! But
> > > as mentioned in the series patch description, there could be few other steps
> > > missing in the xe runtime_suspend handling and a better refactoring/changes
> > > are being planned. So I guess you could take this up at that time?
> > > 
> > Nothing missing as such, rather this function(drm_kms_helper_poll_enable/disable) is not
> > required.
> > I915 uses interrupt based detection and not polling. Even if called when polling is not enabled,
> > will have no impact and just return with warning.
> > If to be taken later can we have a TODO or Re-visit so that we don’t miss.
> 
> "While xe_display_pm_suspend/resume() performs steps during runtime
> suspend/resume that shouldn't happen, like suspending MST and they
> are missing other steps like enabling DC9, this patchset is meant
> to keep the current behavior wrt. these, leaving the corresponding
> updates for a follow-up" 
> 
> "drm_kms_helper_poll_init/drm_kms_helper_poll_disable/drm_kms_helper_poll_enable" if you feel is
> not
> needed, i guess it should be taken up as separate task. I don't think a adding a TODO in this
> patch
> / series context is required.
> 
> BR
> Vinod
> 
> > 
> > > > 
> > > > > -               if (!runtime)
> > > > > -
> > > > > intel_display_driver_disable_user_access(xe);
> > > > > -       }
> > > > > -
> > > > > -       if (!runtime)
> > > > > +               intel_display_driver_disable_user_access(xe);
> > > > >                 intel_display_driver_suspend(xe);
> > > > > +       }
> > > > > 
> > > > >         xe_display_flush_cleanup_work(xe);
> > > > > 
> > > > > @@ -387,15 +385,12 @@ void xe_display_pm_resume(struct xe_device
> > > > > *xe, bool runtime)
> > > > > 
> > > > >         /* MST sideband requires HPD interrupts enabled */
> > > > >         intel_dp_mst_resume(xe);
> > > > > -       if (!runtime)
> > > > > +       if (!runtime && has_display(xe)) {
> > > > >                 intel_display_driver_resume(xe);
> > > > > -
> > > > > -       if (has_display(xe)) {
> > > > >                 drm_kms_helper_poll_enable(&xe->drm);
> > > > > -               if (!runtime)
> > > > > -                       intel_display_driver_enable_user_access(xe);
> > > > > +               intel_display_driver_enable_user_access(xe);
> > > > > +               intel_hpd_poll_disable(xe);
> > > > Do we need this disable here as we are enabling this only in
> > > > xe_display_pm_runtime_suspend() and hence disable only in
> > > > xe_display_pm_runtime_resume()
> > > 
> > > To quote Imre,
> > > 
> > > "intel_hpd_poll_disable() is needed during system resume as well, since it does
> > > an explicit connector probing. This probing is needed also when you resume
> > > from S3 etc, for monitors that got connected during the system was
> > > suspended."
> > > 
> > Thanks for the clarification.
> > 
> > Thanks and Regards,
> > Arun R Murthy
> > -------------------
> 



More information about the Intel-xe mailing list