Message ID | 20240131184841.872487-1-jani.nikula@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] drm/i915/bios: bump expected child device size | expand |
On Wed, Jan 31, 2024 at 08:48:39PM +0200, Jani Nikula wrote: > VBT versions since 256 have an extra byte for EFP index. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/display/intel_bios.c | 4 +++- > drivers/gpu/drm/i915/display/intel_vbt_defs.h | 1 + > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c > index 5f04e495fd27..2805ad701fe4 100644 > --- a/drivers/gpu/drm/i915/display/intel_bios.c > +++ b/drivers/gpu/drm/i915/display/intel_bios.c > @@ -2736,8 +2736,10 @@ parse_general_definitions(struct drm_i915_private *i915) > expected_size = 37; > } else if (i915->display.vbt.version <= 215) { > expected_size = 38; > - } else if (i915->display.vbt.version <= 250) { > + } else if (i915->display.vbt.version <= 255) { > expected_size = 39; > + } else if (i915->display.vbt.version <= 256) { > + expected_size = 40; > } else { > expected_size = sizeof(*child); > BUILD_BUG_ON(sizeof(*child) < 39); Should this size be updated as well? Matt > diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h > index a9f44abfc9fc..648934fcd123 100644 > --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h > +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h > @@ -485,6 +485,7 @@ struct child_device_config { > u8 hdmi_iboost_level:4; /* 196+ */ > u8 dp_max_link_rate:3; /* 216+ */ > u8 dp_max_link_rate_reserved:5; /* 216+ */ > + u8 efp_index; /* 256+ */ > } __packed; > > struct bdb_general_definitions { > -- > 2.39.2 >
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index 5f04e495fd27..2805ad701fe4 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -2736,8 +2736,10 @@ parse_general_definitions(struct drm_i915_private *i915) expected_size = 37; } else if (i915->display.vbt.version <= 215) { expected_size = 38; - } else if (i915->display.vbt.version <= 250) { + } else if (i915->display.vbt.version <= 255) { expected_size = 39; + } else if (i915->display.vbt.version <= 256) { + expected_size = 40; } else { expected_size = sizeof(*child); BUILD_BUG_ON(sizeof(*child) < 39); diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h index a9f44abfc9fc..648934fcd123 100644 --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h @@ -485,6 +485,7 @@ struct child_device_config { u8 hdmi_iboost_level:4; /* 196+ */ u8 dp_max_link_rate:3; /* 216+ */ u8 dp_max_link_rate_reserved:5; /* 216+ */ + u8 efp_index; /* 256+ */ } __packed; struct bdb_general_definitions {
VBT versions since 256 have an extra byte for EFP index. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/display/intel_bios.c | 4 +++- drivers/gpu/drm/i915/display/intel_vbt_defs.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-)