[PATCH 1/2] drm/i915/bios: Define block 46 chromaticity coordinates properly
Jani Nikula
jani.nikula at linux.intel.com
Thu Jun 6 10:55:55 UTC 2024
On Wed, 05 Jun 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> The VBT spec does a very poor job of defining how the chromaticity
> coordinates in block 46 are laid out. After double checking the
> Windows implementation it turns out these more or less match the
> EDID definition, where the 10bit values are split into 2bit + 8bit
> chunks. Adjust our struct definition to reflect that.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vbt_defs.h | 27 ++++++++++++-------
> 1 file changed, 17 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> index 862c5923b83d..da8694771f69 100644
> --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> @@ -1376,16 +1376,23 @@ struct chromaticity {
> u8 chromaticity_from_edid_base_block:1;
> u8 rsvd:6;
>
> - u8 red_green;
> - u8 blue_white;
> - u8 red_x;
> - u8 red_y;
> - u8 green_x;
> - u8 green_y;
> - u8 blue_x;
> - u8 blue_y;
> - u8 white_x;
> - u8 white_y;
> + u8 green_y_lo:2;
> + u8 green_x_lo:2;
> + u8 red_y_lo:2;
> + u8 red_x_lo:2;
> + u8 white_y_lo:2;
> + u8 white_x_lo:2;
> + u8 blue_y_lo:2;
> + u8 blue_x_lo:2;
> +
> + u8 red_x_hi;
> + u8 red_y_hi;
> + u8 green_x_hi;
> + u8 green_y_hi;
> + u8 blue_x_hi;
> + u8 blue_y_hi;
> + u8 white_x_hi;
> + u8 white_y_hi;
> } __packed;
>
> struct bdb_chromaticity {
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list