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”. 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----- 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@xxxxxxxxxxxxxxx<mailto:ville.syrjala@xxxxxxxxxxxxxxx>>
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@xxxxxxxxx<mailto:jani.nikula@xxxxxxxxx>> > Signed-off-by: Chiou, Cooper > <cooper.chiou@xxxxxxxxx<mailto:cooper.chiou@xxxxxxxxx>> > --- > 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@xxxxxxxxxxxxxxxxxxxxx<mailto:Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > >
https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel -- Ville Syrjälä Intel |
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx