All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
@ 2021-10-05  7:15 Ankit Nautiyal
  2021-10-05  8:04 ` Jani Nikula
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Ankit Nautiyal @ 2021-10-05  7:15 UTC (permalink / raw)
  To: intel-gfx; +Cc: uma.shankar, jani.nikula, animesh.manna

The low voltage sku check can be ignored as OEMs need to consider that
when designing the board and then put any limits in VBT.

Same is now changed in Bspec (53720).

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
 1 file changed, 3 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 74a657ae131a..75c364c3c88e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
 	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
 }
 
-static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
-{
-	u32 voltage;
-
-	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
-
-	return voltage == VOLTAGE_INFO_0_85V;
-}
-
 static int icl_max_source_rate(struct intel_dp *intel_dp)
 {
 	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
 	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
 	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
 
-	if (intel_phy_is_combo(dev_priv, phy) &&
-	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
+	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
 		return 540000;
 
 	return 810000;
@@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
 
 static int ehl_max_source_rate(struct intel_dp *intel_dp)
 {
-	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
-	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
-	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
-
-	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
-		return 540000;
-
-	return 810000;
-}
-
-static int dg1_max_source_rate(struct intel_dp *intel_dp)
-{
-	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
-	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
-	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
-
-	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
+	if (intel_dp_is_edp(intel_dp))
 		return 540000;
 
 	return 810000;
@@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
 			max_rate = dg2_max_source_rate(intel_dp);
 		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
 			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
-			max_rate = dg1_max_source_rate(intel_dp);
+			max_rate = 810000;
 		else if (IS_JSL_EHL(dev_priv))
 			max_rate = ehl_max_source_rate(intel_dp);
 		else
-- 
2.25.1


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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05  7:15 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
@ 2021-10-05  8:04 ` Jani Nikula
  2021-10-05 10:20   ` Nautiyal, Ankit K
  2021-10-05 11:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2021-10-05  8:04 UTC (permalink / raw)
  To: Ankit Nautiyal, intel-gfx; +Cc: uma.shankar, animesh.manna

On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> The low voltage sku check can be ignored as OEMs need to consider that
> when designing the board and then put any limits in VBT.

"can" or "must"?

VBT has been notoriously buggy over the years, and we need to safeguard
against that. Are there any cases where having these checks are wrong?

BR,
Jani.

> Same is now changed in Bspec (53720).
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>  1 file changed, 3 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 74a657ae131a..75c364c3c88e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>  	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>  }
>  
> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
> -{
> -	u32 voltage;
> -
> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
> -
> -	return voltage == VOLTAGE_INFO_0_85V;
> -}
> -
>  static int icl_max_source_rate(struct intel_dp *intel_dp)
>  {
>  	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>  	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>  	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>  
> -	if (intel_phy_is_combo(dev_priv, phy) &&
> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>  		return 540000;
>  
>  	return 810000;
> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>  
>  static int ehl_max_source_rate(struct intel_dp *intel_dp)
>  {
> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> -
> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
> -		return 540000;
> -
> -	return 810000;
> -}
> -
> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
> -{
> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
> -
> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
> +	if (intel_dp_is_edp(intel_dp))
>  		return 540000;
>  
>  	return 810000;
> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>  			max_rate = dg2_max_source_rate(intel_dp);
>  		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>  			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
> -			max_rate = dg1_max_source_rate(intel_dp);
> +			max_rate = 810000;
>  		else if (IS_JSL_EHL(dev_priv))
>  			max_rate = ehl_max_source_rate(intel_dp);
>  		else

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05  8:04 ` Jani Nikula
@ 2021-10-05 10:20   ` Nautiyal, Ankit K
  2021-10-05 10:34     ` Jani Nikula
  0 siblings, 1 reply; 20+ messages in thread
From: Nautiyal, Ankit K @ 2021-10-05 10:20 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx; +Cc: uma.shankar, animesh.manna

On 10/5/2021 1:34 PM, Jani Nikula wrote:
> On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>> The low voltage sku check can be ignored as OEMs need to consider that
>> when designing the board and then put any limits in VBT.
> "can" or "must"?
>
> VBT has been notoriously buggy over the years, and we need to safeguard
> against that. Are there any cases where having these checks are wrong?

Hi Jani,

Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to 
specify a maximum that is tolerated by the board design" for the rates 
above 5.4G.

Earlier it was mentioned that rates > 5.4G were supported on SKUs with 
Higher I/O Voltage.

There was an instance where on an ADL-S board, where VBT was showing as 
HBR3 supporting for a combo phy port,  but we were reading the IO 
voltage as 0.85V in is_low_voltage_sku()

(Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0) 
for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps

Due to this, 8k@60 mode was getting pruned on the board for that combo 
phy port. On removing the low_voltage_sku( ) the mode was able to be set 
properly.

Incidentally, with Windows 8k@60 was also coming up on the same board on 
same port.

So I had checked with HW team and GOP/VBT team if driver should consider 
the low voltage sku check.  As per their response we 'can' ignore the 
check and rely on the VBT, as OEM should limit the rate as per board 
design. The Bspec was also updated to reflect the same.

So IMHO we need not limit the rate as per is_low_voltage_sku check, as 
this limiting of the rate through VBT is a must for the OEMs.

I should perhaps change the wording of the commit message to convey the 
same.


Thanks & Regards,

Ankit


>
> BR,
> Jani.
>
>> Same is now changed in Bspec (53720).
>>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>>   1 file changed, 3 insertions(+), 29 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index 74a657ae131a..75c364c3c88e 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>   	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>   }
>>   
>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>> -{
>> -	u32 voltage;
>> -
>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>> -
>> -	return voltage == VOLTAGE_INFO_0_85V;
>> -}
>> -
>>   static int icl_max_source_rate(struct intel_dp *intel_dp)
>>   {
>>   	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>   	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>   	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>   
>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>   		return 540000;
>>   
>>   	return 810000;
>> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>   
>>   static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>   {
>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>> -
>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>> -		return 540000;
>> -
>> -	return 810000;
>> -}
>> -
>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>> -{
>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>> -
>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>> +	if (intel_dp_is_edp(intel_dp))
>>   		return 540000;
>>   
>>   	return 810000;
>> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>   			max_rate = dg2_max_source_rate(intel_dp);
>>   		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>   			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>> -			max_rate = dg1_max_source_rate(intel_dp);
>> +			max_rate = 810000;
>>   		else if (IS_JSL_EHL(dev_priv))
>>   			max_rate = ehl_max_source_rate(intel_dp);
>>   		else

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05 10:20   ` Nautiyal, Ankit K
@ 2021-10-05 10:34     ` Jani Nikula
  2021-10-05 15:31       ` Imre Deak
  0 siblings, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2021-10-05 10:34 UTC (permalink / raw)
  To: Nautiyal, Ankit K, intel-gfx; +Cc: uma.shankar, animesh.manna, Deak, Imre


Cc: Imre, I think you were involved in adding the checks.

BR,
Jani.

On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> On 10/5/2021 1:34 PM, Jani Nikula wrote:
>> On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>>> The low voltage sku check can be ignored as OEMs need to consider that
>>> when designing the board and then put any limits in VBT.
>> "can" or "must"?
>>
>> VBT has been notoriously buggy over the years, and we need to safeguard
>> against that. Are there any cases where having these checks are wrong?
>
> Hi Jani,
>
> Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to 
> specify a maximum that is tolerated by the board design" for the rates 
> above 5.4G.
>
> Earlier it was mentioned that rates > 5.4G were supported on SKUs with 
> Higher I/O Voltage.
>
> There was an instance where on an ADL-S board, where VBT was showing as 
> HBR3 supporting for a combo phy port,  but we were reading the IO 
> voltage as 0.85V in is_low_voltage_sku()
>
> (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0) 
> for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
>
> Due to this, 8k@60 mode was getting pruned on the board for that combo 
> phy port. On removing the low_voltage_sku( ) the mode was able to be set 
> properly.
>
> Incidentally, with Windows 8k@60 was also coming up on the same board on 
> same port.
>
> So I had checked with HW team and GOP/VBT team if driver should consider 
> the low voltage sku check.  As per their response we 'can' ignore the 
> check and rely on the VBT, as OEM should limit the rate as per board 
> design. The Bspec was also updated to reflect the same.
>
> So IMHO we need not limit the rate as per is_low_voltage_sku check, as 
> this limiting of the rate through VBT is a must for the OEMs.
>
> I should perhaps change the wording of the commit message to convey the 
> same.
>
>
> Thanks & Regards,
>
> Ankit
>
>
>>
>> BR,
>> Jani.
>>
>>> Same is now changed in Bspec (53720).
>>>
>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>> ---
>>>   drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>>>   1 file changed, 3 insertions(+), 29 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>>> index 74a657ae131a..75c364c3c88e 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>>> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>>   	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>>   }
>>>   
>>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>>> -{
>>> -	u32 voltage;
>>> -
>>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>>> -
>>> -	return voltage == VOLTAGE_INFO_0_85V;
>>> -}
>>> -
>>>   static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>   {
>>>   	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>   	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>   	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>   
>>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>>   		return 540000;
>>>   
>>>   	return 810000;
>>> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>   
>>>   static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>>   {
>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>> -
>>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>>> -		return 540000;
>>> -
>>> -	return 810000;
>>> -}
>>> -
>>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>>> -{
>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>>> -
>>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>>> +	if (intel_dp_is_edp(intel_dp))
>>>   		return 540000;
>>>   
>>>   	return 810000;
>>> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>>   			max_rate = dg2_max_source_rate(intel_dp);
>>>   		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>>   			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>>> -			max_rate = dg1_max_source_rate(intel_dp);
>>> +			max_rate = 810000;
>>>   		else if (IS_JSL_EHL(dev_priv))
>>>   			max_rate = ehl_max_source_rate(intel_dp);
>>>   		else

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05  7:15 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
  2021-10-05  8:04 ` Jani Nikula
@ 2021-10-05 11:10 ` Patchwork
  2021-10-05 15:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-10-05 11:10 UTC (permalink / raw)
  To: Nautiyal, Ankit K; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Remove check for low voltage sku for max dp source rate
URL   : https://patchwork.freedesktop.org/series/95444/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10683 -> Patchwork_21244
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][1] ([fdo#109271]) +7 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-kbl-soraka/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@amdgpu/amd_basic@query-info:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-bsw-kefka/igt@amdgpu/amd_basic@query-info.html

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-hsw-4770:        [PASS][3] -> [SKIP][4] ([fdo#109271] / [i915#3013])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [PASS][5] -> [INCOMPLETE][6] ([i915#2940])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-bsw-nick/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_pm:
    - fi-icl-y:           [PASS][7] -> [DMESG-FAIL][8] ([i915#2291])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/fi-icl-y/igt@i915_selftest@live@gt_pm.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-icl-y/igt@i915_selftest@live@gt_pm.html

  * igt@runner@aborted:
    - fi-bsw-nick:        NOTRUN -> [FAIL][9] ([fdo#109271] / [i915#1436] / [i915#3428])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-bsw-nick/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@execlists:
    - fi-bsw-kefka:       [INCOMPLETE][10] ([i915#2940]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/fi-bsw-kefka/igt@i915_selftest@live@execlists.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/fi-bsw-kefka/igt@i915_selftest@live@execlists.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#2291]: https://gitlab.freedesktop.org/drm/intel/issues/2291
  [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940
  [i915#3013]: https://gitlab.freedesktop.org/drm/intel/issues/3013
  [i915#3428]: https://gitlab.freedesktop.org/drm/intel/issues/3428


Participating hosts (38 -> 33)
------------------------------

  Missing    (5): bat-dg1-6 fi-bsw-cyan bat-adlp-4 bat-jsl-2 bat-jsl-1 


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

  * Linux: CI_DRM_10683 -> Patchwork_21244

  CI-20190529: 20190529
  CI_DRM_10683: 2db2331e0b19308750c3b921c2779c4c2da9b04b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6230: a079f2e00693facf4cf6512f0ddb69b30826c80f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21244: 2c037e71984bb1795e5a4fd89a35519f829a592c @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

2c037e71984b drm/i915/display: Remove check for low voltage sku for max dp source rate

== Logs ==

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

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

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05  7:15 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
  2021-10-05  8:04 ` Jani Nikula
  2021-10-05 11:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
@ 2021-10-05 15:10 ` Patchwork
  2021-10-19 12:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3) Patchwork
  2021-10-19 15:17 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-10-05 15:10 UTC (permalink / raw)
  To: Nautiyal, Ankit K; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Remove check for low voltage sku for max dp source rate
URL   : https://patchwork.freedesktop.org/series/95444/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10683_full -> Patchwork_21244_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Suppressed ####

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

  * igt@kms_async_flips@crc:
    - {shard-rkl}:        [PASS][1] -> [SKIP][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-6/igt@kms_async_flips@crc.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-2/igt@kms_async_flips@crc.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@preservation-s3@vcs0:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][3] ([i915#180]) +2 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl6/igt@gem_ctx_isolation@preservation-s3@vcs0.html

  * igt@gem_ctx_persistence@process:
    - shard-snb:          NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#1099]) +3 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-snb5/igt@gem_ctx_persistence@process.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-tglb:         NOTRUN -> [SKIP][5] ([i915#280])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-skl:          NOTRUN -> [FAIL][6] ([i915#2846])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@gem_exec_fair@basic-deadline.html
    - shard-apl:          NOTRUN -> [FAIL][7] ([i915#2846])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl7/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-kbl:          [PASS][8] -> [FAIL][9] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-kbl4/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl7/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_whisper@basic-fds-all:
    - shard-glk:          [PASS][10] -> [DMESG-WARN][11] ([i915#118] / [i915#95]) +3 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-glk8/igt@gem_exec_whisper@basic-fds-all.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-glk2/igt@gem_exec_whisper@basic-fds-all.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [PASS][12] -> [SKIP][13] ([i915#2190])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-tglb8/igt@gem_huc_copy@huc-copy.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@gem_huc_copy@huc-copy.html
    - shard-apl:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#2190])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [PASS][15] -> [DMESG-WARN][16] ([i915#180])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-apl6/igt@gem_softpin@noreloc-s3.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl7/igt@gem_softpin@noreloc-s3.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#3323])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl7/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-skl:          NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#3323])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@input-checking:
    - shard-snb:          NOTRUN -> [DMESG-WARN][19] ([i915#3002])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-snb2/igt@gem_userptr_blits@input-checking.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-snb:          NOTRUN -> [SKIP][20] ([fdo#109271]) +244 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-snb5/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@i915_pm_backlight@fade_with_suspend:
    - shard-tglb:         [PASS][21] -> [INCOMPLETE][22] ([i915#456]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-tglb5/igt@i915_pm_backlight@fade_with_suspend.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb7/igt@i915_pm_backlight@fade_with_suspend.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-kbl:          NOTRUN -> [FAIL][23] ([i915#454])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-skl:          NOTRUN -> [FAIL][24] ([i915#454])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_query@query-topology-known-pci-ids:
    - shard-tglb:         NOTRUN -> [SKIP][25] ([fdo#109303])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@i915_query@query-topology-known-pci-ids.html

  * igt@i915_selftest@live@hangcheck:
    - shard-snb:          [PASS][26] -> [INCOMPLETE][27] ([i915#3921])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-snb2/igt@i915_selftest@live@hangcheck.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-snb6/igt@i915_selftest@live@hangcheck.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-skl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#3777])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-kbl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#3777]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#111614])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb5/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-skl:          NOTRUN -> [FAIL][31] ([i915#3722])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-apl:          NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#3777]) +3 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-tglb:         NOTRUN -> [SKIP][33] ([fdo#111615]) +1 similar issue
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([i915#3689] / [i915#3886])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb5/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
    - shard-kbl:          NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#3886]) +4 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl2/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-skl:          NOTRUN -> [SKIP][36] ([fdo#109271] / [i915#3886]) +2 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-apl:          NOTRUN -> [SKIP][37] ([fdo#109271] / [i915#3886]) +13 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl1/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#109278])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-iclb3/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_gen12_rc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][39] ([fdo#109271]) +87 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][40] ([i915#3689]) +5 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb1/igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs.html

  * igt@kms_chamelium@dp-mode-timings:
    - shard-apl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827]) +19 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl8/igt@kms_chamelium@dp-mode-timings.html

  * igt@kms_chamelium@hdmi-edid-read:
    - shard-tglb:         NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827]) +6 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb1/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_color@pipe-b-ctm-0-25:
    - shard-skl:          [PASS][43] -> [DMESG-WARN][44] ([i915#1982])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-skl3/igt@kms_color@pipe-b-ctm-0-25.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl8/igt@kms_color@pipe-b-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-a-ctm-0-25:
    - shard-snb:          NOTRUN -> [SKIP][45] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-snb5/igt@kms_color_chamelium@pipe-a-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-a-degamma:
    - shard-kbl:          NOTRUN -> [SKIP][46] ([fdo#109271] / [fdo#111827]) +7 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@kms_color_chamelium@pipe-a-degamma.html

  * igt@kms_color_chamelium@pipe-b-ctm-max:
    - shard-skl:          NOTRUN -> [SKIP][47] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@kms_color_chamelium@pipe-b-ctm-max.html

  * igt@kms_content_protection@atomic:
    - shard-kbl:          NOTRUN -> [TIMEOUT][48] ([i915#1319])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([i915#3116])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-iclb:         NOTRUN -> [SKIP][50] ([fdo#109300] / [fdo#111066])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-iclb3/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic:
    - shard-apl:          NOTRUN -> [TIMEOUT][51] ([i915#1319]) +1 similar issue
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl8/igt@kms_content_protection@lic.html

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding:
    - shard-tglb:         NOTRUN -> [SKIP][52] ([i915#3319])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding.html

  * igt@kms_cursor_crc@pipe-c-cursor-512x512-random:
    - shard-skl:          NOTRUN -> [SKIP][53] ([fdo#109271]) +35 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@kms_cursor_crc@pipe-c-cursor-512x512-random.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-sliding:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([fdo#109279] / [i915#3359]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@kms_cursor_crc@pipe-d-cursor-512x512-sliding.html

  * igt@kms_cursor_crc@pipe-d-cursor-max-size-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([i915#3359]) +3 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@kms_cursor_crc@pipe-d-cursor-max-size-rapid-movement.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-glk:          [PASS][56] -> [FAIL][57] ([i915#64])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-glk1/igt@kms_fbcon_fbt@fbc.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-glk7/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][58] -> [FAIL][59] ([i915#79])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-skl:          [PASS][60] -> [FAIL][61] ([i915#79])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite:
    - shard-glk:          [PASS][62] -> [FAIL][63] ([i915#2546])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-glk1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-glk7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move:
    - shard-tglb:         NOTRUN -> [SKIP][64] ([fdo#111825]) +18 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move.html

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#533])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl1/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
    - shard-kbl:          [PASS][66] -> [DMESG-WARN][67] ([i915#180]) +3 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][68] ([fdo#108145] / [i915#265]) +2 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl1/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
    - shard-kbl:          NOTRUN -> [FAIL][69] ([i915#265])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          NOTRUN -> [FAIL][70] ([fdo#108145] / [i915#265])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
    - shard-kbl:          NOTRUN -> [FAIL][71] ([fdo#108145] / [i915#265])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl2/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html

  * igt@kms_plane_lowres@pipe-d-tiling-x:
    - shard-tglb:         NOTRUN -> [SKIP][72] ([i915#3536])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb1/igt@kms_plane_lowres@pipe-d-tiling-x.html

  * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping:
    - shard-apl:          NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#2733])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl2/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1:
    - shard-tglb:         NOTRUN -> [SKIP][74] ([i915#2920])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
    - shard-apl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#658]) +4 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl8/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html

  * igt@kms_psr@psr2_cursor_plane_move:
    - shard-iclb:         [PASS][76] -> [SKIP][77] ([fdo#109441])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-iclb5/igt@kms_psr@psr2_cursor_plane_move.html

  * igt@kms_psr@psr2_dpms:
    - shard-tglb:         NOTRUN -> [FAIL][78] ([i915#132] / [i915#3467])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@kms_psr@psr2_dpms.html

  * igt@kms_setmode@basic:
    - shard-snb:          NOTRUN -> [FAIL][79] ([i915#31])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-snb2/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-d-ts-continuation-idle:
    - shard-apl:          NOTRUN -> [SKIP][80] ([fdo#109271]) +244 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl2/igt@kms_vblank@pipe-d-ts-continuation-idle.html

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

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-apl:          NOTRUN -> [SKIP][82] ([fdo#109271] / [i915#2437])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl1/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@nouveau_crc@pipe-a-source-outp-inactive:
    - shard-tglb:         NOTRUN -> [SKIP][83] ([i915#2530])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@nouveau_crc@pipe-a-source-outp-inactive.html

  * igt@perf@polling-small-buf:
    - shard-skl:          [PASS][84] -> [FAIL][85] ([i915#1722])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-skl4/igt@perf@polling-small-buf.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl7/igt@perf@polling-small-buf.html

  * igt@prime_nv_api@i915_self_import:
    - shard-tglb:         NOTRUN -> [SKIP][86] ([fdo#109291])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@prime_nv_api@i915_self_import.html

  * igt@sysfs_clients@fair-0:
    - shard-kbl:          NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#2994])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl3/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@recycle-many:
    - shard-apl:          NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#2994]) +2 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-apl8/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_clients@sema-50:
    - shard-skl:          NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#2994])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl7/igt@sysfs_clients@sema-50.html

  
#### Possible fixes ####

  * igt@gem_ctx_persistence@engines-hang@vecs0:
    - {shard-rkl}:        [FAIL][90] ([i915#2410]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@gem_ctx_persistence@engines-hang@vecs0.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@gem_ctx_persistence@engines-hang@vecs0.html

  * igt@gem_eio@in-flight-contexts-10ms:
    - shard-tglb:         [TIMEOUT][92] ([i915#3063]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-tglb8/igt@gem_eio@in-flight-contexts-10ms.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb6/igt@gem_eio@in-flight-contexts-10ms.html

  * igt@gem_eio@unwedge-stress:
    - {shard-rkl}:        [TIMEOUT][94] ([i915#3063]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@gem_eio@unwedge-stress.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-1/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-deadline:
    - {shard-rkl}:        [FAIL][96] ([i915#2846]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-1/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][98] ([i915#2842]) -> [PASS][99] +2 similar issues
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb3/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-kbl:          [FAIL][100] ([i915#2842]) -> [PASS][101] +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-kbl6/igt@gem_exec_fair@basic-none@vcs0.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-kbl6/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - {shard-rkl}:        [FAIL][102] ([i915#2842]) -> [PASS][103] +1 similar issue
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@gem_exec_fair@basic-pace@rcs0.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-2/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-glk:          [FAIL][104] ([i915#2842]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-glk4/igt@gem_exec_fair@basic-throttle@rcs0.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-glk2/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_reloc@basic-scanout@vecs0:
    - {shard-rkl}:        [SKIP][106] ([i915#3639]) -> [PASS][107] +3 similar issues
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@gem_exec_reloc@basic-scanout@vecs0.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@gem_exec_reloc@basic-scanout@vecs0.html

  * igt@i915_pm_backlight@fade:
    - {shard-rkl}:        [SKIP][108] ([i915#3012]) -> [PASS][109] +2 similar issues
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@i915_pm_backlight@fade.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@i915_pm_backlight@fade.html

  * igt@i915_pm_dc@dc5-psr:
    - {shard-rkl}:        [SKIP][110] ([i915#658]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@i915_pm_dc@dc5-psr.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@i915_pm_dc@dc5-psr.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-iclb:         [FAIL][112] -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-iclb8/igt@i915_pm_dc@dc9-dpms.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-iclb7/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rpm@drm-resources-equal:
    - {shard-rkl}:        [SKIP][114] ([fdo#109308]) -> [PASS][115] +1 similar issue
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@i915_pm_rpm@drm-resources-equal.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@i915_pm_rpm@drm-resources-equal.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - shard-tglb:         [INCOMPLETE][116] ([i915#2411] / [i915#456]) -> [PASS][117] +1 similar issue
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-tglb7/igt@i915_pm_rpm@system-suspend-modeset.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-tglb5/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@i915_pm_rps@min-max-config-idle:
    - {shard-rkl}:        [FAIL][118] ([i915#4016]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@i915_pm_rps@min-max-config-idle.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-2/igt@i915_pm_rps@min-max-config-idle.html

  * igt@i915_selftest@live@late_gt_pm:
    - shard-skl:          [INCOMPLETE][120] ([i915#198]) -> [PASS][121]
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-skl8/igt@i915_selftest@live@late_gt_pm.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-skl10/igt@i915_selftest@live@late_gt_pm.html

  * igt@kms_big_fb@linear-64bpp-rotate-180:
    - {shard-rkl}:        [SKIP][122] ([i915#3638]) -> [PASS][123] +2 similar issues
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@kms_big_fb@linear-64bpp-rotate-180.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-180.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - {shard-rkl}:        [SKIP][124] ([i915#3721]) -> [PASS][125] +11 similar issues
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-270:
    - {shard-rkl}:        [SKIP][126] ([fdo#111614]) -> [PASS][127] +1 similar issue
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@kms_big_fb@y-tiled-16bpp-rotate-270.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_big_fb@y-tiled-16bpp-rotate-270.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs:
    - {shard-rkl}:        [SKIP][128] ([i915#1845]) -> [PASS][129] +31 similar issues
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs.html

  * igt@kms_color@pipe-a-ctm-0-75:
    - {shard-rkl}:        [SKIP][130] ([i915#1149] / [i915#1849] / [i915#4070]) -> [PASS][131] +4 similar issues
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@kms_color@pipe-a-ctm-0-75.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_color@pipe-a-ctm-0-75.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen:
    - {shard-rkl}:        [SKIP][132] ([fdo#112022] / [i915#4070]) -> [PASS][133] +17 similar issues
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen.html

  * igt@kms_cursor_legacy@cursora-vs-flipa-atomic:
    - {shard-rkl}:        [SKIP][134] ([fdo#111825] / [i915#4070]) -> [PASS][135] +7 similar issues
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html

  * igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled:
    - {shard-rkl}:        [SKIP][136] ([fdo#111314]) -> [PASS][137] +10 similar issues
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-2/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - {shard-rkl}:        [SKIP][138] ([fdo#110189] / [i915#3955]) -> [PASS][139]
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21244/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - {shard-rkl}:        [SKIP][140] ([i915#1849]) -> [PASS][141] +46 similar issues
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10683/shard-rkl-1/igt@kms_frontbuffer_tracking@fb

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05 10:34     ` Jani Nikula
@ 2021-10-05 15:31       ` Imre Deak
  2021-10-07  7:49         ` Nautiyal, Ankit K
  0 siblings, 1 reply; 20+ messages in thread
From: Imre Deak @ 2021-10-05 15:31 UTC (permalink / raw)
  To: Jani Nikula; +Cc: Nautiyal, Ankit K, intel-gfx, uma.shankar, animesh.manna

On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
> 
> Cc: Imre, I think you were involved in adding the checks.

About ADL-S the spec says:

Bspec 53597:
Combo Port Maximum Speed:
OEM must use VBT to specify a maximum that is tolerated by the board design.

Combo Port HBR3 support:
May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.

Bspec/49201:
Combo Port HBR3/6.48GHz support:
Only supported on SKUs with higher I/O voltage

I take the above meaning that only high voltage SKUs support HBR3 and
on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
retimer on the board, but the board doesn't have this.

If the above isn't correct and low voltage SKUs also in fact support
HBR3 (with retimers if necessary) then this should imo clarified at
Bspec/49201. The VBT limit could be used then if present, ignoring the
low voltage SKU readout.

> BR,
> Jani.
> 
> On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> > On 10/5/2021 1:34 PM, Jani Nikula wrote:
> >> On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> >>> The low voltage sku check can be ignored as OEMs need to consider that
> >>> when designing the board and then put any limits in VBT.
> >> "can" or "must"?
> >>
> >> VBT has been notoriously buggy over the years, and we need to safeguard
> >> against that. Are there any cases where having these checks are wrong?
> >
> > Hi Jani,
> >
> > Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to 
> > specify a maximum that is tolerated by the board design" for the rates 
> > above 5.4G.
> >
> > Earlier it was mentioned that rates > 5.4G were supported on SKUs with 
> > Higher I/O Voltage.
> >
> > There was an instance where on an ADL-S board, where VBT was showing as 
> > HBR3 supporting for a combo phy port,  but we were reading the IO 
> > voltage as 0.85V in is_low_voltage_sku()
> >
> > (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0) 
> > for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
> >
> > Due to this, 8k@60 mode was getting pruned on the board for that combo 
> > phy port. On removing the low_voltage_sku( ) the mode was able to be set 
> > properly.
> >
> > Incidentally, with Windows 8k@60 was also coming up on the same board on 
> > same port.
> >
> > So I had checked with HW team and GOP/VBT team if driver should consider 
> > the low voltage sku check.  As per their response we 'can' ignore the 
> > check and rely on the VBT, as OEM should limit the rate as per board 
> > design. The Bspec was also updated to reflect the same.
> >
> > So IMHO we need not limit the rate as per is_low_voltage_sku check, as 
> > this limiting of the rate through VBT is a must for the OEMs.
> >
> > I should perhaps change the wording of the commit message to convey the 
> > same.
> >
> >
> > Thanks & Regards,
> >
> > Ankit
> >
> >
> >>
> >> BR,
> >> Jani.
> >>
> >>> Same is now changed in Bspec (53720).
> >>>
> >>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> >>> ---
> >>>   drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
> >>>   1 file changed, 3 insertions(+), 29 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> >>> index 74a657ae131a..75c364c3c88e 100644
> >>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> >>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> >>> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
> >>>   	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
> >>>   }
> >>>   
> >>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
> >>> -{
> >>> -	u32 voltage;
> >>> -
> >>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
> >>> -
> >>> -	return voltage == VOLTAGE_INFO_0_85V;
> >>> -}
> >>> -
> >>>   static int icl_max_source_rate(struct intel_dp *intel_dp)
> >>>   {
> >>>   	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> >>>   	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> >>>   	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> >>>   
> >>> -	if (intel_phy_is_combo(dev_priv, phy) &&
> >>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
> >>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
> >>>   		return 540000;
> >>>   
> >>>   	return 810000;
> >>> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
> >>>   
> >>>   static int ehl_max_source_rate(struct intel_dp *intel_dp)
> >>>   {
> >>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> >>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> >>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> >>> -
> >>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
> >>> -		return 540000;
> >>> -
> >>> -	return 810000;
> >>> -}
> >>> -
> >>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
> >>> -{
> >>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> >>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> >>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
> >>> -
> >>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
> >>> +	if (intel_dp_is_edp(intel_dp))
> >>>   		return 540000;
> >>>   
> >>>   	return 810000;
> >>> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
> >>>   			max_rate = dg2_max_source_rate(intel_dp);
> >>>   		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
> >>>   			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
> >>> -			max_rate = dg1_max_source_rate(intel_dp);
> >>> +			max_rate = 810000;
> >>>   		else if (IS_JSL_EHL(dev_priv))
> >>>   			max_rate = ehl_max_source_rate(intel_dp);
> >>>   		else
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-05 15:31       ` Imre Deak
@ 2021-10-07  7:49         ` Nautiyal, Ankit K
  2021-10-13 15:19           ` Imre Deak
  0 siblings, 1 reply; 20+ messages in thread
From: Nautiyal, Ankit K @ 2021-10-07  7:49 UTC (permalink / raw)
  To: Imre Deak, Jani Nikula; +Cc: intel-gfx, uma.shankar, animesh.manna


On 10/5/2021 9:01 PM, Imre Deak wrote:
> On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
>> Cc: Imre, I think you were involved in adding the checks.
> About ADL-S the spec says:
>
> Bspec 53597:
> Combo Port Maximum Speed:
> OEM must use VBT to specify a maximum that is tolerated by the board design.
>
> Combo Port HBR3 support:
> May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.
>
> Bspec/49201:
> Combo Port HBR3/6.48GHz support:
> Only supported on SKUs with higher I/O voltage
>
> I take the above meaning that only high voltage SKUs support HBR3 and
> on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
> retimer on the board, but the board doesn't have this.
>
> If the above isn't correct and low voltage SKUs also in fact support
> HBR3 (with retimers if necessary) then this should imo clarified at
> Bspec/49201. The VBT limit could be used then if present, ignoring the
> low voltage SKU readout.

Thanks Imre for the inputs.

As you have mentioned note : rate >5.4 G supported only on High voltage 
I/O, is mentioned for platforms like ICL, JSL and Display 12 platforms.

I had again asked the HW team and VBT/GOP team whether we can safely 
rely on VBT for the max rate for these platforms, without worrying about 
the SKU's IO Voltage, and also requested them to update the Bspec page 
for the same.

In response the Bspec pages 49201, 20598 are now updated with the note 
"OEM must use VBT to specify a maximum that is tolerated by the board 
design" for the rates above 5.4G.

 From what I understand, we can depend upon the VBT's rate, and if there 
are some low voltage I/O SKUs that do not support HBR3 rate, it should 
be limited by the VBT.

Thanks & Regards,

Ankit

>> BR,
>> Jani.
>>
>> On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
>>> On 10/5/2021 1:34 PM, Jani Nikula wrote:
>>>> On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>>>>> The low voltage sku check can be ignored as OEMs need to consider that
>>>>> when designing the board and then put any limits in VBT.
>>>> "can" or "must"?
>>>>
>>>> VBT has been notoriously buggy over the years, and we need to safeguard
>>>> against that. Are there any cases where having these checks are wrong?
>>> Hi Jani,
>>>
>>> Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to
>>> specify a maximum that is tolerated by the board design" for the rates
>>> above 5.4G.
>>>
>>> Earlier it was mentioned that rates > 5.4G were supported on SKUs with
>>> Higher I/O Voltage.
>>>
>>> There was an instance where on an ADL-S board, where VBT was showing as
>>> HBR3 supporting for a combo phy port,  but we were reading the IO
>>> voltage as 0.85V in is_low_voltage_sku()
>>>
>>> (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0)
>>> for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
>>>
>>> Due to this, 8k@60 mode was getting pruned on the board for that combo
>>> phy port. On removing the low_voltage_sku( ) the mode was able to be set
>>> properly.
>>>
>>> Incidentally, with Windows 8k@60 was also coming up on the same board on
>>> same port.
>>>
>>> So I had checked with HW team and GOP/VBT team if driver should consider
>>> the low voltage sku check.  As per their response we 'can' ignore the
>>> check and rely on the VBT, as OEM should limit the rate as per board
>>> design. The Bspec was also updated to reflect the same.
>>>
>>> So IMHO we need not limit the rate as per is_low_voltage_sku check, as
>>> this limiting of the rate through VBT is a must for the OEMs.
>>>
>>> I should perhaps change the wording of the commit message to convey the
>>> same.
>>>
>>>
>>> Thanks & Regards,
>>>
>>> Ankit
>>>
>>>
>>>> BR,
>>>> Jani.
>>>>
>>>>> Same is now changed in Bspec (53720).
>>>>>
>>>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>>> ---
>>>>>    drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>>>>>    1 file changed, 3 insertions(+), 29 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>>>>> index 74a657ae131a..75c364c3c88e 100644
>>>>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>>>>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>>>>> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>>>>    	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>>>>    }
>>>>>    
>>>>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>>>>> -{
>>>>> -	u32 voltage;
>>>>> -
>>>>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>>>>> -
>>>>> -	return voltage == VOLTAGE_INFO_0_85V;
>>>>> -}
>>>>> -
>>>>>    static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>>>    {
>>>>>    	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>    	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>>>    	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>>>    
>>>>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>>>>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>>>>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>>>>    		return 540000;
>>>>>    
>>>>>    	return 810000;
>>>>> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>>>    
>>>>>    static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>>>>    {
>>>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>>> -
>>>>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>>>>> -		return 540000;
>>>>> -
>>>>> -	return 810000;
>>>>> -}
>>>>> -
>>>>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>>>>> -{
>>>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>>>>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>>>>> -
>>>>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>>>>> +	if (intel_dp_is_edp(intel_dp))
>>>>>    		return 540000;
>>>>>    
>>>>>    	return 810000;
>>>>> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>>>>    			max_rate = dg2_max_source_rate(intel_dp);
>>>>>    		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>>>>    			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>>>>> -			max_rate = dg1_max_source_rate(intel_dp);
>>>>> +			max_rate = 810000;
>>>>>    		else if (IS_JSL_EHL(dev_priv))
>>>>>    			max_rate = ehl_max_source_rate(intel_dp);
>>>>>    		else
>> -- 
>> Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-07  7:49         ` Nautiyal, Ankit K
@ 2021-10-13 15:19           ` Imre Deak
  2021-10-13 15:35             ` Jani Nikula
  2021-10-14 11:32             ` Nautiyal, Ankit K
  0 siblings, 2 replies; 20+ messages in thread
From: Imre Deak @ 2021-10-13 15:19 UTC (permalink / raw)
  To: Nautiyal, Ankit K; +Cc: Jani Nikula, intel-gfx, uma.shankar, animesh.manna

On Thu, Oct 07, 2021 at 01:19:25PM +0530, Nautiyal, Ankit K wrote:
> 
> On 10/5/2021 9:01 PM, Imre Deak wrote:
> > On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
> > > Cc: Imre, I think you were involved in adding the checks.
> > About ADL-S the spec says:
> > 
> > Bspec 53597:
> > Combo Port Maximum Speed:
> > OEM must use VBT to specify a maximum that is tolerated by the board design.
> > 
> > Combo Port HBR3 support:
> > May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.
> > 
> > Bspec/49201:
> > Combo Port HBR3/6.48GHz support:
> > Only supported on SKUs with higher I/O voltage
> > 
> > I take the above meaning that only high voltage SKUs support HBR3 and
> > on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
> > retimer on the board, but the board doesn't have this.
> > 
> > If the above isn't correct and low voltage SKUs also in fact support
> > HBR3 (with retimers if necessary) then this should imo clarified at
> > Bspec/49201. The VBT limit could be used then if present, ignoring the
> > low voltage SKU readout.
> 
> Thanks Imre for the inputs.
> 
> As you have mentioned note : rate >5.4 G supported only on High voltage I/O,
> is mentioned for platforms like ICL, JSL and Display 12 platforms.
> 
> I had again asked the HW team and VBT/GOP team whether we can safely rely on
> VBT for the max rate for these platforms, without worrying about the SKU's
> IO Voltage, and also requested them to update the Bspec page for the same.
> 
> In response the Bspec pages 49201, 20598 are now updated with the note "OEM
> must use VBT to specify a maximum that is tolerated by the board design" for
> the rates above 5.4G.

Ok, thanks for this, now the spec is closer to the proposed changes. On
some platforms it's still unclear if the default max rate in the lack of
a VBT limit is HBR2 or HBR3. The ADL-S overview at Bspec/53597 is clear
now wrt. this:

(*) "May require retimer on motherboard. The OEM must use VBT to limit the link rate
    to HBR2 if HBR3 not supported by motherboard."

ideally it should still clarify if the potential retimer requirement applies to
both eDP and DP or only to DP.

I still see the followings to adjust in the spec so that it reflects
the patch:

- ICL
  - bspec/20584:
    "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
     and eDP resolutions."

     should be changed to (*) above mentioning that HBR3 is only supported on
     eDP.

  - bspec/20598:
    "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
    board design."

    The DP/HBR3 support on ICL should be removed.

    For eDP/HBR3 on ICL the above comment should be changed to (*).

- JSL
  - bspec/32247:
    "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
     resolutions."

    should be removed/changed to (*).

  - bspec/20598:
    "OEM must use VBT to specify a miximum that is tolerated by the
    board design."

    should be changed to (*).

- TGL:
  - bspec/49201:
    "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated
    by the board design."

    The DP/HBR3 support should be removed, for eDP/HBR3 the above should
    be changed to (*).

- RKL:
  - bspec/49201, 49204:
    Remove the RKL tag, since there is a separate page for RKL.

  - bspec/49202:
    "Combo HBR3: Only supported on SKUs with higher I/O voltage"

    should be changed to (*).

- ADLS:
  - bspec/49201, 49204:
    The ADLS tag should be removed, since there is a separate page for ADLS.

  - bspec/53720:
    "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
    board design."

    should be changed to (*).

- DG1:
  - bspec/49205:
    "Combo HBR3: Only supported on SKUs with higher I/O voltage"

    should be changed to (*) above.

- DG2:
  - bspec/53657:
    For Combo HBR3 (*) should be added.

  - bspec/54034:
    For Combo HBR3 (*) should be added.

- ADLP:
  - bspec/49185:
    "Combo DP/HBR3: OEM must use VBT to specify a miximum that is tolerated by
    the board design. An external re-timer may be needed."

    should be changed to (*).


Also could you add a debug print with the voltage configuration of combo
PHYs somewhere in intel_combo_phy.c?

> From what I understand, we can depend upon the VBT's rate, and if there are
> some low voltage I/O SKUs that do not support HBR3 rate, it should be
> limited by the VBT.
> 
> Thanks & Regards,
> 
> Ankit
> 
> > > BR,
> > > Jani.
> > > 
> > > On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> > > > On 10/5/2021 1:34 PM, Jani Nikula wrote:
> > > > > On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> > > > > > The low voltage sku check can be ignored as OEMs need to consider that
> > > > > > when designing the board and then put any limits in VBT.
> > > > > "can" or "must"?
> > > > > 
> > > > > VBT has been notoriously buggy over the years, and we need to safeguard
> > > > > against that. Are there any cases where having these checks are wrong?
> > > > Hi Jani,
> > > > 
> > > > Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to
> > > > specify a maximum that is tolerated by the board design" for the rates
> > > > above 5.4G.
> > > > 
> > > > Earlier it was mentioned that rates > 5.4G were supported on SKUs with
> > > > Higher I/O Voltage.
> > > > 
> > > > There was an instance where on an ADL-S board, where VBT was showing as
> > > > HBR3 supporting for a combo phy port,  but we were reading the IO
> > > > voltage as 0.85V in is_low_voltage_sku()
> > > > 
> > > > (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0)
> > > > for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
> > > > 
> > > > Due to this, 8k@60 mode was getting pruned on the board for that combo
> > > > phy port. On removing the low_voltage_sku( ) the mode was able to be set
> > > > properly.
> > > > 
> > > > Incidentally, with Windows 8k@60 was also coming up on the same board on
> > > > same port.
> > > > 
> > > > So I had checked with HW team and GOP/VBT team if driver should consider
> > > > the low voltage sku check.  As per their response we 'can' ignore the
> > > > check and rely on the VBT, as OEM should limit the rate as per board
> > > > design. The Bspec was also updated to reflect the same.
> > > > 
> > > > So IMHO we need not limit the rate as per is_low_voltage_sku check, as
> > > > this limiting of the rate through VBT is a must for the OEMs.
> > > > 
> > > > I should perhaps change the wording of the commit message to convey the
> > > > same.
> > > > 
> > > > 
> > > > Thanks & Regards,
> > > > 
> > > > Ankit
> > > > 
> > > > 
> > > > > BR,
> > > > > Jani.
> > > > > 
> > > > > > Same is now changed in Bspec (53720).
> > > > > > 
> > > > > > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > > > > > ---
> > > > > >    drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
> > > > > >    1 file changed, 3 insertions(+), 29 deletions(-)
> > > > > > 
> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > index 74a657ae131a..75c364c3c88e 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
> > > > > >    	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
> > > > > >    }
> > > > > > -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
> > > > > > -{
> > > > > > -	u32 voltage;
> > > > > > -
> > > > > > -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
> > > > > > -
> > > > > > -	return voltage == VOLTAGE_INFO_0_85V;
> > > > > > -}
> > > > > > -
> > > > > >    static int icl_max_source_rate(struct intel_dp *intel_dp)
> > > > > >    {
> > > > > >    	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > > > > >    	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> > > > > >    	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> > > > > > -	if (intel_phy_is_combo(dev_priv, phy) &&
> > > > > > -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
> > > > > > +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
> > > > > >    		return 540000;
> > > > > >    	return 810000;
> > > > > > @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
> > > > > >    static int ehl_max_source_rate(struct intel_dp *intel_dp)
> > > > > >    {
> > > > > > -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > > > > > -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> > > > > > -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> > > > > > -
> > > > > > -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
> > > > > > -		return 540000;
> > > > > > -
> > > > > > -	return 810000;
> > > > > > -}
> > > > > > -
> > > > > > -static int dg1_max_source_rate(struct intel_dp *intel_dp)
> > > > > > -{
> > > > > > -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > > > > > -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> > > > > > -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
> > > > > > -
> > > > > > -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
> > > > > > +	if (intel_dp_is_edp(intel_dp))
> > > > > >    		return 540000;
> > > > > >    	return 810000;
> > > > > > @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
> > > > > >    			max_rate = dg2_max_source_rate(intel_dp);
> > > > > >    		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
> > > > > >    			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
> > > > > > -			max_rate = dg1_max_source_rate(intel_dp);
> > > > > > +			max_rate = 810000;
> > > > > >    		else if (IS_JSL_EHL(dev_priv))
> > > > > >    			max_rate = ehl_max_source_rate(intel_dp);
> > > > > >    		else
> > > -- 
> > > Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-13 15:19           ` Imre Deak
@ 2021-10-13 15:35             ` Jani Nikula
  2021-10-14 11:51               ` Nautiyal, Ankit K
  2021-10-14 11:32             ` Nautiyal, Ankit K
  1 sibling, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2021-10-13 15:35 UTC (permalink / raw)
  To: Imre Deak, Nautiyal, Ankit K; +Cc: intel-gfx, uma.shankar, animesh.manna

On Wed, 13 Oct 2021, Imre Deak <imre.deak@intel.com> wrote:
> On Thu, Oct 07, 2021 at 01:19:25PM +0530, Nautiyal, Ankit K wrote:
>> 
>> On 10/5/2021 9:01 PM, Imre Deak wrote:
>> > On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
>> > > Cc: Imre, I think you were involved in adding the checks.
>> > About ADL-S the spec says:
>> > 
>> > Bspec 53597:
>> > Combo Port Maximum Speed:
>> > OEM must use VBT to specify a maximum that is tolerated by the board design.
>> > 
>> > Combo Port HBR3 support:
>> > May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.
>> > 
>> > Bspec/49201:
>> > Combo Port HBR3/6.48GHz support:
>> > Only supported on SKUs with higher I/O voltage
>> > 
>> > I take the above meaning that only high voltage SKUs support HBR3 and
>> > on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
>> > retimer on the board, but the board doesn't have this.
>> > 
>> > If the above isn't correct and low voltage SKUs also in fact support
>> > HBR3 (with retimers if necessary) then this should imo clarified at
>> > Bspec/49201. The VBT limit could be used then if present, ignoring the
>> > low voltage SKU readout.
>> 
>> Thanks Imre for the inputs.
>> 
>> As you have mentioned note : rate >5.4 G supported only on High voltage I/O,
>> is mentioned for platforms like ICL, JSL and Display 12 platforms.
>> 
>> I had again asked the HW team and VBT/GOP team whether we can safely rely on
>> VBT for the max rate for these platforms, without worrying about the SKU's
>> IO Voltage, and also requested them to update the Bspec page for the same.
>> 
>> In response the Bspec pages 49201, 20598 are now updated with the note "OEM
>> must use VBT to specify a maximum that is tolerated by the board design" for
>> the rates above 5.4G.
>
> Ok, thanks for this, now the spec is closer to the proposed changes. On
> some platforms it's still unclear if the default max rate in the lack of
> a VBT limit is HBR2 or HBR3. The ADL-S overview at Bspec/53597 is clear
> now wrt. this:
>
> (*) "May require retimer on motherboard. The OEM must use VBT to limit the link rate
>     to HBR2 if HBR3 not supported by motherboard."
>
> ideally it should still clarify if the potential retimer requirement applies to
> both eDP and DP or only to DP.
>
> I still see the followings to adjust in the spec so that it reflects
> the patch:
>
> - ICL
>   - bspec/20584:
>     "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
>      and eDP resolutions."
>
>      should be changed to (*) above mentioning that HBR3 is only supported on
>      eDP.
>
>   - bspec/20598:
>     "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
>     board design."
>
>     The DP/HBR3 support on ICL should be removed.
>
>     For eDP/HBR3 on ICL the above comment should be changed to (*).
>
> - JSL
>   - bspec/32247:
>     "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
>      resolutions."
>
>     should be removed/changed to (*).
>
>   - bspec/20598:
>     "OEM must use VBT to specify a miximum that is tolerated by the
>     board design."
>
>     should be changed to (*).
>
> - TGL:
>   - bspec/49201:
>     "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated
>     by the board design."
>
>     The DP/HBR3 support should be removed, for eDP/HBR3 the above should
>     be changed to (*).
>
> - RKL:
>   - bspec/49201, 49204:
>     Remove the RKL tag, since there is a separate page for RKL.
>
>   - bspec/49202:
>     "Combo HBR3: Only supported on SKUs with higher I/O voltage"
>
>     should be changed to (*).
>
> - ADLS:
>   - bspec/49201, 49204:
>     The ADLS tag should be removed, since there is a separate page for ADLS.
>
>   - bspec/53720:
>     "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
>     board design."
>
>     should be changed to (*).
>
> - DG1:
>   - bspec/49205:
>     "Combo HBR3: Only supported on SKUs with higher I/O voltage"
>
>     should be changed to (*) above.
>
> - DG2:
>   - bspec/53657:
>     For Combo HBR3 (*) should be added.
>
>   - bspec/54034:
>     For Combo HBR3 (*) should be added.
>
> - ADLP:
>   - bspec/49185:
>     "Combo DP/HBR3: OEM must use VBT to specify a miximum that is tolerated by
>     the board design. An external re-timer may be needed."
>
>     should be changed to (*).
>
>
> Also could you add a debug print with the voltage configuration of combo
> PHYs somewhere in intel_combo_phy.c?
>
>> From what I understand, we can depend upon the VBT's rate, and if there are
>> some low voltage I/O SKUs that do not support HBR3 rate, it should be
>> limited by the VBT.
>> 
>> Thanks & Regards,
>> 
>> Ankit
>> 
>> > > BR,
>> > > Jani.
>> > > 
>> > > On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
>> > > > On 10/5/2021 1:34 PM, Jani Nikula wrote:
>> > > > > On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>> > > > > > The low voltage sku check can be ignored as OEMs need to consider that
>> > > > > > when designing the board and then put any limits in VBT.
>> > > > > "can" or "must"?
>> > > > > 
>> > > > > VBT has been notoriously buggy over the years, and we need to safeguard
>> > > > > against that. Are there any cases where having these checks are wrong?
>> > > > Hi Jani,
>> > > > 
>> > > > Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to
>> > > > specify a maximum that is tolerated by the board design" for the rates
>> > > > above 5.4G.
>> > > > 
>> > > > Earlier it was mentioned that rates > 5.4G were supported on SKUs with
>> > > > Higher I/O Voltage.
>> > > > 
>> > > > There was an instance where on an ADL-S board, where VBT was showing as
>> > > > HBR3 supporting for a combo phy port,  but we were reading the IO
>> > > > voltage as 0.85V in is_low_voltage_sku()
>> > > > 
>> > > > (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0)
>> > > > for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps

Btw why was this? Is it the wrong register, wrong thing to do, what?

BR,
Jani.


>> > > > 
>> > > > Due to this, 8k@60 mode was getting pruned on the board for that combo
>> > > > phy port. On removing the low_voltage_sku( ) the mode was able to be set
>> > > > properly.
>> > > > 
>> > > > Incidentally, with Windows 8k@60 was also coming up on the same board on
>> > > > same port.
>> > > > 
>> > > > So I had checked with HW team and GOP/VBT team if driver should consider
>> > > > the low voltage sku check.  As per their response we 'can' ignore the
>> > > > check and rely on the VBT, as OEM should limit the rate as per board
>> > > > design. The Bspec was also updated to reflect the same.
>> > > > 
>> > > > So IMHO we need not limit the rate as per is_low_voltage_sku check, as
>> > > > this limiting of the rate through VBT is a must for the OEMs.
>> > > > 
>> > > > I should perhaps change the wording of the commit message to convey the
>> > > > same.
>> > > > 
>> > > > 
>> > > > Thanks & Regards,
>> > > > 
>> > > > Ankit
>> > > > 
>> > > > 
>> > > > > BR,
>> > > > > Jani.
>> > > > > 
>> > > > > > Same is now changed in Bspec (53720).
>> > > > > > 
>> > > > > > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> > > > > > ---
>> > > > > >    drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>> > > > > >    1 file changed, 3 insertions(+), 29 deletions(-)
>> > > > > > 
>> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> > > > > > index 74a657ae131a..75c364c3c88e 100644
>> > > > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> > > > > > @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>> > > > > >    	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>> > > > > >    }
>> > > > > > -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>> > > > > > -{
>> > > > > > -	u32 voltage;
>> > > > > > -
>> > > > > > -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>> > > > > > -
>> > > > > > -	return voltage == VOLTAGE_INFO_0_85V;
>> > > > > > -}
>> > > > > > -
>> > > > > >    static int icl_max_source_rate(struct intel_dp *intel_dp)
>> > > > > >    {
>> > > > > >    	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> > > > > >    	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>> > > > > >    	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>> > > > > > -	if (intel_phy_is_combo(dev_priv, phy) &&
>> > > > > > -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>> > > > > > +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>> > > > > >    		return 540000;
>> > > > > >    	return 810000;
>> > > > > > @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>> > > > > >    static int ehl_max_source_rate(struct intel_dp *intel_dp)
>> > > > > >    {
>> > > > > > -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> > > > > > -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>> > > > > > -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>> > > > > > -
>> > > > > > -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>> > > > > > -		return 540000;
>> > > > > > -
>> > > > > > -	return 810000;
>> > > > > > -}
>> > > > > > -
>> > > > > > -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>> > > > > > -{
>> > > > > > -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> > > > > > -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>> > > > > > -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>> > > > > > -
>> > > > > > -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>> > > > > > +	if (intel_dp_is_edp(intel_dp))
>> > > > > >    		return 540000;
>> > > > > >    	return 810000;
>> > > > > > @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>> > > > > >    			max_rate = dg2_max_source_rate(intel_dp);
>> > > > > >    		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>> > > > > >    			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>> > > > > > -			max_rate = dg1_max_source_rate(intel_dp);
>> > > > > > +			max_rate = 810000;
>> > > > > >    		else if (IS_JSL_EHL(dev_priv))
>> > > > > >    			max_rate = ehl_max_source_rate(intel_dp);
>> > > > > >    		else
>> > > -- 
>> > > Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-13 15:19           ` Imre Deak
  2021-10-13 15:35             ` Jani Nikula
@ 2021-10-14 11:32             ` Nautiyal, Ankit K
  2021-10-14 12:52               ` Imre Deak
  1 sibling, 1 reply; 20+ messages in thread
From: Nautiyal, Ankit K @ 2021-10-14 11:32 UTC (permalink / raw)
  To: Imre Deak; +Cc: Jani Nikula, intel-gfx, uma.shankar, animesh.manna


On 10/13/2021 8:49 PM, Imre Deak wrote:
> On Thu, Oct 07, 2021 at 01:19:25PM +0530, Nautiyal, Ankit K wrote:
>> On 10/5/2021 9:01 PM, Imre Deak wrote:
>>> On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
>>>> Cc: Imre, I think you were involved in adding the checks.
>>> About ADL-S the spec says:
>>>
>>> Bspec 53597:
>>> Combo Port Maximum Speed:
>>> OEM must use VBT to specify a maximum that is tolerated by the board design.
>>>
>>> Combo Port HBR3 support:
>>> May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.
>>>
>>> Bspec/49201:
>>> Combo Port HBR3/6.48GHz support:
>>> Only supported on SKUs with higher I/O voltage
>>>
>>> I take the above meaning that only high voltage SKUs support HBR3 and
>>> on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
>>> retimer on the board, but the board doesn't have this.
>>>
>>> If the above isn't correct and low voltage SKUs also in fact support
>>> HBR3 (with retimers if necessary) then this should imo clarified at
>>> Bspec/49201. The VBT limit could be used then if present, ignoring the
>>> low voltage SKU readout.
>> Thanks Imre for the inputs.
>>
>> As you have mentioned note : rate >5.4 G supported only on High voltage I/O,
>> is mentioned for platforms like ICL, JSL and Display 12 platforms.
>>
>> I had again asked the HW team and VBT/GOP team whether we can safely rely on
>> VBT for the max rate for these platforms, without worrying about the SKU's
>> IO Voltage, and also requested them to update the Bspec page for the same.
>>
>> In response the Bspec pages 49201, 20598 are now updated with the note "OEM
>> must use VBT to specify a maximum that is tolerated by the board design" for
>> the rates above 5.4G.
> Ok, thanks for this, now the spec is closer to the proposed changes. On
> some platforms it's still unclear if the default max rate in the lack of
> a VBT limit is HBR2 or HBR3. The ADL-S overview at Bspec/53597 is clear
> now wrt. this:
>
> (*) "May require retimer on motherboard. The OEM must use VBT to limit the link rate
>      to HBR2 if HBR3 not supported by motherboard."
>
> ideally it should still clarify if the potential retimer requirement applies to
> both eDP and DP or only to DP.

Thanks Imre, point noted.

I realized: in general, the Platform Overview page and Platform Combo 
phy clocks pages seem to be not in sync on the combo phy rate in some 
places.

Earlier I was looking only on the clock pages for the combo phy rate 
information.

I will again clarify this with the H/W team and request for the below 
suggested modifications for the given platforms.

>
> I still see the followings to adjust in the spec so that it reflects
> the patch:
> - ICL
>    - bspec/20584:
>      "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
>       and eDP resolutions."
>
>       should be changed to (*) above mentioning that HBR3 is only supported on
>       eDP.
>
>    - bspec/20598:
>      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
>      board design."
>
>      The DP/HBR3 support on ICL should be removed.
>
>      For eDP/HBR3 on ICL the above comment should be changed to (*).
>
> - JSL
>    - bspec/32247:
>      "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
>       resolutions."
>
>      should be removed/changed to (*).
>
>    - bspec/20598:
>      "OEM must use VBT to specify a miximum that is tolerated by the
>      board design."
>
>      should be changed to (*).
>
> - TGL:
>    - bspec/49201:
>      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated
>      by the board design."
>
>      The DP/HBR3 support should be removed, for eDP/HBR3 the above should
>      be changed to (*).
>
> - RKL:
>    - bspec/49201, 49204:
>      Remove the RKL tag, since there is a separate page for RKL.
>
>    - bspec/49202:
>      "Combo HBR3: Only supported on SKUs with higher I/O voltage"
>
>      should be changed to (*).
>
> - ADLS:
>    - bspec/49201, 49204:
>      The ADLS tag should be removed, since there is a separate page for ADLS.
>
>    - bspec/53720:
>      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
>      board design."
>
>      should be changed to (*).
>
> - DG1:
>    - bspec/49205:
>      "Combo HBR3: Only supported on SKUs with higher I/O voltage"
>
>      should be changed to (*) above.
>
> - DG2:
>    - bspec/53657:
>      For Combo HBR3 (*) should be added.
>
>    - bspec/54034:
>      For Combo HBR3 (*) should be added.
>
> - ADLP:
>    - bspec/49185:
>      "Combo DP/HBR3: OEM must use VBT to specify a miximum that is tolerated by
>      the board design. An external re-timer may be needed."
>
>      should be changed to (*).
>
>
> Also could you add a debug print with the voltage configuration of combo
> PHYs somewhere in intel_combo_phy.c?

Yes, I can do that. I can add a debug print in 
icl_set_procmon_ref_values( ), where we are already reading the required 
register.

This gets called during combo_phy_init and combo_phy_verify phase, so we 
should be able to get this info for each combo PHY port.

Or otherwise, I can just print all combo phys voltage config together, 
once all are initialized.

Thanks again for the detailed explanation.


Regards,

Ankit

>
>>  From what I understand, we can depend upon the VBT's rate, and if there are
>> some low voltage I/O SKUs that do not support HBR3 rate, it should be
>> limited by the VBT.
>>
>> Thanks & Regards,
>>
>> Ankit
>>
>>>> BR,
>>>> Jani.
>>>>
>>>> On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
>>>>> On 10/5/2021 1:34 PM, Jani Nikula wrote:
>>>>>> On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>>>>>>> The low voltage sku check can be ignored as OEMs need to consider that
>>>>>>> when designing the board and then put any limits in VBT.
>>>>>> "can" or "must"?
>>>>>>
>>>>>> VBT has been notoriously buggy over the years, and we need to safeguard
>>>>>> against that. Are there any cases where having these checks are wrong?
>>>>> Hi Jani,
>>>>>
>>>>> Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to
>>>>> specify a maximum that is tolerated by the board design" for the rates
>>>>> above 5.4G.
>>>>>
>>>>> Earlier it was mentioned that rates > 5.4G were supported on SKUs with
>>>>> Higher I/O Voltage.
>>>>>
>>>>> There was an instance where on an ADL-S board, where VBT was showing as
>>>>> HBR3 supporting for a combo phy port,  but we were reading the IO
>>>>> voltage as 0.85V in is_low_voltage_sku()
>>>>>
>>>>> (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0)
>>>>> for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
>>>>>
>>>>> Due to this, 8k@60 mode was getting pruned on the board for that combo
>>>>> phy port. On removing the low_voltage_sku( ) the mode was able to be set
>>>>> properly.
>>>>>
>>>>> Incidentally, with Windows 8k@60 was also coming up on the same board on
>>>>> same port.
>>>>>
>>>>> So I had checked with HW team and GOP/VBT team if driver should consider
>>>>> the low voltage sku check.  As per their response we 'can' ignore the
>>>>> check and rely on the VBT, as OEM should limit the rate as per board
>>>>> design. The Bspec was also updated to reflect the same.
>>>>>
>>>>> So IMHO we need not limit the rate as per is_low_voltage_sku check, as
>>>>> this limiting of the rate through VBT is a must for the OEMs.
>>>>>
>>>>> I should perhaps change the wording of the commit message to convey the
>>>>> same.
>>>>>
>>>>>
>>>>> Thanks & Regards,
>>>>>
>>>>> Ankit
>>>>>
>>>>>
>>>>>> BR,
>>>>>> Jani.
>>>>>>
>>>>>>> Same is now changed in Bspec (53720).
>>>>>>>
>>>>>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>>>>> ---
>>>>>>>     drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>>>>>>>     1 file changed, 3 insertions(+), 29 deletions(-)
>>>>>>>
>>>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>>>>>>> index 74a657ae131a..75c364c3c88e 100644
>>>>>>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>>>>>>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>>>>>>> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>     	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>>>>>>     }
>>>>>>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>>>>>>> -{
>>>>>>> -	u32 voltage;
>>>>>>> -
>>>>>>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>>>>>>> -
>>>>>>> -	return voltage == VOLTAGE_INFO_0_85V;
>>>>>>> -}
>>>>>>> -
>>>>>>>     static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>     {
>>>>>>>     	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>>>     	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>>>>>     	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>>>>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>>>>>>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>>>>>>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>>>>>>     		return 540000;
>>>>>>>     	return 810000;
>>>>>>> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>     static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>     {
>>>>>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>>>>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>>>>> -
>>>>>>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>>>>>>> -		return 540000;
>>>>>>> -
>>>>>>> -	return 810000;
>>>>>>> -}
>>>>>>> -
>>>>>>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>>>>>>> -{
>>>>>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>>>>>>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>>>>>>> -
>>>>>>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>>>>>>> +	if (intel_dp_is_edp(intel_dp))
>>>>>>>     		return 540000;
>>>>>>>     	return 810000;
>>>>>>> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>>>>>>     			max_rate = dg2_max_source_rate(intel_dp);
>>>>>>>     		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>>>>>>     			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>>>>>>> -			max_rate = dg1_max_source_rate(intel_dp);
>>>>>>> +			max_rate = 810000;
>>>>>>>     		else if (IS_JSL_EHL(dev_priv))
>>>>>>>     			max_rate = ehl_max_source_rate(intel_dp);
>>>>>>>     		else
>>>> -- 
>>>> Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-13 15:35             ` Jani Nikula
@ 2021-10-14 11:51               ` Nautiyal, Ankit K
  0 siblings, 0 replies; 20+ messages in thread
From: Nautiyal, Ankit K @ 2021-10-14 11:51 UTC (permalink / raw)
  To: Jani Nikula, Imre Deak; +Cc: intel-gfx, uma.shankar, animesh.manna


On 10/13/2021 9:05 PM, Jani Nikula wrote:
> On Wed, 13 Oct 2021, Imre Deak <imre.deak@intel.com> wrote:
>> On Thu, Oct 07, 2021 at 01:19:25PM +0530, Nautiyal, Ankit K wrote:
>>> On 10/5/2021 9:01 PM, Imre Deak wrote:
>>>> On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
>>>>> Cc: Imre, I think you were involved in adding the checks.
>>>> About ADL-S the spec says:
>>>>
>>>> Bspec 53597:
>>>> Combo Port Maximum Speed:
>>>> OEM must use VBT to specify a maximum that is tolerated by the board design.
>>>>
>>>> Combo Port HBR3 support:
>>>> May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.
>>>>
>>>> Bspec/49201:
>>>> Combo Port HBR3/6.48GHz support:
>>>> Only supported on SKUs with higher I/O voltage
>>>>
>>>> I take the above meaning that only high voltage SKUs support HBR3 and
>>>> on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
>>>> retimer on the board, but the board doesn't have this.
>>>>
>>>> If the above isn't correct and low voltage SKUs also in fact support
>>>> HBR3 (with retimers if necessary) then this should imo clarified at
>>>> Bspec/49201. The VBT limit could be used then if present, ignoring the
>>>> low voltage SKU readout.
>>> Thanks Imre for the inputs.
>>>
>>> As you have mentioned note : rate >5.4 G supported only on High voltage I/O,
>>> is mentioned for platforms like ICL, JSL and Display 12 platforms.
>>>
>>> I had again asked the HW team and VBT/GOP team whether we can safely rely on
>>> VBT for the max rate for these platforms, without worrying about the SKU's
>>> IO Voltage, and also requested them to update the Bspec page for the same.
>>>
>>> In response the Bspec pages 49201, 20598 are now updated with the note "OEM
>>> must use VBT to specify a maximum that is tolerated by the board design" for
>>> the rates above 5.4G.
>> Ok, thanks for this, now the spec is closer to the proposed changes. On
>> some platforms it's still unclear if the default max rate in the lack of
>> a VBT limit is HBR2 or HBR3. The ADL-S overview at Bspec/53597 is clear
>> now wrt. this:
>>
>> (*) "May require retimer on motherboard. The OEM must use VBT to limit the link rate
>>      to HBR2 if HBR3 not supported by motherboard."
>>
>> ideally it should still clarify if the potential retimer requirement applies to
>> both eDP and DP or only to DP.
>>
>> I still see the followings to adjust in the spec so that it reflects
>> the patch:
>>
>> - ICL
>>    - bspec/20584:
>>      "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
>>       and eDP resolutions."
>>
>>       should be changed to (*) above mentioning that HBR3 is only supported on
>>       eDP.
>>
>>    - bspec/20598:
>>      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
>>      board design."
>>
>>      The DP/HBR3 support on ICL should be removed.
>>
>>      For eDP/HBR3 on ICL the above comment should be changed to (*).
>>
>> - JSL
>>    - bspec/32247:
>>      "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
>>       resolutions."
>>
>>      should be removed/changed to (*).
>>
>>    - bspec/20598:
>>      "OEM must use VBT to specify a miximum that is tolerated by the
>>      board design."
>>
>>      should be changed to (*).
>>
>> - TGL:
>>    - bspec/49201:
>>      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated
>>      by the board design."
>>
>>      The DP/HBR3 support should be removed, for eDP/HBR3 the above should
>>      be changed to (*).
>>
>> - RKL:
>>    - bspec/49201, 49204:
>>      Remove the RKL tag, since there is a separate page for RKL.
>>
>>    - bspec/49202:
>>      "Combo HBR3: Only supported on SKUs with higher I/O voltage"
>>
>>      should be changed to (*).
>>
>> - ADLS:
>>    - bspec/49201, 49204:
>>      The ADLS tag should be removed, since there is a separate page for ADLS.
>>
>>    - bspec/53720:
>>      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
>>      board design."
>>
>>      should be changed to (*).
>>
>> - DG1:
>>    - bspec/49205:
>>      "Combo HBR3: Only supported on SKUs with higher I/O voltage"
>>
>>      should be changed to (*) above.
>>
>> - DG2:
>>    - bspec/53657:
>>      For Combo HBR3 (*) should be added.
>>
>>    - bspec/54034:
>>      For Combo HBR3 (*) should be added.
>>
>> - ADLP:
>>    - bspec/49185:
>>      "Combo DP/HBR3: OEM must use VBT to specify a miximum that is tolerated by
>>      the board design. An external re-timer may be needed."
>>
>>      should be changed to (*).
>>
>>
>> Also could you add a debug print with the voltage configuration of combo
>> PHYs somewhere in intel_combo_phy.c?
>>
>>>  From what I understand, we can depend upon the VBT's rate, and if there are
>>> some low voltage I/O SKUs that do not support HBR3 rate, it should be
>>> limited by the VBT.
>>>
>>> Thanks & Regards,
>>>
>>> Ankit
>>>
>>>>> BR,
>>>>> Jani.
>>>>>
>>>>> On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
>>>>>> On 10/5/2021 1:34 PM, Jani Nikula wrote:
>>>>>>> On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>>>>>>>> The low voltage sku check can be ignored as OEMs need to consider that
>>>>>>>> when designing the board and then put any limits in VBT.
>>>>>>> "can" or "must"?
>>>>>>>
>>>>>>> VBT has been notoriously buggy over the years, and we need to safeguard
>>>>>>> against that. Are there any cases where having these checks are wrong?
>>>>>> Hi Jani,
>>>>>>
>>>>>> Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to
>>>>>> specify a maximum that is tolerated by the board design" for the rates
>>>>>> above 5.4G.
>>>>>>
>>>>>> Earlier it was mentioned that rates > 5.4G were supported on SKUs with
>>>>>> Higher I/O Voltage.
>>>>>>
>>>>>> There was an instance where on an ADL-S board, where VBT was showing as
>>>>>> HBR3 supporting for a combo phy port,  but we were reading the IO
>>>>>> voltage as 0.85V in is_low_voltage_sku()
>>>>>>
>>>>>> (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0)
>>>>>> for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
> Btw why was this? Is it the wrong register, wrong thing to do, what?
>
> BR,
> Jani.

Jani, going by the bspec, the register and the given bits must tell 
about the voltage info for the given port.

But apparently, we cannot rely on it to limit the rate from driver side, 
as the skus with low voltage I/O might still support HBR3, with rework.

But this is again, what I could get from the bspec bits. I would try to 
get more information about the validity of the value read.

Thanks & Regards,

Ankit


>
>
>>>>>> Due to this, 8k@60 mode was getting pruned on the board for that combo
>>>>>> phy port. On removing the low_voltage_sku( ) the mode was able to be set
>>>>>> properly.
>>>>>>
>>>>>> Incidentally, with Windows 8k@60 was also coming up on the same board on
>>>>>> same port.
>>>>>>
>>>>>> So I had checked with HW team and GOP/VBT team if driver should consider
>>>>>> the low voltage sku check.  As per their response we 'can' ignore the
>>>>>> check and rely on the VBT, as OEM should limit the rate as per board
>>>>>> design. The Bspec was also updated to reflect the same.
>>>>>>
>>>>>> So IMHO we need not limit the rate as per is_low_voltage_sku check, as
>>>>>> this limiting of the rate through VBT is a must for the OEMs.
>>>>>>
>>>>>> I should perhaps change the wording of the commit message to convey the
>>>>>> same.
>>>>>>
>>>>>>
>>>>>> Thanks & Regards,
>>>>>>
>>>>>> Ankit
>>>>>>
>>>>>>
>>>>>>> BR,
>>>>>>> Jani.
>>>>>>>
>>>>>>>> Same is now changed in Bspec (53720).
>>>>>>>>
>>>>>>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>>>>>> ---
>>>>>>>>     drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
>>>>>>>>     1 file changed, 3 insertions(+), 29 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>>>>>>>> index 74a657ae131a..75c364c3c88e 100644
>>>>>>>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>>>>>>>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>>>>>>>> @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>>     	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>>>>>>>     }
>>>>>>>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>>>>>>>> -{
>>>>>>>> -	u32 voltage;
>>>>>>>> -
>>>>>>>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>>>>>>>> -
>>>>>>>> -	return voltage == VOLTAGE_INFO_0_85V;
>>>>>>>> -}
>>>>>>>> -
>>>>>>>>     static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>>     {
>>>>>>>>     	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>>>>     	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>>>>>>     	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>>>>>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>>>>>>>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>>>>>>>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>>>>>>>     		return 540000;
>>>>>>>>     	return 810000;
>>>>>>>> @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>>     static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>>     {
>>>>>>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>>>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>>>>>>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>>>>>>> -
>>>>>>>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>>>>>>>> -		return 540000;
>>>>>>>> -
>>>>>>>> -	return 810000;
>>>>>>>> -}
>>>>>>>> -
>>>>>>>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>>>>>>>> -{
>>>>>>>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>>>>>>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>>>>>>>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>>>>>>>> -
>>>>>>>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>>>>>>>> +	if (intel_dp_is_edp(intel_dp))
>>>>>>>>     		return 540000;
>>>>>>>>     	return 810000;
>>>>>>>> @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>>>>>>>     			max_rate = dg2_max_source_rate(intel_dp);
>>>>>>>>     		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>>>>>>>     			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>>>>>>>> -			max_rate = dg1_max_source_rate(intel_dp);
>>>>>>>> +			max_rate = 810000;
>>>>>>>>     		else if (IS_JSL_EHL(dev_priv))
>>>>>>>>     			max_rate = ehl_max_source_rate(intel_dp);
>>>>>>>>     		else
>>>>> -- 
>>>>> Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-14 11:32             ` Nautiyal, Ankit K
@ 2021-10-14 12:52               ` Imre Deak
  0 siblings, 0 replies; 20+ messages in thread
From: Imre Deak @ 2021-10-14 12:52 UTC (permalink / raw)
  To: Nautiyal, Ankit K; +Cc: Jani Nikula, intel-gfx, uma.shankar, animesh.manna

On Thu, Oct 14, 2021 at 05:02:46PM +0530, Nautiyal, Ankit K wrote:
> 
> On 10/13/2021 8:49 PM, Imre Deak wrote:
> > On Thu, Oct 07, 2021 at 01:19:25PM +0530, Nautiyal, Ankit K wrote:
> > > On 10/5/2021 9:01 PM, Imre Deak wrote:
> > > > On Tue, Oct 05, 2021 at 01:34:21PM +0300, Jani Nikula wrote:
> > > > > Cc: Imre, I think you were involved in adding the checks.
> > > > About ADL-S the spec says:
> > > > 
> > > > Bspec 53597:
> > > > Combo Port Maximum Speed:
> > > > OEM must use VBT to specify a maximum that is tolerated by the board design.
> > > > 
> > > > Combo Port HBR3 support:
> > > > May require retimer on motherboard. The OEM must use VBT to limit the link rate to HBR2 if HBR3 not supported by motherboard.
> > > > 
> > > > Bspec/49201:
> > > > Combo Port HBR3/6.48GHz support:
> > > > Only supported on SKUs with higher I/O voltage
> > > > 
> > > > I take the above meaning that only high voltage SKUs support HBR3 and
> > > > on those SKUs the OEM must limit this to HBR2 if HBR3 would require a
> > > > retimer on the board, but the board doesn't have this.
> > > > 
> > > > If the above isn't correct and low voltage SKUs also in fact support
> > > > HBR3 (with retimers if necessary) then this should imo clarified at
> > > > Bspec/49201. The VBT limit could be used then if present, ignoring the
> > > > low voltage SKU readout.
> > > Thanks Imre for the inputs.
> > > 
> > > As you have mentioned note : rate >5.4 G supported only on High voltage I/O,
> > > is mentioned for platforms like ICL, JSL and Display 12 platforms.
> > > 
> > > I had again asked the HW team and VBT/GOP team whether we can safely rely on
> > > VBT for the max rate for these platforms, without worrying about the SKU's
> > > IO Voltage, and also requested them to update the Bspec page for the same.
> > > 
> > > In response the Bspec pages 49201, 20598 are now updated with the note "OEM
> > > must use VBT to specify a maximum that is tolerated by the board design" for
> > > the rates above 5.4G.
> > Ok, thanks for this, now the spec is closer to the proposed changes. On
> > some platforms it's still unclear if the default max rate in the lack of
> > a VBT limit is HBR2 or HBR3. The ADL-S overview at Bspec/53597 is clear
> > now wrt. this:
> > 
> > (*) "May require retimer on motherboard. The OEM must use VBT to limit the link rate
> >      to HBR2 if HBR3 not supported by motherboard."
> > 
> > ideally it should still clarify if the potential retimer requirement applies to
> > both eDP and DP or only to DP.
> 
> Thanks Imre, point noted.
> 
> I realized: in general, the Platform Overview page and Platform Combo phy
> clocks pages seem to be not in sync on the combo phy rate in some places.
> 
> Earlier I was looking only on the clock pages for the combo phy rate
> information.

Yes, it's a bit scattered. Please also cross check the third place at
least for each affected platforms (ICL+) which is the Combo vswing
programming (Digital Display Interface/Combo PHY DDI Buffer etc.).

> I will again clarify this with the H/W team and request for the below
> suggested modifications for the given platforms.

Thanks.

> > I still see the followings to adjust in the spec so that it reflects
> > the patch:
> > - ICL
> >    - bspec/20584:
> >      "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
> >       and eDP resolutions."
> > 
> >       should be changed to (*) above mentioning that HBR3 is only supported on
> >       eDP.
> > 
> >    - bspec/20598:
> >      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
> >      board design."
> > 
> >      The DP/HBR3 support on ICL should be removed.
> > 
> >      For eDP/HBR3 on ICL the above comment should be changed to (*).
> > 
> > - JSL
> >    - bspec/32247:
> >      "Increased IO voltage may be required to support HBR3 for the highest DisplayPort
> >       resolutions."
> > 
> >      should be removed/changed to (*).
> > 
> >    - bspec/20598:
> >      "OEM must use VBT to specify a miximum that is tolerated by the
> >      board design."
> > 
> >      should be changed to (*).
> > 
> > - TGL:
> >    - bspec/49201:
> >      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated
> >      by the board design."
> > 
> >      The DP/HBR3 support should be removed, for eDP/HBR3 the above should
> >      be changed to (*).
> > 
> > - RKL:
> >    - bspec/49201, 49204:
> >      Remove the RKL tag, since there is a separate page for RKL.
> > 
> >    - bspec/49202:
> >      "Combo HBR3: Only supported on SKUs with higher I/O voltage"
> > 
> >      should be changed to (*).
> > 
> > - ADLS:
> >    - bspec/49201, 49204:
> >      The ADLS tag should be removed, since there is a separate page for ADLS.
> > 
> >    - bspec/53720:
> >      "Combo HBR3: OEM must use VBT to specify a miximum that is tolerated by the
> >      board design."
> > 
> >      should be changed to (*).
> > 
> > - DG1:
> >    - bspec/49205:
> >      "Combo HBR3: Only supported on SKUs with higher I/O voltage"
> > 
> >      should be changed to (*) above.
> > 
> > - DG2:
> >    - bspec/53657:
> >      For Combo HBR3 (*) should be added.
> > 
> >    - bspec/54034:
> >      For Combo HBR3 (*) should be added.
> > 
> > - ADLP:
> >    - bspec/49185:
> >      "Combo DP/HBR3: OEM must use VBT to specify a miximum that is tolerated by
> >      the board design. An external re-timer may be needed."
> > 
> >      should be changed to (*).
> > 
> > 
> > Also could you add a debug print with the voltage configuration of combo
> > PHYs somewhere in intel_combo_phy.c?
> 
> Yes, I can do that. I can add a debug print in icl_set_procmon_ref_values(
> ), where we are already reading the required register.

Ok. It could be already icl_verify_procmon_ref_values(), so we print
them even when skipping the PHY init step.

> This gets called during combo_phy_init and combo_phy_verify phase, so we
> should be able to get this info for each combo PHY port.
> 
> Or otherwise, I can just print all combo phys voltage config together, once
> all are initialized.
>
> Thanks again for the detailed explanation.
> 
> 
> Regards,
> 
> Ankit
> 
> > 
> > >  From what I understand, we can depend upon the VBT's rate, and if there are
> > > some low voltage I/O SKUs that do not support HBR3 rate, it should be
> > > limited by the VBT.
> > > 
> > > Thanks & Regards,
> > > 
> > > Ankit
> > > 
> > > > > BR,
> > > > > Jani.
> > > > > 
> > > > > On Tue, 05 Oct 2021, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> > > > > > On 10/5/2021 1:34 PM, Jani Nikula wrote:
> > > > > > > On Tue, 05 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> > > > > > > > The low voltage sku check can be ignored as OEMs need to consider that
> > > > > > > > when designing the board and then put any limits in VBT.
> > > > > > > "can" or "must"?
> > > > > > > 
> > > > > > > VBT has been notoriously buggy over the years, and we need to safeguard
> > > > > > > against that. Are there any cases where having these checks are wrong?
> > > > > > Hi Jani,
> > > > > > 
> > > > > > Bspec page for Combo PHY PLL frequencies now says "OEM must use VBT to
> > > > > > specify a maximum that is tolerated by the board design" for the rates
> > > > > > above 5.4G.
> > > > > > 
> > > > > > Earlier it was mentioned that rates > 5.4G were supported on SKUs with
> > > > > > Higher I/O Voltage.
> > > > > > 
> > > > > > There was an instance where on an ADL-S board, where VBT was showing as
> > > > > > HBR3 supporting for a combo phy port,  but we were reading the IO
> > > > > > voltage as 0.85V in is_low_voltage_sku()
> > > > > > 
> > > > > > (Specifically, we were reading Register_PORT_COMP_DW3 bits 24-25 as 0)
> > > > > > for a combo PHY port, and therefore we were limiting the BW to 5.4Gbps
> > > > > > 
> > > > > > Due to this, 8k@60 mode was getting pruned on the board for that combo
> > > > > > phy port. On removing the low_voltage_sku( ) the mode was able to be set
> > > > > > properly.
> > > > > > 
> > > > > > Incidentally, with Windows 8k@60 was also coming up on the same board on
> > > > > > same port.
> > > > > > 
> > > > > > So I had checked with HW team and GOP/VBT team if driver should consider
> > > > > > the low voltage sku check.  As per their response we 'can' ignore the
> > > > > > check and rely on the VBT, as OEM should limit the rate as per board
> > > > > > design. The Bspec was also updated to reflect the same.
> > > > > > 
> > > > > > So IMHO we need not limit the rate as per is_low_voltage_sku check, as
> > > > > > this limiting of the rate through VBT is a must for the OEMs.
> > > > > > 
> > > > > > I should perhaps change the wording of the commit message to convey the
> > > > > > same.
> > > > > > 
> > > > > > 
> > > > > > Thanks & Regards,
> > > > > > 
> > > > > > Ankit
> > > > > > 
> > > > > > 
> > > > > > > BR,
> > > > > > > Jani.
> > > > > > > 
> > > > > > > > Same is now changed in Bspec (53720).
> > > > > > > > 
> > > > > > > > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > > > > > > > ---
> > > > > > > >     drivers/gpu/drm/i915/display/intel_dp.c | 32 +++----------------------
> > > > > > > >     1 file changed, 3 insertions(+), 29 deletions(-)
> > > > > > > > 
> > > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > > > index 74a657ae131a..75c364c3c88e 100644
> > > > > > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > > > @@ -297,23 +297,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
> > > > > > > >     	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
> > > > > > > >     }
> > > > > > > > -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
> > > > > > > > -{
> > > > > > > > -	u32 voltage;
> > > > > > > > -
> > > > > > > > -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
> > > > > > > > -
> > > > > > > > -	return voltage == VOLTAGE_INFO_0_85V;
> > > > > > > > -}
> > > > > > > > -
> > > > > > > >     static int icl_max_source_rate(struct intel_dp *intel_dp)
> > > > > > > >     {
> > > > > > > >     	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > > > > > > >     	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> > > > > > > >     	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> > > > > > > > -	if (intel_phy_is_combo(dev_priv, phy) &&
> > > > > > > > -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
> > > > > > > > +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
> > > > > > > >     		return 540000;
> > > > > > > >     	return 810000;
> > > > > > > > @@ -321,23 +311,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
> > > > > > > >     static int ehl_max_source_rate(struct intel_dp *intel_dp)
> > > > > > > >     {
> > > > > > > > -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > > > > > > > -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> > > > > > > > -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> > > > > > > > -
> > > > > > > > -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
> > > > > > > > -		return 540000;
> > > > > > > > -
> > > > > > > > -	return 810000;
> > > > > > > > -}
> > > > > > > > -
> > > > > > > > -static int dg1_max_source_rate(struct intel_dp *intel_dp)
> > > > > > > > -{
> > > > > > > > -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > > > > > > > -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> > > > > > > > -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
> > > > > > > > -
> > > > > > > > -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
> > > > > > > > +	if (intel_dp_is_edp(intel_dp))
> > > > > > > >     		return 540000;
> > > > > > > >     	return 810000;
> > > > > > > > @@ -380,7 +354,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
> > > > > > > >     			max_rate = dg2_max_source_rate(intel_dp);
> > > > > > > >     		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
> > > > > > > >     			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
> > > > > > > > -			max_rate = dg1_max_source_rate(intel_dp);
> > > > > > > > +			max_rate = 810000;
> > > > > > > >     		else if (IS_JSL_EHL(dev_priv))
> > > > > > > >     			max_rate = ehl_max_source_rate(intel_dp);
> > > > > > > >     		else
> > > > > -- 
> > > > > Jani Nikula, Intel Open Source Graphics Center

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3)
  2021-10-05  7:15 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
                   ` (2 preceding siblings ...)
  2021-10-05 15:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2021-10-19 12:24 ` Patchwork
  2021-10-19 15:17 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-10-19 12:24 UTC (permalink / raw)
  To: Nautiyal, Ankit K; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3)
URL   : https://patchwork.freedesktop.org/series/95444/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10758 -> Patchwork_21377
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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


Changes
-------

  No changes found


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

  Missing    (2): fi-bsw-cyan bat-dg1-6 


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

  * Linux: CI_DRM_10758 -> Patchwork_21377

  CI-20190529: 20190529
  CI_DRM_10758: 8d0a08c4502a98ae3a6d533edaa2aabc2e491585 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6254: 51792e987da03ba2a6faf5857c12f1d173c87def @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21377: 342ca9feb4a1b9a564c50498d03c82c71745ba55 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

342ca9feb4a1 drm/i915/display: Remove check for low voltage sku for max dp source rate

== Logs ==

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

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

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3)
  2021-10-05  7:15 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
                   ` (3 preceding siblings ...)
  2021-10-19 12:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3) Patchwork
@ 2021-10-19 15:17 ` Patchwork
  4 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-10-19 15:17 UTC (permalink / raw)
  To: Nautiyal, Ankit K; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3)
URL   : https://patchwork.freedesktop.org/series/95444/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10758_full -> Patchwork_21377_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@legacy-engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#1099]) +5 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-tglb:         NOTRUN -> [SKIP][2] ([i915#280])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb6/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          NOTRUN -> [FAIL][3] ([i915#2846])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl7/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [PASS][4] -> [FAIL][5] ([i915#2842])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-tglb6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb2/igt@gem_exec_fair@basic-pace-share@rcs0.html
    - shard-glk:          [PASS][6] -> [FAIL][7] ([i915#2842])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk7/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][8] ([i915#2842]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb1/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][9] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb6/igt@gem_exec_fair@basic-throttle@rcs0.html
    - shard-iclb:         [PASS][10] -> [FAIL][11] ([i915#2849])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb4/igt@gem_exec_fair@basic-throttle@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb6/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_pread@exhaustion:
    - shard-snb:          NOTRUN -> [WARN][12] ([i915#2658])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-snb6/igt@gem_pread@exhaustion.html
    - shard-kbl:          NOTRUN -> [WARN][13] ([i915#2658])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@gem_pread@exhaustion.html

  * igt@gem_userptr_blits@input-checking:
    - shard-apl:          NOTRUN -> [DMESG-WARN][14] ([i915#3002]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl1/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-snb:          NOTRUN -> [FAIL][15] ([i915#2724])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-snb6/igt@gem_userptr_blits@vma-merge.html
    - shard-kbl:          NOTRUN -> [FAIL][16] ([i915#3318])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@gem_userptr_blits@vma-merge.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][17] ([i915#180])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@gem_workarounds@suspend-resume-fd.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-apl:          NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#3777])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl1/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-kbl:          NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#3777])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-skl:          NOTRUN -> [FAIL][20] ([i915#3763])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_bw@linear-tiling-4-displays-3840x2160p:
    - shard-apl:          NOTRUN -> [DMESG-FAIL][21] ([i915#4298])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl7/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html

  * igt@kms_ccs@pipe-a-bad-rotation-90-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][22] ([i915#3689])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb6/igt@kms_ccs@pipe-a-bad-rotation-90-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
    - shard-apl:          NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#3886]) +9 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl3/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][24] ([fdo#109271]) +174 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl3/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#3886])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#3886]) +4 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl7/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-glk:          NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#3886]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][28] ([fdo#109271]) +15 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@kms_ccs@pipe-d-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@dp-edid-change-during-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][29] ([fdo#109284] / [fdo#111827])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb3/igt@kms_chamelium@dp-edid-change-during-suspend.html

  * igt@kms_chamelium@dp-hpd-for-each-pipe:
    - shard-glk:          NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@kms_chamelium@dp-hpd-for-each-pipe.html

  * igt@kms_chamelium@hdmi-mode-timings:
    - shard-snb:          NOTRUN -> [SKIP][31] ([fdo#109271] / [fdo#111827]) +19 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-snb6/igt@kms_chamelium@hdmi-mode-timings.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-kbl:          NOTRUN -> [SKIP][32] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl2/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_color_chamelium@pipe-a-ctm-limited-range:
    - shard-apl:          NOTRUN -> [SKIP][33] ([fdo#109271] / [fdo#111827]) +12 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl7/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-c-gamma:
    - shard-skl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_color_chamelium@pipe-c-gamma.html

  * igt@kms_content_protection@atomic:
    - shard-kbl:          NOTRUN -> [TIMEOUT][35] ([i915#1319])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_content_protection@atomic.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [PASS][36] -> [DMESG-WARN][37] ([i915#180]) +2 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-apl:          [PASS][38] -> [DMESG-WARN][39] ([i915#180])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-apl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl8/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge:
    - shard-snb:          NOTRUN -> [SKIP][40] ([fdo#109271]) +463 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-snb6/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-skl:          [PASS][41] -> [FAIL][42] ([i915#2346])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [PASS][43] -> [FAIL][44] ([i915#2346] / [i915#533])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-tglb:         [PASS][45] -> [INCOMPLETE][46] ([i915#2411] / [i915#456])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-tglb2/igt@kms_fbcon_fbt@fbc-suspend.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb7/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile:
    - shard-iclb:         [PASS][47] -> [SKIP][48] ([i915#3701]) +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
    - shard-glk:          NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#2672])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt:
    - shard-kbl:          NOTRUN -> [SKIP][50] ([fdo#109271]) +120 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite:
    - shard-tglb:         NOTRUN -> [SKIP][51] ([fdo#111825]) +4 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite.html

  * igt@kms_hdr@bpc-switch:
    - shard-skl:          [PASS][52] -> [FAIL][53] ([i915#1188])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl10/igt@kms_hdr@bpc-switch.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl5/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-skl:          NOTRUN -> [FAIL][54] ([i915#1188])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#533])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl2/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html
    - shard-skl:          NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#533])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-tglb:         [PASS][57] -> [INCOMPLETE][58] ([i915#456])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-tglb5/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
    - shard-glk:          NOTRUN -> [FAIL][59] ([fdo#108145] / [i915#265])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          NOTRUN -> [FAIL][60] ([fdo#108145] / [i915#265]) +2 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][61] ([i915#265])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl2/igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          NOTRUN -> [FAIL][62] ([fdo#108145] / [i915#265])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-none:
    - shard-tglb:         NOTRUN -> [SKIP][63] ([i915#3536])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb3/igt@kms_plane_lowres@pipe-a-tiling-none.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2:
    - shard-kbl:          NOTRUN -> [SKIP][64] ([fdo#109271] / [i915#658]) +3 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4:
    - shard-skl:          NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#658])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
    - shard-apl:          NOTRUN -> [SKIP][66] ([fdo#109271] / [i915#658]) +2 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         [PASS][67] -> [SKIP][68] ([fdo#109441]) +1 similar issue
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb2/igt@kms_psr@psr2_suspend.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb6/igt@kms_psr@psr2_suspend.html

  * igt@kms_vblank@pipe-d-query-idle-hang:
    - shard-skl:          NOTRUN -> [SKIP][69] ([fdo#109271]) +40 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_vblank@pipe-d-query-idle-hang.html

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

  * igt@perf@polling-small-buf:
    - shard-skl:          [PASS][71] -> [FAIL][72] ([i915#1722])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl5/igt@perf@polling-small-buf.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl7/igt@perf@polling-small-buf.html

  * igt@sysfs_clients@fair-0:
    - shard-glk:          NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#2994])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@pidname:
    - shard-apl:          NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#2994]) +2 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-apl1/igt@sysfs_clients@pidname.html

  * igt@sysfs_clients@split-25:
    - shard-kbl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#2994]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@sysfs_clients@split-25.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@preservation-s3@vcs0:
    - shard-skl:          [INCOMPLETE][76] ([i915#198]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl4/igt@gem_ctx_isolation@preservation-s3@vcs0.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@gem_ctx_isolation@preservation-s3@vcs0.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-glk:          [FAIL][78] ([i915#2842]) -> [PASS][79]
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-glk4/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-kbl:          [FAIL][80] ([i915#2842]) -> [PASS][81] +1 similar issue
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-iclb:         [FAIL][82] ([i915#2842]) -> [PASS][83]
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb6/igt@gem_exec_fair@basic-pace@rcs0.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb1/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-tglb:         [FAIL][84] ([i915#2842]) -> [PASS][85]
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-tglb3/igt@gem_exec_fair@basic-pace@vcs1.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb8/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [DMESG-WARN][86] ([i915#1436] / [i915#716]) -> [PASS][87]
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-glk4/igt@gen9_exec_parse@allowed-all.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@gen9_exec_parse@allowed-all.html

  * igt@kms_atomic_interruptible@universal-setplane-primary@dp-1-pipe-a:
    - shard-kbl:          [DMESG-WARN][88] ([i915#180] / [i915#203] / [i915#62] / [i915#92]) -> [PASS][89] +2 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@kms_atomic_interruptible@universal-setplane-primary@dp-1-pipe-a.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_atomic_interruptible@universal-setplane-primary@dp-1-pipe-a.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-180:
    - shard-glk:          [DMESG-WARN][90] ([i915#118]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-glk4/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk5/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-0:
    - shard-kbl:          [DMESG-WARN][92] ([i915#165]) -> [PASS][93] +2 similar issues
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl1/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html

  * igt@kms_cursor_legacy@pipe-b-torture-bo:
    - shard-tglb:         [INCOMPLETE][94] -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-tglb6/igt@kms_cursor_legacy@pipe-b-torture-bo.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-tglb6/igt@kms_cursor_legacy@pipe-b-torture-bo.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [INCOMPLETE][96] ([i915#180] / [i915#636]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [FAIL][98] ([i915#2122]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-glk3/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-hdmi-a1-hdmi-a2.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1:
    - shard-skl:          [FAIL][100] ([i915#79]) -> [PASS][101] +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2:
    - shard-glk:          [FAIL][102] ([i915#79]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-glk9/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html

  * igt@kms_flip@nonexisting-fb@a-dp1:
    - shard-kbl:          [DMESG-WARN][104] ([i915#165] / [i915#180]) -> [PASS][105] +1 similar issue
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@kms_flip@nonexisting-fb@a-dp1.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl1/igt@kms_flip@nonexisting-fb@a-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile:
    - shard-iclb:         [SKIP][106] ([i915#3701]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-gtt:
    - shard-kbl:          [DMESG-WARN][108] ([i915#1982] / [i915#203]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-gtt.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-kbl:          [DMESG-WARN][110] ([i915#180]) -> [PASS][111] +4 similar issues
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [FAIL][112] ([fdo#108145] / [i915#265]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][114] ([fdo#109441]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_vblank@pipe-c-wait-forked:
    - shard-kbl:          [DMESG-WARN][116] ([i915#165] / [i915#180] / [i915#62] / [i915#92]) -> [PASS][117] +4 similar issues
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@kms_vblank@pipe-c-wait-forked.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl1/igt@kms_vblank@pipe-c-wait-forked.html

  * igt@sysfs_preempt_timeout@invalid@rcs0:
    - shard-skl:          [DMESG-WARN][118] ([i915#1982]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-skl8/igt@sysfs_preempt_timeout@invalid@rcs0.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-skl3/igt@sysfs_preempt_timeout@invalid@rcs0.html

  
#### Warnings ####

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-iclb:         [WARN][120] ([i915#2684]) -> [WARN][121] ([i915#1804] / [i915#2684]) +1 similar issue
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb5/igt@i915_pm_rc6_residency@rc6-fence.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb7/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-kbl:          [DMESG-FAIL][122] ([fdo#108145] / [i915#165] / [i915#180] / [i915#265] / [i915#62]) -> [FAIL][123] ([fdo#108145] / [i915#265])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl1/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-2:
    - shard-iclb:         [SKIP][124] ([i915#2920]) -> [SKIP][125] ([i915#658])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb8/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
    - shard-iclb:         [SKIP][126] ([i915#658]) -> [SKIP][127] ([i915#2920]) +1 similar issue
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-iclb4/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][128], [FAIL][129], [FAIL][130], [FAIL][131], [FAIL][132], [FAIL][133], [FAIL][134], [FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138], [FAIL][139]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602] / [i915#92]) -> ([FAIL][140], [FAIL][141], [FAIL][142], [FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148], [FAIL][149]) ([i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl3/igt@runner@aborted.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl6/igt@runner@aborted.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl6/igt@runner@aborted.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl4/igt@runner@aborted.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl3/igt@runner@aborted.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl2/igt@runner@aborted.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl3/igt@runner@aborted.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl1/igt@runner@aborted.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl4/igt@runner@aborted.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl3/igt@runner@aborted.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl4/igt@runner@aborted.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10758/shard-kbl3/igt@runner@aborted.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl6/igt@runner@aborted.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl4/igt@runner@aborted.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl6/igt@runner@aborted.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl7/igt@runner@aborted.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl6/igt@runner@aborted.html
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl4/igt@runner@aborted.html
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl7/igt@runner@aborted.html
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21377/shard-kbl4/igt@runner@aborted.html
   [148]: https://intel-gfx-ci.01.org/tree/drm

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2022-03-10 15:25 ` Imre Deak
@ 2022-03-15  8:19   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 20+ messages in thread
From: Nautiyal, Ankit K @ 2022-03-15  8:19 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx


On 3/10/2022 8:55 PM, Imre Deak wrote:
> On Tue, Oct 26, 2021 at 11:08:21AM +0530, Ankit Nautiyal wrote:
>> The low voltage sku check can be ignored as OEMs need to consider that
>> when designing the board and then put any limits in VBT.
>>
>> Same is now changed in Bspec pages.
>>
>> v2: Added debug print for combo PHY procmon reference values
>> to get voltage configuration of combo PHY ports. (Imre)
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5272
>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>>   .../gpu/drm/i915/display/intel_combo_phy.c    |  4 +++
>>   drivers/gpu/drm/i915/display/intel_dp.c       | 32 ++-----------------
>>   2 files changed, 7 insertions(+), 29 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
>> index 634e8d449457..01ff86b3ff91 100644
>> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
>> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
>> @@ -112,6 +112,10 @@ static bool icl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
>>   
>>   	procmon = icl_get_procmon_ref_values(dev_priv, phy);
>>   
>> +	drm_dbg(&dev_priv->drm,
>> +		"Combo PHY %c PROCMON values : 0x%x, 0x%x, 0x%x\n",
>> +		phy_name(phy), procmon->dw1, procmon->dw9, procmon->dw10);
> The expected encodings are not descriptive, could we instead add a .name
> (initing them to "0.85V dot0 (low-voltage)", "0.95V dot0", etc.) to struct
> icl_procmon and print that here?
>
> Otherwise, the spec matches now the code:
> Reviewed-by: Imre Deak <imre.deak@intel.com>

Thanks Imre.

I have split the patches into two, and sent as a series : 
https://patchwork.freedesktop.org/series/96293/#rev3

Have added new member name and printed the voltage values.

Regards,

Ankit


>
>> +
>>   	ret = check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW1(phy),
>>   			    (0xff << 16) | 0xff, procmon->dw1);
>>   	ret &= check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW9(phy),
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index f5dc2126d140..693d7e097295 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -385,23 +385,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>   	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>   }
>>   
>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>> -{
>> -	u32 voltage;
>> -
>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>> -
>> -	return voltage == VOLTAGE_INFO_0_85V;
>> -}
>> -
>>   static int icl_max_source_rate(struct intel_dp *intel_dp)
>>   {
>>   	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>   	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>   	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>   
>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>   		return 540000;
>>   
>>   	return 810000;
>> @@ -409,23 +399,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>   
>>   static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>   {
>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>> -
>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>> -		return 540000;
>> -
>> -	return 810000;
>> -}
>> -
>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>> -{
>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>> -
>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>> +	if (intel_dp_is_edp(intel_dp))
>>   		return 540000;
>>   
>>   	return 810000;
>> @@ -468,7 +442,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>   			max_rate = dg2_max_source_rate(intel_dp);
>>   		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>   			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>> -			max_rate = dg1_max_source_rate(intel_dp);
>> +			max_rate = 810000;
>>   		else if (IS_JSL_EHL(dev_priv))
>>   			max_rate = ehl_max_source_rate(intel_dp);
>>   		else
>> -- 
>> 2.25.1
>>

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-26  5:38 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
  2021-10-26  7:53 ` Jani Nikula
@ 2022-03-10 15:25 ` Imre Deak
  2022-03-15  8:19   ` Nautiyal, Ankit K
  1 sibling, 1 reply; 20+ messages in thread
From: Imre Deak @ 2022-03-10 15:25 UTC (permalink / raw)
  To: Ankit Nautiyal; +Cc: intel-gfx

On Tue, Oct 26, 2021 at 11:08:21AM +0530, Ankit Nautiyal wrote:
> The low voltage sku check can be ignored as OEMs need to consider that
> when designing the board and then put any limits in VBT.
> 
> Same is now changed in Bspec pages.
> 
> v2: Added debug print for combo PHY procmon reference values
> to get voltage configuration of combo PHY ports. (Imre)

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5272

> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_combo_phy.c    |  4 +++
>  drivers/gpu/drm/i915/display/intel_dp.c       | 32 ++-----------------
>  2 files changed, 7 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> index 634e8d449457..01ff86b3ff91 100644
> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> @@ -112,6 +112,10 @@ static bool icl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
>  
>  	procmon = icl_get_procmon_ref_values(dev_priv, phy);
>  
> +	drm_dbg(&dev_priv->drm,
> +		"Combo PHY %c PROCMON values : 0x%x, 0x%x, 0x%x\n",
> +		phy_name(phy), procmon->dw1, procmon->dw9, procmon->dw10);

The expected encodings are not descriptive, could we instead add a .name
(initing them to "0.85V dot0 (low-voltage)", "0.95V dot0", etc.) to struct
icl_procmon and print that here?

Otherwise, the spec matches now the code:
Reviewed-by: Imre Deak <imre.deak@intel.com>

> +
>  	ret = check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW1(phy),
>  			    (0xff << 16) | 0xff, procmon->dw1);
>  	ret &= check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW9(phy),
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index f5dc2126d140..693d7e097295 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -385,23 +385,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>  	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>  }
>  
> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
> -{
> -	u32 voltage;
> -
> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
> -
> -	return voltage == VOLTAGE_INFO_0_85V;
> -}
> -
>  static int icl_max_source_rate(struct intel_dp *intel_dp)
>  {
>  	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>  	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>  	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>  
> -	if (intel_phy_is_combo(dev_priv, phy) &&
> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>  		return 540000;
>  
>  	return 810000;
> @@ -409,23 +399,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>  
>  static int ehl_max_source_rate(struct intel_dp *intel_dp)
>  {
> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> -
> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
> -		return 540000;
> -
> -	return 810000;
> -}
> -
> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
> -{
> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
> -
> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
> +	if (intel_dp_is_edp(intel_dp))
>  		return 540000;
>  
>  	return 810000;
> @@ -468,7 +442,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>  			max_rate = dg2_max_source_rate(intel_dp);
>  		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>  			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
> -			max_rate = dg1_max_source_rate(intel_dp);
> +			max_rate = 810000;
>  		else if (IS_JSL_EHL(dev_priv))
>  			max_rate = ehl_max_source_rate(intel_dp);
>  		else
> -- 
> 2.25.1
> 

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-26  7:53 ` Jani Nikula
@ 2021-10-26 11:05   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 20+ messages in thread
From: Nautiyal, Ankit K @ 2021-10-26 11:05 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx; +Cc: imre.deak, uma.shankar, animesh.manna


On 10/26/2021 1:23 PM, Jani Nikula wrote:
> On Tue, 26 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>> The low voltage sku check can be ignored as OEMs need to consider that
>> when designing the board and then put any limits in VBT.
>>
>> Same is now changed in Bspec pages.
>>
>> v2: Added debug print for combo PHY procmon reference values
>> to get voltage configuration of combo PHY ports. (Imre)
> Seems useful, but out of place in *this* patch.

Sent new patch for this, but just realized that have missed the comment 
below *face palm*.

Will update in-reply-to the new patch shortly.

Thanks & Regards,

Ankit

>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>>   .../gpu/drm/i915/display/intel_combo_phy.c    |  4 +++
>>   drivers/gpu/drm/i915/display/intel_dp.c       | 32 ++-----------------
>>   2 files changed, 7 insertions(+), 29 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
>> index 634e8d449457..01ff86b3ff91 100644
>> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
>> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
>> @@ -112,6 +112,10 @@ static bool icl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
>>   
>>   	procmon = icl_get_procmon_ref_values(dev_priv, phy);
>>   
>> +	drm_dbg(&dev_priv->drm,
> drm_dbg_kms please.
>
> BR,
> Jani.
>
>> +		"Combo PHY %c PROCMON values : 0x%x, 0x%x, 0x%x\n",
>> +		phy_name(phy), procmon->dw1, procmon->dw9, procmon->dw10);
>> +
>>   	ret = check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW1(phy),
>>   			    (0xff << 16) | 0xff, procmon->dw1);
>>   	ret &= check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW9(phy),
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index f5dc2126d140..693d7e097295 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -385,23 +385,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>>   	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>>   }
>>   
>> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
>> -{
>> -	u32 voltage;
>> -
>> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
>> -
>> -	return voltage == VOLTAGE_INFO_0_85V;
>> -}
>> -
>>   static int icl_max_source_rate(struct intel_dp *intel_dp)
>>   {
>>   	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>>   	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>>   	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>>   
>> -	if (intel_phy_is_combo(dev_priv, phy) &&
>> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
>> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>>   		return 540000;
>>   
>>   	return 810000;
>> @@ -409,23 +399,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>>   
>>   static int ehl_max_source_rate(struct intel_dp *intel_dp)
>>   {
>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>> -
>> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
>> -		return 540000;
>> -
>> -	return 810000;
>> -}
>> -
>> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
>> -{
>> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
>> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
>> -
>> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
>> +	if (intel_dp_is_edp(intel_dp))
>>   		return 540000;
>>   
>>   	return 810000;
>> @@ -468,7 +442,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>>   			max_rate = dg2_max_source_rate(intel_dp);
>>   		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>>   			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
>> -			max_rate = dg1_max_source_rate(intel_dp);
>> +			max_rate = 810000;
>>   		else if (IS_JSL_EHL(dev_priv))
>>   			max_rate = ehl_max_source_rate(intel_dp);
>>   		else

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

* Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
  2021-10-26  5:38 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
@ 2021-10-26  7:53 ` Jani Nikula
  2021-10-26 11:05   ` Nautiyal, Ankit K
  2022-03-10 15:25 ` Imre Deak
  1 sibling, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2021-10-26  7:53 UTC (permalink / raw)
  To: Ankit Nautiyal, intel-gfx; +Cc: imre.deak, uma.shankar, animesh.manna

On Tue, 26 Oct 2021, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> The low voltage sku check can be ignored as OEMs need to consider that
> when designing the board and then put any limits in VBT.
>
> Same is now changed in Bspec pages.
>
> v2: Added debug print for combo PHY procmon reference values
> to get voltage configuration of combo PHY ports. (Imre)

Seems useful, but out of place in *this* patch.

>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_combo_phy.c    |  4 +++
>  drivers/gpu/drm/i915/display/intel_dp.c       | 32 ++-----------------
>  2 files changed, 7 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> index 634e8d449457..01ff86b3ff91 100644
> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> @@ -112,6 +112,10 @@ static bool icl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
>  
>  	procmon = icl_get_procmon_ref_values(dev_priv, phy);
>  
> +	drm_dbg(&dev_priv->drm,

drm_dbg_kms please.

BR,
Jani.

> +		"Combo PHY %c PROCMON values : 0x%x, 0x%x, 0x%x\n",
> +		phy_name(phy), procmon->dw1, procmon->dw9, procmon->dw10);
> +
>  	ret = check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW1(phy),
>  			    (0xff << 16) | 0xff, procmon->dw1);
>  	ret &= check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW9(phy),
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index f5dc2126d140..693d7e097295 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -385,23 +385,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
>  	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
>  }
>  
> -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
> -{
> -	u32 voltage;
> -
> -	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
> -
> -	return voltage == VOLTAGE_INFO_0_85V;
> -}
> -
>  static int icl_max_source_rate(struct intel_dp *intel_dp)
>  {
>  	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>  	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>  	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
>  
> -	if (intel_phy_is_combo(dev_priv, phy) &&
> -	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
> +	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
>  		return 540000;
>  
>  	return 810000;
> @@ -409,23 +399,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
>  
>  static int ehl_max_source_rate(struct intel_dp *intel_dp)
>  {
> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> -	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
> -
> -	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
> -		return 540000;
> -
> -	return 810000;
> -}
> -
> -static int dg1_max_source_rate(struct intel_dp *intel_dp)
> -{
> -	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> -	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
> -
> -	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
> +	if (intel_dp_is_edp(intel_dp))
>  		return 540000;
>  
>  	return 810000;
> @@ -468,7 +442,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>  			max_rate = dg2_max_source_rate(intel_dp);
>  		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
>  			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
> -			max_rate = dg1_max_source_rate(intel_dp);
> +			max_rate = 810000;
>  		else if (IS_JSL_EHL(dev_priv))
>  			max_rate = ehl_max_source_rate(intel_dp);
>  		else

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
@ 2021-10-26  5:38 Ankit Nautiyal
  2021-10-26  7:53 ` Jani Nikula
  2022-03-10 15:25 ` Imre Deak
  0 siblings, 2 replies; 20+ messages in thread
From: Ankit Nautiyal @ 2021-10-26  5:38 UTC (permalink / raw)
  To: intel-gfx; +Cc: imre.deak, uma.shankar, jani.nikula, animesh.manna

The low voltage sku check can be ignored as OEMs need to consider that
when designing the board and then put any limits in VBT.

Same is now changed in Bspec pages.

v2: Added debug print for combo PHY procmon reference values
to get voltage configuration of combo PHY ports. (Imre)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 .../gpu/drm/i915/display/intel_combo_phy.c    |  4 +++
 drivers/gpu/drm/i915/display/intel_dp.c       | 32 ++-----------------
 2 files changed, 7 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
index 634e8d449457..01ff86b3ff91 100644
--- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
@@ -112,6 +112,10 @@ static bool icl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
 
 	procmon = icl_get_procmon_ref_values(dev_priv, phy);
 
+	drm_dbg(&dev_priv->drm,
+		"Combo PHY %c PROCMON values : 0x%x, 0x%x, 0x%x\n",
+		phy_name(phy), procmon->dw1, procmon->dw9, procmon->dw10);
+
 	ret = check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW1(phy),
 			    (0xff << 16) | 0xff, procmon->dw1);
 	ret &= check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW9(phy),
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index f5dc2126d140..693d7e097295 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -385,23 +385,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp)
 	return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
 }
 
-static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy)
-{
-	u32 voltage;
-
-	voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK;
-
-	return voltage == VOLTAGE_INFO_0_85V;
-}
-
 static int icl_max_source_rate(struct intel_dp *intel_dp)
 {
 	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
 	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
 	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
 
-	if (intel_phy_is_combo(dev_priv, phy) &&
-	    (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp)))
+	if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp))
 		return 540000;
 
 	return 810000;
@@ -409,23 +399,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp)
 
 static int ehl_max_source_rate(struct intel_dp *intel_dp)
 {
-	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
-	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
-	enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port);
-
-	if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy))
-		return 540000;
-
-	return 810000;
-}
-
-static int dg1_max_source_rate(struct intel_dp *intel_dp)
-{
-	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
-	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
-	enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
-
-	if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy))
+	if (intel_dp_is_edp(intel_dp))
 		return 540000;
 
 	return 810000;
@@ -468,7 +442,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
 			max_rate = dg2_max_source_rate(intel_dp);
 		else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) ||
 			 IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv))
-			max_rate = dg1_max_source_rate(intel_dp);
+			max_rate = 810000;
 		else if (IS_JSL_EHL(dev_priv))
 			max_rate = ehl_max_source_rate(intel_dp);
 		else
-- 
2.25.1


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

end of thread, other threads:[~2022-03-15  8:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-05  7:15 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
2021-10-05  8:04 ` Jani Nikula
2021-10-05 10:20   ` Nautiyal, Ankit K
2021-10-05 10:34     ` Jani Nikula
2021-10-05 15:31       ` Imre Deak
2021-10-07  7:49         ` Nautiyal, Ankit K
2021-10-13 15:19           ` Imre Deak
2021-10-13 15:35             ` Jani Nikula
2021-10-14 11:51               ` Nautiyal, Ankit K
2021-10-14 11:32             ` Nautiyal, Ankit K
2021-10-14 12:52               ` Imre Deak
2021-10-05 11:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2021-10-05 15:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-10-19 12:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Remove check for low voltage sku for max dp source rate (rev3) Patchwork
2021-10-19 15:17 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-10-26  5:38 [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate Ankit Nautiyal
2021-10-26  7:53 ` Jani Nikula
2021-10-26 11:05   ` Nautiyal, Ankit K
2022-03-10 15:25 ` Imre Deak
2022-03-15  8:19   ` Nautiyal, Ankit K

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.