From: "Govindapillai, Vinod" <vinod.govindapillai@intel.com>
To: "Murthy, Arun R" <arun.r.murthy@intel.com>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>
Cc: "Shankar, Uma" <uma.shankar@intel.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
"Deak, Imre" <imre.deak@intel.com>,
"ville.syrala@intel.com" <ville.syrala@intel.com>
Subject: Re: [PATCH v3 2/3] drm/xe: Handle polling only for system s/r in xe_display_pm_suspend/resume()
Date: Fri, 23 Aug 2024 09:08:09 +0000 [thread overview]
Message-ID: <69f1c61b5d24b166f5ff3cfe966744c623969575.camel@intel.com> (raw)
In-Reply-To: <IA0PR11MB73074BBC068B36B8DD98EC24BA882@IA0PR11MB7307.namprd11.prod.outlook.com>
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.
> > >
> > > > 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
> -------------------
next prev parent reply other threads:[~2024-08-23 9:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-20 17:14 [PATCH v3 0/3] handle HPD polling on display pm runtime s/r Vinod Govindapillai
2024-08-20 17:14 ` [PATCH v3 1/3] drm/xe: Suspend/resume user access only during system s/r Vinod Govindapillai
2024-08-23 4:46 ` Murthy, Arun R
2024-08-20 17:14 ` [PATCH v3 2/3] drm/xe: Handle polling only for system s/r in xe_display_pm_suspend/resume() Vinod Govindapillai
2024-08-23 5:30 ` Murthy, Arun R
2024-08-23 7:07 ` Govindapillai, Vinod
2024-08-23 8:43 ` Murthy, Arun R
2024-08-23 9:08 ` Govindapillai, Vinod [this message]
2024-08-23 9:15 ` Govindapillai, Vinod
2024-08-23 9:34 ` Murthy, Arun R
2024-08-23 12:51 ` Imre Deak
2024-08-20 17:14 ` [PATCH v3 3/3] drm/xe/display: handle HPD polling in display runtime suspend/resume Vinod Govindapillai
2024-08-23 5:30 ` Murthy, Arun R
2024-08-20 18:25 ` ✓ CI.Patch_applied: success for handle HPD polling on display pm runtime s/r Patchwork
2024-08-20 18:25 ` ✓ CI.checkpatch: " Patchwork
2024-08-20 18:26 ` ✓ CI.KUnit: " Patchwork
2024-08-20 18:38 ` ✓ CI.Build: " Patchwork
2024-08-20 18:40 ` ✓ CI.Hooks: " Patchwork
2024-08-20 18:41 ` ✓ CI.checksparse: " Patchwork
2024-08-20 19:02 ` ✓ CI.BAT: " Patchwork
2024-08-21 0:16 ` ✗ CI.FULL: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=69f1c61b5d24b166f5ff3cfe966744c623969575.camel@intel.com \
--to=vinod.govindapillai@intel.com \
--cc=arun.r.murthy@intel.com \
--cc=imre.deak@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=rodrigo.vivi@intel.com \
--cc=uma.shankar@intel.com \
--cc=ville.syrala@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox