diff mbox series

drm/i915/psr: Enable AUX-A IO power well on ICL for PSR

Message ID 20180914001822.2503-1-dhinakaran.pandiyan@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/psr: Enable AUX-A IO power well on ICL for PSR | expand

Commit Message

Dhinakaran Pandiyan Sept. 14, 2018, 12:18 a.m. UTC
PSR requires AUX IO power well to be enabled. This was already in place
for CNL, extend this for ICL too. Not enabling the power well results in
the aux error interrupts when the hardware exits PSR.

Reported-by: Casey G Bowman <casey.g.bowman@intel.com>
Reported-by: Jyoti R Yadav <jyoti.r.yadav@intel.com>
Cc: Matt Atwood <matthew.s.atwood@intel.com>
Cc: Jyoti R Yadav <jyoti.r.yadav@intel.com>
Cc: Casey G Bowman <casey.g.bowman@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c        | 2 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Imre Deak Sept. 14, 2018, 1:33 p.m. UTC | #1
On Thu, Sep 13, 2018 at 05:18:22PM -0700, Dhinakaran Pandiyan wrote:
> PSR requires AUX IO power well to be enabled. This was already in place
> for CNL, extend this for ICL too. Not enabling the power well results in
> the aux error interrupts when the hardware exits PSR.
> 
> Reported-by: Casey G Bowman <casey.g.bowman@intel.com>
> Reported-by: Jyoti R Yadav <jyoti.r.yadav@intel.com>
> Cc: Matt Atwood <matthew.s.atwood@intel.com>
> Cc: Jyoti R Yadav <jyoti.r.yadav@intel.com>
> Cc: Casey G Bowman <casey.g.bowman@intel.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>

Reviewed-by: Imre Deak <imre.deak@intel.com>

> ---
>  drivers/gpu/drm/i915/intel_ddi.c        | 2 +-
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index cd01a09c5e0f..b6910c8b4e08 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2077,7 +2077,7 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder,
>  static inline enum intel_display_power_domain
>  intel_ddi_main_link_aux_domain(struct intel_dp *intel_dp)
>  {
> -	/* CNL HW requires corresponding AUX IOs to be powered up for PSR with
> +	/* CNL+ HW requires corresponding AUX IOs to be powered up for PSR with
>  	 * DC states enabled at the same time, while for driver initiated AUX
>  	 * transfers we need the same AUX IOs to be powered but with DC states
>  	 * disabled. Accordingly use the AUX power domain here which leaves DC
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 9bebec389de1..0fdabce647ab 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -1996,6 +1996,7 @@ void intel_display_power_put(struct drm_i915_private *dev_priv,
>  	BIT_ULL(POWER_DOMAIN_PORT_DDI_F_IO))
>  
>  #define ICL_AUX_A_IO_POWER_DOMAINS (			\
> +	BIT_ULL(POWER_DOMAIN_AUX_IO_A) |		\
>  	BIT_ULL(POWER_DOMAIN_AUX_A))
>  #define ICL_AUX_B_IO_POWER_DOMAINS (			\
>  	BIT_ULL(POWER_DOMAIN_AUX_B))
> -- 
> 2.17.1
>
Casey Bowman Sept. 14, 2018, 3:53 p.m. UTC | #2
Tested-by: Casey Bowman <casey.g.bowman@intel.com>

-----Original Message-----
From: Pandiyan, Dhinakaran 
Sent: Thursday, September 13, 2018 5:18 PM
To: intel-gfx@lists.freedesktop.org
Cc: Souza, Jose <jose.souza@intel.com>; Deak, Imre <imre.deak@intel.com>; Pandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com>; Atwood, Matthew S <matthew.s.atwood@intel.com>; Yadav, Jyoti R <jyoti.r.yadav@intel.com>; Bowman, Casey G <casey.g.bowman@intel.com>
Subject: [PATCH] drm/i915/psr: Enable AUX-A IO power well on ICL for PSR

PSR requires AUX IO power well to be enabled. This was already in place for CNL, extend this for ICL too. Not enabling the power well results in the aux error interrupts when the hardware exits PSR.

Reported-by: Casey G Bowman <casey.g.bowman@intel.com>
Reported-by: Jyoti R Yadav <jyoti.r.yadav@intel.com>
Cc: Matt Atwood <matthew.s.atwood@intel.com>
Cc: Jyoti R Yadav <jyoti.r.yadav@intel.com>
Cc: Casey G Bowman <casey.g.bowman@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c        | 2 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index cd01a09c5e0f..b6910c8b4e08 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2077,7 +2077,7 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder,  static inline enum intel_display_power_domain  intel_ddi_main_link_aux_domain(struct intel_dp *intel_dp)  {
-	/* CNL HW requires corresponding AUX IOs to be powered up for PSR with
+	/* CNL+ HW requires corresponding AUX IOs to be powered up for PSR 
+with
 	 * DC states enabled at the same time, while for driver initiated AUX
 	 * transfers we need the same AUX IOs to be powered but with DC states
 	 * disabled. Accordingly use the AUX power domain here which leaves DC diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 9bebec389de1..0fdabce647ab 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1996,6 +1996,7 @@ void intel_display_power_put(struct drm_i915_private *dev_priv,
 	BIT_ULL(POWER_DOMAIN_PORT_DDI_F_IO))
 
 #define ICL_AUX_A_IO_POWER_DOMAINS (			\
+	BIT_ULL(POWER_DOMAIN_AUX_IO_A) |		\
 	BIT_ULL(POWER_DOMAIN_AUX_A))
 #define ICL_AUX_B_IO_POWER_DOMAINS (			\
 	BIT_ULL(POWER_DOMAIN_AUX_B))
--
2.17.1
Souza, Jose Sept. 14, 2018, 4:34 p.m. UTC | #3
On Thu, 2018-09-13 at 17:18 -0700, Dhinakaran Pandiyan wrote:
> PSR requires AUX IO power well to be enabled. This was already in
> place
> for CNL, extend this for ICL too. Not enabling the power well results
> in
> the aux error interrupts when the hardware exits PSR.
> 

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> Reported-by: Casey G Bowman <casey.g.bowman@intel.com>
> Reported-by: Jyoti R Yadav <jyoti.r.yadav@intel.com>
> Cc: Matt Atwood <matthew.s.atwood@intel.com>
> Cc: Jyoti R Yadav <jyoti.r.yadav@intel.com>
> Cc: Casey G Bowman <casey.g.bowman@intel.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_ddi.c        | 2 +-
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c
> b/drivers/gpu/drm/i915/intel_ddi.c
> index cd01a09c5e0f..b6910c8b4e08 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2077,7 +2077,7 @@ bool intel_ddi_get_hw_state(struct
> intel_encoder *encoder,
>  static inline enum intel_display_power_domain
>  intel_ddi_main_link_aux_domain(struct intel_dp *intel_dp)
>  {
> -	/* CNL HW requires corresponding AUX IOs to be powered up for
> PSR with
> +	/* CNL+ HW requires corresponding AUX IOs to be powered up for
> PSR with
>  	 * DC states enabled at the same time, while for driver
> initiated AUX
>  	 * transfers we need the same AUX IOs to be powered but with DC
> states
>  	 * disabled. Accordingly use the AUX power domain here which
> leaves DC
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 9bebec389de1..0fdabce647ab 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -1996,6 +1996,7 @@ void intel_display_power_put(struct
> drm_i915_private *dev_priv,
>  	BIT_ULL(POWER_DOMAIN_PORT_DDI_F_IO))
>  
>  #define ICL_AUX_A_IO_POWER_DOMAINS (			\
> +	BIT_ULL(POWER_DOMAIN_AUX_IO_A) |		\
>  	BIT_ULL(POWER_DOMAIN_AUX_A))
>  #define ICL_AUX_B_IO_POWER_DOMAINS (			\
>  	BIT_ULL(POWER_DOMAIN_AUX_B))
Yadav, Jyoti R Sept. 17, 2018, 6:15 a.m. UTC | #4
Hi Dhinakaran,

I tested this patch. Now I am not able to see those "AUX  Error Interrupts".
Thanks for your patch.

Regards
Jyoti

-----Original Message-----
From: Pandiyan, Dhinakaran 
Sent: Friday, September 14, 2018 5:48 AM
To: intel-gfx@lists.freedesktop.org
Cc: Souza, Jose <jose.souza@intel.com>; Deak, Imre <imre.deak@intel.com>; Pandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com>; Atwood, Matthew S <matthew.s.atwood@intel.com>; Yadav, Jyoti R <jyoti.r.yadav@intel.com>; Bowman, Casey G <casey.g.bowman@intel.com>
Subject: [PATCH] drm/i915/psr: Enable AUX-A IO power well on ICL for PSR

PSR requires AUX IO power well to be enabled. This was already in place for CNL, extend this for ICL too. Not enabling the power well results in the aux error interrupts when the hardware exits PSR.

Reported-by: Casey G Bowman <casey.g.bowman@intel.com>
Reported-by: Jyoti R Yadav <jyoti.r.yadav@intel.com>
Cc: Matt Atwood <matthew.s.atwood@intel.com>
Cc: Jyoti R Yadav <jyoti.r.yadav@intel.com>
Cc: Casey G Bowman <casey.g.bowman@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c        | 2 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index cd01a09c5e0f..b6910c8b4e08 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2077,7 +2077,7 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder,  static inline enum intel_display_power_domain  intel_ddi_main_link_aux_domain(struct intel_dp *intel_dp)  {
-	/* CNL HW requires corresponding AUX IOs to be powered up for PSR with
+	/* CNL+ HW requires corresponding AUX IOs to be powered up for PSR 
+with
 	 * DC states enabled at the same time, while for driver initiated AUX
 	 * transfers we need the same AUX IOs to be powered but with DC states
 	 * disabled. Accordingly use the AUX power domain here which leaves DC diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 9bebec389de1..0fdabce647ab 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1996,6 +1996,7 @@ void intel_display_power_put(struct drm_i915_private *dev_priv,
 	BIT_ULL(POWER_DOMAIN_PORT_DDI_F_IO))
 
 #define ICL_AUX_A_IO_POWER_DOMAINS (			\
+	BIT_ULL(POWER_DOMAIN_AUX_IO_A) |		\
 	BIT_ULL(POWER_DOMAIN_AUX_A))
 #define ICL_AUX_B_IO_POWER_DOMAINS (			\
 	BIT_ULL(POWER_DOMAIN_AUX_B))
--
2.17.1
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index cd01a09c5e0f..b6910c8b4e08 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2077,7 +2077,7 @@  bool intel_ddi_get_hw_state(struct intel_encoder *encoder,
 static inline enum intel_display_power_domain
 intel_ddi_main_link_aux_domain(struct intel_dp *intel_dp)
 {
-	/* CNL HW requires corresponding AUX IOs to be powered up for PSR with
+	/* CNL+ HW requires corresponding AUX IOs to be powered up for PSR with
 	 * DC states enabled at the same time, while for driver initiated AUX
 	 * transfers we need the same AUX IOs to be powered but with DC states
 	 * disabled. Accordingly use the AUX power domain here which leaves DC
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 9bebec389de1..0fdabce647ab 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1996,6 +1996,7 @@  void intel_display_power_put(struct drm_i915_private *dev_priv,
 	BIT_ULL(POWER_DOMAIN_PORT_DDI_F_IO))
 
 #define ICL_AUX_A_IO_POWER_DOMAINS (			\
+	BIT_ULL(POWER_DOMAIN_AUX_IO_A) |		\
 	BIT_ULL(POWER_DOMAIN_AUX_A))
 #define ICL_AUX_B_IO_POWER_DOMAINS (			\
 	BIT_ULL(POWER_DOMAIN_AUX_B))