[Intel-gfx] [PATCH] drm/i915/bxt: fix DDI PHY vswing scale value setting

Matt Roper matthew.d.roper at intel.com
Wed Jun 10 09:18:29 PDT 2015


On Thu, Jun 04, 2015 at 06:01:35PM +0300, Imre Deak wrote:
> According to bspec the DDI PHY vswing scale value is "don't care" in
> case the scale enable bit [27] is clear. But this doesn't seem to be
> correct. The scale value seems to also matter if the scale mode bit
> [26] is set. So both bit 26 and 27 depend on the value. Setting the
> scale value to 0 while either bit is set results in a failed modeset on
> HDMI (sink reports no signal).
> 
> After reset the scale value is 0x98, but according to the spec we have
> to program it to 0x9a. So for consistency program it always to 0x9a
> regardless of the scale enable bit.
> 
> Signed-off-by: Imre Deak <imre.deak at intel.com>

This patch successfully enables HDMI display for my team.

Tested-by: Matt Roper <matthew.d.roper at intel.com>

> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 36 ++++++++++++++++++------------------
>  1 file changed, 18 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 832e4e1..5246cfa 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -181,15 +181,15 @@ struct bxt_ddi_buf_trans {
>   */
>  static const struct bxt_ddi_buf_trans bxt_ddi_translations_dp[] = {
>  					/* Idx	NT mV diff	db  */
> -	{ 52,  0,    0, 128, true  },	/* 0:	400		0   */
> -	{ 78,  0,    0, 85,  false },	/* 1:	400		3.5 */
> -	{ 104, 0,    0, 64,  false },	/* 2:	400		6   */
> -	{ 154, 0,    0, 43,  false },	/* 3:	400		9.5 */
> -	{ 77,  0,    0, 128, false },	/* 4:	600		0   */
> -	{ 116, 0,    0, 85,  false },	/* 5:	600		3.5 */
> -	{ 154, 0,    0, 64,  false },	/* 6:	600		6   */
> -	{ 102, 0,    0, 128, false },	/* 7:	800		0   */
> -	{ 154, 0,    0, 85,  false },	/* 8:	800		3.5 */
> +	{ 52,  0x9A, 0, 128, true  },	/* 0:	400		0   */
> +	{ 78,  0x9A, 0, 85,  false },	/* 1:	400		3.5 */
> +	{ 104, 0x9A, 0, 64,  false },	/* 2:	400		6   */
> +	{ 154, 0x9A, 0, 43,  false },	/* 3:	400		9.5 */
> +	{ 77,  0x9A, 0, 128, false },	/* 4:	600		0   */
> +	{ 116, 0x9A, 0, 85,  false },	/* 5:	600		3.5 */
> +	{ 154, 0x9A, 0, 64,  false },	/* 6:	600		6   */
> +	{ 102, 0x9A, 0, 128, false },	/* 7:	800		0   */
> +	{ 154, 0x9A, 0, 85,  false },	/* 8:	800		3.5 */
>  	{ 154, 0x9A, 1, 128, false },  /* 9:	1200		0   */
>  };
>  
> @@ -198,15 +198,15 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_dp[] = {
>   */
>  static const struct bxt_ddi_buf_trans bxt_ddi_translations_hdmi[] = {
>  					/* Idx	NT mV diff	db  */
> -	{ 52,  0,    0, 128, false },	/* 0:	400		0   */
> -	{ 52,  0,    0, 85,  false },	/* 1:	400		3.5 */
> -	{ 52,  0,    0, 64,  false },	/* 2:	400		6   */
> -	{ 42,  0,    0, 43,  false },	/* 3:	400		9.5 */
> -	{ 77,  0,    0, 128, false },	/* 4:	600		0   */
> -	{ 77,  0,    0, 85,  false },	/* 5:	600		3.5 */
> -	{ 77,  0,    0, 64,  false },	/* 6:	600		6   */
> -	{ 102, 0,    0, 128, false },	/* 7:	800		0   */
> -	{ 102, 0,    0, 85,  false },	/* 8:	800		3.5 */
> +	{ 52,  0x9A, 0, 128, false },	/* 0:	400		0   */
> +	{ 52,  0x9A, 0, 85,  false },	/* 1:	400		3.5 */
> +	{ 52,  0x9A, 0, 64,  false },	/* 2:	400		6   */
> +	{ 42,  0x9A, 0, 43,  false },	/* 3:	400		9.5 */
> +	{ 77,  0x9A, 0, 128, false },	/* 4:	600		0   */
> +	{ 77,  0x9A, 0, 85,  false },	/* 5:	600		3.5 */
> +	{ 77,  0x9A, 0, 64,  false },	/* 6:	600		6   */
> +	{ 102, 0x9A, 0, 128, false },	/* 7:	800		0   */
> +	{ 102, 0x9A, 0, 85,  false },	/* 8:	800		3.5 */
>  	{ 154, 0x9A, 1, 128, true },	/* 9:	1200		0   */
>  };
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795


More information about the Intel-gfx mailing list