[Intel-gfx] [PATCH v2 2/2] drm/i915/bdw: Fix DP_AUX_CH_CTL_TIME_OUT setting

Runyan, Arthur J arthur.j.runyan at intel.com
Wed Oct 4 22:54:45 UTC 2017


I think the failure was with one particularly slow eDP panel, but it is safer to apply this to all ports. 

-----Original Message-----
From: Vivi, Rodrigo 
Sent: Wednesday, 4 October, 2017 1:25 PM
To: Ausmus, James <james.ausmus at intel.com>
Cc: intel-gfx at lists.freedesktop.org; ville.syrjala at linux.intel.com; jani.nikula at linux.intel.com; Runyan, Arthur J <arthur.j.runyan at intel.com>; ben at bwidawsk.net
Subject: Re: [PATCH v2 2/2] drm/i915/bdw: Fix DP_AUX_CH_CTL_TIME_OUT setting

On Wed, Oct 04, 2017 at 08:09:22PM +0000, James Ausmus wrote:
> Per BSpec, 400us is "BDW+ Do not use this setting." - not just PORT_A.
> Set BDW to 600us unconditionally.

Besides that statement I also found on BSpec:

"
Workaround
Project
BDW, EXCLUDE(CHV)
Set the Timeout timer value to at least 600us before initiating a transaction.
"

Also I tracked this on the log and arrived to commit 'a81a507d487c
("drm/i915/bdw: Change dp aux timeout to 600us on DDIA")'

It seems during BDW enabling HW team found that need but only for port A
and later they might have extended it and we never noticed.

Ccin't Art and Ben here to see if they can comment on that.

But I believe we should add this so

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> 
> v2:
> -Split in to two patches (Rodrigo)
> 
> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: James Ausmus <james.ausmus at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 5b4c9484575b..df301e00d9d9 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1019,7 +1019,7 @@ static uint32_t g4x_get_aux_send_ctl(struct intel_dp *intel_dp,
>  	else
>  		precharge = 5;
>  
> -	if (IS_BROADWELL(dev_priv) && intel_dig_port->port == PORT_A)
> +	if (IS_BROADWELL(dev_priv))
>  		timeout = DP_AUX_CH_CTL_TIME_OUT_600us;
>  	else
>  		timeout = DP_AUX_CH_CTL_TIME_OUT_400us;
> -- 
> 2.14.1
> 


More information about the Intel-gfx mailing list