From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: "Cavitt, Jonathan" <jonathan.cavitt@intel.com>
Cc: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
"Deak, Imre" <imre.deak@intel.com>
Subject: Re: [PATCH 11/31] drm/{i915, xe}: Consolidate display resume functions
Date: Thu, 14 Nov 2024 17:15:12 -0500 [thread overview]
Message-ID: <ZzZ2cJIdLmp9bGSH@intel.com> (raw)
In-Reply-To: <BL1PR11MB544519DEE1B3EEB7E5A5158FE57D2@BL1PR11MB5445.namprd11.prod.outlook.com>
On Mon, Oct 07, 2024 at 05:02:04PM -0400, Cavitt, Jonathan wrote:
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Rodrigo Vivi
> Sent: Tuesday, September 24, 2024 1:36 PM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Deak, Imre <imre.deak@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>
> Subject: [PATCH 11/31] drm/{i915,xe}: Consolidate display resume functions
> >
> > Same sequences are currently executed by i915 and xe during
> > system resume. Consolidate them in the intel_display_driver
> > side.
> >
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> > .../drm/i915/display/intel_display_driver.c | 16 ++++++++++++++++
> > drivers/gpu/drm/i915/i915_driver.c | 17 -----------------
> > drivers/gpu/drm/xe/display/xe_display.c | 18 +-----------------
> > 3 files changed, 17 insertions(+), 34 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> > index 42624bf80f91..86d6ebf0c82f 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> > @@ -752,6 +752,10 @@ void intel_display_driver_resume(struct drm_i915_private *i915)
> > if (!HAS_DISPLAY(i915))
> > return;
> >
> > + intel_display_driver_resume_access(i915);
> > +
> > + intel_hpd_init(i915);
> > +
> > /* MST sideband requires HPD interrupts enabled */
> > intel_dp_mst_resume(i915);
> >
> > @@ -781,6 +785,18 @@ void intel_display_driver_resume(struct drm_i915_private *i915)
> > "Restoring old state failed with %i\n", ret);
> > if (state)
> > drm_atomic_state_put(state);
> > +
> > + intel_display_driver_enable_user_access(i915);
> > +
> > + drm_kms_helper_poll_enable(&i915->drm);
> > +
> > + intel_hpd_poll_disable(i915);
> > +
> > + intel_opregion_resume(&i915->display);
> > +
> > + intel_fbdev_set_suspend(&i915->drm, FBINFO_STATE_RUNNING, false);
> > +
> > + intel_power_domains_enable(i915);
>
> Hmm... It looks like everything here is being gated by HAS_DISPLAY, when
> it wasn't before in i915_drm_resume or xe_display_pm_resume. Is this
> correct behavior?
This is a very good question. I really dislike the sprinkled if HAS_DISPLAY s,
and I hope this is okay...
>
> I'll trust your judgement on this.
> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> -Jonathan Cavitt
>
> > }
> >
> > void intel_display_driver_shutdown(struct drm_i915_private *i915)
> > diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> > index ac8bf00458b5..ce2dd03136d3 100644
> > --- a/drivers/gpu/drm/i915/i915_driver.c
> > +++ b/drivers/gpu/drm/i915/i915_driver.c
> > @@ -1165,25 +1165,8 @@ static int i915_drm_resume(struct drm_device *dev)
> >
> > intel_clock_gating_init(dev_priv);
> >
> > - if (HAS_DISPLAY(dev_priv))
> > - intel_display_driver_resume_access(dev_priv);
> > -
> > - intel_hpd_init(dev_priv);
> > -
> > intel_display_driver_resume(dev_priv);
> >
> > - if (HAS_DISPLAY(dev_priv)) {
> > - intel_display_driver_enable_user_access(dev_priv);
> > - drm_kms_helper_poll_enable(dev);
> > - }
> > - intel_hpd_poll_disable(dev_priv);
> > -
> > - intel_opregion_resume(display);
> > -
> > - intel_fbdev_set_suspend(dev, FBINFO_STATE_RUNNING, false);
> > -
> > - intel_power_domains_enable(dev_priv);
> > -
> > intel_gvt_resume(dev_priv);
> >
> > enable_rpm_wakeref_asserts(&dev_priv->runtime_pm);
> > diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> > index a4705a452adb..98ff603a1f84 100644
> > --- a/drivers/gpu/drm/xe/display/xe_display.c
> > +++ b/drivers/gpu/drm/xe/display/xe_display.c
> > @@ -447,23 +447,7 @@ void xe_display_pm_resume(struct xe_device *xe)
> >
> > intel_display_driver_init_hw(xe);
> >
> > - if (has_display(xe))
> > - intel_display_driver_resume_access(xe);
> > -
> > - intel_hpd_init(xe);
> > -
> > - if (has_display(xe)) {
> > - intel_display_driver_resume(xe);
> > - drm_kms_helper_poll_enable(&xe->drm);
> > - intel_display_driver_enable_user_access(xe);
> > - intel_hpd_poll_disable(xe);
> > - }
> > -
> > - intel_opregion_resume(display);
> > -
> > - intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_RUNNING, false);
> > -
> > - intel_power_domains_enable(xe);
> > + intel_display_driver_resume(xe);
> > }
> >
> > void xe_display_pm_runtime_resume(struct xe_device *xe)
> > --
> > 2.46.0
> >
> >
next prev parent reply other threads:[~2024-11-15 6:39 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-24 20:35 [PATCH 00/31] Reconcile i915's and xe's display power mgt sequences Rodrigo Vivi
2024-09-24 20:35 ` [PATCH 01/31] drm/i915: Remove vga and gmbus seq out of i915_restore_display Rodrigo Vivi
2024-09-25 10:20 ` Jani Nikula
2024-09-25 20:59 ` Rodrigo Vivi
2024-10-07 19:15 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 02/31] drm/i915/display: Convert i915_suspend into i9xx_display_sr Rodrigo Vivi
2024-10-01 13:21 ` Jani Nikula
2024-10-07 19:15 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 03/31] drm/i915/display: Move regfile registers intel_display.restore Rodrigo Vivi
2024-10-07 19:17 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 04/31] drm/i915/display: Move shutdown sequences under display driver Rodrigo Vivi
2024-10-07 19:18 ` Cavitt, Jonathan
2024-10-08 15:57 ` Imre Deak
2024-09-24 20:35 ` [PATCH 05/31] drm/xe: At shutdown disable commit helpers instead of flushing Rodrigo Vivi
2024-10-07 19:42 ` Cavitt, Jonathan
2024-11-14 20:20 ` Rodrigo Vivi
2024-09-24 20:35 ` [PATCH 06/31] drm/xe: Use i915-display shutdown sequence directly Rodrigo Vivi
2024-10-07 19:44 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 07/31] drm/{i915, xe}/display: Move DP MST calls to display_driver Rodrigo Vivi
2024-10-07 19:46 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 08/31] drm/i915/display: Move suspend sequences to intel_display_driver Rodrigo Vivi
2024-10-07 20:28 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 09/31] drm/xe/display: Delay hpd_init resume Rodrigo Vivi
2024-10-07 20:29 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 10/31] drm/xe/display: Spin-off xe_display runtime/d3cold sequences Rodrigo Vivi
2024-10-07 20:43 ` Cavitt, Jonathan
2024-10-08 16:27 ` Imre Deak
2024-09-24 20:35 ` [PATCH 11/31] drm/{i915,xe}: Consolidate display resume functions Rodrigo Vivi
2024-10-07 21:02 ` [PATCH 11/31] drm/{i915, xe}: " Cavitt, Jonathan
2024-11-14 22:15 ` Rodrigo Vivi [this message]
2024-09-24 20:35 ` [PATCH 12/31] drm/i915: Remove lingering pci_save_state Rodrigo Vivi
2024-09-27 8:45 ` Gupta, Anshuman
2024-10-07 21:10 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 13/31] drm/{i915,xe}: Consolidate display suspend functions Rodrigo Vivi
2024-10-07 21:14 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 14/31] drm/i915/display: Move resume sequences to intel_display_driver Rodrigo Vivi
2024-10-07 21:16 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 15/31] drm/xe/display: Delay dsm handler registration Rodrigo Vivi
2024-10-07 21:17 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 16/31] drm/{i915, xe}: Move power_domains suspend/resume to display_power Rodrigo Vivi
2024-10-07 21:25 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 17/31] drm/{i915, xe}: Move remaining intel_power_domains to intel_display Rodrigo Vivi
2024-10-07 21:27 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 18/31] drm/i915/display: Split resume_noirq calls for now Rodrigo Vivi
2024-10-07 21:29 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 19/31] drm/xe/display: Align display resume sequence with i915 Rodrigo Vivi
2024-10-07 21:37 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 20/31] drm/xe/display: Align suspend " Rodrigo Vivi
2024-10-07 21:40 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 21/31] drm/{i915, xe}/display: Move dsm registration under intel_driver Rodrigo Vivi
2024-10-08 14:04 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 22/31] drm/i915/display: Move runtime pm related calls under intel_display_driver Rodrigo Vivi
2024-10-08 14:10 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 23/31] drm/xe/display: Prepare runtime pm functions Rodrigo Vivi
2024-10-08 14:31 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 24/31] drm/xe/display: Call intel_hpd_init on every runtime resume Rodrigo Vivi
2024-10-03 6:32 ` Govindapillai, Vinod
2024-10-03 12:24 ` Govindapillai, Vinod
2024-10-08 14:32 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 25/31] drm/xe/display: Move hpd_poll calls to later runtime stages Rodrigo Vivi
2024-10-03 12:22 ` Govindapillai, Vinod
2024-10-08 14:33 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 26/31] drm/xe/display: Add missing watermark ipc update at runtime resume Rodrigo Vivi
2024-10-08 14:35 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 27/31] drm/xe/display: Notify opregion upon runtime suspend/resume non-d3cold Rodrigo Vivi
2024-10-08 14:37 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 28/31] drm/xe/display: Move display runtime suspend to a later point Rodrigo Vivi
2024-10-08 14:37 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 29/31] drm/xe/display: Kill crtc commit flush Rodrigo Vivi
2024-10-08 14:50 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 30/31] drm/xe/display: Add missing power display handling on non-d3cold rpm Rodrigo Vivi
2024-10-08 14:51 ` Cavitt, Jonathan
2024-09-24 20:35 ` [PATCH 31/31] drm/{i915, xe}/display: Consolidade entire runtime pm sequence Rodrigo Vivi
2024-10-08 14:57 ` Cavitt, Jonathan
2024-09-25 10:32 ` [PATCH 00/31] Reconcile i915's and xe's display power mgt sequences Jani Nikula
2024-09-25 21:00 ` Rodrigo Vivi
2024-09-26 5:29 ` ✓ CI.Patch_applied: success for " Patchwork
2024-09-26 5:30 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-26 5:31 ` ✗ CI.KUnit: failure " Patchwork
2024-09-27 0:05 ` ✗ Fi.CI.BAT: " Patchwork
2024-09-27 0:08 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-09-27 0:08 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-10-08 15:24 ` [PATCH 00/31] " Cavitt, Jonathan
2024-11-11 19:23 ` Rodrigo Vivi
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=ZzZ2cJIdLmp9bGSH@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jonathan.cavitt@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.