diff mbox series

[24/31] drm/xe/display: Call intel_hpd_init on every runtime resume

Message ID 20240924204222.246862-25-rodrigo.vivi@intel.com (mailing list archive)
State New, archived
Headers show
Series Reconcile i915's and xe's display power mgt sequences | expand

Commit Message

Rodrigo Vivi Sept. 24, 2024, 8:35 p.m. UTC
We need to ensure this is called on every kind of runtime
resume and not only on d3cold is possible. Aligning with
the hpd sequence from i915.

Cc: Vinod Govindapillai <vinod.govindapillai@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Vinod Govindapillai Oct. 3, 2024, 6:32 a.m. UTC | #1
On Tue, 2024-09-24 at 16:35 -0400, Rodrigo Vivi wrote:
> We need to ensure this is called on every kind of runtime
> resume and not only on d3cold is possible. Aligning with
> the hpd sequence from i915.
> 
> Cc: Vinod Govindapillai <vinod.govindapillai@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/xe/display/xe_display.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index 1ab4dd51094f..4d1dd5294b89 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -330,8 +330,6 @@ static void xe_display_from_d3cold(struct xe_device *xe)
>  
>         intel_display_driver_init_hw(xe);
>  
> -       intel_hpd_init(xe);
> -
>         intel_opregion_resume(display);
>  
>         intel_power_domains_enable(xe);
> @@ -470,6 +468,8 @@ void xe_display_pm_runtime_resume(struct xe_device *xe)
>  
>         if (xe->d3cold.allowed)
>                 xe_display_from_d3cold(xe);
> +
> +       intel_hpd_init(xe);

I would like to clarify, if the order of calling intel_hpd_init() and intel_hpd_poll_disable(xe)
matter? Should the intel_hpd_init be called before the poll disable?

Otherwise, this was missed in my earlier fix. Thanks for fixing this.

Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>


>  }
>  
>  static void display_device_remove(struct drm_device *dev, void *arg)
Vinod Govindapillai Oct. 3, 2024, 12:24 p.m. UTC | #2
On Thu, 2024-10-03 at 09:32 +0300, Govindapillai, Vinod wrote:
> On Tue, 2024-09-24 at 16:35 -0400, Rodrigo Vivi wrote:
> > We need to ensure this is called on every kind of runtime
> > resume and not only on d3cold is possible. Aligning with
> > the hpd sequence from i915.
> > 
> > Cc: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> >  drivers/gpu/drm/xe/display/xe_display.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> > index 1ab4dd51094f..4d1dd5294b89 100644
> > --- a/drivers/gpu/drm/xe/display/xe_display.c
> > +++ b/drivers/gpu/drm/xe/display/xe_display.c
> > @@ -330,8 +330,6 @@ static void xe_display_from_d3cold(struct xe_device *xe)
> >  
> >         intel_display_driver_init_hw(xe);
> >  
> > -       intel_hpd_init(xe);
> > -
> >         intel_opregion_resume(display);
> >  
> >         intel_power_domains_enable(xe);
> > @@ -470,6 +468,8 @@ void xe_display_pm_runtime_resume(struct xe_device *xe)
> >  
> >         if (xe->d3cold.allowed)
> >                 xe_display_from_d3cold(xe);
> > +
> > +       intel_hpd_init(xe);
> 
> I would like to clarify, if the order of calling intel_hpd_init() and intel_hpd_poll_disable(xe)
> matter? Should the intel_hpd_init be called before the poll disable?
> 
> Otherwise, this was missed in my earlier fix. Thanks for fixing this.
> 
> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>

I see that the next patch in the series move the poll disable after the hpd init. My question is not
relevant any more! 

BR
Vinod

> 
> 
> >  }
> >  
> >  static void display_device_remove(struct drm_device *dev, void *arg)
>
Cavitt, Jonathan Oct. 8, 2024, 2:32 p.m. UTC | #3
-----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>; Govindapillai, Vinod <vinod.govindapillai@intel.com>
Subject: [PATCH 24/31] drm/xe/display: Call intel_hpd_init on every runtime resume
> 
> We need to ensure this is called on every kind of runtime
> resume and not only on d3cold is possible. Aligning with
> the hpd sequence from i915.
> 
> Cc: Vinod Govindapillai <vinod.govindapillai@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

LGTM.

Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
-Jonathan Cavitt

> ---
>  drivers/gpu/drm/xe/display/xe_display.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index 1ab4dd51094f..4d1dd5294b89 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -330,8 +330,6 @@ static void xe_display_from_d3cold(struct xe_device *xe)
>  
>  	intel_display_driver_init_hw(xe);
>  
> -	intel_hpd_init(xe);
> -
>  	intel_opregion_resume(display);
>  
>  	intel_power_domains_enable(xe);
> @@ -470,6 +468,8 @@ void xe_display_pm_runtime_resume(struct xe_device *xe)
>  
>  	if (xe->d3cold.allowed)
>  		xe_display_from_d3cold(xe);
> +
> +	intel_hpd_init(xe);
>  }
>  
>  static void display_device_remove(struct drm_device *dev, void *arg)
> -- 
> 2.46.0
> 
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 1ab4dd51094f..4d1dd5294b89 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -330,8 +330,6 @@  static void xe_display_from_d3cold(struct xe_device *xe)
 
 	intel_display_driver_init_hw(xe);
 
-	intel_hpd_init(xe);
-
 	intel_opregion_resume(display);
 
 	intel_power_domains_enable(xe);
@@ -470,6 +468,8 @@  void xe_display_pm_runtime_resume(struct xe_device *xe)
 
 	if (xe->d3cold.allowed)
 		xe_display_from_d3cold(xe);
+
+	intel_hpd_init(xe);
 }
 
 static void display_device_remove(struct drm_device *dev, void *arg)