Skip to contentSkip to conversation

Add gamma/degamma LUT validation helpers

PATCH Superseded Matt Roper 4 participants 9 messages Dec 12, 2018

Subsystems (3)

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore

Matt Roper

author
#0 lore raw

cover Add gamma/degamma LUT validation helpers

Some platforms require that gamma or degamma LUT's have certain characteristics in order to be programmed into the hardware. If a userspace-provided LUT violates a platform's hardware requirements, we want to be able to catch this during the atomic check and reject the transaction rather than just silently trying to program an invalid table into the hardware. Let's add a couple helpers that can be called by drivers' check functions:

- drm_color_lut_is_increasing() checks a table to see whether subsequent entries are always equal to or greater than prior entries (i.e., the gamma ramp never decreases).
- drm_color_lut_has_equal_channels() checks a table to see whether the r, g, and b channels are equal for each table entry.

On Intel, we need the first helper for the degamma table on all platforms, and we need the second one for the degamma table on GLK and ICL (actual degamma support for those two platforms hasn't landed yet, but there's work in flight by Uma and Swati to add it, so we might as well get the checks ready early).

Matt Roper (2):
drm: Add color management LUT validation helpers drm/i915: Validate userspace-provided color management LUT's

 drivers/gpu/drm/drm_color_mgmt.c   | 53 ++++++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_color.c | 18 +++++++++++++
 include/drm/drm_color_mgmt.h       |  3 +++
 3 files changed, 74 insertions(+)
Signature · 6 lines
2.14.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
author
#1 lore raw

PATCH 1/2 drm: Add color management LUT validation helpers

Some hardware may place additional restrictions on the gamma/degamma curves described by our LUT properties. E.g., that a gamma curve never decreases or that the red/green/blue channels of a LUT's entries must be equal. Let's add a couple helpers that drivers can use to test that a userspace-provided LUT doesn't violate hardware requirements.

Cc Uma Shankar <[email protected]>
Cc Swati Sharma <[email protected]>
---
 drivers/gpu/drm/drm_color_mgmt.c | 53 ++++++++++++++++++++++++++++++++++++++++
 include/drm/drm_color_mgmt.h     |  3 +++
 2 files changed, 56 insertions(+)
drivers/gpu/drm/drm_color_mgmt.c +53 -0
index 07dcf47daafe..41e617e34c10 100644
@@ -462,3 +462,56 @@ int drm_plane_create_color_properties(struct drm_plane *plane,
 	return 0;
 }
 EXPORT_SYMBOL(drm_plane_create_color_properties);
+
+/**
+ * drm_color_lut_has_equal_channels - check LUT for equal r/g/b values
+ * @lut: property blob containing LUT to check
+ *
+ * Helper to check whether the entries of a LUT all have equal values for the
+ * red, green, and blue channels.  Some hardware can only be programmed
+ * with a single value per LUT entry, which is assumed to apply to all
+ * three color components.
+ */
+bool drm_color_lut_has_equal_channels(struct drm_property_blob *lut)
+{
+	struct drm_color_lut *entry;
+	int i;
+
+	if (!lut)
+		return true;
+
+	entry = lut->data;
+	for (i = 0; i < drm_color_lut_size(lut); i++)
+		if (entry[i].red != entry[i].blue ||
+		    entry[i].red != entry[i].green)
+			return false;
+
+	return true;
+}
+EXPORT_SYMBOL(drm_color_lut_has_equal_channels);
+
+/**
+ * drm_color_lut_is_increasing - check that LUT is always flat/increasing
+ * @lut: LUT to check
+ *
+ * Helper to check whether the entries of a LUT are always flat or increasing
+ * (never decreasing).
+ */
+bool drm_color_lut_is_increasing(struct drm_property_blob *lut)
+{
+	struct drm_color_lut *entry;
+	int i;
+
+	if (!lut)
+		return true;
+
+	entry = lut->data;
+	for (i = 1; i < drm_color_lut_size(lut); i++)
+		if (entry[i].red < entry[i-1].red ||
+		    entry[i].green < entry[i-1].green ||
+		    entry[i].blue < entry[i-1].blue)
+			return false;
+
+	return true;
+}
+EXPORT_SYMBOL(drm_color_lut_is_increasing);
include/drm/drm_color_mgmt.h +3 -0
index 90ef9996d9a4..6c38f5477e29 100644
@@ -69,4 +69,7 @@ int drm_plane_create_color_properties(struct drm_plane *plane,
 				      u32 supported_ranges,
 				      enum drm_color_encoding default_encoding,
 				      enum drm_color_range default_range);
+
+bool drm_color_lut_has_equal_channels(struct drm_property_blob *lut);
+bool drm_color_lut_is_increasing(struct drm_property_blob *lut);
 #endif
Signature · 6 lines
2.14.4

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Reviewed-by on v1 1/2
#2 lore raw

Re: [PATCH 1/2] drm: Add color management LUT validation helpers

Hi Matt,

Quoted 39 lines · Matt Roper

Some hardware may place additional restrictions on the gamma/degamma curves described by our LUT properties. E.g., that a gamma curve never decreases or that the red/green/blue channels of a LUT's entries must be equal. Let's add a couple helpers that drivers can use to test that a userspace-provided LUT doesn't violate hardware requirements.

Cc Uma Shankar <[email protected]>
Cc Swati Sharma <[email protected]>
---
 drivers/gpu/drm/drm_color_mgmt.c | 53 ++++++++++++++++++++++++++++++++++++++++
 include/drm/drm_color_mgmt.h     |  3 +++
 2 files changed, 56 insertions(+)
drivers/gpu/drm/drm_color_mgmt.c +17 -0
index 07dcf47daafe..41e617e34c10 100644
@@ -462,3 +462,56 @@ int drm_plane_create_color_properties(struct drm_plane *plane,
 	return 0;
 }
 EXPORT_SYMBOL(drm_plane_create_color_properties);
+
+/**
+ * drm_color_lut_has_equal_channels - check LUT for equal r/g/b values
+ * @lut: property blob containing LUT to check
+ *
+ * Helper to check whether the entries of a LUT all have equal values for the
+ * red, green, and blue channels.  Some hardware can only be programmed
+ * with a single value per LUT entry, which is assumed to apply to all
+ * three color components.
+ */
+bool drm_color_lut_has_equal_channels(struct drm_property_blob *lut)
+{
+	struct drm_color_lut *entry;
+	int i;
+
+	if (!lut)
+		return true;

drivers/gpu/drm/drm_color_mgmt.c int drm_plane_create_color_properties(struct drm_plane *plane, · line 491

Quoted 10 lines
drivers/gpu/drm/drm_color_mgmt.c +10 -0
+
+	entry = lut->data;
+	for (i = 0; i < drm_color_lut_size(lut); i++)
+		if (entry[i].red != entry[i].blue ||
+		    entry[i].red != entry[i].green)
+			return false;
+
+	return true;
+}
+EXPORT_SYMBOL(drm_color_lut_has_equal_channels);

We've got this open-coded for some of our HW, so thanks for the helper :-)

Quoted 12 lines
drivers/gpu/drm/drm_color_mgmt.c +12 -0
+
+/**
+ * drm_color_lut_is_increasing - check that LUT is always flat/increasing
+ * @lut: LUT to check
+ *
+ * Helper to check whether the entries of a LUT are always flat or increasing
+ * (never decreasing).
+ */
+bool drm_color_lut_is_increasing(struct drm_property_blob *lut)
+{
+	struct drm_color_lut *entry;
+	int i;

drivers/gpu/drm/drm_color_mgmt.c int drm_plane_create_color_properties(struct drm_plane *plane, · line 513

Quoted 10 lines
drivers/gpu/drm/drm_color_mgmt.c +10 -0
+
+	if (!lut)
+		return true;
+
+	entry = lut->data;
+	for (i = 1; i < drm_color_lut_size(lut); i++)
+		if (entry[i].red < entry[i-1].red ||
+		    entry[i].green < entry[i-1].green ||
+		    entry[i].blue < entry[i-1].blue)
+			return false;

nit: I think checkpatch likes spaces around operators: [i - 1]

Another thought: in the worst case with a valid LUT with HW that needs both checks, you can end up iterating the whole LUT twice - once for increasing, and once for equal channels.

Maybe this could be a single function with a mask of constraints to check:

  drm_color_lut_check(lut, DRM_COLOR_LUT_EQUAL_CHANNELS | DRM_COLOR_LUT_INCREASING);

Not sure if it would turn out messy with the different loop bounds.

Either way, for mali-dp it makes no difference, and probably LUTs aren't changing all the time so:

Quoted 23 lines
drivers/gpu/drm/drm_color_mgmt.c +4 -0
+
+	return true;
+}
+EXPORT_SYMBOL(drm_color_lut_is_increasing);
include/drm/drm_color_mgmt.h +3 -0
index 90ef9996d9a4..6c38f5477e29 100644
@@ -69,4 +69,7 @@ int drm_plane_create_color_properties(struct drm_plane *plane,
 				      u32 supported_ranges,
 				      enum drm_color_encoding default_encoding,
 				      enum drm_color_range default_range);
+
+bool drm_color_lut_has_equal_channels(struct drm_property_blob *lut);
+bool drm_color_lut_is_increasing(struct drm_property_blob *lut);
 #endif
Signature · 6 lines
2.14.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

author
#3 lore raw

PATCH 2/2 drm/i915: Validate userspace-provided color management LUT's

In reply to Matt Roper

We currently program userspace-provided gamma and degamma LUT's into our hardware without really checking to see whether they satisfy our hardware's rules. We should try to catch tables that are invalid for our hardware early and reject the atomic transaction.

All of our platforms that accept a degamma LUT expect that the entries in the LUT are always flat or increasing, never decreasing. Also, our GLK and ICL platforms only accept degamma tables with r=g=b entries; so we should also add the relevant checks for that in anticipation of degamma support landing for those platforms.

Cc Uma Shankar <[email protected]>
Cc Swati Sharma <[email protected]>
---
 drivers/gpu/drm/i915/intel_color.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
drivers/gpu/drm/i915/intel_color.c +18 -0
index 1d572e83db7f..041bb5d6a6cd 100644
@@ -610,6 +610,24 @@ int intel_color_check(struct intel_crtc_state *crtc_state)
 	degamma_length = INTEL_INFO(dev_priv)->color.degamma_lut_size;
 	gamma_length = INTEL_INFO(dev_priv)->color.gamma_lut_size;
 
+	/*
+	 * GLK and gen11 only accept a single value for red, green, and
+	 * blue in the degamma table.  Make sure userspace didn't try to
+	 * pass us something we can't handle.
+	 */
+	if (IS_GEMINILAKE(dev_priv) || INTEL_GEN(dev_priv) >= 11) {
+		if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
+			DRM_DEBUG_KMS("All degamma entries must have equal r/g/b\n");
+			return -EINVAL;
+		}
+	}
+
+	/* All platforms require that the degamma curve be non-decreasing */
+	if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
+		DRM_DEBUG_KMS("Degamma curve must never decrease.\n");
+		return -EINVAL;
+	}
+
 	/*
 	 * We allow both degamma & gamma luts at the right size or
 	 * NULL.
Signature · 6 lines
2.14.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#4 lore raw

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Validate userspace-provided color management LUT's

Thank you for the patch! Yet something to improve:

Hi Matt,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.20-rc6 next-20181211]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Matt-Roper/drm-Add-color-management-LUT-validation-helpers/20181212-130519
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x011-201849 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

drivers/gpu/drm/i915/intel_color.c: In function 'intel_color_check':

>> drivers/gpu/drm/i915/intel_color.c:632:51: error: 'struct drm_crtc_state' has no member named 'base'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
                                                      ^~
   drivers/gpu/drm/i915/intel_color.c:639:45: error: 'struct drm_crtc_state' has no member named 'base'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
                                                ^~

vim +632 drivers/gpu/drm/i915/intel_color.c

616
617 int intel_color_check(struct drm_crtc *crtc,
618 struct drm_crtc_state *crtc_state)
619 {
620 struct drm_i915_private *dev_priv = to_i915(crtc->dev);
621 size_t gamma_length, degamma_length;
622
623 degamma_length = INTEL_INFO(dev_priv)->color.degamma_lut_size;
624 gamma_length = INTEL_INFO(dev_priv)->color.gamma_lut_size;
625
626 /*
627 * GLK and gen11 only accept a single value for red, green, and
628 * blue in the degamma table. Make sure userspace didn't try to
629 * pass us something we can't handle.
630 */
631 if (IS_GEMINILAKE(dev_priv) || INTEL_GEN(dev_priv) >= 11) {

 > 632			if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {

633 DRM_DEBUG_KMS("All degamma entries must have equal r/g/b\n");
634 return -EINVAL;
635 }
636 }
637
638 /* All platforms require that the degamma curve be non-decreasing */
639 if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
640 DRM_DEBUG_KMS("Degamma curve must never decrease.\n");
641 return -EINVAL;
642 }
643
644 /*
645 * We allow both degamma & gamma luts at the right size or
646 * NULL.
647 */
648 if ((!crtc_state->degamma_lut ||
649 drm_color_lut_size(crtc_state->degamma_lut) == degamma_length) &&
650 (!crtc_state->gamma_lut ||
651 drm_color_lut_size(crtc_state->gamma_lut) == gamma_length))
652 return 0;
653
654 /*
655 * We also allow no degamma lut/ctm and a gamma lut at the legacy
656 * size (256 entries).
657 */
658 if (crtc_state_is_legacy_gamma(crtc_state))
659 return 0;
660
661 return -EINVAL;
662 }
663

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

#5 lore raw

Re: [PATCH 2/2] drm/i915: Validate userspace-provided color management LUT's

In reply to Matt Roper
Thank you for the patch! Perhaps something to improve:

Hi Matt,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on v4.20-rc6 next-20181211]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Matt-Roper/drm-Add-color-management-LUT-validation-helpers/20181212-130519
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x006-201849 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

In file included from include/linux/kernel.h:10:0,

                    from include/linux/list.h:9,
                    from include/linux/async.h:16,
                    from drivers/gpu//drm/i915/intel_drv.h:28,
                    from drivers/gpu//drm/i915/intel_color.c:25:
   drivers/gpu//drm/i915/intel_color.c: In function 'intel_color_check':
   drivers/gpu//drm/i915/intel_color.c:632:51: error: 'struct drm_crtc_state' has no member named 'base'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
                                                      ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu//drm/i915/intel_color.c:632:3: note: in expansion of macro 'if'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
      ^~
   drivers/gpu//drm/i915/intel_color.c:632:51: error: 'struct drm_crtc_state' has no member named 'base'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
                                                      ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers/gpu//drm/i915/intel_color.c:632:3: note: in expansion of macro 'if'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
      ^~
   drivers/gpu//drm/i915/intel_color.c:632:51: error: 'struct drm_crtc_state' has no member named 'base'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
                                                      ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers/gpu//drm/i915/intel_color.c:632:3: note: in expansion of macro 'if'
      if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {
      ^~
   drivers/gpu//drm/i915/intel_color.c:639:45: error: 'struct drm_crtc_state' has no member named 'base'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
                                                ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
   drivers/gpu//drm/i915/intel_color.c:639:2: note: in expansion of macro 'if'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
     ^~
   drivers/gpu//drm/i915/intel_color.c:639:45: error: 'struct drm_crtc_state' has no member named 'base'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
                                                ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
   drivers/gpu//drm/i915/intel_color.c:639:2: note: in expansion of macro 'if'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
     ^~
   drivers/gpu//drm/i915/intel_color.c:639:45: error: 'struct drm_crtc_state' has no member named 'base'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
                                                ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
   drivers/gpu//drm/i915/intel_color.c:639:2: note: in expansion of macro 'if'
     if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
     ^~

vim +/if +632 drivers/gpu//drm/i915/intel_color.c

616
617 int intel_color_check(struct drm_crtc *crtc,
618 struct drm_crtc_state *crtc_state)
619 {
620 struct drm_i915_private *dev_priv = to_i915(crtc->dev);
621 size_t gamma_length, degamma_length;
622
623 degamma_length = INTEL_INFO(dev_priv)->color.degamma_lut_size;
624 gamma_length = INTEL_INFO(dev_priv)->color.gamma_lut_size;
625
626 /*
627 * GLK and gen11 only accept a single value for red, green, and
628 * blue in the degamma table. Make sure userspace didn't try to
629 * pass us something we can't handle.
630 */
631 if (IS_GEMINILAKE(dev_priv) || INTEL_GEN(dev_priv) >= 11) {

 > 632			if (!drm_color_lut_has_equal_channels(crtc_state->base.degamma_lut)) {

633 DRM_DEBUG_KMS("All degamma entries must have equal r/g/b\n");
634 return -EINVAL;
635 }
636 }
637
638 /* All platforms require that the degamma curve be non-decreasing */
639 if (!drm_color_lut_is_increasing(crtc_state->base.degamma_lut)) {
640 DRM_DEBUG_KMS("Degamma curve must never decrease.\n");
641 return -EINVAL;
642 }
643
644 /*
645 * We allow both degamma & gamma luts at the right size or
646 * NULL.
647 */
648 if ((!crtc_state->degamma_lut ||
649 drm_color_lut_size(crtc_state->degamma_lut) == degamma_length) &&
650 (!crtc_state->gamma_lut ||
651 drm_color_lut_size(crtc_state->gamma_lut) == gamma_length))
652 return 0;
653
654 /*
655 * We also allow no degamma lut/ctm and a gamma lut at the legacy
656 * size (256 entries).
657 */
658 if (crtc_state_is_legacy_gamma(crtc_state))
659 return 0;
660
661 return -EINVAL;
662 }
663

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#6 lore raw

✗ Fi.CI.CHECKPATCH: warning for Add gamma/degamma LUT validation helpers

In reply to Matt Roper
== Series Details ==

== Series Details ==

Series: Add gamma/degamma LUT validation helpers
URL : https://patchwork.freedesktop.org/series/53929/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
520a78550419 drm: Add color management LUT validation helpers
-:69: CHECK:SPACING: spaces preferred around that '-' (ctx:VxV)
#69: FILE: drivers/gpu/drm/drm_color_mgmt.c:510:
+		if (entry[i].red < entry[i-1].red ||
 		                          ^

-:70: CHECK:SPACING: spaces preferred around that '-' (ctx:VxV) #70: FILE: drivers/gpu/drm/drm_color_mgmt.c:511:
+ entry[i].green < entry[i-1].green ||
^

-:71: CHECK:SPACING: spaces preferred around that '-' (ctx:VxV) #71: FILE: drivers/gpu/drm/drm_color_mgmt.c:512:
+ entry[i].blue < entry[i-1].blue)
^

total: 0 errors, 0 warnings, 3 checks, 63 lines checked a98821b8fc98 drm/i915: Validate userspace-provided color management LUT's

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#7 lore raw

✓ Fi.CI.BAT: success for Add gamma/degamma LUT validation helpers

In reply to Matt Roper
== Series Details ==

== Series Details ==

Series: Add gamma/degamma LUT validation helpers
URL : https://patchwork.freedesktop.org/series/53929/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5296 -> Patchwork_11075
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/53929/revisions/1/mbox/

Known issues
------------

Here are the changes found in Patchwork_11075 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@kms_chamelium@hdmi-hpd-fast:
- {fi-kbl-7500u}: PASS -> FAIL [fdo#108767]

* igt@kms_flip@basic-flip-vs-modeset:
- fi-skl-6700hq: PASS -> DMESG-WARN [fdo#105998] +1

* igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362]

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

[fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
[fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
[fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
[fdo#108767]: https://bugs.freedesktop.org/show_bug.cgi?id=108767

Participating hosts (48 -> 43)
------------------------------

Additional (1): fi-byt-j1900
Missing (6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-ctg-p8600 fi-icl-y

Build changes
-------------

* Linux: CI_DRM_5296 -> Patchwork_11075

CI_DRM_5296: 70751bd8a3f27b035d203ecafcad452f4d7c2c15 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4745: 3b52e8a5809a4e860350c59476a456745cd9fee0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_11075: a98821b8fc98c4698c74f04a0a3d80444534626f @ git://anongit.freedesktop.org/gfx-ci/linux

== Linux commits ==

a98821b8fc98 drm/i915: Validate userspace-provided color management LUT's 520a78550419 drm: Add color management LUT validation helpers

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11075/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#8 lore raw

✓ Fi.CI.IGT: success for Add gamma/degamma LUT validation helpers

In reply to Matt Roper
== Series Details ==

== Series Details ==

Series: Add gamma/degamma LUT validation helpers
URL : https://patchwork.freedesktop.org/series/53929/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5296_full -> Patchwork_11075_full
====================================================

Summary
-------

**WARNING**

Minor unknown changes coming with Patchwork_11075_full need to be verified manually.

If you think the reported changes have nothing to do with the changes introduced in Patchwork_11075_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI.

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in Patchwork_11075_full:

### IGT changes ###

#### Warnings ####

* igt@pm_rc6_residency@rc6-accuracy:
- shard-snb: PASS -> SKIP

* igt@tools_test@tools_test:
- shard-skl: SKIP -> PASS

Known issues
------------

Here are the changes found in Patchwork_11075_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_exec_create@forked:
- shard-apl: PASS -> INCOMPLETE [fdo#103927]

* igt@kms_busy@extended-modeset-hang-newfb-render-b:
- shard-skl: NOTRUN -> DMESG-WARN [fdo#107956]

* igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
- shard-glk: NOTRUN -> DMESG-WARN [fdo#107956]

* igt@kms_ccs@pipe-b-crc-primary-basic:
- shard-skl: PASS -> FAIL [fdo#107725]

* igt@kms_chv_cursor_fail@pipe-b-64x64-right-edge:
- shard-skl: PASS -> FAIL [fdo#104671]

* igt@kms_color@pipe-a-legacy-gamma:
- shard-apl: PASS -> FAIL [fdo#104782] / [fdo#108145] +1

* igt@kms_color@pipe-b-degamma:
- shard-apl: PASS -> FAIL [fdo#104782]

* igt@kms_color@pipe-c-ctm-green-to-red:
- shard-skl: PASS -> FAIL [fdo#107201]

* igt@kms_cursor_crc@cursor-256x256-suspend:
- shard-skl: PASS -> INCOMPLETE [fdo#104108]

* igt@kms_cursor_crc@cursor-64x21-random:
- shard-apl: PASS -> FAIL [fdo#103232] +10

* igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-apl: PASS -> FAIL [fdo#103191] / [fdo#103232]

* igt@kms_fbcon_fbt@psr-suspend:
- shard-skl: NOTRUN -> FAIL [fdo#107882]

* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-skl: PASS -> FAIL [fdo#105363]

* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
- shard-apl: PASS -> FAIL [fdo#103167] +4

* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
- shard-glk: PASS -> FAIL [fdo#103167] +2

* igt@kms_frontbuffer_tracking@fbcpsr-suspend:
- shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#106978]

* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
- shard-skl: NOTRUN -> FAIL [fdo#108145] +1

* igt@kms_plane_multiple@atomic-pipe-a-tiling-yf:
- shard-glk: PASS -> FAIL [fdo#103166]

* igt@kms_sysfs_edid_timing:
- shard-skl: NOTRUN -> FAIL [fdo#100047]

* igt@pm_rpm@universal-planes:
- shard-skl: PASS -> INCOMPLETE [fdo#107807]

#### Possible fixes ####

* igt@gem_userptr_blits@readonly-unsync:
- shard-skl: TIMEOUT [fdo#108887] -> PASS

* igt@kms_color@pipe-c-degamma:
- shard-apl: FAIL [fdo#104782] -> PASS

* igt@kms_cursor_crc@cursor-64x21-sliding:
- shard-apl: FAIL [fdo#103232] -> PASS +1

* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
- shard-skl: INCOMPLETE [fdo#104108] / [fdo#107773] -> PASS

* igt@kms_plane@pixel-format-pipe-c-planes:
- shard-apl: FAIL [fdo#103166] -> PASS +1

* igt@kms_rotation_crc@sprite-rotation-90:
- shard-glk: INCOMPLETE [fdo#103359] / [k.org#198133] -> PASS

* igt@kms_setmode@basic:
- shard-apl: FAIL [fdo#99912] -> PASS
- shard-kbl: FAIL [fdo#99912] -> PASS

* igt@perf@blocking:
- shard-hsw: FAIL [fdo#102252] -> PASS

#### Warnings ####

* igt@gem_cpu_reloc@full:
- shard-skl: INCOMPLETE [fdo#108073] -> TIMEOUT [fdo#108248]

[fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
[fdo#102252]: https://bugs.freedesktop.org/show_bug.cgi?id=102252
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
[fdo#104671]: https://bugs.freedesktop.org/show_bug.cgi?id=104671
[fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
[fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201
[fdo#107725]: https://bugs.freedesktop.org/show_bug.cgi?id=107725
[fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773
[fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
[fdo#107882]: https://bugs.freedesktop.org/show_bug.cgi?id=107882
[fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
[fdo#108073]: https://bugs.freedesktop.org/show_bug.cgi?id=108073
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108248]: https://bugs.freedesktop.org/show_bug.cgi?id=108248
[fdo#108887]: https://bugs.freedesktop.org/show_bug.cgi?id=108887
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133

Participating hosts (7 -> 6)
------------------------------

Missing (1): shard-iclb

Build changes
-------------

* Linux: CI_DRM_5296 -> Patchwork_11075

CI_DRM_5296: 70751bd8a3f27b035d203ecafcad452f4d7c2c15 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4745: 3b52e8a5809a4e860350c59476a456745cd9fee0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_11075: a98821b8fc98c4698c74f04a0a3d80444534626f @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11075/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx