public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>
To: Jani Nikula <jani.nikula@intel.com>, <intel-gfx@lists.freedesktop.org>
Cc: <uma.shankar@intel.com>, <animesh.manna@intel.com>
Subject: Re: [Intel-gfx] [PATCH] drm/i915/display: Remove check for low voltage sku for max dp source rate
Date: Tue, 5 Oct 2021 15:50:47 +0530	[thread overview]
Message-ID: <a3b08a93-e583-8f61-ee04-a76b8800a798@intel.com> (raw)
In-Reply-To: <87lf3728zx.fsf@intel.com>

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

  reply	other threads:[~2021-10-05 10:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a3b08a93-e583-8f61-ee04-a76b8800a798@intel.com \
    --to=ankit.k.nautiyal@intel.com \
    --cc=animesh.manna@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=uma.shankar@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox