diff mbox series

[1/2] drm/i915/bios: Define block 46 chromaticity coordinates properly

Message ID 20240605134756.17099-1-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [1/2] drm/i915/bios: Define block 46 chromaticity coordinates properly | expand

Commit Message

Ville Syrjala June 5, 2024, 1:47 p.m. UTC
From: Ville Syrjälä <ville.syrjala@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@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_vbt_defs.h | 27 ++++++++++++-------
 1 file changed, 17 insertions(+), 10 deletions(-)

Comments

Jani Nikula June 6, 2024, 10:55 a.m. UTC | #1
On Wed, 05 Jun 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@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@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@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 {
Ville Syrjala June 6, 2024, 12:38 p.m. UTC | #2
On Wed, Jun 05, 2024 at 03:13:31PM -0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [1/2] drm/i915/bios: Define block 46 chromaticity coordinates properly
> URL   : https://patchwork.freedesktop.org/series/134505/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_14881 -> Patchwork_134505v1
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with Patchwork_134505v1 absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_134505v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
>   to document this new failure mode, which will reduce false positives in CI.
> 
>   External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_134505v1/index.html
> 
> Participating hosts (38 -> 34)
> ------------------------------
> 
>   Additional (2): fi-kbl-8809g fi-bsw-n3050 
>   Missing    (6): bat-mtlp-9 bat-arls-3 fi-snb-2520m bat-dg2-11 bat-jsl-1 bat-mtlp-6 
> 
> Possible new issues
> -------------------
> 
>   Here are the unknown changes that may have been introduced in Patchwork_134505v1:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * igt@i915_selftest@live@active:
>     - fi-glk-j4005:       [PASS][1] -> [DMESG-FAIL][2]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14881/fi-glk-j4005/igt@i915_selftest@live@active.html
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_134505v1/fi-glk-j4005/igt@i915_selftest@live@active.html

(i915_selftest:5675) igt_kmod-WARNING: i915: Running i915_active_live_selftests/live_active_wait
(i915_selftest:5675) igt_kmod-WARNING: i915 0000:00:02.0: [drm] *ERROR* live_active_wait i915_active not retired after waiting!
(i915_selftest:5675) igt_kmod-WARNING: i915 0000:00:02.0: [drm] *ERROR* live_active_wait active __live_active [i915]:__live_retire [i915]
(i915_selftest:5675) igt_kmod-WARNING: i915 0000:00:02.0: [drm] *ERROR* live_active_wait \x09count: 0
(i915_selftest:5675) igt_kmod-WARNING: i915 0000:00:02.0: [drm] *ERROR* live_active_wait \x09preallocated barriers? no
(i915_selftest:5675) igt_kmod-WARNING: i915/i915_active_live_selftests: live_active_wait failed with error -22


Looks like:
https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11170
diff mbox series

Patch

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 {