All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
@ 2024-02-12 12:50 Uma Shankar
  2024-02-12 16:34 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add bigjoiner force enable option to debugfs (rev7) Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Uma Shankar @ 2024-02-12 12:50 UTC (permalink / raw)
  To: intel-gfx; +Cc: stanislav.lisovskiy, ville.syrjala, jani.nikula

From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>

For validation purposes, it might be useful to be able to
force Bigjoiner mode, even if current dotclock/resolution
do not require that.
Lets add such to option to debugfs.

v2: - Apparently intel_dp_need_bigjoiner can't be used, when
      debugfs entry is created so lets just check manually
      the DISPLAY_VER.

v3: - Switch to intel_connector from drm_connector(Jani Nikula)
    - Remove redundant modeset lock(Jani Nikula)
    - Use kstrtobool_from_user for boolean value(Jani Nikula)

v4: - Apply the changes to proper function(Jani Nikula)

v5: - Removed unnecessary check from i915_bigjoiner_enable_show
      (Ville Syrjälä)
    - Added eDP connector check to intel_connector_debugfs_add
      (Ville Syrjälä)
    - Removed debug message in order to prevent dmesg flooding
      (Ville Syrjälä)

v6: - Assume now always that m->private is intel_connector
    - Fixed other similar conflicts

v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
    - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
      manually.(Ville Syrjälä)

v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
      (Jani Nikula)

Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
 .../drm/i915/display/intel_display_types.h    |  2 +
 drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
 3 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 6f2d13c8ccf7..a962b48bcf13 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915->drm.mode_config.connection_mutex);
 	return ret;
 }
 
+static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
+{
+	struct intel_connector *connector = m->private;
+	struct drm_crtc *crtc;
+
+	crtc = connector->base.state->crtc;
+	if (connector->base.status != connector_status_connected || !crtc)
+		return -ENODEV;
+
+	seq_printf(m, "Bigjoiner enable: %d\n", connector->force_bigjoiner_enable);
+
+	return 0;
+}
+
 static ssize_t i915_dsc_output_format_write(struct file *file,
 					    const char __user *ubuf,
 					    size_t len, loff_t *offp)
@@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct file *file,
 	return len;
 }
 
+static ssize_t i915_bigjoiner_enable_write(struct file *file,
+					   const char __user *ubuf,
+					   size_t len, loff_t *offp)
+{
+	struct seq_file *m = file->private_data;
+	struct intel_connector *connector = m->private;
+	struct drm_crtc *crtc;
+	bool bigjoiner_en = 0;
+	int ret;
+
+	crtc = connector->base.state->crtc;
+	if (connector->base.status != connector_status_connected || !crtc)
+		return -ENODEV;
+
+	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
+	if (ret < 0)
+		return ret;
+
+	connector->force_bigjoiner_enable = bigjoiner_en;
+	*offp += len;
+
+	return len;
+}
+
 static int i915_dsc_output_format_open(struct inode *inode,
 				       struct file *file)
 {
@@ -1505,6 +1543,8 @@ static const struct file_operations i915_dsc_fractional_bpp_fops = {
 	.write = i915_dsc_fractional_bpp_write
 };
 
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
+
 /*
  * Returns the Current CRTC's bpc.
  * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
@@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct intel_connector *connector)
 				    connector, &i915_dsc_fractional_bpp_fops);
 	}
 
+	if (DISPLAY_VER(i915) >= 11 &&
+	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
+	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
+		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
+				    connector, &i915_bigjoiner_enable_fops);
+	}
+
 	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
 	    connector_type == DRM_MODE_CONNECTOR_eDP ||
 	    connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 01eb6e4e6049..0d4012097db1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -626,6 +626,8 @@ struct intel_connector {
 
 	struct intel_dp *mst_port;
 
+	bool force_bigjoiner_enable;
+
 	struct {
 		struct drm_dp_aux *dsc_decompression_aux;
 		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 5045c34a16be..217196196e50 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp *intel_dp,
 			     int hdisplay, int clock)
 {
 	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
+	struct intel_connector *connector = intel_dp->attached_connector;
 
 	if (!intel_dp_can_bigjoiner(intel_dp))
 		return false;
 
-	return clock > i915->max_dotclk_freq || hdisplay > 5120;
+	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
+	       connector->force_bigjoiner_enable;
 }
 
 static enum drm_mode_status
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add bigjoiner force enable option to debugfs (rev7)
  2024-02-12 12:50 [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Uma Shankar
@ 2024-02-12 16:34 ` Patchwork
  2024-02-12 16:47 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2024-02-12 16:34 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Add bigjoiner force enable option to debugfs (rev7)
URL   : https://patchwork.freedesktop.org/series/124730/
State : warning

== Summary ==

Error: dim checkpatch failed
beb120877edb drm/i915: Add bigjoiner force enable option to debugfs
-:38: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#38: 
v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.

total: 0 errors, 1 warnings, 0 checks, 93 lines checked



^ permalink raw reply	[flat|nested] 11+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Add bigjoiner force enable option to debugfs (rev7)
  2024-02-12 12:50 [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Uma Shankar
  2024-02-12 16:34 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add bigjoiner force enable option to debugfs (rev7) Patchwork
@ 2024-02-12 16:47 ` Patchwork
  2024-02-12 20:36 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2024-02-12 16:47 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 6322 bytes --]

== Series Details ==

Series: drm/i915: Add bigjoiner force enable option to debugfs (rev7)
URL   : https://patchwork.freedesktop.org/series/124730/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14255 -> Patchwork_124730v7
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/index.html

Participating hosts (38 -> 36)
------------------------------

  Missing    (2): bat-adlm-1 fi-snb-2520m 

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

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

### CI changes ###

#### Issues hit ####

  * boot:
    - bat-jsl-1:          [PASS][1] -> [FAIL][2] ([i915#8293])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/bat-jsl-1/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-jsl-1/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@gem_lmem_swapping@verify-random:
    - bat-mtlp-6:         NOTRUN -> [SKIP][3] ([i915#4613]) +3 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@gem_lmem_swapping@verify-random.html

  * igt@i915_pm_rps@basic-api:
    - bat-mtlp-6:         NOTRUN -> [SKIP][4] ([i915#6621])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@gem_contexts:
    - bat-atsm-1:         [PASS][5] -> [INCOMPLETE][6] ([i915#10094] / [i915#10137])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/bat-atsm-1/igt@i915_selftest@live@gem_contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-atsm-1/igt@i915_selftest@live@gem_contexts.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-mtlp-6:         NOTRUN -> [SKIP][7] ([fdo#109285] / [i915#9792])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-mtlp-6:         NOTRUN -> [SKIP][8] ([i915#5274] / [i915#9792])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-mtlp-6:         NOTRUN -> [SKIP][9] ([i915#4342] / [i915#5354] / [i915#9792])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_pipe_crc_basic@hang-read-crc:
    - bat-mtlp-6:         NOTRUN -> [SKIP][10] ([i915#9792]) +6 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@kms_pipe_crc_basic@hang-read-crc.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-mtlp-6:         NOTRUN -> [SKIP][11] ([i915#5354] / [i915#9792])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-mtlp-6:         NOTRUN -> [SKIP][12] ([i915#3555] / [i915#8809] / [i915#9792])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-mtlp-6:         NOTRUN -> [SKIP][13] ([i915#3708] / [i915#9792])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-mtlp-6:         NOTRUN -> [SKIP][14] ([i915#3708] / [i915#4077]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-write:
    - bat-mtlp-6:         NOTRUN -> [SKIP][15] ([i915#3708]) +2 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-mtlp-6/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@gem_exec_fence@basic-busy@ccs0:
    - {bat-arls-1}:       [DMESG-WARN][16] ([i915#10194]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/bat-arls-1/igt@gem_exec_fence@basic-busy@ccs0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/bat-arls-1/igt@gem_exec_fence@basic-busy@ccs0.html

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

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#10094]: https://gitlab.freedesktop.org/drm/intel/issues/10094
  [i915#10137]: https://gitlab.freedesktop.org/drm/intel/issues/10137
  [i915#10194]: https://gitlab.freedesktop.org/drm/intel/issues/10194
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9792]: https://gitlab.freedesktop.org/drm/intel/issues/9792


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

  * Linux: CI_DRM_14255 -> Patchwork_124730v7

  CI-20190529: 20190529
  CI_DRM_14255: 46cf1a7da57fc4fd2306d52aea58a02c7eb06cce @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7710: d87a5d85a60fba1283821d5212c3aece64cb36ba @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_124730v7: 46cf1a7da57fc4fd2306d52aea58a02c7eb06cce @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

b18436d58a74 drm/i915: Add bigjoiner force enable option to debugfs

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/index.html

[-- Attachment #2: Type: text/html, Size: 7721 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915: Add bigjoiner force enable option to debugfs (rev7)
  2024-02-12 12:50 [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Uma Shankar
  2024-02-12 16:34 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add bigjoiner force enable option to debugfs (rev7) Patchwork
  2024-02-12 16:47 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-02-12 20:36 ` Patchwork
  2024-02-13  9:21 ` [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Jani Nikula
  2024-02-13 14:56 ` Rodrigo Vivi
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2024-02-12 20:36 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 58508 bytes --]

== Series Details ==

Series: drm/i915: Add bigjoiner force enable option to debugfs (rev7)
URL   : https://patchwork.freedesktop.org/series/124730/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14255_full -> Patchwork_124730v7_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/index.html

Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts

New tests
---------

  New tests have been introduced between CI_DRM_14255_full and Patchwork_124730v7_full:

### New IGT tests (6) ###

  * igt@kms_cursor_edge_walk@128x128-top-bottom@pipe-a-hdmi-a-4:
    - Statuses : 1 pass(s)
    - Exec time: [3.40] s

  * igt@kms_cursor_edge_walk@128x128-top-bottom@pipe-a-vga-1:
    - Statuses : 1 pass(s)
    - Exec time: [3.54] s

  * igt@kms_cursor_edge_walk@128x128-top-bottom@pipe-d-hdmi-a-4:
    - Statuses : 1 pass(s)
    - Exec time: [3.21] s

  * igt@kms_cursor_edge_walk@256x256-top-edge@pipe-a-vga-1:
    - Statuses : 1 pass(s)
    - Exec time: [3.38] s

  * igt@kms_cursor_edge_walk@64x64-left-edge@pipe-a-hdmi-a-4:
    - Statuses : 1 pass(s)
    - Exec time: [3.31] s

  * igt@kms_cursor_edge_walk@64x64-left-edge@pipe-d-hdmi-a-4:
    - Statuses : 1 pass(s)
    - Exec time: [3.20] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-dg2:          NOTRUN -> [SKIP][1] ([i915#8411])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@api_intel_bb@object-reloc-purge-cache.html

  * igt@api_intel_bb@render-ccs:
    - shard-dg2:          NOTRUN -> [FAIL][2] ([i915#6122])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@api_intel_bb@render-ccs.html

  * igt@device_reset@cold-reset-bound:
    - shard-rkl:          NOTRUN -> [SKIP][3] ([i915#7701])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@device_reset@cold-reset-bound.html

  * igt@drm_fdinfo@idle@rcs0:
    - shard-rkl:          [PASS][4] -> [FAIL][5] ([i915#7742])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-5/igt@drm_fdinfo@idle@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-2/igt@drm_fdinfo@idle@rcs0.html

  * igt@drm_fdinfo@most-busy-check-all@bcs0:
    - shard-dg2:          NOTRUN -> [SKIP][6] ([i915#8414]) +11 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@drm_fdinfo@most-busy-check-all@bcs0.html

  * igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-smem-lmem0:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][7] ([i915#7297])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-1/igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-smem-lmem0.html

  * igt@gem_ctx_persistence@heartbeat-hostile:
    - shard-dg2:          NOTRUN -> [SKIP][8] ([i915#8555])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_ctx_persistence@heartbeat-hostile.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-dg2:          NOTRUN -> [SKIP][9] ([i915#280])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-dg1:          NOTRUN -> [SKIP][10] ([i915#280])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-rkl:          NOTRUN -> [SKIP][11] ([i915#280])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_exec_balancer@bonded-dual:
    - shard-dg2:          NOTRUN -> [SKIP][12] ([i915#4771])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@gem_exec_balancer@bonded-dual.html

  * igt@gem_exec_balancer@invalid-bonds:
    - shard-dg1:          NOTRUN -> [SKIP][13] ([i915#4036])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_exec_balancer@invalid-bonds.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-rkl:          NOTRUN -> [SKIP][14] ([i915#4525])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][15] ([i915#2842])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk2/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo:
    - shard-dg2:          NOTRUN -> [SKIP][16] ([i915#3539]) +1 other test skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_exec_fair@basic-pace-solo.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-rkl:          [PASS][17] -> [FAIL][18] ([i915#2842]) +2 other tests fail
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-4/igt@gem_exec_fair@basic-pace@rcs0.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-7/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-rkl:          NOTRUN -> [SKIP][19] ([fdo#109313])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_flush@basic-uc-pro-default:
    - shard-dg2:          NOTRUN -> [SKIP][20] ([i915#3539] / [i915#4852]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@gem_exec_flush@basic-uc-pro-default.html

  * igt@gem_exec_flush@basic-uc-set-default:
    - shard-dg1:          NOTRUN -> [SKIP][21] ([i915#3539])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_exec_flush@basic-uc-set-default.html

  * igt@gem_exec_reloc@basic-cpu-read:
    - shard-dg2:          NOTRUN -> [SKIP][22] ([i915#3281]) +6 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_exec_reloc@basic-cpu-read.html

  * igt@gem_exec_reloc@basic-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][23] ([i915#3281]) +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_exec_reloc@basic-gtt.html

  * igt@gem_exec_reloc@basic-gtt-read:
    - shard-rkl:          NOTRUN -> [SKIP][24] ([i915#3281]) +1 other test skip
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-read.html

  * igt@gem_exec_schedule@semaphore-power:
    - shard-dg2:          NOTRUN -> [SKIP][25] ([i915#4537] / [i915#4812])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_exec_suspend@basic-s0@lmem0:
    - shard-dg2:          [PASS][26] -> [INCOMPLETE][27] ([i915#9275])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg2-2/igt@gem_exec_suspend@basic-s0@lmem0.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-10/igt@gem_exec_suspend@basic-s0@lmem0.html

  * igt@gem_fence_thrash@bo-write-verify-x:
    - shard-dg2:          NOTRUN -> [SKIP][28] ([i915#4860])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@gem_fence_thrash@bo-write-verify-x.html

  * igt@gem_lmem_swapping@parallel-random:
    - shard-glk:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#4613]) +2 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk4/igt@gem_lmem_swapping@parallel-random.html

  * igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][30] ([i915#4565])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0.html

  * igt@gem_mmap_gtt@basic-small-copy:
    - shard-dg1:          NOTRUN -> [SKIP][31] ([i915#4077]) +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_mmap_gtt@basic-small-copy.html

  * igt@gem_mmap_gtt@hang:
    - shard-dg2:          NOTRUN -> [SKIP][32] ([i915#4077]) +8 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@gem_mmap_gtt@hang.html

  * igt@gem_mmap_wc@copy:
    - shard-dg2:          NOTRUN -> [SKIP][33] ([i915#4083]) +2 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@gem_mmap_wc@copy.html

  * igt@gem_pread@display:
    - shard-rkl:          NOTRUN -> [SKIP][34] ([i915#3282])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gem_pread@display.html

  * igt@gem_pread@snoop:
    - shard-dg2:          NOTRUN -> [SKIP][35] ([i915#3282]) +4 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_pread@snoop.html

  * igt@gem_pxp@protected-raw-src-copy-not-readible:
    - shard-dg2:          NOTRUN -> [SKIP][36] ([i915#4270])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_pxp@protected-raw-src-copy-not-readible.html

  * igt@gem_pxp@reject-modify-context-protection-on:
    - shard-dg1:          NOTRUN -> [SKIP][37] ([i915#4270]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gem_pxp@reject-modify-context-protection-on.html

  * igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][38] ([i915#5190]) +4 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html

  * igt@gem_set_tiling_vs_blt@tiled-to-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][39] ([i915#4079])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html

  * igt@gem_tiling_max_stride:
    - shard-mtlp:         NOTRUN -> [SKIP][40] ([i915#4077])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-mtlp-2/igt@gem_tiling_max_stride.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-dg2:          NOTRUN -> [SKIP][41] ([i915#3297]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-rkl:          NOTRUN -> [SKIP][42] ([i915#3297])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gen7_exec_parse@chained-batch:
    - shard-dg1:          NOTRUN -> [SKIP][43] ([fdo#109289])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gen7_exec_parse@chained-batch.html

  * igt@gen9_exec_parse@secure-batches:
    - shard-rkl:          NOTRUN -> [SKIP][44] ([i915#2527])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@gen9_exec_parse@secure-batches.html

  * igt@gen9_exec_parse@unaligned-access:
    - shard-dg1:          NOTRUN -> [SKIP][45] ([i915#2527])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@gen9_exec_parse@unaligned-access.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-dg2:          NOTRUN -> [SKIP][46] ([i915#2856]) +2 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-mtlp:         NOTRUN -> [ABORT][47] ([i915#10131] / [i915#9820])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-mtlp-2/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_freq_api@freq-suspend@gt0:
    - shard-dg2:          [PASS][48] -> [INCOMPLETE][49] ([i915#9407])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg2-10/igt@i915_pm_freq_api@freq-suspend@gt0.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-10/igt@i915_pm_freq_api@freq-suspend@gt0.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-dg1:          NOTRUN -> [SKIP][50] ([i915#6590])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_rps@thresholds-idle-park@gt0:
    - shard-dg2:          NOTRUN -> [SKIP][51] ([i915#8925])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@i915_pm_rps@thresholds-idle-park@gt0.html

  * igt@i915_selftest@mock@memory_region:
    - shard-rkl:          NOTRUN -> [DMESG-WARN][52] ([i915#9311])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@i915_selftest@mock@memory_region.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - shard-dg1:          [PASS][53] -> [DMESG-WARN][54] ([i915#4391] / [i915#4423])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg1-15/igt@i915_suspend@basic-s2idle-without-i915.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-17/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][55] ([i915#4212])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][56] ([i915#4215] / [i915#5190])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-glk:          NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#1769]) +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-rkl:          NOTRUN -> [SKIP][58] ([i915#5286])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][59] ([i915#4538] / [i915#5286])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][60] ([i915#3638])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][61] ([fdo#111614]) +2 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][62] ([fdo#111614] / [i915#3638]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-270:
    - shard-dg2:          NOTRUN -> [SKIP][63] ([i915#4538] / [i915#5190]) +8 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_big_fb@y-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-tglu:         [PASS][64] -> [FAIL][65] ([i915#3743]) +1 other test fail
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-tglu-9/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-tglu-5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][66] ([fdo#110723])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-dg1:          NOTRUN -> [SKIP][67] ([i915#4538])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_joiner@invalid-modeset:
    - shard-dg2:          NOTRUN -> [SKIP][68] ([i915#2705])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_big_joiner@invalid-modeset.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-4-tiled-mtl-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][69] ([i915#5354]) +58 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_ccs@pipe-a-bad-pixel-format-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-4-tiled-mtl-rc-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][70] ([i915#5354] / [i915#6095]) +13 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_ccs@pipe-a-bad-pixel-format-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@pipe-b-ccs-on-another-bo-y-tiled-gen12-mc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][71] ([i915#5354] / [i915#6095]) +3 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_ccs@pipe-b-ccs-on-another-bo-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y-tiled-gen12-rc-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][72] ([i915#5354] / [i915#6095])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-mtlp-2/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@pipe-d-bad-aux-stride-4-tiled-mtl-mc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][73] ([i915#5354]) +7 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_ccs@pipe-d-bad-aux-stride-4-tiled-mtl-mc-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-dg1:          NOTRUN -> [SKIP][74] ([i915#3742])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][75] ([i915#4087]) +3 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-10/igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-dg1:          NOTRUN -> [SKIP][76] ([fdo#111827])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_color@degamma:
    - shard-dg2:          NOTRUN -> [SKIP][77] ([fdo#111827])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_chamelium_color@degamma.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][78] ([i915#7828]) +2 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#7828]) +5 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_hpd@hdmi-hpd-fast:
    - shard-dg1:          NOTRUN -> [SKIP][80] ([i915#7828])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_chamelium_hpd@hdmi-hpd-fast.html

  * igt@kms_content_protection@atomic:
    - shard-dg2:          NOTRUN -> [SKIP][81] ([i915#7118] / [i915#9424])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@content-type-change:
    - shard-dg2:          NOTRUN -> [SKIP][82] ([i915#9424])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_content_protection@content-type-change.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-dg2:          NOTRUN -> [SKIP][83] ([i915#3299])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          NOTRUN -> [SKIP][84] ([i915#9424])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-onscreen-32x32:
    - shard-rkl:          NOTRUN -> [SKIP][85] ([i915#3555]) +2 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-dg2:          NOTRUN -> [SKIP][86] ([i915#3555]) +4 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][87] ([fdo#109274] / [i915#5354])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [PASS][88] -> [FAIL][89] ([i915#2346])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][90] ([fdo#110189] / [i915#9723])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-17/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#9833])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][92] ([i915#3804])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-rkl:          NOTRUN -> [SKIP][93] ([i915#3840])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_fbcon_fbt@psr:
    - shard-rkl:          NOTRUN -> [SKIP][94] ([fdo#110189] / [i915#3955])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_fbcon_fbt@psr.html

  * igt@kms_flip@2x-busy-flip:
    - shard-dg1:          NOTRUN -> [SKIP][95] ([fdo#111825] / [i915#9934])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_flip@2x-busy-flip.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-dg2:          NOTRUN -> [SKIP][96] ([fdo#109274]) +3 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@2x-flip-vs-fences:
    - shard-dg2:          NOTRUN -> [SKIP][97] ([i915#8381])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_flip@2x-flip-vs-fences.html

  * igt@kms_flip@2x-plain-flip:
    - shard-rkl:          NOTRUN -> [SKIP][98] ([fdo#111825]) +4 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][99] ([i915#2672]) +1 other test skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg1:          NOTRUN -> [SKIP][100] ([i915#2587] / [i915#2672]) +1 other test skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][101] ([i915#8708]) +15 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][102] ([fdo#111825] / [i915#1825]) +6 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][103] ([fdo#111825]) +6 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
    - shard-snb:          [PASS][104] -> [SKIP][105] ([fdo#109271]) +8 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt:
    - shard-dg1:          NOTRUN -> [SKIP][106] ([i915#3458]) +2 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][107] ([i915#8708]) +7 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][108] ([i915#1825])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][109] ([i915#3023]) +3 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@plane-fbc-rte:
    - shard-rkl:          NOTRUN -> [SKIP][110] ([i915#10070])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_frontbuffer_tracking@plane-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
    - shard-dg2:          NOTRUN -> [SKIP][111] ([i915#3458]) +15 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([fdo#111767] / [i915#5354])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff:
    - shard-rkl:          NOTRUN -> [SKIP][113] ([fdo#111767] / [fdo#111825] / [i915#1825]) +1 other test skip
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-dg2:          NOTRUN -> [SKIP][114] ([i915#3555] / [i915#8228]) +1 other test skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes:
    - shard-dg2:          NOTRUN -> [SKIP][115] ([fdo#109289]) +4 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][116] ([fdo#109271])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb7/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-vga-1.html

  * igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][117] ([i915#4573]) +3 other tests fail
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk3/igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-dg1:          NOTRUN -> [SKIP][118] ([i915#3555])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [FAIL][119] ([i915#8292])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-12/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][120] ([i915#9423]) +3 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-2/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][121] ([i915#9423]) +3 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-a-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][122] ([i915#5176] / [i915#9423]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][123] ([i915#5176] / [i915#9423]) +3 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-17/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][124] ([i915#9423]) +11 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-12/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-3.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][125] ([i915#5235]) +15 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-16/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][126] ([i915#5235]) +1 other test skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][127] ([fdo#109271]) +171 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][128] ([i915#9340])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-3/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][129] ([i915#9519])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
    - shard-rkl:          [PASS][130] -> [SKIP][131] ([i915#9519])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-5/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-1/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-dg2:          [PASS][132] -> [SKIP][133] ([i915#9519])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg2-2/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-10/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-dg2:          NOTRUN -> [SKIP][134] ([i915#6524] / [i915#6805]) +1 other test skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-1/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#9683])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
    - shard-dg2:          NOTRUN -> [SKIP][136] ([i915#9683]) +1 other test skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([fdo#111068] / [i915#9683]) +1 other test skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][138] ([i915#4235]) +3 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2:          NOTRUN -> [SKIP][139] ([i915#4235] / [i915#5190])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-dg1:          NOTRUN -> [SKIP][140] ([fdo#111615] / [i915#5289])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg1:          NOTRUN -> [SKIP][141] ([i915#8623])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2:          NOTRUN -> [SKIP][142] ([i915#8623])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_writeback@writeback-check-output:
    - shard-glk:          NOTRUN -> [SKIP][143] ([fdo#109271] / [i915#2437])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk1/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#2437])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-1/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-dg2:          NOTRUN -> [SKIP][145] ([i915#2436])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@perf@per-context-mode-unprivileged:
    - shard-rkl:          NOTRUN -> [SKIP][146] ([i915#2435])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@perf@per-context-mode-unprivileged.html

  * igt@perf_pmu@busy-double-start@rcs0:
    - shard-mtlp:         [PASS][147] -> [FAIL][148] ([i915#4349]) +1 other test fail
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-mtlp-5/igt@perf_pmu@busy-double-start@rcs0.html
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-mtlp-2/igt@perf_pmu@busy-double-start@rcs0.html

  * igt@prime_vgem@basic-read:
    - shard-dg1:          NOTRUN -> [SKIP][149] ([i915#3708])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - shard-dg2:          NOTRUN -> [SKIP][150] ([i915#3291] / [i915#3708])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@prime_vgem@basic-write.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-dg2:          NOTRUN -> [SKIP][151] ([i915#9917])
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-dg2:          NOTRUN -> [SKIP][152] ([i915#4818])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@tools_test@sysfs_l3_parity.html

  * igt@v3d/v3d_job_submission@array-job-submission:
    - shard-rkl:          NOTRUN -> [SKIP][153] ([fdo#109315]) +2 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@v3d/v3d_job_submission@array-job-submission.html

  * igt@v3d/v3d_submit_cl@multi-and-single-sync:
    - shard-dg1:          NOTRUN -> [SKIP][154] ([i915#2575]) +1 other test skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@v3d/v3d_submit_cl@multi-and-single-sync.html

  * igt@v3d/v3d_wait_bo@used-bo-1ns:
    - shard-dg2:          NOTRUN -> [SKIP][155] ([i915#2575]) +10 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-1/igt@v3d/v3d_wait_bo@used-bo-1ns.html

  * igt@vc4/vc4_create_bo@create-bo-zeroed:
    - shard-dg1:          NOTRUN -> [SKIP][156] ([i915#7711]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-15/igt@vc4/vc4_create_bo@create-bo-zeroed.html

  * igt@vc4/vc4_perfmon@get-values-valid-perfmon:
    - shard-dg2:          NOTRUN -> [SKIP][157] ([i915#7711]) +3 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@vc4/vc4_perfmon@get-values-valid-perfmon.html

  * igt@vc4/vc4_wait_seqno@bad-seqno-1ns:
    - shard-rkl:          NOTRUN -> [SKIP][158] ([i915#7711]) +2 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@vc4/vc4_wait_seqno@bad-seqno-1ns.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@virtual-idle:
    - shard-rkl:          [FAIL][159] ([i915#7742]) -> [PASS][160]
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-1/igt@drm_fdinfo@virtual-idle.html
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-5/igt@drm_fdinfo@virtual-idle.html

  * igt@gem_eio@reset-stress:
    - shard-dg1:          [FAIL][161] ([i915#5784]) -> [PASS][162] +1 other test pass
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg1-15/igt@gem_eio@reset-stress.html
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-18/igt@gem_eio@reset-stress.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-glk:          [FAIL][163] ([i915#2842]) -> [PASS][164]
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-glk8/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk5/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-rkl:          [FAIL][165] ([i915#2842]) -> [PASS][166]
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-2/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-7/igt@gem_exec_fair@basic-pace-share@rcs0.html
    - shard-tglu:         [FAIL][167] ([i915#2842]) -> [PASS][168]
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_parallel@engines@userptr:
    - shard-glk:          [INCOMPLETE][169] -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-glk1/igt@gem_exec_parallel@engines@userptr.html
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk3/igt@gem_exec_parallel@engines@userptr.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglu:         [FAIL][171] ([i915#3743]) -> [PASS][172] +4 other tests pass
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-tglu-6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-tglu-5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
    - shard-snb:          [SKIP][173] ([fdo#109271] / [fdo#111767]) -> [PASS][174]
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-glk:          [FAIL][175] ([i915#2346]) -> [PASS][176]
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@torture-move@pipe-a:
    - shard-snb:          [DMESG-WARN][177] ([i915#10166]) -> [PASS][178]
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb4/igt@kms_cursor_legacy@torture-move@pipe-a.html
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb2/igt@kms_cursor_legacy@torture-move@pipe-a.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
    - shard-snb:          [SKIP][179] ([fdo#109271]) -> [PASS][180] +13 other tests pass
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-rkl:          [SKIP][181] ([i915#9519]) -> [PASS][182] +1 other test pass
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-2/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-3/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1:
    - shard-rkl:          [FAIL][183] ([i915#9196]) -> [PASS][184]
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-5/igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1.html
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-7/igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1:
    - shard-mtlp:         [FAIL][185] ([i915#9196]) -> [PASS][186] +2 other tests pass
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-mtlp-8/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-mtlp-8/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
    - shard-tglu:         [FAIL][187] ([i915#9196]) -> [PASS][188] +1 other test pass
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-tglu-4/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-tglu-2/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html

  * igt@perf@non-zero-reason@0-rcs0:
    - shard-dg2:          [FAIL][189] ([i915#7484]) -> [PASS][190]
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg2-6/igt@perf@non-zero-reason@0-rcs0.html
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg2-6/igt@perf@non-zero-reason@0-rcs0.html

  
#### Warnings ####

  * igt@device_reset@unbind-reset-rebind:
    - shard-dg1:          [INCOMPLETE][191] ([i915#10137] / [i915#9618]) -> [ABORT][192] ([i915#9618])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-dg1-12/igt@device_reset@unbind-reset-rebind.html
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-dg1-13/igt@device_reset@unbind-reset-rebind.html

  * igt@kms_content_protection@mei-interface:
    - shard-snb:          [SKIP][193] ([fdo#109271]) -> [INCOMPLETE][194] ([i915#9878])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb5/igt@kms_content_protection@mei-interface.html
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb7/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@srm:
    - shard-snb:          [SKIP][195] ([fdo#109271]) -> [INCOMPLETE][196] ([i915#8816]) +1 other test incomplete
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb1/igt@kms_content_protection@srm.html
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb7/igt@kms_content_protection@srm.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-rkl:          [SKIP][197] ([i915#3955]) -> [SKIP][198] ([fdo#110189] / [i915#3955])
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff:
    - shard-snb:          [SKIP][199] ([fdo#109271]) -> [SKIP][200] ([fdo#109271] / [fdo#111767]) +3 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-snb7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-snb1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][201] ([i915#4070] / [i915#4816]) -> [SKIP][202] ([i915#4816])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-rkl:          [FAIL][203] ([i915#9295]) -> [SKIP][204] ([i915#3361])
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14255/shard-rkl-5/igt@kms_pm_dc@dc6-dpms.html
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/shard-rkl-7/igt@kms_pm_dc@dc6-dpms.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#10070]: https://gitlab.freedesktop.org/drm/intel/issues/10070
  [i915#10131]: https://gitlab.freedesktop.org/drm/intel/issues/10131
  [i915#10137]: https://gitlab.freedesktop.org/drm/intel/issues/10137
  [i915#10166]: https://gitlab.freedesktop.org/drm/intel/issues/10166
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435
  [i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6122]: https://gitlab.freedesktop.org/drm/intel/issues/6122
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6805]: https://gitlab.freedesktop.org/drm/intel/issues/6805
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7297]: https://gitlab.freedesktop.org/drm/intel/issues/7297
  [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
  [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
  [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
  [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
  [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8816]: https://gitlab.freedesktop.org/drm/intel/issues/8816
  [i915#8925]: https://gitlab.freedesktop.org/drm/intel/issues/8925
  [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275
  [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295
  [i915#9311]: https://gitlab.freedesktop.org/drm/intel/issues/9311
  [i915#9340]: https://gitlab.freedesktop.org/drm/intel/issues/9340
  [i915#9407]: https://gitlab.freedesktop.org/drm/intel/issues/9407
  [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
  [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
  [i915#9618]: https://gitlab.freedesktop.org/drm/intel/issues/9618
  [i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683
  [i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9820]: https://gitlab.freedesktop.org/drm/intel/issues/9820
  [i915#9833]: https://gitlab.freedesktop.org/drm/intel/issues/9833
  [i915#9878]: https://gitlab.freedesktop.org/drm/intel/issues/9878
  [i915#9917]: https://gitlab.freedesktop.org/drm/intel/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/intel/issues/9934


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

  * Linux: CI_DRM_14255 -> Patchwork_124730v7

  CI-20190529: 20190529
  CI_DRM_14255: 46cf1a7da57fc4fd2306d52aea58a02c7eb06cce @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7710: d87a5d85a60fba1283821d5212c3aece64cb36ba @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_124730v7: 46cf1a7da57fc4fd2306d52aea58a02c7eb06cce @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124730v7/index.html

[-- Attachment #2: Type: text/html, Size: 69584 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-12 12:50 [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Uma Shankar
                   ` (2 preceding siblings ...)
  2024-02-12 20:36 ` ✓ Fi.CI.IGT: " Patchwork
@ 2024-02-13  9:21 ` Jani Nikula
  2024-02-13 14:56 ` Rodrigo Vivi
  4 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2024-02-13  9:21 UTC (permalink / raw)
  To: Uma Shankar, intel-gfx; +Cc: stanislav.lisovskiy, ville.syrjala

On Mon, 12 Feb 2024, Uma Shankar <uma.shankar@intel.com> wrote:
> From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
>
> For validation purposes, it might be useful to be able to
> force Bigjoiner mode, even if current dotclock/resolution
> do not require that.
> Lets add such to option to debugfs.
>
> v2: - Apparently intel_dp_need_bigjoiner can't be used, when
>       debugfs entry is created so lets just check manually
>       the DISPLAY_VER.
>
> v3: - Switch to intel_connector from drm_connector(Jani Nikula)
>     - Remove redundant modeset lock(Jani Nikula)
>     - Use kstrtobool_from_user for boolean value(Jani Nikula)
>
> v4: - Apply the changes to proper function(Jani Nikula)
>
> v5: - Removed unnecessary check from i915_bigjoiner_enable_show
>       (Ville Syrjälä)
>     - Added eDP connector check to intel_connector_debugfs_add
>       (Ville Syrjälä)
>     - Removed debug message in order to prevent dmesg flooding
>       (Ville Syrjälä)
>
> v6: - Assume now always that m->private is intel_connector
>     - Fixed other similar conflicts
>
> v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
>     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
>       manually.(Ville Syrjälä)
>
> v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
>       (Jani Nikula)
>
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>

Acked-by: Jani Nikula <jani.nikula@intel.com>


> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
>  .../drm/i915/display/intel_display_types.h    |  2 +
>  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
>  3 files changed, 52 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 6f2d13c8ccf7..a962b48bcf13 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915->drm.mode_config.connection_mutex);
>  	return ret;
>  }
>  
> +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> +{
> +	struct intel_connector *connector = m->private;
> +	struct drm_crtc *crtc;
> +
> +	crtc = connector->base.state->crtc;
> +	if (connector->base.status != connector_status_connected || !crtc)
> +		return -ENODEV;
> +
> +	seq_printf(m, "Bigjoiner enable: %d\n", connector->force_bigjoiner_enable);
> +
> +	return 0;
> +}
> +
>  static ssize_t i915_dsc_output_format_write(struct file *file,
>  					    const char __user *ubuf,
>  					    size_t len, loff_t *offp)
> @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct file *file,
>  	return len;
>  }
>  
> +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> +					   const char __user *ubuf,
> +					   size_t len, loff_t *offp)
> +{
> +	struct seq_file *m = file->private_data;
> +	struct intel_connector *connector = m->private;
> +	struct drm_crtc *crtc;
> +	bool bigjoiner_en = 0;
> +	int ret;
> +
> +	crtc = connector->base.state->crtc;
> +	if (connector->base.status != connector_status_connected || !crtc)
> +		return -ENODEV;
> +
> +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> +	if (ret < 0)
> +		return ret;
> +
> +	connector->force_bigjoiner_enable = bigjoiner_en;
> +	*offp += len;
> +
> +	return len;
> +}
> +
>  static int i915_dsc_output_format_open(struct inode *inode,
>  				       struct file *file)
>  {
> @@ -1505,6 +1543,8 @@ static const struct file_operations i915_dsc_fractional_bpp_fops = {
>  	.write = i915_dsc_fractional_bpp_write
>  };
>  
> +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> +
>  /*
>   * Returns the Current CRTC's bpc.
>   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct intel_connector *connector)
>  				    connector, &i915_dsc_fractional_bpp_fops);
>  	}
>  
> +	if (DISPLAY_VER(i915) >= 11 &&
> +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
> +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> +				    connector, &i915_bigjoiner_enable_fops);
> +	}
> +
>  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
>  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
>  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 01eb6e4e6049..0d4012097db1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -626,6 +626,8 @@ struct intel_connector {
>  
>  	struct intel_dp *mst_port;
>  
> +	bool force_bigjoiner_enable;
> +
>  	struct {
>  		struct drm_dp_aux *dsc_decompression_aux;
>  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 5045c34a16be..217196196e50 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp *intel_dp,
>  			     int hdisplay, int clock)
>  {
>  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> +	struct intel_connector *connector = intel_dp->attached_connector;
>  
>  	if (!intel_dp_can_bigjoiner(intel_dp))
>  		return false;
>  
> -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> +	       connector->force_bigjoiner_enable;
>  }
>  
>  static enum drm_mode_status

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-12 12:50 [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Uma Shankar
                   ` (3 preceding siblings ...)
  2024-02-13  9:21 ` [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Jani Nikula
@ 2024-02-13 14:56 ` Rodrigo Vivi
  2024-02-13 15:11   ` Shankar, Uma
  4 siblings, 1 reply; 11+ messages in thread
From: Rodrigo Vivi @ 2024-02-13 14:56 UTC (permalink / raw)
  To: Uma Shankar; +Cc: intel-gfx, stanislav.lisovskiy, ville.syrjala, jani.nikula

On Mon, Feb 12, 2024 at 06:20:11PM +0530, Uma Shankar wrote:
> From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> 
> For validation purposes, it might be useful to be able to
> force Bigjoiner mode, even if current dotclock/resolution
> do not require that.
> Lets add such to option to debugfs.
> 
> v2: - Apparently intel_dp_need_bigjoiner can't be used, when
>       debugfs entry is created so lets just check manually
>       the DISPLAY_VER.
> 
> v3: - Switch to intel_connector from drm_connector(Jani Nikula)
>     - Remove redundant modeset lock(Jani Nikula)
>     - Use kstrtobool_from_user for boolean value(Jani Nikula)
> 
> v4: - Apply the changes to proper function(Jani Nikula)
> 
> v5: - Removed unnecessary check from i915_bigjoiner_enable_show
>       (Ville Syrjälä)
>     - Added eDP connector check to intel_connector_debugfs_add
>       (Ville Syrjälä)
>     - Removed debug message in order to prevent dmesg flooding
>       (Ville Syrjälä)
> 
> v6: - Assume now always that m->private is intel_connector
>     - Fixed other similar conflicts
> 
> v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
>     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
>       manually.(Ville Syrjälä)
> 
> v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
>       (Jani Nikula)
> 
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>

please remind to sign-off when sending someone else's patch.

> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
>  .../drm/i915/display/intel_display_types.h    |  2 +
>  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
>  3 files changed, 52 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 6f2d13c8ccf7..a962b48bcf13 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915->drm.mode_config.connection_mutex);
>  	return ret;
>  }
>  
> +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> +{
> +	struct intel_connector *connector = m->private;
> +	struct drm_crtc *crtc;
> +
> +	crtc = connector->base.state->crtc;
> +	if (connector->base.status != connector_status_connected || !crtc)
> +		return -ENODEV;
> +
> +	seq_printf(m, "Bigjoiner enable: %d\n", connector->force_bigjoiner_enable);

probably better with a yes_or_no string?

> +
> +	return 0;
> +}
> +
>  static ssize_t i915_dsc_output_format_write(struct file *file,
>  					    const char __user *ubuf,
>  					    size_t len, loff_t *offp)
> @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct file *file,
>  	return len;
>  }
>  
> +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> +					   const char __user *ubuf,
> +					   size_t len, loff_t *offp)
> +{
> +	struct seq_file *m = file->private_data;
> +	struct intel_connector *connector = m->private;
> +	struct drm_crtc *crtc;
> +	bool bigjoiner_en = 0;
> +	int ret;
> +
> +	crtc = connector->base.state->crtc;
> +	if (connector->base.status != connector_status_connected || !crtc)
> +		return -ENODEV;
> +
> +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> +	if (ret < 0)
> +		return ret;
> +
> +	connector->force_bigjoiner_enable = bigjoiner_en;
> +	*offp += len;
> +
> +	return len;
> +}
> +
>  static int i915_dsc_output_format_open(struct inode *inode,
>  				       struct file *file)
>  {
> @@ -1505,6 +1543,8 @@ static const struct file_operations i915_dsc_fractional_bpp_fops = {
>  	.write = i915_dsc_fractional_bpp_write
>  };
>  
> +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);

I don't believe this macro here is using the defined _show function,
but maybe I'm not following that very well since this macro is
not widely used.

What about using DEFINE_SIMPLE_ATTRIBUTE instead?

> +
>  /*
>   * Returns the Current CRTC's bpc.
>   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct intel_connector *connector)
>  				    connector, &i915_dsc_fractional_bpp_fops);
>  	}
>  
> +	if (DISPLAY_VER(i915) >= 11 &&
> +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {

I wish we had a simpler check, but I couldn't find. :/

> +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> +				    connector, &i915_bigjoiner_enable_fops);
> +	}
> +
>  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
>  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
>  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 01eb6e4e6049..0d4012097db1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -626,6 +626,8 @@ struct intel_connector {
>  
>  	struct intel_dp *mst_port;
>  
> +	bool force_bigjoiner_enable;
> +
>  	struct {
>  		struct drm_dp_aux *dsc_decompression_aux;
>  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 5045c34a16be..217196196e50 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp *intel_dp,
>  			     int hdisplay, int clock)
>  {
>  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> +	struct intel_connector *connector = intel_dp->attached_connector;
>  
>  	if (!intel_dp_can_bigjoiner(intel_dp))
>  		return false;
>  
> -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> +	       connector->force_bigjoiner_enable;

I'm just not comfortable with the magic _show of that macro and would
prefer a more simple and straight forward and widely used version.

Other then that everything else looks good to me.

Thanks,
Rodrigo.

>  }
>  
>  static enum drm_mode_status
> -- 
> 2.42.0
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-13 14:56 ` Rodrigo Vivi
@ 2024-02-13 15:11   ` Shankar, Uma
  2024-02-13 15:21     ` Lisovskiy, Stanislav
  0 siblings, 1 reply; 11+ messages in thread
From: Shankar, Uma @ 2024-02-13 15:11 UTC (permalink / raw)
  To: Vivi, Rodrigo, Lisovskiy, Stanislav
  Cc: intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com,
	jani.nikula@linux.intel.com



> -----Original Message-----
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Sent: Tuesday, February 13, 2024 8:26 PM
> To: Shankar, Uma <uma.shankar@intel.com>
> Cc: intel-gfx@lists.freedesktop.org; Lisovskiy, Stanislav
> <stanislav.lisovskiy@intel.com>; ville.syrjala@linux.intel.com;
> jani.nikula@linux.intel.com
> Subject: Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
> 
> On Mon, Feb 12, 2024 at 06:20:11PM +0530, Uma Shankar wrote:
> > From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> >
> > For validation purposes, it might be useful to be able to force
> > Bigjoiner mode, even if current dotclock/resolution do not require
> > that.
> > Lets add such to option to debugfs.
> >
> > v2: - Apparently intel_dp_need_bigjoiner can't be used, when
> >       debugfs entry is created so lets just check manually
> >       the DISPLAY_VER.
> >
> > v3: - Switch to intel_connector from drm_connector(Jani Nikula)
> >     - Remove redundant modeset lock(Jani Nikula)
> >     - Use kstrtobool_from_user for boolean value(Jani Nikula)
> >
> > v4: - Apply the changes to proper function(Jani Nikula)
> >
> > v5: - Removed unnecessary check from i915_bigjoiner_enable_show
> >       (Ville Syrjälä)
> >     - Added eDP connector check to intel_connector_debugfs_add
> >       (Ville Syrjälä)
> >     - Removed debug message in order to prevent dmesg flooding
> >       (Ville Syrjälä)
> >
> > v6: - Assume now always that m->private is intel_connector
> >     - Fixed other similar conflicts
> >
> > v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
> >     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
> >       manually.(Ville Syrjälä)
> >
> > v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
> >       (Jani Nikula)
> >
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> 
> please remind to sign-off when sending someone else's patch.

Oh yeah, sorry missed it. Was filling in for Stan while he was OOO.
@Lisovskiy, Stanislav Please address rest of the comments raised by Rodrigo.

Regards,
Uma Shankar

> > ---
> >  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
> >  .../drm/i915/display/intel_display_types.h    |  2 +
> >  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
> >  3 files changed, 52 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > index 6f2d13c8ccf7..a962b48bcf13 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915-
> >drm.mode_config.connection_mutex);
> >  	return ret;
> >  }
> >
> > +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> > +{
> > +	struct intel_connector *connector = m->private;
> > +	struct drm_crtc *crtc;
> > +
> > +	crtc = connector->base.state->crtc;
> > +	if (connector->base.status != connector_status_connected || !crtc)
> > +		return -ENODEV;
> > +
> > +	seq_printf(m, "Bigjoiner enable: %d\n",
> > +connector->force_bigjoiner_enable);
> 
> probably better with a yes_or_no string?
> 
> > +
> > +	return 0;
> > +}
> > +
> >  static ssize_t i915_dsc_output_format_write(struct file *file,
> >  					    const char __user *ubuf,
> >  					    size_t len, loff_t *offp)
> > @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct
> file *file,
> >  	return len;
> >  }
> >
> > +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> > +					   const char __user *ubuf,
> > +					   size_t len, loff_t *offp)
> > +{
> > +	struct seq_file *m = file->private_data;
> > +	struct intel_connector *connector = m->private;
> > +	struct drm_crtc *crtc;
> > +	bool bigjoiner_en = 0;
> > +	int ret;
> > +
> > +	crtc = connector->base.state->crtc;
> > +	if (connector->base.status != connector_status_connected || !crtc)
> > +		return -ENODEV;
> > +
> > +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> > +	if (ret < 0)
> > +		return ret;
> > +
> > +	connector->force_bigjoiner_enable = bigjoiner_en;
> > +	*offp += len;
> > +
> > +	return len;
> > +}
> > +
> >  static int i915_dsc_output_format_open(struct inode *inode,
> >  				       struct file *file)
> >  {
> > @@ -1505,6 +1543,8 @@ static const struct file_operations
> i915_dsc_fractional_bpp_fops = {
> >  	.write = i915_dsc_fractional_bpp_write  };
> >
> > +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> 
> I don't believe this macro here is using the defined _show function, but maybe I'm
> not following that very well since this macro is not widely used.
> 
> What about using DEFINE_SIMPLE_ATTRIBUTE instead?
> 
> > +
> >  /*
> >   * Returns the Current CRTC's bpc.
> >   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> > @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct
> intel_connector *connector)
> >  				    connector, &i915_dsc_fractional_bpp_fops);
> >  	}
> >
> > +	if (DISPLAY_VER(i915) >= 11 &&
> > +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> > +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
> 
> I wish we had a simpler check, but I couldn't find. :/
> 
> > +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> > +				    connector, &i915_bigjoiner_enable_fops);
> > +	}
> > +
> >  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
> >  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
> >  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort || diff --git
> > a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index 01eb6e4e6049..0d4012097db1 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -626,6 +626,8 @@ struct intel_connector {
> >
> >  	struct intel_dp *mst_port;
> >
> > +	bool force_bigjoiner_enable;
> > +
> >  	struct {
> >  		struct drm_dp_aux *dsc_decompression_aux;
> >  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > b/drivers/gpu/drm/i915/display/intel_dp.c
> > index 5045c34a16be..217196196e50 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp
> *intel_dp,
> >  			     int hdisplay, int clock)
> >  {
> >  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> > +	struct intel_connector *connector = intel_dp->attached_connector;
> >
> >  	if (!intel_dp_can_bigjoiner(intel_dp))
> >  		return false;
> >
> > -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> > +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> > +	       connector->force_bigjoiner_enable;
> 
> I'm just not comfortable with the magic _show of that macro and would prefer a
> more simple and straight forward and widely used version.
> 
> Other then that everything else looks good to me.
> 
> Thanks,
> Rodrigo.
> 
> >  }
> >
> >  static enum drm_mode_status
> > --
> > 2.42.0
> >

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-13 15:11   ` Shankar, Uma
@ 2024-02-13 15:21     ` Lisovskiy, Stanislav
  2024-02-13 15:33       ` Rodrigo Vivi
  0 siblings, 1 reply; 11+ messages in thread
From: Lisovskiy, Stanislav @ 2024-02-13 15:21 UTC (permalink / raw)
  To: Shankar, Uma
  Cc: Vivi, Rodrigo, intel-gfx@lists.freedesktop.org,
	ville.syrjala@linux.intel.com, jani.nikula@linux.intel.com

On Tue, Feb 13, 2024 at 05:11:37PM +0200, Shankar, Uma wrote:
> 
> 
> > -----Original Message-----
> > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Sent: Tuesday, February 13, 2024 8:26 PM
> > To: Shankar, Uma <uma.shankar@intel.com>
> > Cc: intel-gfx@lists.freedesktop.org; Lisovskiy, Stanislav
> > <stanislav.lisovskiy@intel.com>; ville.syrjala@linux.intel.com;
> > jani.nikula@linux.intel.com
> > Subject: Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
> > 
> > On Mon, Feb 12, 2024 at 06:20:11PM +0530, Uma Shankar wrote:
> > > From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > >
> > > For validation purposes, it might be useful to be able to force
> > > Bigjoiner mode, even if current dotclock/resolution do not require
> > > that.
> > > Lets add such to option to debugfs.
> > >
> > > v2: - Apparently intel_dp_need_bigjoiner can't be used, when
> > >       debugfs entry is created so lets just check manually
> > >       the DISPLAY_VER.
> > >
> > > v3: - Switch to intel_connector from drm_connector(Jani Nikula)
> > >     - Remove redundant modeset lock(Jani Nikula)
> > >     - Use kstrtobool_from_user for boolean value(Jani Nikula)
> > >
> > > v4: - Apply the changes to proper function(Jani Nikula)
> > >
> > > v5: - Removed unnecessary check from i915_bigjoiner_enable_show
> > >       (Ville Syrjälä)
> > >     - Added eDP connector check to intel_connector_debugfs_add
> > >       (Ville Syrjälä)
> > >     - Removed debug message in order to prevent dmesg flooding
> > >       (Ville Syrjälä)
> > >
> > > v6: - Assume now always that m->private is intel_connector
> > >     - Fixed other similar conflicts
> > >
> > > v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
> > >     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
> > >       manually.(Ville Syrjälä)
> > >
> > > v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
> > >       (Jani Nikula)
> > >
> > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > 
> > please remind to sign-off when sending someone else's patch.
> 
> Oh yeah, sorry missed it. Was filling in for Stan while he was OOO.
> @Lisovskiy, Stanislav Please address rest of the comments raised by Rodrigo.

Sorry, had that pushed already in the morning, since it was Acked and I was asked
to do it asap.

Stan

> 
> Regards,
> Uma Shankar
> 
> > > ---
> > >  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
> > >  .../drm/i915/display/intel_display_types.h    |  2 +
> > >  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
> > >  3 files changed, 52 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > index 6f2d13c8ccf7..a962b48bcf13 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915-
> > >drm.mode_config.connection_mutex);
> > >  	return ret;
> > >  }
> > >
> > > +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> > > +{
> > > +	struct intel_connector *connector = m->private;
> > > +	struct drm_crtc *crtc;
> > > +
> > > +	crtc = connector->base.state->crtc;
> > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > +		return -ENODEV;
> > > +
> > > +	seq_printf(m, "Bigjoiner enable: %d\n",
> > > +connector->force_bigjoiner_enable);
> > 
> > probably better with a yes_or_no string?
> > 
> > > +
> > > +	return 0;
> > > +}
> > > +
> > >  static ssize_t i915_dsc_output_format_write(struct file *file,
> > >  					    const char __user *ubuf,
> > >  					    size_t len, loff_t *offp)
> > > @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct
> > file *file,
> > >  	return len;
> > >  }
> > >
> > > +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> > > +					   const char __user *ubuf,
> > > +					   size_t len, loff_t *offp)
> > > +{
> > > +	struct seq_file *m = file->private_data;
> > > +	struct intel_connector *connector = m->private;
> > > +	struct drm_crtc *crtc;
> > > +	bool bigjoiner_en = 0;
> > > +	int ret;
> > > +
> > > +	crtc = connector->base.state->crtc;
> > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > +		return -ENODEV;
> > > +
> > > +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> > > +	if (ret < 0)
> > > +		return ret;
> > > +
> > > +	connector->force_bigjoiner_enable = bigjoiner_en;
> > > +	*offp += len;
> > > +
> > > +	return len;
> > > +}
> > > +
> > >  static int i915_dsc_output_format_open(struct inode *inode,
> > >  				       struct file *file)
> > >  {
> > > @@ -1505,6 +1543,8 @@ static const struct file_operations
> > i915_dsc_fractional_bpp_fops = {
> > >  	.write = i915_dsc_fractional_bpp_write  };
> > >
> > > +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> > 
> > I don't believe this macro here is using the defined _show function, but maybe I'm
> > not following that very well since this macro is not widely used.
> > 
> > What about using DEFINE_SIMPLE_ATTRIBUTE instead?
> > 
> > > +
> > >  /*
> > >   * Returns the Current CRTC's bpc.
> > >   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> > > @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct
> > intel_connector *connector)
> > >  				    connector, &i915_dsc_fractional_bpp_fops);
> > >  	}
> > >
> > > +	if (DISPLAY_VER(i915) >= 11 &&
> > > +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> > > +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > 
> > I wish we had a simpler check, but I couldn't find. :/
> > 
> > > +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> > > +				    connector, &i915_bigjoiner_enable_fops);
> > > +	}
> > > +
> > >  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
> > >  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
> > >  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort || diff --git
> > > a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index 01eb6e4e6049..0d4012097db1 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -626,6 +626,8 @@ struct intel_connector {
> > >
> > >  	struct intel_dp *mst_port;
> > >
> > > +	bool force_bigjoiner_enable;
> > > +
> > >  	struct {
> > >  		struct drm_dp_aux *dsc_decompression_aux;
> > >  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > > b/drivers/gpu/drm/i915/display/intel_dp.c
> > > index 5045c34a16be..217196196e50 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp
> > *intel_dp,
> > >  			     int hdisplay, int clock)
> > >  {
> > >  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> > > +	struct intel_connector *connector = intel_dp->attached_connector;
> > >
> > >  	if (!intel_dp_can_bigjoiner(intel_dp))
> > >  		return false;
> > >
> > > -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> > > +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> > > +	       connector->force_bigjoiner_enable;
> > 
> > I'm just not comfortable with the magic _show of that macro and would prefer a
> > more simple and straight forward and widely used version.
> > 
> > Other then that everything else looks good to me.
> > 
> > Thanks,
> > Rodrigo.
> > 
> > >  }
> > >
> > >  static enum drm_mode_status
> > > --
> > > 2.42.0
> > >

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-13 15:21     ` Lisovskiy, Stanislav
@ 2024-02-13 15:33       ` Rodrigo Vivi
  2024-02-14  9:56         ` Lisovskiy, Stanislav
  0 siblings, 1 reply; 11+ messages in thread
From: Rodrigo Vivi @ 2024-02-13 15:33 UTC (permalink / raw)
  To: Lisovskiy, Stanislav
  Cc: Shankar, Uma, intel-gfx@lists.freedesktop.org,
	ville.syrjala@linux.intel.com, jani.nikula@linux.intel.com

On Tue, Feb 13, 2024 at 05:21:26PM +0200, Lisovskiy, Stanislav wrote:
> On Tue, Feb 13, 2024 at 05:11:37PM +0200, Shankar, Uma wrote:
> > 
> > 
> > > -----Original Message-----
> > > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > Sent: Tuesday, February 13, 2024 8:26 PM
> > > To: Shankar, Uma <uma.shankar@intel.com>
> > > Cc: intel-gfx@lists.freedesktop.org; Lisovskiy, Stanislav
> > > <stanislav.lisovskiy@intel.com>; ville.syrjala@linux.intel.com;
> > > jani.nikula@linux.intel.com
> > > Subject: Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
> > > 
> > > On Mon, Feb 12, 2024 at 06:20:11PM +0530, Uma Shankar wrote:
> > > > From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > >
> > > > For validation purposes, it might be useful to be able to force
> > > > Bigjoiner mode, even if current dotclock/resolution do not require
> > > > that.
> > > > Lets add such to option to debugfs.
> > > >
> > > > v2: - Apparently intel_dp_need_bigjoiner can't be used, when
> > > >       debugfs entry is created so lets just check manually
> > > >       the DISPLAY_VER.
> > > >
> > > > v3: - Switch to intel_connector from drm_connector(Jani Nikula)
> > > >     - Remove redundant modeset lock(Jani Nikula)
> > > >     - Use kstrtobool_from_user for boolean value(Jani Nikula)
> > > >
> > > > v4: - Apply the changes to proper function(Jani Nikula)
> > > >
> > > > v5: - Removed unnecessary check from i915_bigjoiner_enable_show
> > > >       (Ville Syrjälä)
> > > >     - Added eDP connector check to intel_connector_debugfs_add
> > > >       (Ville Syrjälä)
> > > >     - Removed debug message in order to prevent dmesg flooding
> > > >       (Ville Syrjälä)
> > > >
> > > > v6: - Assume now always that m->private is intel_connector
> > > >     - Fixed other similar conflicts
> > > >
> > > > v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
> > > >     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
> > > >       manually.(Ville Syrjälä)
> > > >
> > > > v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
> > > >       (Jani Nikula)
> > > >
> > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > 
> > > please remind to sign-off when sending someone else's patch.
> > 
> > Oh yeah, sorry missed it. Was filling in for Stan while he was OOO.
> > @Lisovskiy, Stanislav Please address rest of the comments raised by Rodrigo.
> 
> Sorry, had that pushed already in the morning, since it was Acked and I was asked
> to do it asap.

no worries. if you are confident that the _show function magically works I trust
your tests more then my eyes and greps.

> 
> Stan
> 
> > 
> > Regards,
> > Uma Shankar
> > 
> > > > ---
> > > >  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
> > > >  .../drm/i915/display/intel_display_types.h    |  2 +
> > > >  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
> > > >  3 files changed, 52 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > index 6f2d13c8ccf7..a962b48bcf13 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915-
> > > >drm.mode_config.connection_mutex);
> > > >  	return ret;
> > > >  }
> > > >
> > > > +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> > > > +{
> > > > +	struct intel_connector *connector = m->private;
> > > > +	struct drm_crtc *crtc;
> > > > +
> > > > +	crtc = connector->base.state->crtc;
> > > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > > +		return -ENODEV;
> > > > +
> > > > +	seq_printf(m, "Bigjoiner enable: %d\n",
> > > > +connector->force_bigjoiner_enable);
> > > 
> > > probably better with a yes_or_no string?
> > > 
> > > > +
> > > > +	return 0;
> > > > +}
> > > > +
> > > >  static ssize_t i915_dsc_output_format_write(struct file *file,
> > > >  					    const char __user *ubuf,
> > > >  					    size_t len, loff_t *offp)
> > > > @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct
> > > file *file,
> > > >  	return len;
> > > >  }
> > > >
> > > > +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> > > > +					   const char __user *ubuf,
> > > > +					   size_t len, loff_t *offp)
> > > > +{
> > > > +	struct seq_file *m = file->private_data;
> > > > +	struct intel_connector *connector = m->private;
> > > > +	struct drm_crtc *crtc;
> > > > +	bool bigjoiner_en = 0;
> > > > +	int ret;
> > > > +
> > > > +	crtc = connector->base.state->crtc;
> > > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > > +		return -ENODEV;
> > > > +
> > > > +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> > > > +	if (ret < 0)
> > > > +		return ret;
> > > > +
> > > > +	connector->force_bigjoiner_enable = bigjoiner_en;
> > > > +	*offp += len;
> > > > +
> > > > +	return len;
> > > > +}
> > > > +
> > > >  static int i915_dsc_output_format_open(struct inode *inode,
> > > >  				       struct file *file)
> > > >  {
> > > > @@ -1505,6 +1543,8 @@ static const struct file_operations
> > > i915_dsc_fractional_bpp_fops = {
> > > >  	.write = i915_dsc_fractional_bpp_write  };
> > > >
> > > > +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> > > 
> > > I don't believe this macro here is using the defined _show function, but maybe I'm
> > > not following that very well since this macro is not widely used.
> > > 
> > > What about using DEFINE_SIMPLE_ATTRIBUTE instead?
> > > 
> > > > +
> > > >  /*
> > > >   * Returns the Current CRTC's bpc.
> > > >   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> > > > @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct
> > > intel_connector *connector)
> > > >  				    connector, &i915_dsc_fractional_bpp_fops);
> > > >  	}
> > > >
> > > > +	if (DISPLAY_VER(i915) >= 11 &&
> > > > +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> > > > +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > > 
> > > I wish we had a simpler check, but I couldn't find. :/
> > > 
> > > > +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> > > > +				    connector, &i915_bigjoiner_enable_fops);
> > > > +	}
> > > > +
> > > >  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
> > > >  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
> > > >  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort || diff --git
> > > > a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > index 01eb6e4e6049..0d4012097db1 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > @@ -626,6 +626,8 @@ struct intel_connector {
> > > >
> > > >  	struct intel_dp *mst_port;
> > > >
> > > > +	bool force_bigjoiner_enable;
> > > > +
> > > >  	struct {
> > > >  		struct drm_dp_aux *dsc_decompression_aux;
> > > >  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > index 5045c34a16be..217196196e50 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp
> > > *intel_dp,
> > > >  			     int hdisplay, int clock)
> > > >  {
> > > >  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> > > > +	struct intel_connector *connector = intel_dp->attached_connector;
> > > >
> > > >  	if (!intel_dp_can_bigjoiner(intel_dp))
> > > >  		return false;
> > > >
> > > > -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> > > > +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> > > > +	       connector->force_bigjoiner_enable;
> > > 
> > > I'm just not comfortable with the magic _show of that macro and would prefer a
> > > more simple and straight forward and widely used version.
> > > 
> > > Other then that everything else looks good to me.
> > > 
> > > Thanks,
> > > Rodrigo.
> > > 
> > > >  }
> > > >
> > > >  static enum drm_mode_status
> > > > --
> > > > 2.42.0
> > > >

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-13 15:33       ` Rodrigo Vivi
@ 2024-02-14  9:56         ` Lisovskiy, Stanislav
  2024-02-14 13:51           ` Rodrigo Vivi
  0 siblings, 1 reply; 11+ messages in thread
From: Lisovskiy, Stanislav @ 2024-02-14  9:56 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: Shankar, Uma, intel-gfx@lists.freedesktop.org,
	ville.syrjala@linux.intel.com, jani.nikula@linux.intel.com

On Tue, Feb 13, 2024 at 10:33:56AM -0500, Rodrigo Vivi wrote:
> On Tue, Feb 13, 2024 at 05:21:26PM +0200, Lisovskiy, Stanislav wrote:
> > On Tue, Feb 13, 2024 at 05:11:37PM +0200, Shankar, Uma wrote:
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > Sent: Tuesday, February 13, 2024 8:26 PM
> > > > To: Shankar, Uma <uma.shankar@intel.com>
> > > > Cc: intel-gfx@lists.freedesktop.org; Lisovskiy, Stanislav
> > > > <stanislav.lisovskiy@intel.com>; ville.syrjala@linux.intel.com;
> > > > jani.nikula@linux.intel.com
> > > > Subject: Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
> > > > 
> > > > On Mon, Feb 12, 2024 at 06:20:11PM +0530, Uma Shankar wrote:
> > > > > From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > > >
> > > > > For validation purposes, it might be useful to be able to force
> > > > > Bigjoiner mode, even if current dotclock/resolution do not require
> > > > > that.
> > > > > Lets add such to option to debugfs.
> > > > >
> > > > > v2: - Apparently intel_dp_need_bigjoiner can't be used, when
> > > > >       debugfs entry is created so lets just check manually
> > > > >       the DISPLAY_VER.
> > > > >
> > > > > v3: - Switch to intel_connector from drm_connector(Jani Nikula)
> > > > >     - Remove redundant modeset lock(Jani Nikula)
> > > > >     - Use kstrtobool_from_user for boolean value(Jani Nikula)
> > > > >
> > > > > v4: - Apply the changes to proper function(Jani Nikula)
> > > > >
> > > > > v5: - Removed unnecessary check from i915_bigjoiner_enable_show
> > > > >       (Ville Syrjälä)
> > > > >     - Added eDP connector check to intel_connector_debugfs_add
> > > > >       (Ville Syrjälä)
> > > > >     - Removed debug message in order to prevent dmesg flooding
> > > > >       (Ville Syrjälä)
> > > > >
> > > > > v6: - Assume now always that m->private is intel_connector
> > > > >     - Fixed other similar conflicts
> > > > >
> > > > > v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
> > > > >     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
> > > > >       manually.(Ville Syrjälä)
> > > > >
> > > > > v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
> > > > >       (Jani Nikula)
> > > > >
> > > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > > 
> > > > please remind to sign-off when sending someone else's patch.
> > > 
> > > Oh yeah, sorry missed it. Was filling in for Stan while he was OOO.
> > > @Lisovskiy, Stanislav Please address rest of the comments raised by Rodrigo.
> > 
> > Sorry, had that pushed already in the morning, since it was Acked and I was asked
> > to do it asap.
> 
> no worries. if you are confident that the _show function magically works I trust
> your tests more then my eyes and greps.

Well _definitely_ it should not be about trust, confidence or beliefs :)

See:

#define DEFINE_SHOW_STORE_ATTRIBUTE(__name)				\
static int __name ## _open(struct inode *inode, struct file *file)	\
{									\
	return single_open(file, __name ## _show, inode->i_private);	\
}									\
									\
static const struct file_operations __name ## _fops = {			\
	.owner		= THIS_MODULE,					\
	.open		= __name ## _open,				\
	.read		= seq_read,					\
	.write		= __name ## _write,				\
	.llseek		= seq_lseek,					\
	.release	= single_release,				\
}

In the patch:

+DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
+

means it will use i915_bigjoiner_enable_show function.

which is defined just as it expects in the patch:

+static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
+{
+	struct intel_connector *connector = m->private;
+	struct drm_crtc *crtc;
+
+	crtc = connector->base.state->crtc;
+	if (connector->base.status != connector_status_connected || !crtc)
+		return -ENODEV;
+
+	seq_printf(m, "Bigjoiner enable: %d\n", connector->force_bigjoiner_enable);
+
+	return 0;
+}
+


So I don't see any reason here, why it shouldn't work.
If you do, please tell - we need to fix this then.

Stan


> 
> > 
> > Stan
> > 
> > > 
> > > Regards,
> > > Uma Shankar
> > > 
> > > > > ---
> > > > >  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
> > > > >  .../drm/i915/display/intel_display_types.h    |  2 +
> > > > >  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
> > > > >  3 files changed, 52 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > index 6f2d13c8ccf7..a962b48bcf13 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915-
> > > > >drm.mode_config.connection_mutex);
> > > > >  	return ret;
> > > > >  }
> > > > >
> > > > > +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> > > > > +{
> > > > > +	struct intel_connector *connector = m->private;
> > > > > +	struct drm_crtc *crtc;
> > > > > +
> > > > > +	crtc = connector->base.state->crtc;
> > > > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > > > +		return -ENODEV;
> > > > > +
> > > > > +	seq_printf(m, "Bigjoiner enable: %d\n",
> > > > > +connector->force_bigjoiner_enable);
> > > > 
> > > > probably better with a yes_or_no string?
> > > > 
> > > > > +
> > > > > +	return 0;
> > > > > +}
> > > > > +
> > > > >  static ssize_t i915_dsc_output_format_write(struct file *file,
> > > > >  					    const char __user *ubuf,
> > > > >  					    size_t len, loff_t *offp)
> > > > > @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct
> > > > file *file,
> > > > >  	return len;
> > > > >  }
> > > > >
> > > > > +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> > > > > +					   const char __user *ubuf,
> > > > > +					   size_t len, loff_t *offp)
> > > > > +{
> > > > > +	struct seq_file *m = file->private_data;
> > > > > +	struct intel_connector *connector = m->private;
> > > > > +	struct drm_crtc *crtc;
> > > > > +	bool bigjoiner_en = 0;
> > > > > +	int ret;
> > > > > +
> > > > > +	crtc = connector->base.state->crtc;
> > > > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > > > +		return -ENODEV;
> > > > > +
> > > > > +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> > > > > +	if (ret < 0)
> > > > > +		return ret;
> > > > > +
> > > > > +	connector->force_bigjoiner_enable = bigjoiner_en;
> > > > > +	*offp += len;
> > > > > +
> > > > > +	return len;
> > > > > +}
> > > > > +
> > > > >  static int i915_dsc_output_format_open(struct inode *inode,
> > > > >  				       struct file *file)
> > > > >  {
> > > > > @@ -1505,6 +1543,8 @@ static const struct file_operations
> > > > i915_dsc_fractional_bpp_fops = {
> > > > >  	.write = i915_dsc_fractional_bpp_write  };
> > > > >
> > > > > +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> > > > 
> > > > I don't believe this macro here is using the defined _show function, but maybe I'm
> > > > not following that very well since this macro is not widely used.
> > > > 
> > > > What about using DEFINE_SIMPLE_ATTRIBUTE instead?
> > > > 
> > > > > +
> > > > >  /*
> > > > >   * Returns the Current CRTC's bpc.
> > > > >   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> > > > > @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct
> > > > intel_connector *connector)
> > > > >  				    connector, &i915_dsc_fractional_bpp_fops);
> > > > >  	}
> > > > >
> > > > > +	if (DISPLAY_VER(i915) >= 11 &&
> > > > > +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> > > > > +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > > > 
> > > > I wish we had a simpler check, but I couldn't find. :/
> > > > 
> > > > > +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> > > > > +				    connector, &i915_bigjoiner_enable_fops);
> > > > > +	}
> > > > > +
> > > > >  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
> > > > >  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
> > > > >  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort || diff --git
> > > > > a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > index 01eb6e4e6049..0d4012097db1 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > @@ -626,6 +626,8 @@ struct intel_connector {
> > > > >
> > > > >  	struct intel_dp *mst_port;
> > > > >
> > > > > +	bool force_bigjoiner_enable;
> > > > > +
> > > > >  	struct {
> > > > >  		struct drm_dp_aux *dsc_decompression_aux;
> > > > >  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > index 5045c34a16be..217196196e50 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp
> > > > *intel_dp,
> > > > >  			     int hdisplay, int clock)
> > > > >  {
> > > > >  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> > > > > +	struct intel_connector *connector = intel_dp->attached_connector;
> > > > >
> > > > >  	if (!intel_dp_can_bigjoiner(intel_dp))
> > > > >  		return false;
> > > > >
> > > > > -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> > > > > +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> > > > > +	       connector->force_bigjoiner_enable;
> > > > 
> > > > I'm just not comfortable with the magic _show of that macro and would prefer a
> > > > more simple and straight forward and widely used version.
> > > > 
> > > > Other then that everything else looks good to me.
> > > > 
> > > > Thanks,
> > > > Rodrigo.
> > > > 
> > > > >  }
> > > > >
> > > > >  static enum drm_mode_status
> > > > > --
> > > > > 2.42.0
> > > > >

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
  2024-02-14  9:56         ` Lisovskiy, Stanislav
@ 2024-02-14 13:51           ` Rodrigo Vivi
  0 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Vivi @ 2024-02-14 13:51 UTC (permalink / raw)
  To: Lisovskiy, Stanislav
  Cc: Shankar, Uma, intel-gfx@lists.freedesktop.org,
	ville.syrjala@linux.intel.com, jani.nikula@linux.intel.com

On Wed, Feb 14, 2024 at 11:56:10AM +0200, Lisovskiy, Stanislav wrote:
> On Tue, Feb 13, 2024 at 10:33:56AM -0500, Rodrigo Vivi wrote:
> > On Tue, Feb 13, 2024 at 05:21:26PM +0200, Lisovskiy, Stanislav wrote:
> > > On Tue, Feb 13, 2024 at 05:11:37PM +0200, Shankar, Uma wrote:
> > > > 
> > > > 
> > > > > -----Original Message-----
> > > > > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > > Sent: Tuesday, February 13, 2024 8:26 PM
> > > > > To: Shankar, Uma <uma.shankar@intel.com>
> > > > > Cc: intel-gfx@lists.freedesktop.org; Lisovskiy, Stanislav
> > > > > <stanislav.lisovskiy@intel.com>; ville.syrjala@linux.intel.com;
> > > > > jani.nikula@linux.intel.com
> > > > > Subject: Re: [PATCH] drm/i915: Add bigjoiner force enable option to debugfs
> > > > > 
> > > > > On Mon, Feb 12, 2024 at 06:20:11PM +0530, Uma Shankar wrote:
> > > > > > From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > > > >
> > > > > > For validation purposes, it might be useful to be able to force
> > > > > > Bigjoiner mode, even if current dotclock/resolution do not require
> > > > > > that.
> > > > > > Lets add such to option to debugfs.
> > > > > >
> > > > > > v2: - Apparently intel_dp_need_bigjoiner can't be used, when
> > > > > >       debugfs entry is created so lets just check manually
> > > > > >       the DISPLAY_VER.
> > > > > >
> > > > > > v3: - Switch to intel_connector from drm_connector(Jani Nikula)
> > > > > >     - Remove redundant modeset lock(Jani Nikula)
> > > > > >     - Use kstrtobool_from_user for boolean value(Jani Nikula)
> > > > > >
> > > > > > v4: - Apply the changes to proper function(Jani Nikula)
> > > > > >
> > > > > > v5: - Removed unnecessary check from i915_bigjoiner_enable_show
> > > > > >       (Ville Syrjälä)
> > > > > >     - Added eDP connector check to intel_connector_debugfs_add
> > > > > >       (Ville Syrjälä)
> > > > > >     - Removed debug message in order to prevent dmesg flooding
> > > > > >       (Ville Syrjälä)
> > > > > >
> > > > > > v6: - Assume now always that m->private is intel_connector
> > > > > >     - Fixed other similar conflicts
> > > > > >
> > > > > > v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä)
> > > > > >     - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops
> > > > > >       manually.(Ville Syrjälä)
> > > > > >
> > > > > > v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector.
> > > > > >       (Jani Nikula)
> > > > > >
> > > > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > > > 
> > > > > please remind to sign-off when sending someone else's patch.
> > > > 
> > > > Oh yeah, sorry missed it. Was filling in for Stan while he was OOO.
> > > > @Lisovskiy, Stanislav Please address rest of the comments raised by Rodrigo.
> > > 
> > > Sorry, had that pushed already in the morning, since it was Acked and I was asked
> > > to do it asap.
> > 
> > no worries. if you are confident that the _show function magically works I trust
> > your tests more then my eyes and greps.
> 
> Well _definitely_ it should not be about trust, confidence or beliefs :)
> 
> See:
> 
> #define DEFINE_SHOW_STORE_ATTRIBUTE(__name)				\
> static int __name ## _open(struct inode *inode, struct file *file)	\
> {									\
> 	return single_open(file, __name ## _show, inode->i_private);	\

                                           ^
this was the part that I was missing! Thanks for pointing that out.
I was looking the definition below, but was missing the jump from the
_open to _show... I hate macro indirections.

Thanks pointing that out.

> }									\
> 									\
> static const struct file_operations __name ## _fops = {			\
> 	.owner		= THIS_MODULE,					\
> 	.open		= __name ## _open,				\
> 	.read		= seq_read,					\
> 	.write		= __name ## _write,				\
> 	.llseek		= seq_lseek,					\
> 	.release	= single_release,				\
> }
> 
> In the patch:
> 
> +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> +
> 
> means it will use i915_bigjoiner_enable_show function.
> 
> which is defined just as it expects in the patch:
> 
> +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> +{
> +	struct intel_connector *connector = m->private;
> +	struct drm_crtc *crtc;
> +
> +	crtc = connector->base.state->crtc;
> +	if (connector->base.status != connector_status_connected || !crtc)
> +		return -ENODEV;
> +
> +	seq_printf(m, "Bigjoiner enable: %d\n", connector->force_bigjoiner_enable);
> +
> +	return 0;
> +}
> +
> 
> 
> So I don't see any reason here, why it shouldn't work.
> If you do, please tell - we need to fix this then.
> 
> Stan
> 
> 
> > 
> > > 
> > > Stan
> > > 
> > > > 
> > > > Regards,
> > > > Uma Shankar
> > > > 
> > > > > > ---
> > > > > >  .../drm/i915/display/intel_display_debugfs.c  | 47 +++++++++++++++++++
> > > > > >  .../drm/i915/display/intel_display_types.h    |  2 +
> > > > > >  drivers/gpu/drm/i915/display/intel_dp.c       |  4 +-
> > > > > >  3 files changed, 52 insertions(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > index 6f2d13c8ccf7..a962b48bcf13 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > @@ -1391,6 +1391,20 @@ out:	drm_modeset_unlock(&i915-
> > > > > >drm.mode_config.connection_mutex);
> > > > > >  	return ret;
> > > > > >  }
> > > > > >
> > > > > > +static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
> > > > > > +{
> > > > > > +	struct intel_connector *connector = m->private;
> > > > > > +	struct drm_crtc *crtc;
> > > > > > +
> > > > > > +	crtc = connector->base.state->crtc;
> > > > > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > > > > +		return -ENODEV;
> > > > > > +
> > > > > > +	seq_printf(m, "Bigjoiner enable: %d\n",
> > > > > > +connector->force_bigjoiner_enable);
> > > > > 
> > > > > probably better with a yes_or_no string?
> > > > > 
> > > > > > +
> > > > > > +	return 0;
> > > > > > +}
> > > > > > +
> > > > > >  static ssize_t i915_dsc_output_format_write(struct file *file,
> > > > > >  					    const char __user *ubuf,
> > > > > >  					    size_t len, loff_t *offp)
> > > > > > @@ -1412,6 +1426,30 @@ static ssize_t i915_dsc_output_format_write(struct
> > > > > file *file,
> > > > > >  	return len;
> > > > > >  }
> > > > > >
> > > > > > +static ssize_t i915_bigjoiner_enable_write(struct file *file,
> > > > > > +					   const char __user *ubuf,
> > > > > > +					   size_t len, loff_t *offp)
> > > > > > +{
> > > > > > +	struct seq_file *m = file->private_data;
> > > > > > +	struct intel_connector *connector = m->private;
> > > > > > +	struct drm_crtc *crtc;
> > > > > > +	bool bigjoiner_en = 0;
> > > > > > +	int ret;
> > > > > > +
> > > > > > +	crtc = connector->base.state->crtc;
> > > > > > +	if (connector->base.status != connector_status_connected || !crtc)
> > > > > > +		return -ENODEV;
> > > > > > +
> > > > > > +	ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> > > > > > +	if (ret < 0)
> > > > > > +		return ret;
> > > > > > +
> > > > > > +	connector->force_bigjoiner_enable = bigjoiner_en;
> > > > > > +	*offp += len;
> > > > > > +
> > > > > > +	return len;
> > > > > > +}
> > > > > > +
> > > > > >  static int i915_dsc_output_format_open(struct inode *inode,
> > > > > >  				       struct file *file)
> > > > > >  {
> > > > > > @@ -1505,6 +1543,8 @@ static const struct file_operations
> > > > > i915_dsc_fractional_bpp_fops = {
> > > > > >  	.write = i915_dsc_fractional_bpp_write  };
> > > > > >
> > > > > > +DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> > > > > 
> > > > > I don't believe this macro here is using the defined _show function, but maybe I'm
> > > > > not following that very well since this macro is not widely used.
> > > > > 
> > > > > What about using DEFINE_SIMPLE_ATTRIBUTE instead?
> > > > > 
> > > > > > +
> > > > > >  /*
> > > > > >   * Returns the Current CRTC's bpc.
> > > > > >   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> > > > > > @@ -1586,6 +1626,13 @@ void intel_connector_debugfs_add(struct
> > > > > intel_connector *connector)
> > > > > >  				    connector, &i915_dsc_fractional_bpp_fops);
> > > > > >  	}
> > > > > >
> > > > > > +	if (DISPLAY_VER(i915) >= 11 &&
> > > > > > +	    (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> > > > > > +	     connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > > > > 
> > > > > I wish we had a simpler check, but I couldn't find. :/
> > > > > 
> > > > > > +		debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> > > > > > +				    connector, &i915_bigjoiner_enable_fops);
> > > > > > +	}
> > > > > > +
> > > > > >  	if (connector_type == DRM_MODE_CONNECTOR_DSI ||
> > > > > >  	    connector_type == DRM_MODE_CONNECTOR_eDP ||
> > > > > >  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort || diff --git
> > > > > > a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > > index 01eb6e4e6049..0d4012097db1 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > > @@ -626,6 +626,8 @@ struct intel_connector {
> > > > > >
> > > > > >  	struct intel_dp *mst_port;
> > > > > >
> > > > > > +	bool force_bigjoiner_enable;
> > > > > > +
> > > > > >  	struct {
> > > > > >  		struct drm_dp_aux *dsc_decompression_aux;
> > > > > >  		u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > index 5045c34a16be..217196196e50 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > > > > @@ -1205,11 +1205,13 @@ bool intel_dp_need_bigjoiner(struct intel_dp
> > > > > *intel_dp,
> > > > > >  			     int hdisplay, int clock)
> > > > > >  {
> > > > > >  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> > > > > > +	struct intel_connector *connector = intel_dp->attached_connector;
> > > > > >
> > > > > >  	if (!intel_dp_can_bigjoiner(intel_dp))
> > > > > >  		return false;
> > > > > >
> > > > > > -	return clock > i915->max_dotclk_freq || hdisplay > 5120;
> > > > > > +	return clock > i915->max_dotclk_freq || hdisplay > 5120 ||
> > > > > > +	       connector->force_bigjoiner_enable;
> > > > > 
> > > > > I'm just not comfortable with the magic _show of that macro and would prefer a
> > > > > more simple and straight forward and widely used version.
> > > > > 
> > > > > Other then that everything else looks good to me.
> > > > > 
> > > > > Thanks,
> > > > > Rodrigo.
> > > > > 
> > > > > >  }
> > > > > >
> > > > > >  static enum drm_mode_status
> > > > > > --
> > > > > > 2.42.0
> > > > > >

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-02-14 13:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-12 12:50 [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Uma Shankar
2024-02-12 16:34 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add bigjoiner force enable option to debugfs (rev7) Patchwork
2024-02-12 16:47 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-12 20:36 ` ✓ Fi.CI.IGT: " Patchwork
2024-02-13  9:21 ` [PATCH] drm/i915: Add bigjoiner force enable option to debugfs Jani Nikula
2024-02-13 14:56 ` Rodrigo Vivi
2024-02-13 15:11   ` Shankar, Uma
2024-02-13 15:21     ` Lisovskiy, Stanislav
2024-02-13 15:33       ` Rodrigo Vivi
2024-02-14  9:56         ` Lisovskiy, Stanislav
2024-02-14 13:51           ` Rodrigo Vivi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.