intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C
@ 2023-04-03  8:01 Suraj Kandpal
  2023-04-03 10:11 ` Nautiyal, Ankit K
                   ` (17 more replies)
  0 siblings, 18 replies; 45+ messages in thread
From: Suraj Kandpal @ 2023-04-03  8:01 UTC (permalink / raw)
  To: intel-gfx

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

WA: 14017271110
Bspec: 55480

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 .../drm/i915/display/intel_display_power_well.c   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937..357617b9b725 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -252,6 +252,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 					   bool timeout_expected)
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
+	enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
 
 	/*
@@ -264,6 +265,20 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 		return;
 	}
 
+	/*
+	 * WA: 14017271110
+	 * Type-C Phy are taking longer than expected for AUX IO Power Enabling.
+	 * Increase timeout to 500ms.
+	 */
+	if (IS_ALDERLAKE_P(dev_priv) && intel_phy_is_tc(dev_priv, phy)) {
+		if (intel_de_wait_for_set(dev_priv, regs->driver,
+					  HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
+			drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
+				    intel_power_well_name(power_well));
+			return;
+		}
+	}
+
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
 				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
@ 2023-04-03 10:11 ` Nautiyal, Ankit K
  2023-04-03 14:58 ` Murthy, Arun R
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Nautiyal, Ankit K @ 2023-04-03 10:11 UTC (permalink / raw)
  To: Suraj Kandpal, intel-gfx

Hi Suraj,

Thanks for the patch, please find my comments inline:


On 4/3/2023 1:31 PM, Suraj Kandpal wrote:
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
>
> WA: 14017271110

Lets use Wa_#### as per convention.

Also I am wondering if we should keep the original number 14017248603.

> Bspec: 55480
>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>   .../drm/i915/display/intel_display_power_well.c   | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..357617b9b725 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -252,6 +252,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>   					   bool timeout_expected)
>   {
>   	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
> +	enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
>   	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
>   
>   	/*
> @@ -264,6 +265,20 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>   		return;
>   	}
>   
> +	/*
> +	 * WA: 14017271110

Wa_<number>:adlp


> +	 * Type-C Phy are taking longer than expected for AUX IO Power Enabling.
> +	 * Increase timeout to 500ms.
> +	 */
> +	if (IS_ALDERLAKE_P(dev_priv) && intel_phy_is_tc(dev_priv, phy)) {
> +		if (intel_de_wait_for_set(dev_priv, regs->driver,
> +					  HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> +			drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
> +				    intel_power_well_name(power_well));
> +			return;
> +		}
> +	}
> +

Though not part of this workaround, as per Bspec:49294, the power well 
enable timeout value for Gen 12 seems to be 1.5 ms : ~2ms

May be have another change for that as well?

In my opinion, we can have an enable_timeout_ms which is set to 
different values based on platform and just

use that in intel_de_wait _for_set.


Regards,

Ankit

>   	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>   	if (intel_de_wait_for_set(dev_priv, regs->driver,
>   				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
  2023-04-03 10:11 ` Nautiyal, Ankit K
@ 2023-04-03 14:58 ` Murthy, Arun R
  2023-04-04  5:40   ` Kandpal, Suraj
  2023-04-03 15:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
                   ` (15 subsequent siblings)
  17 siblings, 1 reply; 45+ messages in thread
From: Murthy, Arun R @ 2023-04-03 14:58 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx

> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal@intel.com>
> Sent: Monday, April 3, 2023 1:32 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>; Sharma, Swati2
> <swati2.sharma@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH] drm/i915/display: Increase AUX timeout for Type-C
> 
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
> 
> WA: 14017271110
> Bspec: 55480
> 
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  .../drm/i915/display/intel_display_power_well.c   | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..357617b9b725 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -252,6 +252,7 @@ static void hsw_wait_for_power_well_enable(struct
> drm_i915_private *dev_priv,
>  					   bool timeout_expected)
>  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
> +	enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> 
>  	/*
> @@ -264,6 +265,20 @@ static void hsw_wait_for_power_well_enable(struct
> drm_i915_private *dev_priv,
>  		return;
>  	}
> 
> +	/*
> +	 * WA: 14017271110
> +	 * Type-C Phy are taking longer than expected for AUX IO Power
> Enabling.
> +	 * Increase timeout to 500ms.
> +	 */
> +	if (IS_ALDERLAKE_P(dev_priv) && intel_phy_is_tc(dev_priv, phy)) {
> +		if (intel_de_wait_for_set(dev_priv, regs->driver,
> +
> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> +			drm_dbg_kms(&dev_priv->drm, "%s power well
> enable timeout\n",
> +				    intel_power_well_name(power_well));
> +			return;
> +		}
> +	}

After execution of this on success it will again execute the wait_for() for HSW_PWR_WELL_CTL_STATE.
Instead can a variable 'delay' be added that can be passed to intel_de_wait_for_set() and this variable 'delay' can be initialized with corresponding value.

Thanks and Regards,
Arun R Murthy
-------------------
> +
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
>  				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> --
> 2.25.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
  2023-04-03 10:11 ` Nautiyal, Ankit K
  2023-04-03 14:58 ` Murthy, Arun R
@ 2023-04-03 15:01 ` Patchwork
  2023-04-05  7:19 ` [Intel-gfx] [PATCH v2] " Suraj Kandpal
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-03 15:01 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 11056 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C
URL   : https://patchwork.freedesktop.org/series/116010/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12958 -> Patchwork_116010v1
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_116010v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_116010v1, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/index.html

Participating hosts (37 -> 36)
------------------------------

  Missing    (1): fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_116010v1:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@load:
    - bat-jsl-1:          [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-jsl-1/igt@i915_module_load@load.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-jsl-1/igt@i915_module_load@load.html
    - bat-rpls-1:         [PASS][3] -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-rpls-1/igt@i915_module_load@load.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-rpls-1/igt@i915_module_load@load.html
    - fi-rkl-11600:       [PASS][5] -> [ABORT][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-rkl-11600/igt@i915_module_load@load.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-rkl-11600/igt@i915_module_load@load.html
    - bat-adls-5:         [PASS][7] -> [ABORT][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-adls-5/igt@i915_module_load@load.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-adls-5/igt@i915_module_load@load.html
    - bat-dg1-5:          [PASS][9] -> [ABORT][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-dg1-5/igt@i915_module_load@load.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-dg1-5/igt@i915_module_load@load.html
    - bat-dg1-7:          [PASS][11] -> [ABORT][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-dg1-7/igt@i915_module_load@load.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-dg1-7/igt@i915_module_load@load.html
    - bat-jsl-3:          [PASS][13] -> [ABORT][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-jsl-3/igt@i915_module_load@load.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-jsl-3/igt@i915_module_load@load.html
    - bat-dg2-11:         [PASS][15] -> [ABORT][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-dg2-11/igt@i915_module_load@load.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-dg2-11/igt@i915_module_load@load.html
    - bat-adln-1:         [PASS][17] -> [ABORT][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-adln-1/igt@i915_module_load@load.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-adln-1/igt@i915_module_load@load.html
    - fi-cfl-8700k:       [PASS][19] -> [ABORT][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-cfl-8700k/igt@i915_module_load@load.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-cfl-8700k/igt@i915_module_load@load.html
    - fi-kbl-8809g:       [PASS][21] -> [ABORT][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-kbl-8809g/igt@i915_module_load@load.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-kbl-8809g/igt@i915_module_load@load.html
    - bat-rplp-1:         [PASS][23] -> [ABORT][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-rplp-1/igt@i915_module_load@load.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-rplp-1/igt@i915_module_load@load.html
    - bat-dg2-9:          [PASS][25] -> [ABORT][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-dg2-9/igt@i915_module_load@load.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-dg2-9/igt@i915_module_load@load.html
    - fi-kbl-x1275:       [PASS][27] -> [ABORT][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-kbl-x1275/igt@i915_module_load@load.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-kbl-x1275/igt@i915_module_load@load.html
    - fi-hsw-4770:        [PASS][29] -> [ABORT][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-hsw-4770/igt@i915_module_load@load.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-hsw-4770/igt@i915_module_load@load.html
    - bat-rpls-2:         [PASS][31] -> [ABORT][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-rpls-2/igt@i915_module_load@load.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-rpls-2/igt@i915_module_load@load.html
    - bat-dg2-8:          [PASS][33] -> [ABORT][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-dg2-8/igt@i915_module_load@load.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-dg2-8/igt@i915_module_load@load.html
    - fi-kbl-guc:         [PASS][35] -> [ABORT][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-kbl-guc/igt@i915_module_load@load.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-kbl-guc/igt@i915_module_load@load.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_module_load@load:
    - {bat-kbl-2}:        [PASS][37] -> [ABORT][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-kbl-2/igt@i915_module_load@load.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-kbl-2/igt@i915_module_load@load.html

  
Known issues
------------

  Here are the changes found in Patchwork_116010v1 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@load:
    - bat-adlp-6:         [PASS][39] -> [ABORT][40] ([i915#8189])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-adlp-6/igt@i915_module_load@load.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-adlp-6/igt@i915_module_load@load.html
    - fi-skl-6600u:       [PASS][41] -> [ABORT][42] ([i915#8189])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-skl-6600u/igt@i915_module_load@load.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-skl-6600u/igt@i915_module_load@load.html
    - fi-apl-guc:         [PASS][43] -> [ABORT][44] ([i915#8189])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-apl-guc/igt@i915_module_load@load.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-apl-guc/igt@i915_module_load@load.html
    - fi-glk-j4005:       [PASS][45] -> [ABORT][46] ([i915#8143])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-glk-j4005/igt@i915_module_load@load.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-glk-j4005/igt@i915_module_load@load.html
    - bat-adlp-9:         [PASS][47] -> [ABORT][48] ([i915#8189])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/bat-adlp-9/igt@i915_module_load@load.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/bat-adlp-9/igt@i915_module_load@load.html
    - fi-skl-guc:         [PASS][49] -> [ABORT][50] ([i915#8189])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-skl-guc/igt@i915_module_load@load.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-skl-guc/igt@i915_module_load@load.html
    - fi-kbl-7567u:       [PASS][51] -> [ABORT][52] ([i915#8141])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-kbl-7567u/igt@i915_module_load@load.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-kbl-7567u/igt@i915_module_load@load.html
    - fi-tgl-1115g4:      [PASS][53] -> [ABORT][54] ([i915#8189])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-tgl-1115g4/igt@i915_module_load@load.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-tgl-1115g4/igt@i915_module_load@load.html
    - fi-cfl-guc:         [PASS][55] -> [ABORT][56] ([i915#8141])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-cfl-guc/igt@i915_module_load@load.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-cfl-guc/igt@i915_module_load@load.html
    - fi-cfl-8109u:       [PASS][57] -> [ABORT][58] ([i915#8141])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-cfl-8109u/igt@i915_module_load@load.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-cfl-8109u/igt@i915_module_load@load.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - fi-bsw-nick:        NOTRUN -> [SKIP][59] ([fdo#109271]) +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-bsw-nick/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - fi-bsw-nick:        [ABORT][60] ([i915#7913]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12958/fi-bsw-nick/igt@i915_selftest@live@hangcheck.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/fi-bsw-nick/igt@i915_selftest@live@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#8141]: https://gitlab.freedesktop.org/drm/intel/issues/8141
  [i915#8143]: https://gitlab.freedesktop.org/drm/intel/issues/8143
  [i915#8189]: https://gitlab.freedesktop.org/drm/intel/issues/8189


Build changes
-------------

  * Linux: CI_DRM_12958 -> Patchwork_116010v1

  CI-20190529: 20190529
  CI_DRM_12958: f09f557ecb751519378d6d153a5b77afb14f7b43 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7233: 716520b469a2745e1882780f2aabbc88eb19332c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v1: f09f557ecb751519378d6d153a5b77afb14f7b43 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

7aa154d14316 drm/i915/display: Increase AUX timeout for Type-C

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v1/index.html

[-- Attachment #2: Type: text/html, Size: 12617 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03 14:58 ` Murthy, Arun R
@ 2023-04-04  5:40   ` Kandpal, Suraj
  0 siblings, 0 replies; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-04  5:40 UTC (permalink / raw)
  To: Murthy, Arun R, intel-gfx



> -----Original Message-----
> From: Murthy, Arun R <arun.r.murthy@intel.com>
> Sent: Monday, April 3, 2023 8:28 PM
> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: Sharma, Swati2 <swati2.sharma@intel.com>
> Subject: RE: [PATCH] drm/i915/display: Increase AUX timeout for Type-C
> 
> > -----Original Message-----
> > From: Kandpal, Suraj <suraj.kandpal@intel.com>
> > Sent: Monday, April 3, 2023 1:32 PM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Murthy, Arun R <arun.r.murthy@intel.com>; Sharma, Swati2
> > <swati2.sharma@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> > Subject: [PATCH] drm/i915/display: Increase AUX timeout for Type-C
> >
> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> > Workaround: Increase the timeout.
> >
> > WA: 14017271110
> > Bspec: 55480
> >
> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > ---
> >  .../drm/i915/display/intel_display_power_well.c   | 15 +++++++++++++++
> >  1 file changed, 15 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > index 62bafcbc7937..357617b9b725 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > @@ -252,6 +252,7 @@ static void
> hsw_wait_for_power_well_enable(struct
> > drm_i915_private *dev_priv,
> >  					   bool timeout_expected)
> >  {
> >  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> > >regs;
> > +	enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
> >  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> >
> >  	/*
> > @@ -264,6 +265,20 @@ static void
> hsw_wait_for_power_well_enable(struct
> > drm_i915_private *dev_priv,
> >  		return;
> >  	}
> >
> > +	/*
> > +	 * WA: 14017271110
> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
> > Enabling.
> > +	 * Increase timeout to 500ms.
> > +	 */
> > +	if (IS_ALDERLAKE_P(dev_priv) && intel_phy_is_tc(dev_priv, phy)) {
> > +		if (intel_de_wait_for_set(dev_priv, regs->driver,
> > +
> > HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> > +			drm_dbg_kms(&dev_priv->drm, "%s power well
> > enable timeout\n",
> > +				    intel_power_well_name(power_well));
> > +			return;
> > +		}
> > +	}

Hi,
This code block does have a return so it wont go to the next but it does make sense to compute
delay and avoid duplication of code.

Regards,
Suraj Kandpal
> 
> After execution of this on success it will again execute the wait_for() for
> HSW_PWR_WELL_CTL_STATE.
> Instead can a variable 'delay' be added that can be passed to
> intel_de_wait_for_set() and this variable 'delay' can be initialized with
> corresponding value.
> 
> Thanks and Regards,
> Arun R Murthy
> -------------------
> > +
> >  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> >  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> >  				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > --
> > 2.25.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (2 preceding siblings ...)
  2023-04-03 15:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
@ 2023-04-05  7:19 ` Suraj Kandpal
  2023-04-17  4:30   ` Murthy, Arun R
  2023-04-17  8:52   ` Jani Nikula
  2023-04-05 19:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Increase AUX timeout for Type-C (rev2) Patchwork
                   ` (13 subsequent siblings)
  17 siblings, 2 replies; 45+ messages in thread
From: Suraj Kandpal @ 2023-04-05  7:19 UTC (permalink / raw)
  To: intel-gfx

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

WA_14017248603: adlp
Bspec: 55480

---v2
-change style on how we mention WA [Ankit]
-fix bat error

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937..52f595929a18 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct drm_i915_private *i915)
 		    "succeeded");
 }
 
+static void
+adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
+				   struct i915_power_well *power_well,
+				   bool timeout_expected)
+{
+	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
+	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
+	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+
+	/*
+	 * WA_14017248603: adlp
+	 * Type-C Phy are taking longer than expected for AUX IO Power Enabling.
+	 * Increase timeout to 500ms.
+	 */
+	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
+		if (intel_de_wait_for_set(i915, regs->driver,
+					  HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
+			drm_dbg_kms(&i915->drm, "%s power well enable timeout\n",
+				    intel_power_well_name(power_well));
+
+			drm_WARN_ON(&i915->drm, !timeout_expected);
+		}
+		return;
+	}
+
+	hsw_wait_for_power_well_enable(i915, power_well, timeout_expected);
+}
+
 static void
 icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
 				 struct i915_power_well *power_well)
@@ -517,7 +545,7 @@ icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
 	if (DISPLAY_VER(dev_priv) == 11 && intel_tc_cold_requires_aux_pw(dig_port))
 		icl_tc_cold_exit(dev_priv);
 
-	hsw_wait_for_power_well_enable(dev_priv, power_well, timeout_expected);
+	adl_aux_wait_for_power_well_enable(dev_priv, power_well, timeout_expected);
 
 	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
 		enum tc_port tc_port;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Increase AUX timeout for Type-C (rev2)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (3 preceding siblings ...)
  2023-04-05  7:19 ` [Intel-gfx] [PATCH v2] " Suraj Kandpal
@ 2023-04-05 19:21 ` Patchwork
  2023-04-06 10:48 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-05 19:21 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 4421 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev2)
URL   : https://patchwork.freedesktop.org/series/116010/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12973 -> Patchwork_116010v2
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/index.html

Participating hosts (36 -> 35)
------------------------------

  Missing    (1): fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_116010v2 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s3@smem:
    - bat-rpls-1:         NOTRUN -> [ABORT][1] ([i915#6687] / [i915#7978])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-2:         [PASS][2] -> [ABORT][3] ([i915#4983] / [i915#7913] / [i915#7981])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/bat-rpls-2/igt@i915_selftest@live@reset.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/bat-rpls-2/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@slpc:
    - bat-rpls-1:         NOTRUN -> [DMESG-FAIL][4] ([i915#6367])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/bat-rpls-1/igt@i915_selftest@live@slpc.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - fi-cfl-8700k:       NOTRUN -> [SKIP][5] ([fdo#109271])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/fi-cfl-8700k/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][6] ([i915#5354])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-apl-guc:         [DMESG-FAIL][7] ([i915#5334]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-1:         [ABORT][9] ([i915#4983]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/bat-rpls-1/igt@i915_selftest@live@reset.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/bat-rpls-1/igt@i915_selftest@live@reset.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - fi-cfl-8700k:       [ABORT][11] ([i915#8213] / [i915#8299]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/fi-cfl-8700k/igt@i915_suspend@basic-s2idle-without-i915.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/fi-cfl-8700k/igt@i915_suspend@basic-s2idle-without-i915.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
  [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8299]: https://gitlab.freedesktop.org/drm/intel/issues/8299


Build changes
-------------

  * Linux: CI_DRM_12973 -> Patchwork_116010v2

  CI-20190529: 20190529
  CI_DRM_12973: 152344c378a9b634ea6f2424f038e365ad2894f8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7240: ef4550e3b7d3c11ba257006bc7d4f8e421667d46 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v2: 152344c378a9b634ea6f2424f038e365ad2894f8 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

522edf922e66 drm/i915/display: Increase AUX timeout for Type-C

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/index.html

[-- Attachment #2: Type: text/html, Size: 5279 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/display: Increase AUX timeout for Type-C (rev2)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (4 preceding siblings ...)
  2023-04-05 19:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Increase AUX timeout for Type-C (rev2) Patchwork
@ 2023-04-06 10:48 ` Patchwork
  2023-04-17 15:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev3) Patchwork
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-06 10:48 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 14932 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev2)
URL   : https://patchwork.freedesktop.org/series/116010/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12973_full -> Patchwork_116010v2_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_116010v2_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_116010v2_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_116010v2_full:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_rc6_residency@rc6-idle@bcs0:
    - shard-apl:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl3/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl4/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html

  
Known issues
------------

  Here are the changes found in Patchwork_116010v2_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [PASS][3] -> [FAIL][4] ([i915#2842]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
    - shard-apl:          NOTRUN -> [SKIP][5] ([fdo#109271]) +10 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl3/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [PASS][6] -> [INCOMPLETE][7] ([i915#7790])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-snb4/igt@i915_pm_rps@reset.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-snb5/igt@i915_pm_rps@reset.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [PASS][8] -> [FAIL][9] ([i915#2346])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
    - shard-apl:          [PASS][10] -> [FAIL][11] ([i915#2346])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][12] ([fdo#109271])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-glk3/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-apl:          [PASS][13] -> [FAIL][14] ([i915#4767])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl6/igt@kms_fbcon_fbt@fbc-suspend.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl6/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([i915#79])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl3/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a2:
    - shard-glk:          [PASS][17] -> [FAIL][18] ([i915#79]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a2.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a2.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-apl:          NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#2437])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl3/igt@kms_writeback@writeback-fb-id.html

  
#### Possible fixes ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - {shard-tglu}:       [FAIL][20] ([i915#6268]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-tglu-9/igt@gem_ctx_exec@basic-nohangcheck.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-tglu-7/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-apl:          [ABORT][22] ([i915#180]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl1/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl3/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [FAIL][24] ([i915#2842]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-apl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-apl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - {shard-tglu}:       [ABORT][26] ([i915#7975]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-tglu-10/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-tglu-6/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@i915_pm_dc@dc6-dpms:
    - {shard-tglu}:       [FAIL][28] ([i915#3989] / [i915#454]) -> [PASS][29]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-tglu-8/igt@i915_pm_dc@dc6-dpms.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-tglu-10/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rpm@dpms-non-lpsp:
    - {shard-rkl}:        [SKIP][30] ([i915#1397]) -> [PASS][31] +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-rkl-7/igt@i915_pm_rpm@dpms-non-lpsp.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-rkl-6/igt@i915_pm_rpm@dpms-non-lpsp.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - {shard-dg1}:        [DMESG-WARN][32] ([i915#4391]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-dg1-14/igt@i915_pm_rpm@system-suspend-modeset.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-dg1-18/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-glk:          [DMESG-FAIL][34] ([i915#5334]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-glk3/igt@i915_selftest@live@gt_heartbeat.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-glk1/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_cursor_legacy@forked-move@pipe-b:
    - {shard-dg1}:        [INCOMPLETE][36] ([i915#8011]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12973/shard-dg1-14/igt@kms_cursor_legacy@forked-move@pipe-b.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/shard-dg1-18/igt@kms_cursor_legacy@forked-move@pipe-b.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8320]: https://gitlab.freedesktop.org/drm/intel/issues/8320


Build changes
-------------

  * Linux: CI_DRM_12973 -> Patchwork_116010v2

  CI-20190529: 20190529
  CI_DRM_12973: 152344c378a9b634ea6f2424f038e365ad2894f8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7240: ef4550e3b7d3c11ba257006bc7d4f8e421667d46 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v2: 152344c378a9b634ea6f2424f038e365ad2894f8 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v2/index.html

[-- Attachment #2: Type: text/html, Size: 11278 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-05  7:19 ` [Intel-gfx] [PATCH v2] " Suraj Kandpal
@ 2023-04-17  4:30   ` Murthy, Arun R
  2023-04-17  6:51     ` Kandpal, Suraj
  2023-04-17  8:52   ` Jani Nikula
  1 sibling, 1 reply; 45+ messages in thread
From: Murthy, Arun R @ 2023-04-17  4:30 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx

> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal@intel.com>
> Sent: Wednesday, April 5, 2023 12:50 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>; Sharma, Swati2
> <swati2.sharma@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
> 
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
> 
> WA_14017248603: adlp
> Bspec: 55480
> 
> ---v2
> -change style on how we mention WA [Ankit] -fix bat error
> 
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
>  1 file changed, 29 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..52f595929a18 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct drm_i915_private
> *i915)
>  		    "succeeded");
>  }
> 
> +static void
> +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> +				   struct i915_power_well *power_well,
> +				   bool timeout_expected)
> +{
> +	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +
> +	/*
> +	 * WA_14017248603: adlp
> +	 * Type-C Phy are taking longer than expected for AUX IO Power
> Enabling.
> +	 * Increase timeout to 500ms.
> +	 */
> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> +		if (intel_de_wait_for_set(i915, regs->driver,
> +
> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
Feel that v1 patch was pretty simple and clean. Only change required on v1 patchset was to add a variable for timeout and initialize that variable with either 1 or 500 based on the platform.

Thanks and Regards,
Arun R Murthy
--------------------
> +			drm_dbg_kms(&i915->drm, "%s power well enable
> timeout\n",
> +				    intel_power_well_name(power_well));
> +
> +			drm_WARN_ON(&i915->drm, !timeout_expected);
> +		}
> +		return;
> +	}
> +
> +	hsw_wait_for_power_well_enable(i915, power_well,
> timeout_expected); }
> +
>  static void
>  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>  				 struct i915_power_well *power_well) @@ -
> 517,7 +545,7 @@ icl_tc_phy_aux_power_well_enable(struct
> drm_i915_private *dev_priv,
>  	if (DISPLAY_VER(dev_priv) == 11 &&
> intel_tc_cold_requires_aux_pw(dig_port))
>  		icl_tc_cold_exit(dev_priv);
> 
> -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> timeout_expected);
> +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> +timeout_expected);
> 
>  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
>  		enum tc_port tc_port;
> --
> 2.25.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17  4:30   ` Murthy, Arun R
@ 2023-04-17  6:51     ` Kandpal, Suraj
  2023-04-17  7:33       ` Murthy, Arun R
  0 siblings, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17  6:51 UTC (permalink / raw)
  To: Murthy, Arun R, intel-gfx

: RE: [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
> 
> > -----Original Message-----
> > From: Kandpal, Suraj <suraj.kandpal@intel.com>
> > Sent: Wednesday, April 5, 2023 12:50 PM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Murthy, Arun R <arun.r.murthy@intel.com>; Sharma, Swati2
> > <swati2.sharma@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> > Subject: [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
> >
> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> > Workaround: Increase the timeout.
> >
> > WA_14017248603: adlp
> > Bspec: 55480
> >
> > ---v2
> > -change style on how we mention WA [Ankit] -fix bat error
> >
> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > ---
> >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
> >  1 file changed, 29 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > index 62bafcbc7937..52f595929a18 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> > drm_i915_private
> > *i915)
> >  		    "succeeded");
> >  }
> >
> > +static void
> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> > +				   struct i915_power_well *power_well,
> > +				   bool timeout_expected)
> > +{
> > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
> > >regs;
> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > +
> > +	/*
> > +	 * WA_14017248603: adlp
> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
> > Enabling.
> > +	 * Increase timeout to 500ms.
> > +	 */
> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> > +		if (intel_de_wait_for_set(i915, regs->driver,
> > +
> > HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> Feel that v1 patch was pretty simple and clean. Only change required on v1
> patchset was to add a variable for timeout and initialize that variable with
> either 1 or 500 based on the platform.
> 

Hi Arun,

If we see the rev1 we were able to see some kernel pointers issue in bat when we try to
retrieve phy and check if it's type c because hsw_wait_for_power_well_enable is being used in many
different places and not just where aux c is available which made me go this way.

Regards,
Suraj Kandpal

> Thanks and Regards,
> Arun R Murthy
> --------------------
> > +			drm_dbg_kms(&i915->drm, "%s power well enable
> > timeout\n",
> > +				    intel_power_well_name(power_well));
> > +
> > +			drm_WARN_ON(&i915->drm, !timeout_expected);
> > +		}
> > +		return;
> > +	}
> > +
> > +	hsw_wait_for_power_well_enable(i915, power_well,
> > timeout_expected); }
> > +
> >  static void
> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >  				 struct i915_power_well *power_well) @@ -
> > 517,7 +545,7 @@ icl_tc_phy_aux_power_well_enable(struct
> > drm_i915_private *dev_priv,
> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> > intel_tc_cold_requires_aux_pw(dig_port))
> >  		icl_tc_cold_exit(dev_priv);
> >
> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> > timeout_expected);
> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> > +timeout_expected);
> >
> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> >  		enum tc_port tc_port;
> > --
> > 2.25.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17  6:51     ` Kandpal, Suraj
@ 2023-04-17  7:33       ` Murthy, Arun R
  0 siblings, 0 replies; 45+ messages in thread
From: Murthy, Arun R @ 2023-04-17  7:33 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx

> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal@intel.com>
> Sent: Monday, April 17, 2023 12:21 PM
> To: Murthy, Arun R <arun.r.murthy@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: Sharma, Swati2 <swati2.sharma@intel.com>
> Subject: RE: [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
> 
> : RE: [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
> >
> > > -----Original Message-----
> > > From: Kandpal, Suraj <suraj.kandpal@intel.com>
> > > Sent: Wednesday, April 5, 2023 12:50 PM
> > > To: intel-gfx@lists.freedesktop.org
> > > Cc: Murthy, Arun R <arun.r.murthy@intel.com>; Sharma, Swati2
> > > <swati2.sharma@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> > > Subject: [PATCH v2] drm/i915/display: Increase AUX timeout for
> > > Type-C
> > >
> > > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> > > Workaround: Increase the timeout.
> > >
> > > WA_14017248603: adlp
> > > Bspec: 55480
> > >
> > > ---v2
> > > -change style on how we mention WA [Ankit] -fix bat error
> > >
> > > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > > ---
> > >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
> > >  1 file changed, 29 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > index 62bafcbc7937..52f595929a18 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> > > drm_i915_private
> > > *i915)
> > >  		    "succeeded");
> > >  }
> > >
> > > +static void
> > > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> > > +				   struct i915_power_well *power_well,
> > > +				   bool timeout_expected)
> > > +{
> > > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
> > > >regs;
> > > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > > +
> > > +	/*
> > > +	 * WA_14017248603: adlp
> > > +	 * Type-C Phy are taking longer than expected for AUX IO Power
> > > Enabling.
> > > +	 * Increase timeout to 500ms.
> > > +	 */
> > > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> > > +		if (intel_de_wait_for_set(i915, regs->driver,
> > > +
> > > HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> > Feel that v1 patch was pretty simple and clean. Only change required
> > on v1 patchset was to add a variable for timeout and initialize that
> > variable with either 1 or 500 based on the platform.
> >
> 
> Hi Arun,
> 
> If we see the rev1 we were able to see some kernel pointers issue in bat
> when we try to retrieve phy and check if it's type c because
> hsw_wait_for_power_well_enable is being used in many different places and
> not just where aux c is available which made me go this way.
> 
> Regards,
> Suraj Kandpal
> 
This entire function will have to eb cleaned up to accommodate type C else a separate function has to be used for handling type C.
I feel this can be taken up as a separate activity.
For now
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>

Thanks and Regards,
Arun R Murthy
--------------------

> > Thanks and Regards,
> > Arun R Murthy
> > --------------------
> > > +			drm_dbg_kms(&i915->drm, "%s power well enable
> > > timeout\n",
> > > +				    intel_power_well_name(power_well));
> > > +
> > > +			drm_WARN_ON(&i915->drm, !timeout_expected);
> > > +		}
> > > +		return;
> > > +	}
> > > +
> > > +	hsw_wait_for_power_well_enable(i915, power_well,
> > > timeout_expected); }
> > > +
> > >  static void
> > >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> > >  				 struct i915_power_well *power_well) @@ -
> > > 517,7 +545,7 @@ icl_tc_phy_aux_power_well_enable(struct
> > > drm_i915_private *dev_priv,
> > >  	if (DISPLAY_VER(dev_priv) == 11 &&
> > > intel_tc_cold_requires_aux_pw(dig_port))
> > >  		icl_tc_cold_exit(dev_priv);
> > >
> > > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> > > timeout_expected);
> > > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> > > +timeout_expected);
> > >
> > >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> > >  		enum tc_port tc_port;
> > > --
> > > 2.25.1


^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-05  7:19 ` [Intel-gfx] [PATCH v2] " Suraj Kandpal
  2023-04-17  4:30   ` Murthy, Arun R
@ 2023-04-17  8:52   ` Jani Nikula
  2023-04-17 10:18     ` Kandpal, Suraj
  1 sibling, 1 reply; 45+ messages in thread
From: Jani Nikula @ 2023-04-17  8:52 UTC (permalink / raw)
  To: Suraj Kandpal, intel-gfx

On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
>
> WA_14017248603: adlp
> Bspec: 55480
>
> ---v2
> -change style on how we mention WA [Ankit]
> -fix bat error
>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
>  1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..52f595929a18 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct drm_i915_private *i915)
>  		    "succeeded");
>  }
>  
> +static void
> +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> +				   struct i915_power_well *power_well,
> +				   bool timeout_expected)
> +{
> +	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +
> +	/*
> +	 * WA_14017248603: adlp
> +	 * Type-C Phy are taking longer than expected for AUX IO Power Enabling.
> +	 * Increase timeout to 500ms.
> +	 */
> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> +		if (intel_de_wait_for_set(i915, regs->driver,
> +					  HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> +			drm_dbg_kms(&i915->drm, "%s power well enable timeout\n",
> +				    intel_power_well_name(power_well));
> +
> +			drm_WARN_ON(&i915->drm, !timeout_expected);
> +		}
> +		return;
> +	}
> +
> +	hsw_wait_for_power_well_enable(i915, power_well, timeout_expected);
> +}

Please don't duplicate the function and the wait like this.

Something like this is sufficient:


@@ -252,7 +252,9 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 					   bool timeout_expected)
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
+	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = 1;
 
 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -264,9 +266,13 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 		return;
 	}
 
+	/* WA_14017248603: adlp */
+	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
+		timeout = 500;
+	
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));
 

> +
>  static void
>  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>  				 struct i915_power_well *power_well)
> @@ -517,7 +545,7 @@ icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>  	if (DISPLAY_VER(dev_priv) == 11 && intel_tc_cold_requires_aux_pw(dig_port))
>  		icl_tc_cold_exit(dev_priv);
>  
> -	hsw_wait_for_power_well_enable(dev_priv, power_well, timeout_expected);
> +	adl_aux_wait_for_power_well_enable(dev_priv, power_well, timeout_expected);

A function prefixed adl_ should indicate it's only needed for adl+. This
change is misleading.

BR,
Jani.


>  
>  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
>  		enum tc_port tc_port;

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17  8:52   ` Jani Nikula
@ 2023-04-17 10:18     ` Kandpal, Suraj
  2023-04-17 10:33       ` Jani Nikula
  0 siblings, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17 10:18 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx

> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> > Workaround: Increase the timeout.
> >
> > WA_14017248603: adlp
> > Bspec: 55480
> >
> > ---v2
> > -change style on how we mention WA [Ankit] -fix bat error
> >
> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > ---
> >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
> >  1 file changed, 29 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > index 62bafcbc7937..52f595929a18 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> drm_i915_private *i915)
> >  		    "succeeded");
> >  }
> >
> > +static void
> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> > +				   struct i915_power_well *power_well,
> > +				   bool timeout_expected)
> > +{
> > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > +
> > +	/*
> > +	 * WA_14017248603: adlp
> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
> Enabling.
> > +	 * Increase timeout to 500ms.
> > +	 */
> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> > +		if (intel_de_wait_for_set(i915, regs->driver,
> > +
> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> > +			drm_dbg_kms(&i915->drm, "%s power well enable
> timeout\n",
> > +				    intel_power_well_name(power_well));
> > +
> > +			drm_WARN_ON(&i915->drm, !timeout_expected);
> > +		}
> > +		return;
> > +	}
> > +
> > +	hsw_wait_for_power_well_enable(i915, power_well,
> timeout_expected);
> > +}
> 
> Please don't duplicate the function and the wait like this.
> 
> Something like this is sufficient:
> 
> 
> @@ -252,7 +252,9 @@ static void hsw_wait_for_power_well_enable(struct
> drm_i915_private *dev_priv,
>  					   bool timeout_expected)
>  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = 1;
> 
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit
> for @@ -264,9 +266,13 @@ static void
> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  		return;
>  	}
> 
> +	/* WA_14017248603: adlp */
> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))

I did try this but it ends up throwing a kernel null pointer error at intel_phy_is_tc
which made me float the version of code I did.

Regards,
Suraj Kandpal
> +		timeout = 500;
> +
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
>  			    intel_power_well_name(power_well));
> 
> 
> > +

> >  static void
> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >  				 struct i915_power_well *power_well) @@ -
> 517,7 +545,7 @@
> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> intel_tc_cold_requires_aux_pw(dig_port))
> >  		icl_tc_cold_exit(dev_priv);
> >
> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> timeout_expected);
> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> > +timeout_expected);
> 
> A function prefixed adl_ should indicate it's only needed for adl+. This
> change is misleading.
> 
> BR,
> Jani.
> 
> 
> >
> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> >  		enum tc_port tc_port;
> 
> --
> Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 10:18     ` Kandpal, Suraj
@ 2023-04-17 10:33       ` Jani Nikula
  2023-04-17 10:51         ` Kandpal, Suraj
  0 siblings, 1 reply; 45+ messages in thread
From: Jani Nikula @ 2023-04-17 10:33 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx

On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
>> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
>> > Workaround: Increase the timeout.
>> >
>> > WA_14017248603: adlp
>> > Bspec: 55480
>> >
>> > ---v2
>> > -change style on how we mention WA [Ankit] -fix bat error
>> >
>> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
>> > ---
>> >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
>> >  1 file changed, 29 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > index 62bafcbc7937..52f595929a18 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
>> drm_i915_private *i915)
>> >  		    "succeeded");
>> >  }
>> >
>> > +static void
>> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
>> > +				   struct i915_power_well *power_well,
>> > +				   bool timeout_expected)
>> > +{
>> > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
>> >regs;
>> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>> > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
>> > +
>> > +	/*
>> > +	 * WA_14017248603: adlp
>> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
>> Enabling.
>> > +	 * Increase timeout to 500ms.
>> > +	 */
>> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
>> > +		if (intel_de_wait_for_set(i915, regs->driver,
>> > +
>> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
>> > +			drm_dbg_kms(&i915->drm, "%s power well enable
>> timeout\n",
>> > +				    intel_power_well_name(power_well));
>> > +
>> > +			drm_WARN_ON(&i915->drm, !timeout_expected);
>> > +		}
>> > +		return;
>> > +	}
>> > +
>> > +	hsw_wait_for_power_well_enable(i915, power_well,
>> timeout_expected);
>> > +}
>> 
>> Please don't duplicate the function and the wait like this.
>> 
>> Something like this is sufficient:
>> 
>> 
>> @@ -252,7 +252,9 @@ static void hsw_wait_for_power_well_enable(struct
>> drm_i915_private *dev_priv,
>>  					   bool timeout_expected)
>>  {
>>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
>> >regs;
>> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
>> +	int timeout = 1;
>> 
>>  	/*
>>  	 * For some power wells we're not supposed to watch the status bit
>> for @@ -264,9 +266,13 @@ static void
>> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>>  		return;
>>  	}
>> 
>> +	/* WA_14017248603: adlp */
>> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
>
> I did try this but it ends up throwing a kernel null pointer error at intel_phy_is_tc
> which made me float the version of code I did.

Please explain what causes it, and how your version avoids it.

BR,
Jani.


>
> Regards,
> Suraj Kandpal
>> +		timeout = 500;
>> +
>>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
>> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
>> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
>> timeout)) {
>>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
>> timeout\n",
>>  			    intel_power_well_name(power_well));
>> 
>> 
>> > +
>
>> >  static void
>> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>> >  				 struct i915_power_well *power_well) @@ -
>> 517,7 +545,7 @@
>> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>> >  	if (DISPLAY_VER(dev_priv) == 11 &&
>> intel_tc_cold_requires_aux_pw(dig_port))
>> >  		icl_tc_cold_exit(dev_priv);
>> >
>> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
>> timeout_expected);
>> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
>> > +timeout_expected);
>> 
>> A function prefixed adl_ should indicate it's only needed for adl+. This
>> change is misleading.
>> 
>> BR,
>> Jani.
>> 
>> 
>> >
>> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
>> >  		enum tc_port tc_port;
>> 
>> --
>> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 10:33       ` Jani Nikula
@ 2023-04-17 10:51         ` Kandpal, Suraj
  2023-04-17 10:56           ` Jani Nikula
  0 siblings, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17 10:51 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx



> -----Original Message-----
> From: Jani Nikula <jani.nikula@linux.intel.com>
> Sent: Monday, April 17, 2023 4:04 PM
> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> gfx@lists.freedesktop.org
> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout
> for Type-C
> 
> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
> >> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> >> > Workaround: Increase the timeout.
> >> >
> >> > WA_14017248603: adlp
> >> > Bspec: 55480
> >> >
> >> > ---v2
> >> > -change style on how we mention WA [Ankit] -fix bat error
> >> >
> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> >> > ---
> >> >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
> >> >
> >> > diff --git
> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> > index 62bafcbc7937..52f595929a18 100644
> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> >> drm_i915_private *i915)
> >> >  		    "succeeded");
> >> >  }
> >> >
> >> > +static void
> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> >> > +				   struct i915_power_well *power_well,
> >> > +				   bool timeout_expected)
> >> > +{
> >> > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >> >regs;
> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> >> > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> >> > +
> >> > +	/*
> >> > +	 * WA_14017248603: adlp
> >> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
> >> Enabling.
> >> > +	 * Increase timeout to 500ms.
> >> > +	 */
> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
> >> > +
> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> >> > +			drm_dbg_kms(&i915->drm, "%s power well enable
> >> timeout\n",
> >> > +				    intel_power_well_name(power_well));
> >> > +
> >> > +			drm_WARN_ON(&i915->drm, !timeout_expected);
> >> > +		}
> >> > +		return;
> >> > +	}
> >> > +
> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
> >> timeout_expected);
> >> > +}
> >>
> >> Please don't duplicate the function and the wait like this.
> >>
> >> Something like this is sufficient:
> >>
> >>
> >> @@ -252,7 +252,9 @@ static void
> hsw_wait_for_power_well_enable(struct
> >> drm_i915_private *dev_priv,
> >>  					   bool timeout_expected)
> >>  {
> >>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >> >regs;
> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> >>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> >> +	int timeout = 1;
> >>
> >>  	/*
> >>  	 * For some power wells we're not supposed to watch the status bit
> >> for @@ -264,9 +266,13 @@ static void
> >> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> >>  		return;
> >>  	}
> >>
> >> +	/* WA_14017248603: adlp */
> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
> >
> > I did try this but it ends up throwing a kernel null pointer error at
> > intel_phy_is_tc which made me float the version of code I did.
> 
> Please explain what causes it, and how your version avoids it.
> 

icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called everywhere where its not possible for aux_pw to phy
conversion is not possible with this change we only get the phy for adls version.
Will address this is next version.

Regards,
Suraj Kandpal
> BR,
> Jani.
> 
> 
> >
> > Regards,
> > Suraj Kandpal
> >> +		timeout = 500;
> >> +
> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> >> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> >> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> >> timeout)) {
> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
> >>  			    intel_power_well_name(power_well));
> >>
> >>
> >> > +
> >
> >> >  static void
> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >> >  				 struct i915_power_well *power_well) @@ -
> >> 517,7 +545,7 @@
> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> >> intel_tc_cold_requires_aux_pw(dig_port))
> >> >  		icl_tc_cold_exit(dev_priv);
> >> >
> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> >> timeout_expected);
> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> >> > +timeout_expected);
> >>
> >> A function prefixed adl_ should indicate it's only needed for adl+.
> >> This change is misleading.
> >>
> >> BR,
> >> Jani.
> >>
> >>
> >> >
> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> >> >  		enum tc_port tc_port;
> >>
> >> --
> >> Jani Nikula, Intel Open Source Graphics Center
> 
> --
> Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 10:51         ` Kandpal, Suraj
@ 2023-04-17 10:56           ` Jani Nikula
  2023-04-17 11:00             ` Kandpal, Suraj
  2023-04-17 11:27             ` Imre Deak
  0 siblings, 2 replies; 45+ messages in thread
From: Jani Nikula @ 2023-04-17 10:56 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx

On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> -----Original Message-----
>> From: Jani Nikula <jani.nikula@linux.intel.com>
>> Sent: Monday, April 17, 2023 4:04 PM
>> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
>> gfx@lists.freedesktop.org
>> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout
>> for Type-C
>> 
>> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
>> >> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
>> >> > Workaround: Increase the timeout.
>> >> >
>> >> > WA_14017248603: adlp
>> >> > Bspec: 55480
>> >> >
>> >> > ---v2
>> >> > -change style on how we mention WA [Ankit] -fix bat error
>> >> >
>> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
>> >> > ---
>> >> >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
>> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
>> >> >
>> >> > diff --git
>> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> > index 62bafcbc7937..52f595929a18 100644
>> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
>> >> drm_i915_private *i915)
>> >> >  		    "succeeded");
>> >> >  }
>> >> >
>> >> > +static void
>> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
>> >> > +				   struct i915_power_well *power_well,
>> >> > +				   bool timeout_expected)
>> >> > +{
>> >> > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
>> >> >regs;
>> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>> >> > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
>> >> > +
>> >> > +	/*
>> >> > +	 * WA_14017248603: adlp
>> >> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
>> >> Enabling.
>> >> > +	 * Increase timeout to 500ms.
>> >> > +	 */
>> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
>> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
>> >> > +
>> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
>> >> > +			drm_dbg_kms(&i915->drm, "%s power well enable
>> >> timeout\n",
>> >> > +				    intel_power_well_name(power_well));
>> >> > +
>> >> > +			drm_WARN_ON(&i915->drm, !timeout_expected);
>> >> > +		}
>> >> > +		return;
>> >> > +	}
>> >> > +
>> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
>> >> timeout_expected);
>> >> > +}
>> >>
>> >> Please don't duplicate the function and the wait like this.
>> >>
>> >> Something like this is sufficient:
>> >>
>> >>
>> >> @@ -252,7 +252,9 @@ static void
>> hsw_wait_for_power_well_enable(struct
>> >> drm_i915_private *dev_priv,
>> >>  					   bool timeout_expected)
>> >>  {
>> >>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
>> >> >regs;
>> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>> >>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
>> >> +	int timeout = 1;
>> >>
>> >>  	/*
>> >>  	 * For some power wells we're not supposed to watch the status bit
>> >> for @@ -264,9 +266,13 @@ static void
>> >> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>> >>  		return;
>> >>  	}
>> >>
>> >> +	/* WA_14017248603: adlp */
>> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
>> >
>> > I did try this but it ends up throwing a kernel null pointer error at
>> > intel_phy_is_tc which made me float the version of code I did.
>> 
>> Please explain what causes it, and how your version avoids it.
>> 
>
> icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called everywhere where its not possible for aux_pw to phy
> conversion is not possible with this change we only get the phy for adls version.
> Will address this is next version.

Cc: Imre for input

Maybe pass the timeout to hsw_wait_for_power_well_enable() as parameter?
Other ideas?

BR,
Jani.

>
> Regards,
> Suraj Kandpal
>> BR,
>> Jani.
>> 
>> 
>> >
>> > Regards,
>> > Suraj Kandpal
>> >> +		timeout = 500;
>> >> +
>> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
>> >> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
>> >> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
>> >> timeout)) {
>> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
>> timeout\n",
>> >>  			    intel_power_well_name(power_well));
>> >>
>> >>
>> >> > +
>> >
>> >> >  static void
>> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>> >> >  				 struct i915_power_well *power_well) @@ -
>> >> 517,7 +545,7 @@
>> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
>> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
>> >> intel_tc_cold_requires_aux_pw(dig_port))
>> >> >  		icl_tc_cold_exit(dev_priv);
>> >> >
>> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
>> >> timeout_expected);
>> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
>> >> > +timeout_expected);
>> >>
>> >> A function prefixed adl_ should indicate it's only needed for adl+.
>> >> This change is misleading.
>> >>
>> >> BR,
>> >> Jani.
>> >>
>> >>
>> >> >
>> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
>> >> >  		enum tc_port tc_port;
>> >>
>> >> --
>> >> Jani Nikula, Intel Open Source Graphics Center
>> 
>> --
>> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 10:56           ` Jani Nikula
@ 2023-04-17 11:00             ` Kandpal, Suraj
  2023-04-17 11:15               ` Jani Nikula
  2023-04-17 11:27             ` Imre Deak
  1 sibling, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17 11:00 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx


drm/i915/display: Increase AUX timeout
> for Type-C
> 
> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> >> -----Original Message-----
> >> From: Jani Nikula <jani.nikula@linux.intel.com>
> >> Sent: Monday, April 17, 2023 4:04 PM
> >> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> >> gfx@lists.freedesktop.org
> >> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX
> >> timeout for Type-C
> >>
> >> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> >> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com>
> wrote:
> >> >> > Type-C PHYs are taking longer than expected for Aux IO Power
> Enabling.
> >> >> > Workaround: Increase the timeout.
> >> >> >
> >> >> > WA_14017248603: adlp
> >> >> > Bspec: 55480
> >> >> >
> >> >> > ---v2
> >> >> > -change style on how we mention WA [Ankit] -fix bat error
> >> >> >
> >> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> >> >> > ---
> >> >> >  .../i915/display/intel_display_power_well.c   | 30
> ++++++++++++++++++-
> >> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
> >> >> >
> >> >> > diff --git
> >> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > index 62bafcbc7937..52f595929a18 100644
> >> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> >> >> drm_i915_private *i915)
> >> >> >  		    "succeeded");
> >> >> >  }
> >> >> >
> >> >> > +static void
> >> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private
> *i915,
> >> >> > +				   struct i915_power_well
> *power_well,
> >> >> > +				   bool timeout_expected)
> >> >> > +{
> >> >> > +	const struct i915_power_well_regs *regs =
> >> >> > +power_well->desc->ops-
> >> >> >regs;
> >> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> >> >> > +	int pw_idx = i915_power_well_instance(power_well)-
> >hsw.idx;
> >> >> > +
> >> >> > +	/*
> >> >> > +	 * WA_14017248603: adlp
> >> >> > +	 * Type-C Phy are taking longer than expected for AUX IO
> Power
> >> >> Enabling.
> >> >> > +	 * Increase timeout to 500ms.
> >> >> > +	 */
> >> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> >> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
> >> >> > +
> >> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> >> >> > +			drm_dbg_kms(&i915->drm, "%s power well
> enable
> >> >> timeout\n",
> >> >> > +
> intel_power_well_name(power_well));
> >> >> > +
> >> >> > +			drm_WARN_ON(&i915->drm,
> !timeout_expected);
> >> >> > +		}
> >> >> > +		return;
> >> >> > +	}
> >> >> > +
> >> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
> >> >> timeout_expected);
> >> >> > +}
> >> >>
> >> >> Please don't duplicate the function and the wait like this.
> >> >>
> >> >> Something like this is sufficient:
> >> >>
> >> >>
> >> >> @@ -252,7 +252,9 @@ static void
> >> hsw_wait_for_power_well_enable(struct
> >> >> drm_i915_private *dev_priv,
> >> >>  					   bool timeout_expected)
> >> >>  {
> >> >>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >> >> >regs;
> >> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> >> >>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> >> >> +	int timeout = 1;
> >> >>
> >> >>  	/*
> >> >>  	 * For some power wells we're not supposed to watch the status
> >> >> bit for @@ -264,9 +266,13 @@ static void
> >> >> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> >> >>  		return;
> >> >>  	}
> >> >>
> >> >> +	/* WA_14017248603: adlp */
> >> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
> >> >
> >> > I did try this but it ends up throwing a kernel null pointer error
> >> > at intel_phy_is_tc which made me float the version of code I did.
> >>
> >> Please explain what causes it, and how your version avoids it.
> >>
> >
> > icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called
> > everywhere where its not possible for aux_pw to phy conversion is not
> possible with this change we only get the phy for adls version.
> > Will address this is next version.
> 
> Cc: Imre for input
> 
> Maybe pass the timeout to hsw_wait_for_power_well_enable() as
> parameter?
> Other ideas?

I did think of that but the idea of disturbing other functions stopped me.
If that doesn't seem like an issue I could do that.

Regards,
Suraj Kandpal
> 
> BR,
> Jani.
> 
> >
> > Regards,
> > Suraj Kandpal
> >> BR,
> >> Jani.
> >>
> >>
> >> >
> >> > Regards,
> >> > Suraj Kandpal
> >> >> +		timeout = 500;
> >> >> +
> >> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> >> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> >> >> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> >> >> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> >> >> timeout)) {
> >> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> >> timeout\n",
> >> >>  			    intel_power_well_name(power_well));
> >> >>
> >> >>
> >> >> > +
> >> >
> >> >> >  static void
> >> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private
> *dev_priv,
> >> >> >  				 struct i915_power_well
> *power_well) @@ -
> >> >> 517,7 +545,7 @@
> >> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private
> *dev_priv,
> >> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> >> >> intel_tc_cold_requires_aux_pw(dig_port))
> >> >> >  		icl_tc_cold_exit(dev_priv);
> >> >> >
> >> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> >> >> timeout_expected);
> >> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> >> >> > +timeout_expected);
> >> >>
> >> >> A function prefixed adl_ should indicate it's only needed for adl+.
> >> >> This change is misleading.
> >> >>
> >> >> BR,
> >> >> Jani.
> >> >>
> >> >>
> >> >> >
> >> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> >> >> >  		enum tc_port tc_port;
> >> >>
> >> >> --
> >> >> Jani Nikula, Intel Open Source Graphics Center
> >>
> >> --
> >> Jani Nikula, Intel Open Source Graphics Center
> 
> --
> Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 11:00             ` Kandpal, Suraj
@ 2023-04-17 11:15               ` Jani Nikula
  0 siblings, 0 replies; 45+ messages in thread
From: Jani Nikula @ 2023-04-17 11:15 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx

On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> drm/i915/display: Increase AUX timeout
>> for Type-C
>> 
>> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> >> -----Original Message-----
>> >> From: Jani Nikula <jani.nikula@linux.intel.com>
>> >> Sent: Monday, April 17, 2023 4:04 PM
>> >> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
>> >> gfx@lists.freedesktop.org
>> >> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX
>> >> timeout for Type-C
>> >>
>> >> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> >> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com>
>> wrote:
>> >> >> > Type-C PHYs are taking longer than expected for Aux IO Power
>> Enabling.
>> >> >> > Workaround: Increase the timeout.
>> >> >> >
>> >> >> > WA_14017248603: adlp
>> >> >> > Bspec: 55480
>> >> >> >
>> >> >> > ---v2
>> >> >> > -change style on how we mention WA [Ankit] -fix bat error
>> >> >> >
>> >> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
>> >> >> > ---
>> >> >> >  .../i915/display/intel_display_power_well.c   | 30
>> ++++++++++++++++++-
>> >> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
>> >> >> >
>> >> >> > diff --git
>> >> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> >> > index 62bafcbc7937..52f595929a18 100644
>> >> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> >> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
>> >> >> drm_i915_private *i915)
>> >> >> >  		    "succeeded");
>> >> >> >  }
>> >> >> >
>> >> >> > +static void
>> >> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private
>> *i915,
>> >> >> > +				   struct i915_power_well
>> *power_well,
>> >> >> > +				   bool timeout_expected)
>> >> >> > +{
>> >> >> > +	const struct i915_power_well_regs *regs =
>> >> >> > +power_well->desc->ops-
>> >> >> >regs;
>> >> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>> >> >> > +	int pw_idx = i915_power_well_instance(power_well)-
>> >hsw.idx;
>> >> >> > +
>> >> >> > +	/*
>> >> >> > +	 * WA_14017248603: adlp
>> >> >> > +	 * Type-C Phy are taking longer than expected for AUX IO
>> Power
>> >> >> Enabling.
>> >> >> > +	 * Increase timeout to 500ms.
>> >> >> > +	 */
>> >> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
>> >> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
>> >> >> > +
>> >> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
>> >> >> > +			drm_dbg_kms(&i915->drm, "%s power well
>> enable
>> >> >> timeout\n",
>> >> >> > +
>> intel_power_well_name(power_well));
>> >> >> > +
>> >> >> > +			drm_WARN_ON(&i915->drm,
>> !timeout_expected);
>> >> >> > +		}
>> >> >> > +		return;
>> >> >> > +	}
>> >> >> > +
>> >> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
>> >> >> timeout_expected);
>> >> >> > +}
>> >> >>
>> >> >> Please don't duplicate the function and the wait like this.
>> >> >>
>> >> >> Something like this is sufficient:
>> >> >>
>> >> >>
>> >> >> @@ -252,7 +252,9 @@ static void
>> >> hsw_wait_for_power_well_enable(struct
>> >> >> drm_i915_private *dev_priv,
>> >> >>  					   bool timeout_expected)
>> >> >>  {
>> >> >>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
>> >> >> >regs;
>> >> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
>> >> >>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
>> >> >> +	int timeout = 1;
>> >> >>
>> >> >>  	/*
>> >> >>  	 * For some power wells we're not supposed to watch the status
>> >> >> bit for @@ -264,9 +266,13 @@ static void
>> >> >> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>> >> >>  		return;
>> >> >>  	}
>> >> >>
>> >> >> +	/* WA_14017248603: adlp */
>> >> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
>> >> >
>> >> > I did try this but it ends up throwing a kernel null pointer error
>> >> > at intel_phy_is_tc which made me float the version of code I did.
>> >>
>> >> Please explain what causes it, and how your version avoids it.
>> >>
>> >
>> > icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called
>> > everywhere where its not possible for aux_pw to phy conversion is not
>> possible with this change we only get the phy for adls version.
>> > Will address this is next version.
>> 
>> Cc: Imre for input
>> 
>> Maybe pass the timeout to hsw_wait_for_power_well_enable() as
>> parameter?
>> Other ideas?
>
> I did think of that but the idea of disturbing other functions stopped me.
> If that doesn't seem like an issue I could do that.

Please let Imre chime in first.

But in general we don't shy away from changes touching other places if
it makes sense, and keeps the code clean.

BR,
Jani.



>
> Regards,
> Suraj Kandpal
>> 
>> BR,
>> Jani.
>> 
>> >
>> > Regards,
>> > Suraj Kandpal
>> >> BR,
>> >> Jani.
>> >>
>> >>
>> >> >
>> >> > Regards,
>> >> > Suraj Kandpal
>> >> >> +		timeout = 500;
>> >> >> +
>> >> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>> >> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
>> >> >> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
>> >> >> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
>> >> >> timeout)) {
>> >> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
>> >> timeout\n",
>> >> >>  			    intel_power_well_name(power_well));
>> >> >>
>> >> >>
>> >> >> > +
>> >> >
>> >> >> >  static void
>> >> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private
>> *dev_priv,
>> >> >> >  				 struct i915_power_well
>> *power_well) @@ -
>> >> >> 517,7 +545,7 @@
>> >> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private
>> *dev_priv,
>> >> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
>> >> >> intel_tc_cold_requires_aux_pw(dig_port))
>> >> >> >  		icl_tc_cold_exit(dev_priv);
>> >> >> >
>> >> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
>> >> >> timeout_expected);
>> >> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
>> >> >> > +timeout_expected);
>> >> >>
>> >> >> A function prefixed adl_ should indicate it's only needed for adl+.
>> >> >> This change is misleading.
>> >> >>
>> >> >> BR,
>> >> >> Jani.
>> >> >>
>> >> >>
>> >> >> >
>> >> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
>> >> >> >  		enum tc_port tc_port;
>> >> >>
>> >> >> --
>> >> >> Jani Nikula, Intel Open Source Graphics Center
>> >>
>> >> --
>> >> Jani Nikula, Intel Open Source Graphics Center
>> 
>> --
>> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 10:56           ` Jani Nikula
  2023-04-17 11:00             ` Kandpal, Suraj
@ 2023-04-17 11:27             ` Imre Deak
  2023-04-17 11:39               ` Kandpal, Suraj
  2023-04-17 11:43               ` Kandpal, Suraj
  1 sibling, 2 replies; 45+ messages in thread
From: Imre Deak @ 2023-04-17 11:27 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Mon, Apr 17, 2023 at 01:56:12PM +0300, Jani Nikula wrote:
> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> >> -----Original Message-----
> >> From: Jani Nikula <jani.nikula@linux.intel.com>
> >> Sent: Monday, April 17, 2023 4:04 PM
> >> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> >> gfx@lists.freedesktop.org
> >> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout
> >> for Type-C
> >> 
> >> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> >> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
> >> >> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> >> >> > Workaround: Increase the timeout.
> >> >> >
> >> >> > WA_14017248603: adlp
> >> >> > Bspec: 55480
> >> >> >
> >> >> > ---v2
> >> >> > -change style on how we mention WA [Ankit] -fix bat error
> >> >> >
> >> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> >> >> > ---
> >> >> >  .../i915/display/intel_display_power_well.c   | 30 ++++++++++++++++++-
> >> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
> >> >> >
> >> >> > diff --git
> >> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > index 62bafcbc7937..52f595929a18 100644
> >> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> >> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> >> >> drm_i915_private *i915)
> >> >> >  		    "succeeded");
> >> >> >  }
> >> >> >
> >> >> > +static void
> >> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private *i915,
> >> >> > +				   struct i915_power_well *power_well,
> >> >> > +				   bool timeout_expected)
> >> >> > +{
> >> >> > +	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >> >> >regs;
> >> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> >> >> > +	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> >> >> > +
> >> >> > +	/*
> >> >> > +	 * WA_14017248603: adlp
> >> >> > +	 * Type-C Phy are taking longer than expected for AUX IO Power
> >> >> Enabling.
> >> >> > +	 * Increase timeout to 500ms.
> >> >> > +	 */
> >> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> >> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
> >> >> > +
> >> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> >> >> > +			drm_dbg_kms(&i915->drm, "%s power well enable
> >> >> timeout\n",
> >> >> > +				    intel_power_well_name(power_well));
> >> >> > +
> >> >> > +			drm_WARN_ON(&i915->drm, !timeout_expected);
> >> >> > +		}
> >> >> > +		return;
> >> >> > +	}
> >> >> > +
> >> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
> >> >> timeout_expected);
> >> >> > +}
> >> >>
> >> >> Please don't duplicate the function and the wait like this.
> >> >>
> >> >> Something like this is sufficient:
> >> >>
> >> >>
> >> >> @@ -252,7 +252,9 @@ static void
> >> hsw_wait_for_power_well_enable(struct
> >> >> drm_i915_private *dev_priv,
> >> >>  					   bool timeout_expected)
> >> >>  {
> >> >>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >> >> >regs;
> >> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> >> >>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> >> >> +	int timeout = 1;
> >> >>
> >> >>  	/*
> >> >>  	 * For some power wells we're not supposed to watch the status bit
> >> >> for @@ -264,9 +266,13 @@ static void
> >> >> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> >> >>  		return;
> >> >>  	}
> >> >>
> >> >> +	/* WA_14017248603: adlp */
> >> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
> >> >
> >> > I did try this but it ends up throwing a kernel null pointer error at
> >> > intel_phy_is_tc which made me float the version of code I did.
> >> 
> >> Please explain what causes it, and how your version avoids it.
> >> 
> >
> > icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called everywhere where its not possible for aux_pw to phy
> > conversion is not possible with this change we only get the phy for adls version.
> > Will address this is next version.
> 
> Cc: Imre for input
> 
> Maybe pass the timeout to hsw_wait_for_power_well_enable() as parameter?
> Other ideas?

Adding a non-default enable_timeout to the power well descriptor would
avoid adding more platform checks:

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
index 6645eb1911d85..8ca1f34be14c2 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
@@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 			I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
 			I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
 			I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
+		),
+		.ops = &icl_aux_power_well_ops,
+		.fixed_enable_delay = true,
+	}, {
+		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
 			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
 			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
 			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
 		),
 		.ops = &icl_aux_power_well_ops,
-		.fixed_enable_delay = true,
+		.enable_timeout = 500,
 	}, {
 		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937c..930a42c825c36 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = power_well->desc->enable_timeout ? : 1;

 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,

 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
index ba7cb977e7c7f..fd5acf68503e1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
@@ -110,6 +110,8 @@ struct i915_power_well_desc {
 	 * Thunderbolt mode.
 	 */
 	u16 is_tc_tbt:1;
+	/* Enable timeout if bigger than the default 1ms. */
+	u16 enable_timeout;
 };

 struct i915_power_well {

> BR,
> Jani.
> 
> >
> > Regards,
> > Suraj Kandpal
> >> BR,
> >> Jani.
> >> 
> >> 
> >> >
> >> > Regards,
> >> > Suraj Kandpal
> >> >> +		timeout = 500;
> >> >> +
> >> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> >> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> >> >> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> >> >> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> >> >> timeout)) {
> >> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> >> timeout\n",
> >> >>  			    intel_power_well_name(power_well));
> >> >>
> >> >>
> >> >> > +
> >> >
> >> >> >  static void
> >> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >> >> >  				 struct i915_power_well *power_well) @@ -
> >> >> 517,7 +545,7 @@
> >> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
> >> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> >> >> intel_tc_cold_requires_aux_pw(dig_port))
> >> >> >  		icl_tc_cold_exit(dev_priv);
> >> >> >
> >> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> >> >> timeout_expected);
> >> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> >> >> > +timeout_expected);
> >> >>
> >> >> A function prefixed adl_ should indicate it's only needed for adl+.
> >> >> This change is misleading.
> >> >>
> >> >> BR,
> >> >> Jani.
> >> >>
> >> >>
> >> >> >
> >> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> >> >> >  		enum tc_port tc_port;
> >> >>
> >> >> --
> >> >> Jani Nikula, Intel Open Source Graphics Center
> >> 
> >> --
> >> Jani Nikula, Intel Open Source Graphics Center
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 11:27             ` Imre Deak
@ 2023-04-17 11:39               ` Kandpal, Suraj
  2023-04-17 11:43               ` Kandpal, Suraj
  1 sibling, 0 replies; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17 11:39 UTC (permalink / raw)
  To: Deak, Imre, Jani Nikula; +Cc: intel-gfx

> 
> On Mon, Apr 17, 2023 at 01:56:12PM +0300, Jani Nikula wrote:
> > On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> > >> -----Original Message-----
> > >> From: Jani Nikula <jani.nikula@linux.intel.com>
> > >> Sent: Monday, April 17, 2023 4:04 PM
> > >> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> > >> gfx@lists.freedesktop.org
> > >> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX
> > >> timeout for Type-C
> > >>
> > >> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com>
> wrote:
> > >> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com>
> wrote:
> > >> >> > Type-C PHYs are taking longer than expected for Aux IO Power
> Enabling.
> > >> >> > Workaround: Increase the timeout.
> > >> >> >
> > >> >> > WA_14017248603: adlp
> > >> >> > Bspec: 55480
> > >> >> >
> > >> >> > ---v2
> > >> >> > -change style on how we mention WA [Ankit] -fix bat error
> > >> >> >
> > >> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > >> >> > ---
> > >> >> >  .../i915/display/intel_display_power_well.c   | 30
> ++++++++++++++++++-
> > >> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
> > >> >> >
> > >> >> > diff --git
> > >> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > index 62bafcbc7937..52f595929a18 100644
> > >> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> > >> >> drm_i915_private *i915)
> > >> >> >  		    "succeeded");
> > >> >> >  }
> > >> >> >
> > >> >> > +static void
> > >> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private
> *i915,
> > >> >> > +				   struct i915_power_well
> *power_well,
> > >> >> > +				   bool timeout_expected) {
> > >> >> > +	const struct i915_power_well_regs *regs =
> > >> >> > +power_well->desc->ops-
> > >> >> >regs;
> > >> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > >> >> > +	int pw_idx = i915_power_well_instance(power_well)-
> >hsw.idx;
> > >> >> > +
> > >> >> > +	/*
> > >> >> > +	 * WA_14017248603: adlp
> > >> >> > +	 * Type-C Phy are taking longer than expected for AUX IO
> > >> >> > +Power
> > >> >> Enabling.
> > >> >> > +	 * Increase timeout to 500ms.
> > >> >> > +	 */
> > >> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> > >> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
> > >> >> > +
> > >> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> > >> >> > +			drm_dbg_kms(&i915->drm, "%s power well
> enable
> > >> >> timeout\n",
> > >> >> > +
> intel_power_well_name(power_well));
> > >> >> > +
> > >> >> > +			drm_WARN_ON(&i915->drm,
> !timeout_expected);
> > >> >> > +		}
> > >> >> > +		return;
> > >> >> > +	}
> > >> >> > +
> > >> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
> > >> >> timeout_expected);
> > >> >> > +}
> > >> >>
> > >> >> Please don't duplicate the function and the wait like this.
> > >> >>
> > >> >> Something like this is sufficient:
> > >> >>
> > >> >>
> > >> >> @@ -252,7 +252,9 @@ static void
> > >> hsw_wait_for_power_well_enable(struct
> > >> >> drm_i915_private *dev_priv,
> > >> >>  					   bool timeout_expected)
> > >> >>  {
> > >> >>  	const struct i915_power_well_regs *regs =
> > >> >> power_well->desc->ops-
> > >> >> >regs;
> > >> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > >> >>  	int pw_idx = i915_power_well_instance(power_well)-
> >hsw.idx;
> > >> >> +	int timeout = 1;
> > >> >>
> > >> >>  	/*
> > >> >>  	 * For some power wells we're not supposed to watch the
> status
> > >> >> bit for @@ -264,9 +266,13 @@ static void
> > >> >> hsw_wait_for_power_well_enable(struct drm_i915_private
> *dev_priv,
> > >> >>  		return;
> > >> >>  	}
> > >> >>
> > >> >> +	/* WA_14017248603: adlp */
> > >> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
> > >> >
> > >> > I did try this but it ends up throwing a kernel null pointer
> > >> > error at intel_phy_is_tc which made me float the version of code I did.
> > >>
> > >> Please explain what causes it, and how your version avoids it.
> > >>
> > >
> > > icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called
> > > everywhere where its not possible for aux_pw to phy conversion is not
> possible with this change we only get the phy for adls version.
> > > Will address this is next version.
> >
> > Cc: Imre for input
> >
> > Maybe pass the timeout to hsw_wait_for_power_well_enable() as
> parameter?
> > Other ideas?
> 
> Adding a non-default enable_timeout to the power well descriptor would
> avoid adding more platform checks:
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index 6645eb1911d85..8ca1f34be14c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc
> xelpd_power_wells_main[] = {
>  			I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx =
> ICL_PW_CTL_IDX_AUX_C),
>  			I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx =
> XELPD_PW_CTL_IDX_AUX_D),
>  			I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx =
> XELPD_PW_CTL_IDX_AUX_E),
> +		),
> +		.ops = &icl_aux_power_well_ops,
> +		.fixed_enable_delay = true,
> +	}, {
> +		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
>  			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
>  			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
>  			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
>  		),
>  		.ops = &icl_aux_power_well_ops,
> -		.fixed_enable_delay = true,
> +		.enable_timeout = 500,
>  	}, {
>  		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937c..930a42c825c36 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct
> drm_i915_private *dev_priv,  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = power_well->desc->enable_timeout ? : 1;
> 
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit
> for @@ -266,7 +267,7 @@ static void
> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> 
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
>  			    intel_power_well_name(power_well));
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> index ba7cb977e7c7f..fd5acf68503e1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>  	 * Thunderbolt mode.
>  	 */
>  	u16 is_tc_tbt:1;
> +	/* Enable timeout if bigger than the default 1ms. */
> +	u16 enable_timeout;
>  };
> 
>  struct i915_power_well {
> 

This looks better we can go ahead with this what do you say Jani

Regards,
Suraj Kandpal
> > BR,
> > Jani.
> >
> > >
> > > Regards,
> > > Suraj Kandpal
> > >> BR,
> > >> Jani.
> > >>
> > >>
> > >> >
> > >> > Regards,
> > >> > Suraj Kandpal
> > >> >> +		timeout = 500;
> > >> >> +
> > >> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20
> us. */
> > >> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> > >> >> -
> HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > >> >> +
> HSW_PWR_WELL_CTL_STATE(pw_idx),
> > >> >> timeout)) {
> > >> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well
> enable
> > >> timeout\n",
> > >> >>  			    intel_power_well_name(power_well));
> > >> >>
> > >> >>
> > >> >> > +
> > >> >
> > >> >> >  static void
> > >> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private
> *dev_priv,
> > >> >> >  				 struct i915_power_well
> *power_well) @@ -
> > >> >> 517,7 +545,7 @@
> > >> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private
> *dev_priv,
> > >> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> > >> >> intel_tc_cold_requires_aux_pw(dig_port))
> > >> >> >  		icl_tc_cold_exit(dev_priv);
> > >> >> >
> > >> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> > >> >> timeout_expected);
> > >> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> > >> >> > +timeout_expected);
> > >> >>
> > >> >> A function prefixed adl_ should indicate it's only needed for adl+.
> > >> >> This change is misleading.
> > >> >>
> > >> >> BR,
> > >> >> Jani.
> > >> >>
> > >> >>
> > >> >> >
> > >> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> > >> >> >  		enum tc_port tc_port;
> > >> >>
> > >> >> --
> > >> >> Jani Nikula, Intel Open Source Graphics Center
> > >>
> > >> --
> > >> Jani Nikula, Intel Open Source Graphics Center
> >
> > --
> > Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 11:27             ` Imre Deak
  2023-04-17 11:39               ` Kandpal, Suraj
@ 2023-04-17 11:43               ` Kandpal, Suraj
  2023-04-17 11:53                 ` Imre Deak
  1 sibling, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17 11:43 UTC (permalink / raw)
  To: Deak, Imre, Jani Nikula; +Cc: intel-gfx



> -----Original Message-----
> From: Deak, Imre <imre.deak@intel.com>
> Sent: Monday, April 17, 2023 4:58 PM
> To: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout
> for Type-C
> 
> On Mon, Apr 17, 2023 at 01:56:12PM +0300, Jani Nikula wrote:
> > On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> > >> -----Original Message-----
> > >> From: Jani Nikula <jani.nikula@linux.intel.com>
> > >> Sent: Monday, April 17, 2023 4:04 PM
> > >> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-
> > >> gfx@lists.freedesktop.org
> > >> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX
> > >> timeout for Type-C
> > >>
> > >> On Mon, 17 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com>
> wrote:
> > >> >> On Wed, 05 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com>
> wrote:
> > >> >> > Type-C PHYs are taking longer than expected for Aux IO Power
> Enabling.
> > >> >> > Workaround: Increase the timeout.
> > >> >> >
> > >> >> > WA_14017248603: adlp
> > >> >> > Bspec: 55480
> > >> >> >
> > >> >> > ---v2
> > >> >> > -change style on how we mention WA [Ankit] -fix bat error
> > >> >> >
> > >> >> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > >> >> > ---
> > >> >> >  .../i915/display/intel_display_power_well.c   | 30
> ++++++++++++++++++-
> > >> >> >  1 file changed, 29 insertions(+), 1 deletion(-)
> > >> >> >
> > >> >> > diff --git
> > >> >> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > index 62bafcbc7937..52f595929a18 100644
> > >> >> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > >> >> > @@ -489,6 +489,34 @@ static void icl_tc_cold_exit(struct
> > >> >> drm_i915_private *i915)
> > >> >> >  		    "succeeded");
> > >> >> >  }
> > >> >> >
> > >> >> > +static void
> > >> >> > +adl_aux_wait_for_power_well_enable(struct drm_i915_private
> *i915,
> > >> >> > +				   struct i915_power_well
> *power_well,
> > >> >> > +				   bool timeout_expected) {
> > >> >> > +	const struct i915_power_well_regs *regs =
> > >> >> > +power_well->desc->ops-
> > >> >> >regs;
> > >> >> > +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > >> >> > +	int pw_idx = i915_power_well_instance(power_well)-
> >hsw.idx;
> > >> >> > +
> > >> >> > +	/*
> > >> >> > +	 * WA_14017248603: adlp
> > >> >> > +	 * Type-C Phy are taking longer than expected for AUX IO
> > >> >> > +Power
> > >> >> Enabling.
> > >> >> > +	 * Increase timeout to 500ms.
> > >> >> > +	 */
> > >> >> > +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy)) {
> > >> >> > +		if (intel_de_wait_for_set(i915, regs->driver,
> > >> >> > +
> > >> >> HSW_PWR_WELL_CTL_STATE(pw_idx), 500)) {
> > >> >> > +			drm_dbg_kms(&i915->drm, "%s power well
> enable
> > >> >> timeout\n",
> > >> >> > +
> intel_power_well_name(power_well));
> > >> >> > +
> > >> >> > +			drm_WARN_ON(&i915->drm,
> !timeout_expected);
> > >> >> > +		}
> > >> >> > +		return;
> > >> >> > +	}
> > >> >> > +
> > >> >> > +	hsw_wait_for_power_well_enable(i915, power_well,
> > >> >> timeout_expected);
> > >> >> > +}
> > >> >>
> > >> >> Please don't duplicate the function and the wait like this.
> > >> >>
> > >> >> Something like this is sufficient:
> > >> >>
> > >> >>
> > >> >> @@ -252,7 +252,9 @@ static void
> > >> hsw_wait_for_power_well_enable(struct
> > >> >> drm_i915_private *dev_priv,
> > >> >>  					   bool timeout_expected)
> > >> >>  {
> > >> >>  	const struct i915_power_well_regs *regs =
> > >> >> power_well->desc->ops-
> > >> >> >regs;
> > >> >> +	enum phy phy = icl_aux_pw_to_phy(i915, power_well);
> > >> >>  	int pw_idx = i915_power_well_instance(power_well)-
> >hsw.idx;
> > >> >> +	int timeout = 1;
> > >> >>
> > >> >>  	/*
> > >> >>  	 * For some power wells we're not supposed to watch the
> status
> > >> >> bit for @@ -264,9 +266,13 @@ static void
> > >> >> hsw_wait_for_power_well_enable(struct drm_i915_private
> *dev_priv,
> > >> >>  		return;
> > >> >>  	}
> > >> >>
> > >> >> +	/* WA_14017248603: adlp */
> > >> >> +	if (IS_ALDERLAKE_P(i915) && intel_phy_is_tc(i915, phy))
> > >> >
> > >> > I did try this but it ends up throwing a kernel null pointer
> > >> > error at intel_phy_is_tc which made me float the version of code I did.
> > >>
> > >> Please explain what causes it, and how your version avoids it.
> > >>
> > >
> > > icl_aux_pw_to_phy is called is hsw_wait_for_power_well is called
> > > everywhere where its not possible for aux_pw to phy conversion is not
> possible with this change we only get the phy for adls version.
> > > Will address this is next version.
> >
> > Cc: Imre for input
> >
> > Maybe pass the timeout to hsw_wait_for_power_well_enable() as
> parameter?
> > Other ideas?
> 
> Adding a non-default enable_timeout to the power well descriptor would
> avoid adding more platform checks:
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index 6645eb1911d85..8ca1f34be14c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc
> xelpd_power_wells_main[] = {
>  			I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx =
> ICL_PW_CTL_IDX_AUX_C),
>  			I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx =
> XELPD_PW_CTL_IDX_AUX_D),
>  			I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx =
> XELPD_PW_CTL_IDX_AUX_E),
> +		),
> +		.ops = &icl_aux_power_well_ops,
> +		.fixed_enable_delay = true,
> +	}, {
> +		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
>  			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
>  			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
>  			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
>  		),
>  		.ops = &icl_aux_power_well_ops,
> -		.fixed_enable_delay = true,
> +		.enable_timeout = 500,
>  	}, {
>  		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937c..930a42c825c36 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct
> drm_i915_private *dev_priv,  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = power_well->desc->enable_timeout ? : 1;
> 
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit
> for @@ -266,7 +267,7 @@ static void
> hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> 
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
>  			    intel_power_well_name(power_well));
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> index ba7cb977e7c7f..fd5acf68503e1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>  	 * Thunderbolt mode.
>  	 */
>  	u16 is_tc_tbt:1;
> +	/* Enable timeout if bigger than the default 1ms. */
> +	u16 enable_timeout;
>  };
> 

How would we make sure that this timeout only applies to ADLS in that case as that's whom the workaround is for?

Regards,
Suraj Kandpal
>  struct i915_power_well {
> 
> > BR,
> > Jani.
> >
> > >
> > > Regards,
> > > Suraj Kandpal
> > >> BR,
> > >> Jani.
> > >>
> > >>
> > >> >
> > >> > Regards,
> > >> > Suraj Kandpal
> > >> >> +		timeout = 500;
> > >> >> +
> > >> >>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20
> us. */
> > >> >>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> > >> >> -
> HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > >> >> +
> HSW_PWR_WELL_CTL_STATE(pw_idx),
> > >> >> timeout)) {
> > >> >>  		drm_dbg_kms(&dev_priv->drm, "%s power well
> enable
> > >> timeout\n",
> > >> >>  			    intel_power_well_name(power_well));
> > >> >>
> > >> >>
> > >> >> > +
> > >> >
> > >> >> >  static void
> > >> >> >  icl_tc_phy_aux_power_well_enable(struct drm_i915_private
> *dev_priv,
> > >> >> >  				 struct i915_power_well
> *power_well) @@ -
> > >> >> 517,7 +545,7 @@
> > >> >> > icl_tc_phy_aux_power_well_enable(struct drm_i915_private
> *dev_priv,
> > >> >> >  	if (DISPLAY_VER(dev_priv) == 11 &&
> > >> >> intel_tc_cold_requires_aux_pw(dig_port))
> > >> >> >  		icl_tc_cold_exit(dev_priv);
> > >> >> >
> > >> >> > -	hsw_wait_for_power_well_enable(dev_priv, power_well,
> > >> >> timeout_expected);
> > >> >> > +	adl_aux_wait_for_power_well_enable(dev_priv, power_well,
> > >> >> > +timeout_expected);
> > >> >>
> > >> >> A function prefixed adl_ should indicate it's only needed for adl+.
> > >> >> This change is misleading.
> > >> >>
> > >> >> BR,
> > >> >> Jani.
> > >> >>
> > >> >>
> > >> >> >
> > >> >> >  	if (DISPLAY_VER(dev_priv) >= 12 && !is_tbt) {
> > >> >> >  		enum tc_port tc_port;
> > >> >>
> > >> >> --
> > >> >> Jani Nikula, Intel Open Source Graphics Center
> > >>
> > >> --
> > >> Jani Nikula, Intel Open Source Graphics Center
> >
> > --
> > Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 11:43               ` Kandpal, Suraj
@ 2023-04-17 11:53                 ` Imre Deak
  2023-04-17 12:25                   ` Kandpal, Suraj
  0 siblings, 1 reply; 45+ messages in thread
From: Imre Deak @ 2023-04-17 11:53 UTC (permalink / raw)
  To: Kandpal, Suraj; +Cc: intel-gfx

On Mon, Apr 17, 2023 at 02:43:25PM +0300, Kandpal, Suraj wrote:
> > [...]
> > Adding a non-default enable_timeout to the power well descriptor would
> > avoid adding more platform checks:
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > index 6645eb1911d85..8ca1f34be14c2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc
> > xelpd_power_wells_main[] = {
> >                       I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
> >                       I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
> >                       I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
> > +             ),
> > +             .ops = &icl_aux_power_well_ops,
> > +             .fixed_enable_delay = true,
> > +     }, {
> > +             .instances = &I915_PW_INSTANCES(
> >                       I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> >                       I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> >                       I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> >                       I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> >               ),
> >               .ops = &icl_aux_power_well_ops,
> > -             .fixed_enable_delay = true,
> > +             .enable_timeout = 500,
> >       }, {
> >               .instances = &I915_PW_INSTANCES(
> >                       I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> > .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > index 62bafcbc7937c..930a42c825c36 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct
> > drm_i915_private *dev_priv,  {
> >       const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
> >       int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > +     int timeout = power_well->desc->enable_timeout ? : 1;
> >
> >       /*
> >        * For some power wells we're not supposed to watch the status bit
> > for @@ -266,7 +267,7 @@ static void
> > hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> >
> >       /* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> >       if (intel_de_wait_for_set(dev_priv, regs->driver,
> > -                               HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > +                               HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
> >               drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
> >                           intel_power_well_name(power_well));
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > index ba7cb977e7c7f..fd5acf68503e1 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > @@ -110,6 +110,8 @@ struct i915_power_well_desc {
> >        * Thunderbolt mode.
> >        */
> >       u16 is_tc_tbt:1;
> > +     /* Enable timeout if bigger than the default 1ms. */
> > +     u16 enable_timeout;
> >  };
> >
> 
> How would we make sure that this timeout only applies to ADLS in that
> case as that's whom the workaround is for?

The HSD is for display 13 ADL, that is ADL-P/M/N. The ADL-S power wells
are described separately in adls_power_wells.

--Imre

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 11:53                 ` Imre Deak
@ 2023-04-17 12:25                   ` Kandpal, Suraj
  2023-04-17 12:29                     ` Imre Deak
  0 siblings, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-17 12:25 UTC (permalink / raw)
  To: Deak, Imre; +Cc: intel-gfx

> 
> On Mon, Apr 17, 2023 at 02:43:25PM +0300, Kandpal, Suraj wrote:
> > > [...]
> > > Adding a non-default enable_timeout to the power well descriptor
> > > would avoid adding more platform checks:
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > index 6645eb1911d85..8ca1f34be14c2 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc
> > > xelpd_power_wells_main[] = {
> > >                       I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx =
> ICL_PW_CTL_IDX_AUX_C),
> > >                       I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx =
> XELPD_PW_CTL_IDX_AUX_D),
> > >                       I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx =
> > > XELPD_PW_CTL_IDX_AUX_E),
> > > +             ),
> > > +             .ops = &icl_aux_power_well_ops,
> > > +             .fixed_enable_delay = true,
> > > +     }, {
> > > +             .instances = &I915_PW_INSTANCES(
> > >                       I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx =
> TGL_PW_CTL_IDX_AUX_TC1),
> > >                       I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx =
> TGL_PW_CTL_IDX_AUX_TC2),
> > >                       I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx =
> TGL_PW_CTL_IDX_AUX_TC3),
> > >                       I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx =
> TGL_PW_CTL_IDX_AUX_TC4),
> > >               ),
> > >               .ops = &icl_aux_power_well_ops,
> > > -             .fixed_enable_delay = true,
> > > +             .enable_timeout = 500,
> > >       }, {
> > >               .instances = &I915_PW_INSTANCES(
> > >                       I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> > > .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> > > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > index 62bafcbc7937c..930a42c825c36 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > @@ -253,6 +253,7 @@ static void
> > > hsw_wait_for_power_well_enable(struct
> > > drm_i915_private *dev_priv,  {
> > >       const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
> > >       int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > > +     int timeout = power_well->desc->enable_timeout ? : 1;
> > >
> > >       /*
> > >        * For some power wells we're not supposed to watch the status
> > > bit for @@ -266,7 +267,7 @@ static void
> > > hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> > >
> > >       /* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> > >       if (intel_de_wait_for_set(dev_priv, regs->driver,
> > > -                               HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > > +                               HSW_PWR_WELL_CTL_STATE(pw_idx),
> > > + timeout)) {
> > >               drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
> > >                           intel_power_well_name(power_well));
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > index ba7cb977e7c7f..fd5acf68503e1 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > @@ -110,6 +110,8 @@ struct i915_power_well_desc {
> > >        * Thunderbolt mode.
> > >        */
> > >       u16 is_tc_tbt:1;
> > > +     /* Enable timeout if bigger than the default 1ms. */
> > > +     u16 enable_timeout;
> > >  };
> > >
> >
> > How would we make sure that this timeout only applies to ADLS in that
> > case as that's whom the workaround is for?
> 
> The HSD is for display 13 ADL, that is ADL-P/M/N. The ADL-S power wells are
> described separately in adls_power_wells.

Right sorry meant ADLP so how do we make sure this is enabled only for the required
Display version

Regards,
Suraj Kandpal
> 
> --Imre

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 12:25                   ` Kandpal, Suraj
@ 2023-04-17 12:29                     ` Imre Deak
  2023-04-18  5:02                       ` Kandpal, Suraj
  0 siblings, 1 reply; 45+ messages in thread
From: Imre Deak @ 2023-04-17 12:29 UTC (permalink / raw)
  To: Kandpal, Suraj; +Cc: intel-gfx

On Mon, Apr 17, 2023 at 03:25:34PM +0300, Kandpal, Suraj wrote:
> >
> > On Mon, Apr 17, 2023 at 02:43:25PM +0300, Kandpal, Suraj wrote:
> > > > [...]
> > > > Adding a non-default enable_timeout to the power well descriptor
> > > > would avoid adding more platform checks:
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > index 6645eb1911d85..8ca1f34be14c2 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
> > > >                       I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
> > > >                       I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
> > > >                       I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
> > > > +             ),
> > > > +             .ops = &icl_aux_power_well_ops,
> > > > +             .fixed_enable_delay = true,
> > > > +     }, {
> > > > +             .instances = &I915_PW_INSTANCES(
> > > >                       I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> > > >                       I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> > > >                       I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> > > >                       I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> > > >               ),
> > > >               .ops = &icl_aux_power_well_ops,
> > > > -             .fixed_enable_delay = true,
> > > > +             .enable_timeout = 500,
> > > >       }, {
> > > >               .instances = &I915_PW_INSTANCES(
> > > >                       I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> > > > .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> > > > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > index 62bafcbc7937c..930a42c825c36 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > @@ -253,6 +253,7 @@ static void
> > > > hsw_wait_for_power_well_enable(struct
> > > > drm_i915_private *dev_priv,  {
> > > >       const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
> > > >       int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > > > +     int timeout = power_well->desc->enable_timeout ? : 1;
> > > >
> > > >       /*
> > > >        * For some power wells we're not supposed to watch the status
> > > > bit for @@ -266,7 +267,7 @@ static void
> > > > hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> > > >
> > > >       /* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> > > >       if (intel_de_wait_for_set(dev_priv, regs->driver,
> > > > -                               HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > > > +                               HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
> > > >               drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
> > > >                           intel_power_well_name(power_well));
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > index ba7cb977e7c7f..fd5acf68503e1 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > @@ -110,6 +110,8 @@ struct i915_power_well_desc {
> > > >        * Thunderbolt mode.
> > > >        */
> > > >       u16 is_tc_tbt:1;
> > > > +     /* Enable timeout if bigger than the default 1ms. */
> > > > +     u16 enable_timeout;
> > > >  };
> > > >
> > >
> > > How would we make sure that this timeout only applies to ADLS in that
> > > case as that's whom the workaround is for?
> >
> > The HSD is for display 13 ADL, that is ADL-P/M/N. The ADL-S power wells are
> > described separately in adls_power_wells.
> 
> Right sorry meant ADLP so how do we make sure this is enabled only for the required
> Display version

It is enabled only for those. xelpd_power_wells_main is used by display 13 platforms.

> Regards,
> Suraj Kandpal
> >
> > --Imre

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev3)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (5 preceding siblings ...)
  2023-04-06 10:48 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2023-04-17 15:24 ` Patchwork
  2023-04-17 15:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-17 15:24 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev3)
URL   : https://patchwork.freedesktop.org/series/116010/
State : warning

== Summary ==

Error: dim checkpatch failed
d7a532aae02a drm/i915/display: Increase AUX timeout for Type-C
-:13: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#13: 
> >> Subject: RE: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout

-:193: CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#193: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1385:
+		.instances = &I915_PW_INSTANCES(

-:238: ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

total: 1 errors, 1 warnings, 1 checks, 42 lines checked



^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Increase AUX timeout for Type-C (rev3)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (6 preceding siblings ...)
  2023-04-17 15:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev3) Patchwork
@ 2023-04-17 15:37 ` Patchwork
  2023-04-17 23:30 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-17 15:37 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 11518 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev3)
URL   : https://patchwork.freedesktop.org/series/116010/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13020 -> Patchwork_116010v3
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/index.html

Participating hosts (35 -> 37)
------------------------------

  Additional (3): fi-kbl-soraka fi-tgl-1115g4 bat-adls-5 
  Missing    (1): fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_116010v3 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-adls-5:         NOTRUN -> [SKIP][1] ([i915#7456])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@debugfs_test@basic-hwmon.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][2] ([i915#7456])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@debugfs_test@basic-hwmon.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - bat-rpls-1:         NOTRUN -> [ABORT][3] ([i915#6687] / [i915#7978])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_huc_copy@huc-copy:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][4] ([i915#2190])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@gem_huc_copy@huc-copy.html
    - fi-kbl-soraka:      NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#2190])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#4613]) +3 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][7] ([i915#4613]) +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@random-engines:
    - bat-adls-5:         NOTRUN -> [SKIP][8] ([i915#4613]) +3 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_tiled_pread_basic:
    - bat-adls-5:         NOTRUN -> [SKIP][9] ([i915#3282])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][10] ([i915#7561])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][11] ([i915#1886])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@hangcheck:
    - bat-adls-5:         NOTRUN -> [DMESG-WARN][12] ([i915#5591])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@migrate:
    - bat-dg2-11:         [PASS][13] -> [DMESG-WARN][14] ([i915#7699])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-dg2-11/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@mman:
    - bat-rpls-1:         [PASS][15] -> [TIMEOUT][16] ([i915#6794])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/bat-rpls-1/igt@i915_selftest@live@mman.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-rpls-1/igt@i915_selftest@live@mman.html

  * igt@i915_selftest@live@slpc:
    - bat-rpls-2:         NOTRUN -> [DMESG-FAIL][17] ([i915#6367] / [i915#7913] / [i915#7996])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-rpls-2/igt@i915_selftest@live@slpc.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-tgl-1115g4:      NOTRUN -> [INCOMPLETE][18] ([i915#7443])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_chamelium_edid@dp-edid-read:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][19] ([i915#7828]) +7 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@kms_chamelium_edid@dp-edid-read.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][20] ([fdo#109271]) +16 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-kbl-soraka/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - bat-rpls-2:         NOTRUN -> [SKIP][21] ([i915#7828])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-rpls-2/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
    - bat-dg2-11:         NOTRUN -> [SKIP][22] ([i915#7828])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - bat-adls-5:         NOTRUN -> [SKIP][23] ([i915#7828]) +8 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][24] ([i915#4103]) +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-adls-5:         NOTRUN -> [SKIP][25] ([i915#4103]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][26] ([fdo#109285])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html
    - bat-adls-5:         NOTRUN -> [SKIP][27] ([fdo#109285])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - bat-rpls-2:         NOTRUN -> [SKIP][28] ([i915#1845])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_psr@cursor_plane_move:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][29] ([fdo#110189]) +3 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@kms_psr@cursor_plane_move.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-adls-5:         NOTRUN -> [SKIP][30] ([i915#3555] / [i915#4579])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@kms_setmode@basic-clone-single-crtc.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][31] ([i915#3555] / [i915#4579])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-read:
    - bat-adls-5:         NOTRUN -> [SKIP][32] ([fdo#109295] / [i915#3291]) +2 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-userptr:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][33] ([fdo#109295] / [i915#3301])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/fi-tgl-1115g4/igt@prime_vgem@basic-userptr.html
    - bat-adls-5:         NOTRUN -> [SKIP][34] ([fdo#109295] / [i915#3301])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-adls-5/igt@prime_vgem@basic-userptr.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - bat-dg2-11:         [ABORT][35] ([i915#7913] / [i915#7979]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/bat-dg2-11/igt@i915_selftest@live@hangcheck.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-dg2-11/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-2:         [ABORT][37] ([i915#4983] / [i915#7913]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/bat-rpls-2/igt@i915_selftest@live@reset.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/bat-rpls-2/igt@i915_selftest@live@reset.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
  [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794
  [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
  [i915#7979]: https://gitlab.freedesktop.org/drm/intel/issues/7979
  [i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996


Build changes
-------------

  * Linux: CI_DRM_13020 -> Patchwork_116010v3

  CI-20190529: 20190529
  CI_DRM_13020: 3e4aefa137a3ae4ee40a89e5b7274cc4d3c02e6f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7258: ad2eb276eda849b7a7985229009a816c7608186c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v3: 3e4aefa137a3ae4ee40a89e5b7274cc4d3c02e6f @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

f704a9bd2eb2 drm/i915/display: Increase AUX timeout for Type-C

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/index.html

[-- Attachment #2: Type: text/html, Size: 14146 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Increase AUX timeout for Type-C (rev3)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (7 preceding siblings ...)
  2023-04-17 15:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-04-17 23:30 ` Patchwork
  2023-04-18  9:23 ` [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-17 23:30 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 11056 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev3)
URL   : https://patchwork.freedesktop.org/series/116010/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13020_full -> Patchwork_116010v3_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in Patchwork_116010v3_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [PASS][1] -> [FAIL][2] ([i915#2846])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-glk9/igt@gem_exec_fair@basic-deadline.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-glk5/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][3] -> [FAIL][4] ([i915#2842])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [PASS][5] -> [FAIL][6] ([i915#2842])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-apl6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-apl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-apl:          [PASS][7] -> [DMESG-FAIL][8] ([i915#5334])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-apl7/igt@i915_selftest@live@gt_heartbeat.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-apl7/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][9] ([fdo#109271])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-glk6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - {shard-tglu}:       [ABORT][10] ([i915#7975]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-tglu-10/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-tglu-9/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - {shard-rkl}:        [SKIP][12] ([i915#1397]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-rkl-6/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [FAIL][14] ([i915#2346]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13020/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8308]: https://gitlab.freedesktop.org/drm/intel/issues/8308
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347


Build changes
-------------

  * Linux: CI_DRM_13020 -> Patchwork_116010v3

  CI-20190529: 20190529
  CI_DRM_13020: 3e4aefa137a3ae4ee40a89e5b7274cc4d3c02e6f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7258: ad2eb276eda849b7a7985229009a816c7608186c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v3: 3e4aefa137a3ae4ee40a89e5b7274cc4d3c02e6f @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v3/index.html

[-- Attachment #2: Type: text/html, Size: 5534 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-17 12:29                     ` Imre Deak
@ 2023-04-18  5:02                       ` Kandpal, Suraj
  2023-04-18  6:44                         ` Jani Nikula
  0 siblings, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-18  5:02 UTC (permalink / raw)
  To: Deak, Imre; +Cc: intel-gfx

> On Mon, Apr 17, 2023 at 03:25:34PM +0300, Kandpal, Suraj wrote:
> > >
> > > On Mon, Apr 17, 2023 at 02:43:25PM +0300, Kandpal, Suraj wrote:
> > > > > [...]
> > > > > Adding a non-default enable_timeout to the power well descriptor
> > > > > would avoid adding more platform checks:
> > > > >
> > > > > diff --git
> > > > > a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > > index 6645eb1911d85..8ca1f34be14c2 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > > > @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc
> xelpd_power_wells_main[] = {
> > > > >                       I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx =
> ICL_PW_CTL_IDX_AUX_C),
> > > > >                       I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx =
> XELPD_PW_CTL_IDX_AUX_D),
> > > > >                       I915_PW("AUX_E", &icl_pwdoms_aux_e,
> > > > > .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
> > > > > +             ),
> > > > > +             .ops = &icl_aux_power_well_ops,
> > > > > +             .fixed_enable_delay = true,
> > > > > +     }, {
> > > > > +             .instances = &I915_PW_INSTANCES(
> > > > >                       I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> > > > >                       I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> > > > >                       I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> > > > >                       I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> > > > >               ),
> > > > >               .ops = &icl_aux_power_well_ops,
> > > > > -             .fixed_enable_delay = true,
> > > > > +             .enable_timeout = 500,
> > > > >       }, {
> > > > >               .instances = &I915_PW_INSTANCES(
> > > > >                       I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> > > > > .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> > > > > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > > index 62bafcbc7937c..930a42c825c36 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > > > > @@ -253,6 +253,7 @@ static void
> > > > > hsw_wait_for_power_well_enable(struct
> > > > > drm_i915_private *dev_priv,  {
> > > > >       const struct i915_power_well_regs *regs = power_well->desc-
> >ops->regs;
> > > > >       int pw_idx =
> > > > > i915_power_well_instance(power_well)->hsw.idx;
> > > > > +     int timeout = power_well->desc->enable_timeout ? : 1;
> > > > >
> > > > >       /*
> > > > >        * For some power wells we're not supposed to watch the
> > > > > status bit for @@ -266,7 +267,7 @@ static void
> > > > > hsw_wait_for_power_well_enable(struct drm_i915_private
> > > > > *dev_priv,
> > > > >
> > > > >       /* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> > > > >       if (intel_de_wait_for_set(dev_priv, regs->driver,
> > > > > -                               HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > > > > +                               HSW_PWR_WELL_CTL_STATE(pw_idx),
> > > > > + timeout)) {
> > > > >               drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
> > > > >                           intel_power_well_name(power_well));
> > > > >
> > > > > diff --git
> > > > > a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > > b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > > index ba7cb977e7c7f..fd5acf68503e1 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > > > > @@ -110,6 +110,8 @@ struct i915_power_well_desc {
> > > > >        * Thunderbolt mode.
> > > > >        */
> > > > >       u16 is_tc_tbt:1;
> > > > > +     /* Enable timeout if bigger than the default 1ms. */
> > > > > +     u16 enable_timeout;
> > > > >  };
> > > > >
> > > >
> > > > How would we make sure that this timeout only applies to ADLS in
> > > > that case as that's whom the workaround is for?
> > >
> > > The HSD is for display 13 ADL, that is ADL-P/M/N. The ADL-S power
> > > wells are described separately in adls_power_wells.
> >
> > Right sorry meant ADLP so how do we make sure this is enabled only for
> > the required Display version
> 
> It is enabled only for those. xelpd_power_wells_main is used by display 13
> platforms.
> 

Ohkay got it I can float this version of fix if Jani is okay with this.

Regards,
Suraj Kandpal

> > Regards,
> > Suraj Kandpal
> > >
> > > --Imre

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18  5:02                       ` Kandpal, Suraj
@ 2023-04-18  6:44                         ` Jani Nikula
  0 siblings, 0 replies; 45+ messages in thread
From: Jani Nikula @ 2023-04-18  6:44 UTC (permalink / raw)
  To: Kandpal, Suraj, Deak, Imre; +Cc: intel-gfx

On Tue, 18 Apr 2023, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> On Mon, Apr 17, 2023 at 03:25:34PM +0300, Kandpal, Suraj wrote:
>> > >
>> > > On Mon, Apr 17, 2023 at 02:43:25PM +0300, Kandpal, Suraj wrote:
>> > > > > [...]
>> > > > > Adding a non-default enable_timeout to the power well descriptor
>> > > > > would avoid adding more platform checks:
>> > > > >
>> > > > > diff --git
>> > > > > a/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> > > > > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> > > > > index 6645eb1911d85..8ca1f34be14c2 100644
>> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> > > > > @@ -1378,13 +1378,18 @@ static const struct i915_power_well_desc
>> xelpd_power_wells_main[] = {
>> > > > >                       I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx =
>> ICL_PW_CTL_IDX_AUX_C),
>> > > > >                       I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx =
>> XELPD_PW_CTL_IDX_AUX_D),
>> > > > >                       I915_PW("AUX_E", &icl_pwdoms_aux_e,
>> > > > > .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
>> > > > > +             ),
>> > > > > +             .ops = &icl_aux_power_well_ops,
>> > > > > +             .fixed_enable_delay = true,
>> > > > > +     }, {
>> > > > > +             .instances = &I915_PW_INSTANCES(
>> > > > >                       I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1,
>> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
>> > > > >                       I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2,
>> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
>> > > > >                       I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3,
>> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
>> > > > >                       I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4,
>> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
>> > > > >               ),
>> > > > >               .ops = &icl_aux_power_well_ops,
>> > > > > -             .fixed_enable_delay = true,
>> > > > > +             .enable_timeout = 500,
>> > > > >       }, {
>> > > > >               .instances = &I915_PW_INSTANCES(
>> > > > >                       I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
>> > > > > .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1), diff --git
>> > > > > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > > > > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > > > > index 62bafcbc7937c..930a42c825c36 100644
>> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
>> > > > > @@ -253,6 +253,7 @@ static void
>> > > > > hsw_wait_for_power_well_enable(struct
>> > > > > drm_i915_private *dev_priv,  {
>> > > > >       const struct i915_power_well_regs *regs = power_well->desc-
>> >ops->regs;
>> > > > >       int pw_idx =
>> > > > > i915_power_well_instance(power_well)->hsw.idx;
>> > > > > +     int timeout = power_well->desc->enable_timeout ? : 1;
>> > > > >
>> > > > >       /*
>> > > > >        * For some power wells we're not supposed to watch the
>> > > > > status bit for @@ -266,7 +267,7 @@ static void
>> > > > > hsw_wait_for_power_well_enable(struct drm_i915_private
>> > > > > *dev_priv,
>> > > > >
>> > > > >       /* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>> > > > >       if (intel_de_wait_for_set(dev_priv, regs->driver,
>> > > > > -                               HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
>> > > > > +                               HSW_PWR_WELL_CTL_STATE(pw_idx),
>> > > > > + timeout)) {
>> > > > >               drm_dbg_kms(&dev_priv->drm, "%s power well enable
>> timeout\n",
>> > > > >                           intel_power_well_name(power_well));
>> > > > >
>> > > > > diff --git
>> > > > > a/drivers/gpu/drm/i915/display/intel_display_power_well.h
>> > > > > b/drivers/gpu/drm/i915/display/intel_display_power_well.h
>> > > > > index ba7cb977e7c7f..fd5acf68503e1 100644
>> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
>> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
>> > > > > @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>> > > > >        * Thunderbolt mode.
>> > > > >        */
>> > > > >       u16 is_tc_tbt:1;
>> > > > > +     /* Enable timeout if bigger than the default 1ms. */
>> > > > > +     u16 enable_timeout;
>> > > > >  };
>> > > > >
>> > > >
>> > > > How would we make sure that this timeout only applies to ADLS in
>> > > > that case as that's whom the workaround is for?
>> > >
>> > > The HSD is for display 13 ADL, that is ADL-P/M/N. The ADL-S power
>> > > wells are described separately in adls_power_wells.
>> >
>> > Right sorry meant ADLP so how do we make sure this is enabled only for
>> > the required Display version
>> 
>> It is enabled only for those. xelpd_power_wells_main is used by display 13
>> platforms.
>> 
>
> Ohkay got it I can float this version of fix if Jani is okay with this.

Yeah go with what Imre says.

BR,
Jani.

>
> Regards,
> Suraj Kandpal
>
>> > Regards,
>> > Suraj Kandpal
>> > >
>> > > --Imre

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (8 preceding siblings ...)
  2023-04-17 23:30 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2023-04-18  9:23 ` Suraj Kandpal
  2023-04-18 10:00   ` Jani Nikula
  2023-04-18 10:10   ` Imre Deak
  2023-04-18 10:52 ` [Intel-gfx] [PATCH v4] " Suraj Kandpal
                   ` (7 subsequent siblings)
  17 siblings, 2 replies; 45+ messages in thread
From: Suraj Kandpal @ 2023-04-18  9:23 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

WA_14017248603: adlp
Bspec: 55480

---v2
-change style on how we mention WA [Ankit]
-fix bat error by creating new func that is only called for aux power
well scenarios so we can avoid null pointer error as it is called
everywhere.

--v3
-Add non-default enable_timeout to power well descriptor which avoids
adding more platform checks [Imre]

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power_map.c  | 9 +++++++++
 drivers/gpu/drm/i915/display/intel_display_power_well.c | 3 ++-
 drivers/gpu/drm/i915/display/intel_display_power_well.h | 2 ++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
index 6645eb1911d8..4b559de6d036 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
@@ -1385,6 +1385,15 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 		),
 		.ops = &icl_aux_power_well_ops,
 		.fixed_enable_delay = true,
+	}, {
+		.instances = &I915_PW_INSTANCES(
+			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
+			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
+			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
+			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
+		),
+		.ops = &icl_aux_power_well_ops,
+		.enable_timeout = true,
 	}, {
 		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937..930a42c825c3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = power_well->desc->enable_timeout ? : 1;
 
 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
index ba7cb977e7c7..e494df379e6c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
@@ -110,6 +110,8 @@ struct i915_power_well_desc {
 	 * Thunderbolt mode.
 	 */
 	u16 is_tc_tbt:1;
+	/* Enable timeout if greater than the default 1ms */
+	u16 enable_timeout;
 };
 
 struct i915_power_well {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18  9:23 ` [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
@ 2023-04-18 10:00   ` Jani Nikula
  2023-04-18 10:10   ` Imre Deak
  1 sibling, 0 replies; 45+ messages in thread
From: Jani Nikula @ 2023-04-18 10:00 UTC (permalink / raw)
  To: Suraj Kandpal, intel-gfx

On Tue, 18 Apr 2023, Suraj Kandpal <suraj.kandpal@intel.com> wrote:
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
>
> WA_14017248603: adlp

This needs to be in a comment, and removed from the commit message.

> Bspec: 55480

This needs to be moved down...

>
> ---v2
> -change style on how we mention WA [Ankit]
> -fix bat error by creating new func that is only called for aux power
> well scenarios so we can avoid null pointer error as it is called
> everywhere.
>
> --v3
> -Add non-default enable_timeout to power well descriptor which avoids
> adding more platform checks [Imre]
>

...here, right above the Cc: etc. tags.

> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_power_map.c  | 9 +++++++++
>  drivers/gpu/drm/i915/display/intel_display_power_well.c | 3 ++-
>  drivers/gpu/drm/i915/display/intel_display_power_well.h | 2 ++
>  3 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index 6645eb1911d8..4b559de6d036 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -1385,6 +1385,15 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
>  		),
>  		.ops = &icl_aux_power_well_ops,
>  		.fixed_enable_delay = true,
> +	}, {
> +		.instances = &I915_PW_INSTANCES(
> +			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> +			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> +			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> +			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> +		),
> +		.ops = &icl_aux_power_well_ops,
> +		.enable_timeout = true,
>  	}, {
>  		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..930a42c825c3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = power_well->desc->enable_timeout ? : 1;
>  
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit for
> @@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
>  			    intel_power_well_name(power_well));
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> index ba7cb977e7c7..e494df379e6c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>  	 * Thunderbolt mode.
>  	 */
>  	u16 is_tc_tbt:1;
> +	/* Enable timeout if greater than the default 1ms */
> +	u16 enable_timeout;
>  };
>  
>  struct i915_power_well {

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18  9:23 ` [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
  2023-04-18 10:00   ` Jani Nikula
@ 2023-04-18 10:10   ` Imre Deak
  1 sibling, 0 replies; 45+ messages in thread
From: Imre Deak @ 2023-04-18 10:10 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: Jani Nikula, intel-gfx

On Tue, Apr 18, 2023 at 02:53:46PM +0530, Suraj Kandpal wrote:
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
> 
> WA_14017248603: adlp
> Bspec: 55480
> 
> ---v2
> -change style on how we mention WA [Ankit]
> -fix bat error by creating new func that is only called for aux power
> well scenarios so we can avoid null pointer error as it is called
> everywhere.
> 
> --v3
> -Add non-default enable_timeout to power well descriptor which avoids
> adding more platform checks [Imre]
> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_power_map.c  | 9 +++++++++
>  drivers/gpu/drm/i915/display/intel_display_power_well.c | 3 ++-
>  drivers/gpu/drm/i915/display/intel_display_power_well.h | 2 ++
>  3 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index 6645eb1911d8..4b559de6d036 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -1385,6 +1385,15 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
>  		),
>  		.ops = &icl_aux_power_well_ops,
>  		.fixed_enable_delay = true,
> +	}, {
> +		.instances = &I915_PW_INSTANCES(
> +			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> +			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> +			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> +			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> +		),
> +		.ops = &icl_aux_power_well_ops,
> +		.enable_timeout = true,

This should be the duration in ms.

Also .fixed_enable_delay = true is needed here as well, as DG2 is a
display 13 platform and uses TC1 requiring just waiting a fixed amount
of time instead of the regular polling (I forgot to mention this in my
previous feedback).

>  	}, {
>  		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..930a42c825c3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = power_well->desc->enable_timeout ? : 1;
>  
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit for
> @@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
>  			    intel_power_well_name(power_well));
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> index ba7cb977e7c7..e494df379e6c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>  	 * Thunderbolt mode.
>  	 */
>  	u16 is_tc_tbt:1;
> +	/* Enable timeout if greater than the default 1ms */
> +	u16 enable_timeout;
>  };
>  
>  struct i915_power_well {
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] [PATCH v4] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (9 preceding siblings ...)
  2023-04-18  9:23 ` [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
@ 2023-04-18 10:52 ` Suraj Kandpal
  2023-04-18 10:54   ` Suraj Kandpal
  2023-04-18 11:40 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev6) Patchwork
                   ` (6 subsequent siblings)
  17 siblings, 1 reply; 45+ messages in thread
From: Suraj Kandpal @ 2023-04-18 10:52 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

---v2
-change style on how we mention WA [Ankit]
-fix bat error by creating new func that is only called for aux power
well scenarios so we can avoid null pointer error as it is called
everywhere.

--v3
-Add non-default enable_timeout to power well descriptor which avoids
adding more platform checks [Imre]

--v4
-Remove Bspec link from top to bottom remove WA link from commit put it
on comment [Jani]
-enable_timeout in ms and add .fixed_enable_delay too [Imre]

Bspec: 55480

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power_map.c | 10 ++++++++++
 .../gpu/drm/i915/display/intel_display_power_well.c    |  3 ++-
 .../gpu/drm/i915/display/intel_display_power_well.h    |  2 ++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
index 6645eb1911d8..b065f86f89c9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
@@ -1385,6 +1385,16 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 		),
 		.ops = &icl_aux_power_well_ops,
 		.fixed_enable_delay = true,
+	}, {
+		.instances = &I915_PW_INSTANCES(
+			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
+			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
+			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
+			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
+		),
+		.ops = &icl_aux_power_well_ops,
+		/* WA_14017248603: adlp */
+		.enable_timeout = 500,
 	}, {
 		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937..930a42c825c3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = power_well->desc->enable_timeout ? : 1;
 
 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
index ba7cb977e7c7..e494df379e6c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
@@ -110,6 +110,8 @@ struct i915_power_well_desc {
 	 * Thunderbolt mode.
 	 */
 	u16 is_tc_tbt:1;
+	/* Enable timeout if greater than the default 1ms */
+	u16 enable_timeout;
 };
 
 struct i915_power_well {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Intel-gfx] [PATCH v4] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18 10:52 ` [Intel-gfx] [PATCH v4] " Suraj Kandpal
@ 2023-04-18 10:54   ` Suraj Kandpal
  2023-04-18 11:03     ` Imre Deak
  0 siblings, 1 reply; 45+ messages in thread
From: Suraj Kandpal @ 2023-04-18 10:54 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

---v2
-change style on how we mention WA [Ankit]
-fix bat error by creating new func that is only called for aux power
well scenarios so we can avoid null pointer error as it is called
everywhere.

--v3
-Add non-default enable_timeout to power well descriptor which avoids
adding more platform checks [Imre]

--v4
-Remove Bspec link from top to bottom remove WA link from commit put it
on comment [Jani]
-enable_timeout in ms and add .fixed_enable_delay too [Imre]

Bspec: 55480

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 .../gpu/drm/i915/display/intel_display_power_map.c    | 11 +++++++++++
 .../gpu/drm/i915/display/intel_display_power_well.c   |  3 ++-
 .../gpu/drm/i915/display/intel_display_power_well.h   |  2 ++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
index 6645eb1911d8..f0d51a30430a 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
@@ -1385,6 +1385,17 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 		),
 		.ops = &icl_aux_power_well_ops,
 		.fixed_enable_delay = true,
+	}, {
+		.instances = &I915_PW_INSTANCES(
+			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
+			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
+			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
+			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
+		),
+		.ops = &icl_aux_power_well_ops,
+		.fixed_enable_delay = true,
+		/* WA_14017248603: adlp */
+		.enable_timeout = 500,
 	}, {
 		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937..930a42c825c3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = power_well->desc->enable_timeout ? : 1;
 
 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
index ba7cb977e7c7..e494df379e6c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
@@ -110,6 +110,8 @@ struct i915_power_well_desc {
 	 * Thunderbolt mode.
 	 */
 	u16 is_tc_tbt:1;
+	/* Enable timeout if greater than the default 1ms */
+	u16 enable_timeout;
 };
 
 struct i915_power_well {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18 10:54   ` Suraj Kandpal
@ 2023-04-18 11:03     ` Imre Deak
  2023-04-18 11:45       ` Kandpal, Suraj
  0 siblings, 1 reply; 45+ messages in thread
From: Imre Deak @ 2023-04-18 11:03 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: Jani Nikula, intel-gfx

On Tue, Apr 18, 2023 at 04:24:54PM +0530, Suraj Kandpal wrote:
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
> 
> ---v2
> -change style on how we mention WA [Ankit]
> -fix bat error by creating new func that is only called for aux power
> well scenarios so we can avoid null pointer error as it is called
> everywhere.
> 
> --v3
> -Add non-default enable_timeout to power well descriptor which avoids
> adding more platform checks [Imre]
> 
> --v4
> -Remove Bspec link from top to bottom remove WA link from commit put it
> on comment [Jani]
> -enable_timeout in ms and add .fixed_enable_delay too [Imre]
> 
> Bspec: 55480
> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_display_power_map.c    | 11 +++++++++++
>  .../gpu/drm/i915/display/intel_display_power_well.c   |  3 ++-
>  .../gpu/drm/i915/display/intel_display_power_well.h   |  2 ++
>  3 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index 6645eb1911d8..f0d51a30430a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -1385,6 +1385,17 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
>  		),
>  		.ops = &icl_aux_power_well_ops,
>  		.fixed_enable_delay = true,
> +	}, {
> +		.instances = &I915_PW_INSTANCES(
> +			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> +			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> +			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> +			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> +		),

Instead of duplicating the above 4 power wells the change should move
them to this group, as in the diff I provided.

> +		.ops = &icl_aux_power_well_ops,
> +		.fixed_enable_delay = true,
> +		/* WA_14017248603: adlp */
> +		.enable_timeout = 500,
>  	}, {
>  		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..930a42c825c3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = power_well->desc->enable_timeout ? : 1;
>  
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit for
> @@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
>  			    intel_power_well_name(power_well));
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> index ba7cb977e7c7..e494df379e6c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>  	 * Thunderbolt mode.
>  	 */
>  	u16 is_tc_tbt:1;
> +	/* Enable timeout if greater than the default 1ms */
> +	u16 enable_timeout;
>  };
>  
>  struct i915_power_well {
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev6)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (10 preceding siblings ...)
  2023-04-18 10:52 ` [Intel-gfx] [PATCH v4] " Suraj Kandpal
@ 2023-04-18 11:40 ` Patchwork
  2023-04-18 11:56 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-18 11:40 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev6)
URL   : https://patchwork.freedesktop.org/series/116010/
State : warning

== Summary ==

Error: dim checkpatch failed
3f84391d7543 drm/i915/display: Increase AUX timeout for Type-C
-:39: CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#39: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1389:
+		.instances = &I915_PW_INSTANCES(

-:40: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#40: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1390:
+			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),

-:41: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#41: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1391:
+			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),

-:42: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#42: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1392:
+			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),

-:43: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#43: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1393:
+			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),

total: 0 errors, 4 warnings, 1 checks, 40 lines checked



^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18 11:03     ` Imre Deak
@ 2023-04-18 11:45       ` Kandpal, Suraj
  2023-04-18 12:41         ` Imre Deak
  0 siblings, 1 reply; 45+ messages in thread
From: Kandpal, Suraj @ 2023-04-18 11:45 UTC (permalink / raw)
  To: Deak, Imre; +Cc: Nikula, Jani, intel-gfx



> -----Original Message-----
> From: Deak, Imre <imre.deak@intel.com>
> Sent: Tuesday, April 18, 2023 4:34 PM
> To: Kandpal, Suraj <suraj.kandpal@intel.com>
> Cc: intel-gfx@lists.freedesktop.org; Nikula, Jani <jani.nikula@intel.com>
> Subject: Re: [PATCH v4] drm/i915/display: Increase AUX timeout for Type-C
> 
> On Tue, Apr 18, 2023 at 04:24:54PM +0530, Suraj Kandpal wrote:
> > Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> > Workaround: Increase the timeout.
> >
> > ---v2
> > -change style on how we mention WA [Ankit] -fix bat error by creating
> > new func that is only called for aux power well scenarios so we can
> > avoid null pointer error as it is called everywhere.
> >
> > --v3
> > -Add non-default enable_timeout to power well descriptor which avoids
> > adding more platform checks [Imre]
> >
> > --v4
> > -Remove Bspec link from top to bottom remove WA link from commit put
> > it on comment [Jani] -enable_timeout in ms and add .fixed_enable_delay
> > too [Imre]
> >
> > Bspec: 55480
> >
> > Cc: Jani Nikula <jani.nikula@intel.com>
> > Cc: Imre Deak <imre.deak@intel.com>
> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > ---
> >  .../gpu/drm/i915/display/intel_display_power_map.c    | 11 +++++++++++
> >  .../gpu/drm/i915/display/intel_display_power_well.c   |  3 ++-
> >  .../gpu/drm/i915/display/intel_display_power_well.h   |  2 ++
> >  3 files changed, 15 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > index 6645eb1911d8..f0d51a30430a 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > @@ -1385,6 +1385,17 @@ static const struct i915_power_well_desc
> xelpd_power_wells_main[] = {
> >  		),
> >  		.ops = &icl_aux_power_well_ops,
> >  		.fixed_enable_delay = true,
> > +	}, {
> > +		.instances = &I915_PW_INSTANCES(
> > +			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> > +			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> > +			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> > +			I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4,
> .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> > +		),
> 
> Instead of duplicating the above 4 power wells the change should move them
> to this group, as in the diff I provided.
> 

You mean add the enable timeout in this instance itself

{
                .instances = &I915_PW_INSTANCES(
                        I915_PW("AUX_A", &icl_pwdoms_aux_a, .hsw.idx = ICL_PW_CTL_IDX_AUX_A),
                        I915_PW("AUX_B", &icl_pwdoms_aux_b, .hsw.idx = ICL_PW_CTL_IDX_AUX_B),
                        I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
                        I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
                        I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
                        I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
                        I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
                        I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
                        I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
                ),
                .ops = &icl_aux_power_well_ops,
                .fixed_enable_delay = true,
        },

Regards,
Suraj Kandpal
> > +		.ops = &icl_aux_power_well_ops,
> > +		.fixed_enable_delay = true,
> > +		/* WA_14017248603: adlp */
> > +		.enable_timeout = 500,
> >  	}, {
> >  		.instances = &I915_PW_INSTANCES(
> >  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,
> .hsw.idx =
> > TGL_PW_CTL_IDX_AUX_TBT1), diff --git
> > a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > index 62bafcbc7937..930a42c825c3 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > @@ -253,6 +253,7 @@ static void
> hsw_wait_for_power_well_enable(struct
> > drm_i915_private *dev_priv,  {
> >  	const struct i915_power_well_regs *regs = power_well->desc->ops-
> >regs;
> >  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> > +	int timeout = power_well->desc->enable_timeout ? : 1;
> >
> >  	/*
> >  	 * For some power wells we're not supposed to watch the status bit
> > for @@ -266,7 +267,7 @@ static void
> > hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
> >
> >  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
> >  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> > -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> > +				  HSW_PWR_WELL_CTL_STATE(pw_idx),
> timeout)) {
> >  		drm_dbg_kms(&dev_priv->drm, "%s power well enable
> timeout\n",
> >  			    intel_power_well_name(power_well));
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > index ba7cb977e7c7..e494df379e6c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> > @@ -110,6 +110,8 @@ struct i915_power_well_desc {
> >  	 * Thunderbolt mode.
> >  	 */
> >  	u16 is_tc_tbt:1;
> > +	/* Enable timeout if greater than the default 1ms */
> > +	u16 enable_timeout;
> >  };
> >
> >  struct i915_power_well {
> > --
> > 2.25.1
> >

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/display: Increase AUX timeout for Type-C (rev6)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (11 preceding siblings ...)
  2023-04-18 11:40 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev6) Patchwork
@ 2023-04-18 11:56 ` Patchwork
  2023-04-18 13:05 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Increase AUX timeout for Type-C (rev7) Patchwork
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-18 11:56 UTC (permalink / raw)
  To: Kandpal, Suraj; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 11243 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev6)
URL   : https://patchwork.freedesktop.org/series/116010/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13025 -> Patchwork_116010v6
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_116010v6 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_116010v6, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/index.html

Participating hosts (37 -> 38)
------------------------------

  Additional (2): fi-kbl-soraka bat-adlm-1 
  Missing    (1): fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_116010v6:

### IGT changes ###

#### Possible regressions ####

  * igt@dmabuf@all-tests@dma_fence:
    - bat-adls-5:         [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/bat-adls-5/igt@dmabuf@all-tests@dma_fence.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adls-5/igt@dmabuf@all-tests@dma_fence.html

  * igt@dmabuf@all-tests@sanitycheck:
    - bat-adls-5:         [PASS][3] -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/bat-adls-5/igt@dmabuf@all-tests@sanitycheck.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adls-5/igt@dmabuf@all-tests@sanitycheck.html

  
Known issues
------------

  Here are the changes found in Patchwork_116010v6 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-adlm-1:         NOTRUN -> [SKIP][5] ([i915#7456])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@debugfs_test@basic-hwmon.html

  * igt@fbdev@eof:
    - bat-adlm-1:         NOTRUN -> [SKIP][6] ([i915#2582]) +4 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@fbdev@eof.html

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#2190])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#4613]) +3 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-adlm-1:         NOTRUN -> [SKIP][9] ([i915#4613]) +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_tiled_pread_basic:
    - bat-adlm-1:         NOTRUN -> [SKIP][10] ([i915#3282])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - bat-adlm-1:         NOTRUN -> [SKIP][11] ([i915#7561])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][12] ([i915#1886])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@hangcheck:
    - fi-skl-guc:         [PASS][13] -> [DMESG-WARN][14] ([i915#8073])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/fi-skl-guc/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@requests:
    - bat-rpls-1:         [PASS][15] -> [ABORT][16] ([i915#4983] / [i915#7911])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/bat-rpls-1/igt@i915_selftest@live@requests.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-rpls-1/igt@i915_selftest@live@requests.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - bat-adlm-1:         NOTRUN -> [SKIP][17] ([i915#7828]) +8 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][18] ([fdo#109271]) +16 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/fi-kbl-soraka/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - bat-rpls-2:         NOTRUN -> [SKIP][19] ([i915#7828])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-rpls-2/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
    - bat-jsl-1:          NOTRUN -> [SKIP][20] ([i915#7828])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-jsl-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size:
    - bat-adlm-1:         NOTRUN -> [SKIP][21] ([i915#1845]) +15 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html

  * igt@kms_flip@basic-plain-flip:
    - bat-adlm-1:         NOTRUN -> [SKIP][22] ([i915#3637]) +3 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_flip@basic-plain-flip.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-adlm-1:         NOTRUN -> [SKIP][23] ([fdo#109285])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-adlm-1:         NOTRUN -> [SKIP][24] ([i915#1849])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - bat-rpls-2:         NOTRUN -> [SKIP][25] ([i915#1845])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_psr@cursor_plane_move:
    - bat-adlm-1:         NOTRUN -> [SKIP][26] ([i915#1072]) +3 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_psr@cursor_plane_move.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-adlm-1:         NOTRUN -> [SKIP][27] ([i915#3555])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-adlm-1:         NOTRUN -> [SKIP][28] ([i915#1845] / [i915#3708])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-write:
    - bat-adlm-1:         NOTRUN -> [SKIP][29] ([i915#3708]) +3 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-adlm-1/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-apl-guc:         [DMESG-FAIL][30] ([i915#5334]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@migrate:
    - bat-dg2-11:         [DMESG-WARN][32] ([i915#7699]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-dg2-11/igt@i915_selftest@live@migrate.html

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-rpls-2:         [ABORT][34] ([i915#7978]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html

  
#### Warnings ####

  * igt@i915_selftest@live@slpc:
    - bat-rpls-2:         [DMESG-FAIL][36] ([i915#6997] / [i915#7913]) -> [DMESG-FAIL][37] ([i915#6367] / [i915#7913] / [i915#7996])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13025/bat-rpls-2/igt@i915_selftest@live@slpc.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/bat-rpls-2/igt@i915_selftest@live@slpc.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
  [i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996
  [i915#8073]: https://gitlab.freedesktop.org/drm/intel/issues/8073


Build changes
-------------

  * Linux: CI_DRM_13025 -> Patchwork_116010v6

  CI-20190529: 20190529
  CI_DRM_13025: aedb908bbfc13d3d66f2715709f26f02283aef5a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7258: ad2eb276eda849b7a7985229009a816c7608186c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v6: aedb908bbfc13d3d66f2715709f26f02283aef5a @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

b92d5cd36da8 drm/i915/display: Increase AUX timeout for Type-C

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v6/index.html

[-- Attachment #2: Type: text/html, Size: 13193 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18 11:45       ` Kandpal, Suraj
@ 2023-04-18 12:41         ` Imre Deak
  0 siblings, 0 replies; 45+ messages in thread
From: Imre Deak @ 2023-04-18 12:41 UTC (permalink / raw)
  To: Kandpal, Suraj; +Cc: Nikula, Jani, intel-gfx

[-- Attachment #1: Type: text/plain, Size: 2878 bytes --]

On Tue, Apr 18, 2023 at 02:45:27PM +0300, Kandpal, Suraj wrote:
> [...]
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > index 6645eb1911d8..f0d51a30430a 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> > > @@ -1385,6 +1385,17 @@ static const struct i915_power_well_desc
> > xelpd_power_wells_main[] = {
> > >             ),
> > >             .ops = &icl_aux_power_well_ops,
> > >             .fixed_enable_delay = true,
> > > +   }, {
> > > +           .instances = &I915_PW_INSTANCES(
> > > +                   I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
> > > +                   I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
> > > +                   I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> > > +                   I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
> > > +           ),
> >
> > Instead of duplicating the above 4 power wells the change should move them
> > to this group, as in the diff I provided.
> 
> You mean add the enable timeout in this instance itself

No, I meant moving the TC AUX power wells to a new group, as in the diff
I provided earlier. Attached is the updated patch.

> 
> {
>                 .instances = &I915_PW_INSTANCES(
>                         I915_PW("AUX_A", &icl_pwdoms_aux_a, .hsw.idx = ICL_PW_CTL_IDX_AUX_A),
>                         I915_PW("AUX_B", &icl_pwdoms_aux_b, .hsw.idx = ICL_PW_CTL_IDX_AUX_B),
>                         I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
>                         I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
>                         I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
>                         I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
>                         I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
>                         I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
>                         I915_PW("AUX_USBC4", &tgl_pwdoms_aux_usbc4, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC4),
>                 ),
>                 .ops = &icl_aux_power_well_ops,
>                 .fixed_enable_delay = true,
>         },
> 
> Regards,
> Suraj Kandpal
> > > +           .ops = &icl_aux_power_well_ops,
> > > +           .fixed_enable_delay = true,
> > > +           /* WA_14017248603: adlp */
> > > +           .enable_timeout = 500,
> > >     }, {
> > >             .instances = &I915_PW_INSTANCES(
> > >                     I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1,

[-- Attachment #2: 0001-drm-i915-display-Increase-AUX-timeout-for-Type-C.patch --]
[-- Type: text/x-diff, Size: 4117 bytes --]

From 9408a63e59e513d71acdda81e58609c4c6d543aa Mon Sep 17 00:00:00 2001
From: Suraj Kandpal <suraj.kandpal@intel.com>
Date: Tue, 18 Apr 2023 16:22:07 +0530
Subject: [PATCH] drm/i915/display: Increase AUX timeout for Type-C

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

---v2
-change style on how we mention WA [Ankit]
-fix bat error by creating new func that is only called for aux power
well scenarios so we can avoid null pointer error as it is called
everywhere.

--v3
-Add non-default enable_timeout to power well descriptor which avoids
adding more platform checks [Imre]

--v4
-Remove Bspec link from top to bottom remove WA link from commit put it
on comment [Jani]
-enable_timeout in ms and add .fixed_enable_delay too [Imre]

Bspec: 55480

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power_map.c  | 7 +++++++
 drivers/gpu/drm/i915/display/intel_display_power_well.c | 3 ++-
 drivers/gpu/drm/i915/display/intel_display_power_well.h | 2 ++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
index 6645eb1911d85..b4070845cd536 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
@@ -1378,6 +1378,11 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 			I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
 			I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
 			I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
+		),
+		.ops = &icl_aux_power_well_ops,
+		.fixed_enable_delay = true,
+	}, {
+		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
 			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
 			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
@@ -1385,6 +1390,8 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 		),
 		.ops = &icl_aux_power_well_ops,
 		.fixed_enable_delay = true,
+		/* WA_14017248603: adlp */
+		.enable_timeout = 500,
 	}, {
 		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937c..930a42c825c36 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = power_well->desc->enable_timeout ? : 1;
 
 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
index ba7cb977e7c7f..e494df379e6c2 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
@@ -110,6 +110,8 @@ struct i915_power_well_desc {
 	 * Thunderbolt mode.
 	 */
 	u16 is_tc_tbt:1;
+	/* Enable timeout if greater than the default 1ms */
+	u16 enable_timeout;
 };
 
 struct i915_power_well {
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Increase AUX timeout for Type-C (rev7)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (12 preceding siblings ...)
  2023-04-18 11:56 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2023-04-18 13:05 ` Patchwork
  2023-04-18 13:14 ` [Intel-gfx] [PATCH v5] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-18 13:05 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev7)
URL   : https://patchwork.freedesktop.org/series/116010/
State : failure

== Summary ==

Error: patch https://patchwork.freedesktop.org/api/1.0/series/116010/revisions/7/mbox/ not applied
Patch is empty.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To record the empty patch as an empty commit, run "git am --allow-empty".
To restore the original branch and stop patching, run "git am --abort".
Build failed, no error log produced



^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] [PATCH v5] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (13 preceding siblings ...)
  2023-04-18 13:05 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Increase AUX timeout for Type-C (rev7) Patchwork
@ 2023-04-18 13:14 ` Suraj Kandpal
  2023-04-19 12:28   ` Imre Deak
  2023-04-18 14:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev8) Patchwork
                   ` (2 subsequent siblings)
  17 siblings, 1 reply; 45+ messages in thread
From: Suraj Kandpal @ 2023-04-18 13:14 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
Workaround: Increase the timeout.

---v2
-change style on how we mention WA [Ankit]
-fix bat error by creating new func that is only called for aux power
well scenarios so we can avoid null pointer error as it is called
everywhere.

--v3
-Add non-default enable_timeout to power well descriptor which avoids
adding more platform checks [Imre]

--v4
-Remove Bspec link from top to bottom remove WA link from commit put it
on comment [Jani]
-enable_timeout in ms and add .fixed_enable_delay too [Imre]

--v5
-move power_wells instead of duplicating them [Imre]

Bspec: 55480

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power_map.c  | 7 +++++++
 drivers/gpu/drm/i915/display/intel_display_power_well.c | 3 ++-
 drivers/gpu/drm/i915/display/intel_display_power_well.h | 2 ++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
index 6645eb1911d8..b4070845cd53 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
@@ -1378,6 +1378,11 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 			I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
 			I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
 			I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
+		),
+		.ops = &icl_aux_power_well_ops,
+		.fixed_enable_delay = true,
+	}, {
+		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
 			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
 			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
@@ -1385,6 +1390,8 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
 		),
 		.ops = &icl_aux_power_well_ops,
 		.fixed_enable_delay = true,
+		/* WA_14017248603: adlp */
+		.enable_timeout = 500,
 	}, {
 		.instances = &I915_PW_INSTANCES(
 			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
index 62bafcbc7937..930a42c825c3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
@@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 {
 	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
 	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
+	int timeout = power_well->desc->enable_timeout ? : 1;
 
 	/*
 	 * For some power wells we're not supposed to watch the status bit for
@@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
 
 	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
 	if (intel_de_wait_for_set(dev_priv, regs->driver,
-				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
+				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
 		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
 			    intel_power_well_name(power_well));
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
index ba7cb977e7c7..e494df379e6c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
@@ -110,6 +110,8 @@ struct i915_power_well_desc {
 	 * Thunderbolt mode.
 	 */
 	u16 is_tc_tbt:1;
+	/* Enable timeout if greater than the default 1ms */
+	u16 enable_timeout;
 };
 
 struct i915_power_well {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev8)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (14 preceding siblings ...)
  2023-04-18 13:14 ` [Intel-gfx] [PATCH v5] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
@ 2023-04-18 14:00 ` Patchwork
  2023-04-18 14:11 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
  2023-04-18 17:06 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-18 14:00 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev8)
URL   : https://patchwork.freedesktop.org/series/116010/
State : warning

== Summary ==

Error: dim checkpatch failed
a0f5885b6afe drm/i915/display: Increase AUX timeout for Type-C
-:45: CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#45: FILE: drivers/gpu/drm/i915/display/intel_display_power_map.c:1385:
+		.instances = &I915_PW_INSTANCES(

total: 0 errors, 0 warnings, 1 checks, 42 lines checked



^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Increase AUX timeout for Type-C (rev8)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (15 preceding siblings ...)
  2023-04-18 14:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev8) Patchwork
@ 2023-04-18 14:11 ` Patchwork
  2023-04-18 17:06 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-18 14:11 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 4095 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev8)
URL   : https://patchwork.freedesktop.org/series/116010/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13026 -> Patchwork_116010v8
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/index.html

Participating hosts (38 -> 36)
------------------------------

  Missing    (2): bat-mtlp-8 fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_116010v8 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gt_lrc:
    - bat-adln-1:         [PASS][1] -> [INCOMPLETE][2] ([i915#4983] / [i915#7609])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/bat-adln-1/igt@i915_selftest@live@gt_lrc.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/bat-adln-1/igt@i915_selftest@live@gt_lrc.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-1:         [PASS][3] -> [ABORT][4] ([i915#4983])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/bat-rpls-1/igt@i915_selftest@live@reset.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/bat-rpls-1/igt@i915_selftest@live@reset.html

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-rpls-2:         [PASS][5] -> [ABORT][6] ([i915#6687] / [i915#7978])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/bat-rpls-2/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1:
    - bat-dg2-8:          [PASS][7] -> [FAIL][8] ([i915#7932])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@migrate:
    - bat-dg2-11:         [DMESG-WARN][9] ([i915#7699]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/bat-dg2-11/igt@i915_selftest@live@migrate.html

  
#### Warnings ####

  * igt@i915_selftest@live@slpc:
    - bat-rpls-2:         [DMESG-FAIL][11] ([i915#6367] / [i915#7913] / [i915#7996]) -> [DMESG-FAIL][12] ([i915#6367] / [i915#7913])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/bat-rpls-2/igt@i915_selftest@live@slpc.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/bat-rpls-2/igt@i915_selftest@live@slpc.html

  
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
  [i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
  [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
  [i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996


Build changes
-------------

  * Linux: CI_DRM_13026 -> Patchwork_116010v8

  CI-20190529: 20190529
  CI_DRM_13026: 45bed7de41ad8bd909a82382a8fc4cb65e04ad56 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7259: 3d3a7f1c041d3f8d84d7457abf96adef0ea071cb @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v8: 45bed7de41ad8bd909a82382a8fc4cb65e04ad56 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

69fc04abd6ed drm/i915/display: Increase AUX timeout for Type-C

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/index.html

[-- Attachment #2: Type: text/html, Size: 5018 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Increase AUX timeout for Type-C (rev8)
  2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
                   ` (16 preceding siblings ...)
  2023-04-18 14:11 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-04-18 17:06 ` Patchwork
  17 siblings, 0 replies; 45+ messages in thread
From: Patchwork @ 2023-04-18 17:06 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 12759 bytes --]

== Series Details ==

Series: drm/i915/display: Increase AUX timeout for Type-C (rev8)
URL   : https://patchwork.freedesktop.org/series/116010/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13026_full -> Patchwork_116010v8_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_116010v8_full:

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_vblank} (NEW):
    - {shard-tglu}:       NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-tglu-5/igt@kms_vblank.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_vblank@pipe-g-query-idle:
    - {shard-dg1}:        NOTRUN -> [SKIP][2] +31 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-dg1-16/igt@kms_vblank@pipe-g-query-idle.html

  * igt@kms_vblank@pipe-h-wait-idle:
    - {shard-tglu}:       NOTRUN -> [SKIP][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-tglu-5/igt@kms_vblank@pipe-h-wait-idle.html

  
New tests
---------

  New tests have been introduced between CI_DRM_13026_full and Patchwork_116010v8_full:

### New IGT tests (1) ###

  * igt@kms_vblank:
    - Statuses : 1 incomplete(s)
    - Exec time: [0.0] s

  

Known issues
------------

  Here are the changes found in Patchwork_116010v8_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [PASS][4] -> [FAIL][5] ([i915#2842])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-apl6/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [PASS][6] -> [ABORT][7] ([i915#5566])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-glk9/igt@gen9_exec_parse@allowed-single.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-glk8/igt@gen9_exec_parse@allowed-single.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][8] ([fdo#109271]) +40 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-snb5/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1.html

  
#### Possible fixes ####

  * igt@gem_barrier_race@remote-request@rcs0:
    - {shard-tglu}:       [ABORT][9] ([i915#8211]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-tglu-9/igt@gem_barrier_race@remote-request@rcs0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-tglu-5/igt@gem_barrier_race@remote-request@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [FAIL][11] ([i915#2842]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - {shard-tglu}:       [FAIL][13] ([i915#2842]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-tglu-10/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
    - {shard-rkl}:        [SKIP][15] ([i915#1397]) -> [PASS][16] +4 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-rkl-1/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@i915_pm_rpm@modeset-lpsp:
    - {shard-dg1}:        [SKIP][17] ([i915#1397]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-dg1-16/igt@i915_pm_rpm@modeset-lpsp.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-dg1-14/igt@i915_pm_rpm@modeset-lpsp.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-apl:          [FAIL][19] ([i915#2346]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@single-bo@pipe-b:
    - {shard-rkl}:        [INCOMPLETE][21] ([i915#8011]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-rkl-7/igt@kms_cursor_legacy@single-bo@pipe-b.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-rkl-3/igt@kms_cursor_legacy@single-bo@pipe-b.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2:
    - shard-glk:          [FAIL][23] ([i915#79]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2.html

  
#### Warnings ####

  * igt@gen9_exec_parse@bb-start-out:
    - shard-snb:          [SKIP][25] ([fdo#109271]) -> [INCOMPLETE][26] ([i915#2295])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13026/shard-snb7/igt@gen9_exec_parse@bb-start-out.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/shard-snb6/igt@gen9_exec_parse@bb-start-out.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
  [i915#8253]: https://gitlab.freedesktop.org/drm/intel/issues/8253
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292


Build changes
-------------

  * Linux: CI_DRM_13026 -> Patchwork_116010v8

  CI-20190529: 20190529
  CI_DRM_13026: 45bed7de41ad8bd909a82382a8fc4cb65e04ad56 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7259: 3d3a7f1c041d3f8d84d7457abf96adef0ea071cb @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116010v8: 45bed7de41ad8bd909a82382a8fc4cb65e04ad56 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116010v8/index.html

[-- Attachment #2: Type: text/html, Size: 8814 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [Intel-gfx] [PATCH v5] drm/i915/display: Increase AUX timeout for Type-C
  2023-04-18 13:14 ` [Intel-gfx] [PATCH v5] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
@ 2023-04-19 12:28   ` Imre Deak
  0 siblings, 0 replies; 45+ messages in thread
From: Imre Deak @ 2023-04-19 12:28 UTC (permalink / raw)
  To: Suraj Kandpal; +Cc: Jani Nikula, intel-gfx

On Tue, Apr 18, 2023 at 06:44:25PM +0530, Suraj Kandpal wrote:
> Type-C PHYs are taking longer than expected for Aux IO Power Enabling.
> Workaround: Increase the timeout.
> 
> ---v2
> -change style on how we mention WA [Ankit]
> -fix bat error by creating new func that is only called for aux power
> well scenarios so we can avoid null pointer error as it is called
> everywhere.
> 
> --v3
> -Add non-default enable_timeout to power well descriptor which avoids
> adding more platform checks [Imre]
> 
> --v4
> -Remove Bspec link from top to bottom remove WA link from commit put it
> on comment [Jani]
> -enable_timeout in ms and add .fixed_enable_delay too [Imre]
> 
> --v5
> -move power_wells instead of duplicating them [Imre]
> 
> Bspec: 55480
> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>

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

> ---
>  drivers/gpu/drm/i915/display/intel_display_power_map.c  | 7 +++++++
>  drivers/gpu/drm/i915/display/intel_display_power_well.c | 3 ++-
>  drivers/gpu/drm/i915/display/intel_display_power_well.h | 2 ++
>  3 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index 6645eb1911d8..b4070845cd53 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -1378,6 +1378,11 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
>  			I915_PW("AUX_C", &icl_pwdoms_aux_c, .hsw.idx = ICL_PW_CTL_IDX_AUX_C),
>  			I915_PW("AUX_D", &icl_pwdoms_aux_d, .hsw.idx = XELPD_PW_CTL_IDX_AUX_D),
>  			I915_PW("AUX_E", &icl_pwdoms_aux_e, .hsw.idx = XELPD_PW_CTL_IDX_AUX_E),
> +		),
> +		.ops = &icl_aux_power_well_ops,
> +		.fixed_enable_delay = true,
> +	}, {
> +		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_USBC1", &tgl_pwdoms_aux_usbc1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC1),
>  			I915_PW("AUX_USBC2", &tgl_pwdoms_aux_usbc2, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC2),
>  			I915_PW("AUX_USBC3", &tgl_pwdoms_aux_usbc3, .hsw.idx = TGL_PW_CTL_IDX_AUX_TC3),
> @@ -1385,6 +1390,8 @@ static const struct i915_power_well_desc xelpd_power_wells_main[] = {
>  		),
>  		.ops = &icl_aux_power_well_ops,
>  		.fixed_enable_delay = true,
> +		/* WA_14017248603: adlp */
> +		.enable_timeout = 500,
>  	}, {
>  		.instances = &I915_PW_INSTANCES(
>  			I915_PW("AUX_TBT1", &icl_pwdoms_aux_tbt1, .hsw.idx = TGL_PW_CTL_IDX_AUX_TBT1),
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> index 62bafcbc7937..930a42c825c3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> @@ -253,6 +253,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  {
>  	const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
>  	int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
> +	int timeout = power_well->desc->enable_timeout ? : 1;
>  
>  	/*
>  	 * For some power wells we're not supposed to watch the status bit for
> @@ -266,7 +267,7 @@ static void hsw_wait_for_power_well_enable(struct drm_i915_private *dev_priv,
>  
>  	/* Timeout for PW1:10 us, AUX:not specified, other PWs:20 us. */
>  	if (intel_de_wait_for_set(dev_priv, regs->driver,
> -				  HSW_PWR_WELL_CTL_STATE(pw_idx), 1)) {
> +				  HSW_PWR_WELL_CTL_STATE(pw_idx), timeout)) {
>  		drm_dbg_kms(&dev_priv->drm, "%s power well enable timeout\n",
>  			    intel_power_well_name(power_well));
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> index ba7cb977e7c7..e494df379e6c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_well.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h
> @@ -110,6 +110,8 @@ struct i915_power_well_desc {
>  	 * Thunderbolt mode.
>  	 */
>  	u16 is_tc_tbt:1;
> +	/* Enable timeout if greater than the default 1ms */
> +	u16 enable_timeout;
>  };
>  
>  struct i915_power_well {
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2023-04-19 12:28 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-03  8:01 [Intel-gfx] [PATCH] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
2023-04-03 10:11 ` Nautiyal, Ankit K
2023-04-03 14:58 ` Murthy, Arun R
2023-04-04  5:40   ` Kandpal, Suraj
2023-04-03 15:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
2023-04-05  7:19 ` [Intel-gfx] [PATCH v2] " Suraj Kandpal
2023-04-17  4:30   ` Murthy, Arun R
2023-04-17  6:51     ` Kandpal, Suraj
2023-04-17  7:33       ` Murthy, Arun R
2023-04-17  8:52   ` Jani Nikula
2023-04-17 10:18     ` Kandpal, Suraj
2023-04-17 10:33       ` Jani Nikula
2023-04-17 10:51         ` Kandpal, Suraj
2023-04-17 10:56           ` Jani Nikula
2023-04-17 11:00             ` Kandpal, Suraj
2023-04-17 11:15               ` Jani Nikula
2023-04-17 11:27             ` Imre Deak
2023-04-17 11:39               ` Kandpal, Suraj
2023-04-17 11:43               ` Kandpal, Suraj
2023-04-17 11:53                 ` Imre Deak
2023-04-17 12:25                   ` Kandpal, Suraj
2023-04-17 12:29                     ` Imre Deak
2023-04-18  5:02                       ` Kandpal, Suraj
2023-04-18  6:44                         ` Jani Nikula
2023-04-05 19:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Increase AUX timeout for Type-C (rev2) Patchwork
2023-04-06 10:48 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2023-04-17 15:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev3) Patchwork
2023-04-17 15:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-04-17 23:30 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-04-18  9:23 ` [Intel-gfx] [PATCH v3] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
2023-04-18 10:00   ` Jani Nikula
2023-04-18 10:10   ` Imre Deak
2023-04-18 10:52 ` [Intel-gfx] [PATCH v4] " Suraj Kandpal
2023-04-18 10:54   ` Suraj Kandpal
2023-04-18 11:03     ` Imre Deak
2023-04-18 11:45       ` Kandpal, Suraj
2023-04-18 12:41         ` Imre Deak
2023-04-18 11:40 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev6) Patchwork
2023-04-18 11:56 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2023-04-18 13:05 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Increase AUX timeout for Type-C (rev7) Patchwork
2023-04-18 13:14 ` [Intel-gfx] [PATCH v5] drm/i915/display: Increase AUX timeout for Type-C Suraj Kandpal
2023-04-19 12:28   ` Imre Deak
2023-04-18 14:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Increase AUX timeout for Type-C (rev8) Patchwork
2023-04-18 14:11 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-04-18 17:06 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).