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>,
"Syrjala, Ville" <ville.syrjala@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:15:06 +0000 [thread overview]
Message-ID: <99ee038d036eeb0b1e8c71a2e86c5df0fd7f0623.camel@intel.com> (raw)
In-Reply-To: <69f1c61b5d24b166f5ff3cfe966744c623969575.camel@intel.com>
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
> > -------------------
>
next prev parent reply other threads:[~2024-08-23 9:15 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
2024-08-23 9:15 ` Govindapillai, Vinod [this message]
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=99ee038d036eeb0b1e8c71a2e86c5df0fd7f0623.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.syrjala@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