[Intel-gfx] [PATCH] drm/i915: Update HDMI max TMDS data rate definition for VBT

Chiou, Cooper cooper.chiou at intel.com
Wed Apr 10 10:08:43 UTC 2019


Hi Ville,



From Intel BSpec, this is HDMI max data rate bits field definition as the following, and please find my experiment/log below. And as I knew, all platforms are using Default 000 for max data rate. (No any platform used 2.97/1.65 definition in VBT so far). That’s why I correct HDMI max. data rate definition to be right value in 2.97 & 1.65Gbps. Thanks,



“HDMI max data rate and level shifter value” defined in BSpec:

Bits 7 – 5 = HDMI Maximum Data Rate

            000 = Default (Software should choose the maximum data rate as supported by platform BSpec)

            001 = 2.97 GT/s

            010 = 1.65 GT/s



Bit 4 - 0 = HDMI Level shifter value selection

            Values differ from platform to platform



1. When I set HDMI TMDS = 2.97Gbps in GLK VBT, then i915 intel_bios.c parse_ddi_port() function got “hdmi_max_data_rate=2”.

[cid:image003.jpg at 01D4EFC8.6DB4F360]

DEBUG kernel: [    0.172359] [drm:intel_bios_init] Port B VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0

DEBUG kernel: [    0.172360] [drm:intel_bios_init] VBT HDMI level shift for port B: 8

DEBUG kernel: [    0.172362] [drm:intel_bios_init] [Cooper] bdb_version=212

DEBUG kernel: [    0.172363] [drm:intel_bios_init] [Cooper] hdmi_max_data_rate=2

DEBUG kernel: [    0.172364] [drm:intel_bios_init] [Cooper] max_tmds_clock=165000

DEBUG kernel: [    0.172365] [drm:intel_bios_init] VBT HDMI max TMDS clock for port B: 165000 kHz



2. When I set HDMI TMDS = 1,65Gbps in GLK VBT, then i915 intel_bios.c parse_ddi_port() function got “hdmi_max_data_rate=4”.



DEBUG kernel: [    0.172363] [drm:intel_bios_init] Port B VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0

DEBUG kernel: [    0.172364] [drm:intel_bios_init] VBT HDMI level shift for port B: 8

DEBUG kernel: [    0.172365] [drm:intel_bios_init] [Cooper] bdb_version=212

DEBUG kernel: [    0.172366] [drm:intel_bios_init] [Cooper] hdmi_max_data_rate=4

WARNING kernel: [    0.172367] ------------[ cut here ]------------

WARNING kernel: [    0.172369] Missing switch case (4) in parse_ddi_port



Best Regards,

Cooper

+886-2-6622-1166





-----Original Message-----
From: Ville Syrjälä [mailto:ville.syrjala at linux.intel.com]
Sent: Tuesday, April 9, 2019 23:57 PM
To: Chiou, Cooper <cooper.chiou at intel.com>
Cc: intel-gfx at lists.freedesktop.org; Nikula, Jani <jani.nikula at intel.com>; Chiou at freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Update HDMI max TMDS data rate definition for VBT



On Tue, Apr 09, 2019 at 03:46:20PM +0000, Chiou, Cooper wrote:

> Hi Ville,

>

> The bits is 5-7 means it’s 001x xxxx for 2.97Gbps, and 010x xxxx for 1.65Gbps.

> So correct value should be 2 not 1 for HDMI_MAX_DATA_RATE_297.



No. The bitfield is defined as something:3.



> And HDMI_MAX_DATA_RATE_165 is 4 not 2.

>

> I checked kernel i915 log and modified VBT to limit HDMI 1.4 from HDMI

> 2.0 then found this error. And I run CrOS on GLK with changed VBT to

> validate it. Thanks,

>

> Best Regards,

> Cooper

>

> On Apr 9, 2019, at 8:45 PM, Ville Syrjälä <ville.syrjala at linux.intel.com<mailto:ville.syrjala at linux.intel.com<mailto:ville.syrjala at linux.intel.com%3cmailto:ville.syrjala at linux.intel.com>>> wrote:

>

> On Tue, Apr 09, 2019 at 06:07:08PM +0800, Chiou, Cooper wrote:

> VBT version 212 defined HDMI max. bit-rate 2.97Gbps is 0x02 and

> 1.65Gbps is 0x04, so changed

> HDMI_MAX_DATA_RATE_297/HDMI_MAX_DATA_RATE_165 to map correct values

>

> Eh what? Did someone just change the interpretation of these bits?

>

> Per VBT BSpec definition in HDMI max. data rate, Bits7-5 is HDMI max.

> data rate 000=Default, 001=2.97Gbps, 010=1.65Gbps,

>

> Here you're quoting the values we already use...

>

> so HDMI_MAX_DATA_RATE_297

> should be 2 and HDMI_MAX_DATA_RATE_165 should be 4

>

> ...but here you're using different values again? Which way is it?

>

>

> TEST: Validated PASS on GLK RVP platform

>

> Cc: Jani Nikula <jani.nikula at intel.com<mailto:jani.nikula at intel.com<mailto:jani.nikula at intel.com%3cmailto:jani.nikula at intel.com>>>

> Signed-off-by: Chiou, Cooper

> <cooper.chiou at intel.com<mailto:cooper.chiou at intel.com<mailto:cooper.chiou at intel.com%3cmailto:cooper.chiou at intel.com>>>

> ---

> drivers/gpu/drm/i915/intel_vbt_defs.h | 4 ++--

> 1 file changed, 2 insertions(+), 2 deletions(-)

>

> diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h

> b/drivers/gpu/drm/i915/intel_vbt_defs.h

> index bf3662ad5fed..e2b8d042912b 100644

> --- a/drivers/gpu/drm/i915/intel_vbt_defs.h

> +++ b/drivers/gpu/drm/i915/intel_vbt_defs.h

> @@ -307,8 +307,8 @@ struct bdb_general_features {

> #define DVO_PORT_MIPID        24                /* 171 */

>

> #define HDMI_MAX_DATA_RATE_PLATFORM    0            /* 204 */

> -#define HDMI_MAX_DATA_RATE_297        1            /* 204 */

> -#define HDMI_MAX_DATA_RATE_165        2            /* 204 */

> +#define HDMI_MAX_DATA_RATE_297        2            /* 212 */

> +#define HDMI_MAX_DATA_RATE_165        4            /* 212 */

>

> #define LEGACY_CHILD_DEVICE_CONFIG_SIZE        33

>

> --

> 2.7.4

>

> _______________________________________________

> Intel-gfx mailing list

> Intel-gfx at lists.freedesktop.org<mailto:Intel-gfx at lists.freedesktop.org<mailto:Intel-gfx at lists.freedesktop.org%3cmailto:Intel-gfx at lists.freedesktop.org>

> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

>

> --

> Ville Syrjälä

> Intel



--

Ville Syrjälä

Intel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190410/9f3add18/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 9344 bytes
Desc: image003.jpg
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190410/9f3add18/attachment-0001.jpg>


More information about the Intel-gfx mailing list