* [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
@ 2024-12-11 14:43 Jani Nikula
2024-12-11 16:25 ` ✓ i915.CI.BAT: success for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Jani Nikula @ 2024-12-11 14:43 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Imre Deak
There's a lot of duplication between mst_stream_compute_config_limits()
and intel_dp_compute_config_limits(). Adjust the latter to suit the
needs of the former, and use the same function for both. This reduces
duplication and highlights the differences for SST and MST and UHBR.
Remove the kernel-doc for intel_dp_compute_config_link_bpp_limits()
which now becomes static.
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 44 +++++++++++++--------
drivers/gpu/drm/i915/display/intel_dp.h | 10 ++---
drivers/gpu/drm/i915/display/intel_dp_mst.c | 29 +-------------
3 files changed, 34 insertions(+), 49 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index fbe6b77d642e..4b6676e785bf 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2455,19 +2455,11 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
return 0;
}
-/**
- * intel_dp_compute_config_link_bpp_limits - compute output link bpp limits
- * @intel_dp: intel DP
- * @crtc_state: crtc state
- * @dsc: DSC compression mode
- * @limits: link configuration limits
- *
- * Calculates the output link min, max bpp values in @limits based on the
- * pipe bpp range, @crtc_state and @dsc mode.
- *
- * Returns %true in case of success.
+/*
+ * Calculate the output link min, max bpp values in limits based on the pipe bpp
+ * range, crtc_state and dsc mode. Return true on success.
*/
-bool
+static bool
intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
const struct intel_crtc_state *crtc_state,
bool dsc,
@@ -2515,29 +2507,47 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
return true;
}
-static bool
+bool
intel_dp_compute_config_limits(struct intel_dp *intel_dp,
struct intel_crtc_state *crtc_state,
bool respect_downstream_limits,
bool dsc,
struct link_config_limits *limits)
{
+ bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
+
limits->min_rate = intel_dp_min_link_rate(intel_dp);
limits->max_rate = intel_dp_max_link_rate(intel_dp);
/* FIXME 128b/132b SST support missing */
- limits->max_rate = min(limits->max_rate, 810000);
+ if (!is_mst)
+ limits->max_rate = min(limits->max_rate, 810000);
limits->min_rate = min(limits->min_rate, limits->max_rate);
limits->min_lane_count = intel_dp_min_lane_count(intel_dp);
limits->max_lane_count = intel_dp_max_lane_count(intel_dp);
limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
- limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
- respect_downstream_limits);
+ if (is_mst) {
+ /*
+ * FIXME: If all the streams can't fit into the link with their
+ * current pipe_bpp we should reduce pipe_bpp across the board
+ * until things start to fit. Until then we limit to <= 8bpc
+ * since that's what was hardcoded for all MST streams
+ * previously. This hack should be removed once we have the
+ * proper retry logic in place.
+ */
+ limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
+ } else {
+ limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
+ respect_downstream_limits);
+ }
- if (intel_dp->use_max_params) {
+ if (is_mst || intel_dp->use_max_params) {
/*
+ * For MST we always configure max link bw - the spec doesn't
+ * seem to suggest we should do otherwise.
+ *
* Use the maximum clock and number of lanes the eDP panel
* advertizes being capable of in case the initial fast
* optimal params failed us. The panels are generally
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 48f10876be65..8572d7df5335 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -193,11 +193,11 @@ void intel_dp_invalidate_source_oui(struct intel_dp *intel_dp);
void intel_dp_wait_source_oui(struct intel_dp *intel_dp);
int intel_dp_output_bpp(enum intel_output_format output_format, int bpp);
-bool
-intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
- const struct intel_crtc_state *crtc_state,
- bool dsc,
- struct link_config_limits *limits);
+bool intel_dp_compute_config_limits(struct intel_dp *intel_dp,
+ struct intel_crtc_state *crtc_state,
+ bool respect_downstream_limits,
+ bool dsc,
+ struct link_config_limits *limits);
void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
bool intel_dp_has_gamut_metadata_dip(struct intel_encoder *encoder);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 123c4ece6268..d77ebcb1432e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -585,33 +585,8 @@ mst_stream_compute_config_limits(struct intel_dp *intel_dp,
bool dsc,
struct link_config_limits *limits)
{
- /*
- * for MST we always configure max link bw - the spec doesn't
- * seem to suggest we should do otherwise.
- */
- limits->min_rate = limits->max_rate =
- intel_dp_max_link_rate(intel_dp);
-
- limits->min_lane_count = limits->max_lane_count =
- intel_dp_max_lane_count(intel_dp);
-
- limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
- /*
- * FIXME: If all the streams can't fit into the link with
- * their current pipe_bpp we should reduce pipe_bpp across
- * the board until things start to fit. Until then we
- * limit to <= 8bpc since that's what was hardcoded for all
- * MST streams previously. This hack should be removed once
- * we have the proper retry logic in place.
- */
- limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
-
- intel_dp_test_compute_config(intel_dp, crtc_state, limits);
-
- if (!intel_dp_compute_config_link_bpp_limits(intel_dp,
- crtc_state,
- dsc,
- limits))
+ if (!intel_dp_compute_config_limits(intel_dp, crtc_state, false, dsc,
+ limits))
return false;
return adjust_limits_for_dsc_hblank_expansion_quirk(connector,
--
2.39.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
2024-12-11 14:43 [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST Jani Nikula
@ 2024-12-11 16:25 ` Patchwork
2024-12-11 18:01 ` ✓ i915.CI.Full: " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2024-12-11 16:25 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
URL : https://patchwork.freedesktop.org/series/142422/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_15821 -> Patchwork_142422v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/index.html
Participating hosts (46 -> 45)
------------------------------
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_142422v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@dmabuf@all-tests:
- fi-pnv-d510: NOTRUN -> [INCOMPLETE][1] ([i915#12904]) +1 other test incomplete
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/fi-pnv-d510/igt@dmabuf@all-tests.html
- bat-apl-1: [PASS][2] -> [INCOMPLETE][3] ([i915#12904]) +1 other test incomplete
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-apl-1/igt@dmabuf@all-tests.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-apl-1/igt@dmabuf@all-tests.html
* igt@i915_selftest@live:
- bat-jsl-3: [PASS][4] -> [INCOMPLETE][5] ([i915#13241])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-jsl-3/igt@i915_selftest@live.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-jsl-3/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-mtlp-6: [PASS][6] -> [ABORT][7] ([i915#12061]) +1 other test abort
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
* igt@kms_psr@psr-primary-mmap-gtt:
- fi-pnv-d510: NOTRUN -> [SKIP][8] +36 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/fi-pnv-d510/igt@kms_psr@psr-primary-mmap-gtt.html
#### Possible fixes ####
* igt@i915_module_load@load:
- fi-pnv-d510: [ABORT][9] ([i915#13203]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/fi-pnv-d510/igt@i915_module_load@load.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/fi-pnv-d510/igt@i915_module_load@load.html
* igt@i915_pm_rpm@module-reload:
- bat-rpls-4: [FAIL][11] ([i915#12903]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-rpls-4/igt@i915_pm_rpm@module-reload.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-rpls-4/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live@workarounds:
- {bat-mtlp-9}: [ABORT][13] ([i915#12061]) -> [PASS][14] +1 other test pass
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
* igt@kms_pipe_crc_basic@read-crc-frame-sequence:
- bat-apl-1: [DMESG-WARN][15] ([i915#12921]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-apl-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-apl-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
* igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-1:
- bat-apl-1: [DMESG-WARN][17] -> [PASS][18] +2 other tests pass
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/bat-apl-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-1.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/bat-apl-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12903]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12903
[i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
[i915#12921]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12921
[i915#13203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13203
[i915#13241]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13241
Build changes
-------------
* Linux: CI_DRM_15821 -> Patchwork_142422v1
CI-20190529: 20190529
CI_DRM_15821: 64679a558442b0191dff88abe841d13ee7e0b229 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8148: 5362e7ac965c3768c60848e266294a4c6172241c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_142422v1: 64679a558442b0191dff88abe841d13ee7e0b229 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/index.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* ✓ i915.CI.Full: success for drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
2024-12-11 14:43 [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST Jani Nikula
2024-12-11 16:25 ` ✓ i915.CI.BAT: success for " Patchwork
@ 2024-12-11 18:01 ` Patchwork
2024-12-13 12:22 ` [PATCH] " Nautiyal, Ankit K
2024-12-16 14:27 ` Imre Deak
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2024-12-11 18:01 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 39624 bytes --]
== Series Details ==
Series: drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
URL : https://patchwork.freedesktop.org/series/142422/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_15821_full -> Patchwork_142422v1_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 10)
------------------------------
Missing (2): pig-kbl-iris shard-glk-0
Known issues
------------
Here are the changes found in Patchwork_142422v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@device_reset@unbind-cold-reset-rebind:
- shard-tglu-1: NOTRUN -> [SKIP][1] ([i915#11078])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@device_reset@unbind-cold-reset-rebind.html
* igt@gem_basic@multigpu-create-close:
- shard-tglu: NOTRUN -> [SKIP][2] ([i915#7697])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@gem_basic@multigpu-create-close.html
* igt@gem_close_race@multigpu-basic-process:
- shard-dg2: NOTRUN -> [SKIP][3] ([i915#7697])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gem_close_race@multigpu-basic-process.html
* igt@gem_ctx_persistence@engines-mixed-process:
- shard-snb: NOTRUN -> [SKIP][4] ([i915#1099]) +2 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb5/igt@gem_ctx_persistence@engines-mixed-process.html
* igt@gem_exec_balancer@bonded-false-hang:
- shard-dg2: NOTRUN -> [ABORT][5] ([i915#13218]) +2 other tests abort
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@gem_exec_balancer@bonded-false-hang.html
* igt@gem_exec_fence@syncobj-wait:
- shard-rkl: NOTRUN -> [DMESG-WARN][6] ([i915#12964]) +1 other test dmesg-warn
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@gem_exec_fence@syncobj-wait.html
* igt@gem_exec_reloc@basic-cpu-read-active:
- shard-rkl: NOTRUN -> [SKIP][7] ([i915#3281])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-read-active.html
* igt@gem_exec_reloc@basic-write-read:
- shard-dg2: NOTRUN -> [SKIP][8] ([i915#3281])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@gem_exec_reloc@basic-write-read.html
* igt@gem_fence_thrash@bo-write-verify-none:
- shard-dg1: NOTRUN -> [SKIP][9] ([i915#4860])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@gem_fence_thrash@bo-write-verify-none.html
* igt@gem_mmap_gtt@hang-busy:
- shard-dg2: NOTRUN -> [SKIP][10] ([i915#4077]) +1 other test skip
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gem_mmap_gtt@hang-busy.html
* igt@gem_mmap_wc@write-wc-read-gtt:
- shard-dg2: NOTRUN -> [SKIP][11] ([i915#4083]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gem_mmap_wc@write-wc-read-gtt.html
* igt@gem_partial_pwrite_pread@reads-uncached:
- shard-dg2: NOTRUN -> [SKIP][12] ([i915#3282]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gem_partial_pwrite_pread@reads-uncached.html
* igt@gem_pread@exhaustion:
- shard-dg1: NOTRUN -> [SKIP][13] ([i915#3282])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@gem_pread@exhaustion.html
* igt@gem_pxp@protected-encrypted-src-copy-not-readible:
- shard-tglu: [PASS][14] -> [SKIP][15] ([i915#4270])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-tglu-4/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-6/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html
* igt@gem_pxp@reject-modify-context-protection-off-1:
- shard-rkl: NOTRUN -> [TIMEOUT][16] ([i915#12917] / [i915#12964])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@gem_pxp@reject-modify-context-protection-off-1.html
* igt@gem_readwrite@read-write:
- shard-rkl: NOTRUN -> [SKIP][17] ([i915#3282])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@gem_readwrite@read-write.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][18] ([i915#5190] / [i915#8428]) +2 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-rkl: NOTRUN -> [SKIP][19] ([i915#8411])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_userptr_blits@invalid-mmap-offset-unsync:
- shard-dg2: NOTRUN -> [SKIP][20] ([i915#3297])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html
* igt@gem_userptr_blits@unsync-unmap:
- shard-tglu: NOTRUN -> [SKIP][21] ([i915#3297])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@gem_userptr_blits@unsync-unmap.html
* igt@gen7_exec_parse@bitmasks:
- shard-dg2: NOTRUN -> [SKIP][22] +4 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@gen7_exec_parse@bitmasks.html
* igt@gen9_exec_parse@bb-start-far:
- shard-tglu: NOTRUN -> [SKIP][23] ([i915#2527] / [i915#2856])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@gen9_exec_parse@bb-start-far.html
* igt@i915_suspend@debugfs-reader:
- shard-glk: NOTRUN -> [INCOMPLETE][24] ([i915#4817])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk4/igt@i915_suspend@debugfs-reader.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-dg1: NOTRUN -> [SKIP][25] ([i915#4077])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- shard-dg2: NOTRUN -> [SKIP][26] ([i915#4212]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
* igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-a-hdmi-a-4-y-rc-ccs-cc:
- shard-dg1: NOTRUN -> [SKIP][27] ([i915#8709]) +7 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-17/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-a-hdmi-a-4-y-rc-ccs-cc.html
* igt@kms_async_flips@crc:
- shard-snb: NOTRUN -> [INCOMPLETE][28] ([i915#13287] / [i915#9878])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb5/igt@kms_async_flips@crc.html
* igt@kms_async_flips@crc@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [INCOMPLETE][29] ([i915#13287])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-4/igt@kms_async_flips@crc@pipe-a-hdmi-a-1.html
- shard-snb: NOTRUN -> [INCOMPLETE][30] ([i915#13287])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb5/igt@kms_async_flips@crc@pipe-a-hdmi-a-1.html
* igt@kms_async_flips@crc@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [CRASH][31] ([i915#13287]) +3 other tests crash
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-3/igt@kms_async_flips@crc@pipe-c-hdmi-a-3.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-0:
- shard-dg1: NOTRUN -> [SKIP][32] ([i915#4538] / [i915#5286])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][33] ([i915#3638])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-90:
- shard-dg2: NOTRUN -> [SKIP][34] ([i915#4538] / [i915#5190]) +1 other test skip
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-tglu-1: NOTRUN -> [SKIP][35] +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][36] ([i915#6095]) +4 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][37] ([i915#6095]) +31 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-4.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][38] ([i915#6095]) +9 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][39] ([i915#6095]) +10 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-4/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-rkl: NOTRUN -> [DMESG-FAIL][40] ([i915#12964]) +1 other test dmesg-fail
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#6095]) +8 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-tglu: NOTRUN -> [SKIP][42] ([i915#12313])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-2:
- shard-dg2: NOTRUN -> [SKIP][43] ([i915#10307] / [i915#6095]) +12 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-11/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-2.html
* igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][44] ([i915#4087]) +4 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3.html
* igt@kms_chamelium_frames@vga-frame-dump:
- shard-dg2: NOTRUN -> [SKIP][45] ([i915#7828]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_chamelium_frames@vga-frame-dump.html
* igt@kms_chamelium_hpd@hdmi-hpd-fast:
- shard-rkl: NOTRUN -> [SKIP][46] ([i915#7828]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-1/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
- shard-tglu-1: NOTRUN -> [SKIP][47] ([i915#7828]) +1 other test skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
* igt@kms_chamelium_hpd@vga-hpd-after-suspend:
- shard-tglu: NOTRUN -> [SKIP][48] ([i915#7828])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_chamelium_hpd@vga-hpd-after-suspend.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-tglu: NOTRUN -> [SKIP][49] ([i915#9067])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-dg2: NOTRUN -> [SKIP][50] ([i915#12402])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-dg2: NOTRUN -> [SKIP][51] ([i915#3840] / [i915#9688])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-dg1: NOTRUN -> [SKIP][52] ([i915#3840])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_feature_discovery@display-4x:
- shard-tglu: NOTRUN -> [SKIP][53] ([i915#1839])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-dg1: NOTRUN -> [SKIP][54] ([i915#9934])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-dg2: NOTRUN -> [SKIP][55] ([i915#9934])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][56] ([i915#3458]) +3 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt:
- shard-rkl: NOTRUN -> [SKIP][57] ([i915#3023]) +2 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw:
- shard-dg1: NOTRUN -> [SKIP][58] +3 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-fullscreen:
- shard-dg2: NOTRUN -> [SKIP][59] ([i915#5354]) +3 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][60] ([i915#8708]) +3 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][61] ([i915#8708])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][62] ([i915#3458])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-tglu: NOTRUN -> [SKIP][63] +6 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-tglu: NOTRUN -> [SKIP][64] ([i915#3555] / [i915#8228])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-rkl: NOTRUN -> [SKIP][65] ([i915#12388])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-1/igt@kms_joiner@basic-force-big-joiner.html
- shard-tglu-1: NOTRUN -> [SKIP][66] ([i915#12388])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-dg2: NOTRUN -> [SKIP][67] ([i915#13046] / [i915#5354] / [i915#9423])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#12247]) +2 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
- shard-dg1: NOTRUN -> [SKIP][69] ([i915#12247] / [i915#3555])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a:
- shard-dg1: NOTRUN -> [SKIP][70] ([i915#12247]) +8 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-dg2: NOTRUN -> [SKIP][71] ([i915#9519])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_prime@d3hot:
- shard-tglu: NOTRUN -> [SKIP][72] ([i915#6524])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
- shard-snb: NOTRUN -> [SKIP][73] ([i915#11520]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb5/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf:
- shard-tglu-1: NOTRUN -> [SKIP][74] ([i915#11520])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-dg2: NOTRUN -> [SKIP][75] ([i915#11520]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
- shard-dg1: NOTRUN -> [SKIP][76] ([i915#11520])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-tglu-1: NOTRUN -> [SKIP][77] ([i915#9683])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-cursor-render:
- shard-dg1: NOTRUN -> [SKIP][78] ([i915#1072] / [i915#9732]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@kms_psr@fbc-pr-cursor-render.html
* igt@kms_psr@fbc-psr-primary-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][79] ([i915#1072] / [i915#9732]) +2 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_psr@fbc-psr-primary-mmap-cpu.html
* igt@kms_psr@fbc-psr2-basic:
- shard-tglu: NOTRUN -> [SKIP][80] ([i915#9732])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_psr@fbc-psr2-basic.html
* igt@kms_psr@pr-cursor-render:
- shard-rkl: NOTRUN -> [SKIP][81] ([i915#1072] / [i915#9732]) +1 other test skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-1/igt@kms_psr@pr-cursor-render.html
- shard-tglu-1: NOTRUN -> [SKIP][82] ([i915#9732])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@kms_psr@pr-cursor-render.html
* igt@kms_rotation_crc@primary-rotation-90:
- shard-dg2: NOTRUN -> [SKIP][83] ([i915#12755])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_rotation_crc@primary-rotation-90.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#5289])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-18/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_setmode@basic:
- shard-snb: NOTRUN -> [FAIL][85] ([i915#5465]) +2 other tests fail
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb5/igt@kms_setmode@basic.html
- shard-dg1: [PASS][86] -> [FAIL][87] ([i915#5465]) +2 other tests fail
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-dg1-12/igt@kms_setmode@basic.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-13/igt@kms_setmode@basic.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-dg2: NOTRUN -> [SKIP][88] ([i915#3555]) +2 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-6/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_setmode@basic@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][89] ([i915#5465]) +1 other test fail
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
* igt@kms_sysfs_edid_timing:
- shard-dg2: NOTRUN -> [FAIL][90] ([IGT#160])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_sysfs_edid_timing.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][91] ([i915#12276])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-2.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-dg2: NOTRUN -> [SKIP][92] ([i915#9906])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@perf@enable-disable:
- shard-tglu: NOTRUN -> [ABORT][93] ([i915#13218]) +3 other tests abort
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@perf@enable-disable.html
* igt@perf@gen12-unprivileged-single-ctx-counters@rcs0:
- shard-tglu-1: NOTRUN -> [ABORT][94] ([i915#13218]) +5 other tests abort
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-1/igt@perf@gen12-unprivileged-single-ctx-counters@rcs0.html
* igt@perf@low-oa-exponent-permissions:
- shard-rkl: NOTRUN -> [ABORT][95] ([i915#13218]) +6 other tests abort
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-1/igt@perf@low-oa-exponent-permissions.html
- shard-dg1: NOTRUN -> [ABORT][96] ([i915#13218]) +2 other tests abort
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-14/igt@perf@low-oa-exponent-permissions.html
* igt@perf_pmu@busy-accuracy-98:
- shard-snb: NOTRUN -> [SKIP][97] +180 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb5/igt@perf_pmu@busy-accuracy-98.html
* igt@perf_pmu@busy-hang:
- shard-snb: NOTRUN -> [ABORT][98] ([i915#13218]) +3 other tests abort
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-snb1/igt@perf_pmu@busy-hang.html
* igt@perf_pmu@cpu-hotplug:
- shard-dg2: NOTRUN -> [SKIP][99] ([i915#8850])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg2-7/igt@perf_pmu@cpu-hotplug.html
* igt@perf_pmu@rc6-all-gts:
- shard-rkl: NOTRUN -> [SKIP][100] ([i915#8516])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-2/igt@perf_pmu@rc6-all-gts.html
#### Possible fixes ####
* igt@i915_module_load@load:
- shard-glk: ([PASS][101], [PASS][102], [PASS][103], [PASS][104], [PASS][105], [PASS][106], [PASS][107], [PASS][108], [PASS][109], [PASS][110], [PASS][111], [PASS][112], [PASS][113], [PASS][114], [PASS][115], [PASS][116], [DMESG-WARN][117], [PASS][118], [PASS][119], [PASS][120], [PASS][121], [PASS][122], [PASS][123], [PASS][124], [PASS][125]) ([i915#118]) -> ([PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149], [PASS][150])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk8/igt@i915_module_load@load.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk4/igt@i915_module_load@load.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk1/igt@i915_module_load@load.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk3/igt@i915_module_load@load.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk4/igt@i915_module_load@load.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk1/igt@i915_module_load@load.html
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk5/igt@i915_module_load@load.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk3/igt@i915_module_load@load.html
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk1/igt@i915_module_load@load.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk9/igt@i915_module_load@load.html
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk5/igt@i915_module_load@load.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk6/igt@i915_module_load@load.html
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk7/igt@i915_module_load@load.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk1/igt@i915_module_load@load.html
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk5/igt@i915_module_load@load.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk7/igt@i915_module_load@load.html
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk7/igt@i915_module_load@load.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk5/igt@i915_module_load@load.html
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk6/igt@i915_module_load@load.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk2/igt@i915_module_load@load.html
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk6/igt@i915_module_load@load.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk6/igt@i915_module_load@load.html
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk3/igt@i915_module_load@load.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk6/igt@i915_module_load@load.html
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk3/igt@i915_module_load@load.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk6/igt@i915_module_load@load.html
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@i915_module_load@load.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk2/igt@i915_module_load@load.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk1/igt@i915_module_load@load.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@i915_module_load@load.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk3/igt@i915_module_load@load.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk1/igt@i915_module_load@load.html
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@i915_module_load@load.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk1/igt@i915_module_load@load.html
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk6/igt@i915_module_load@load.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk6/igt@i915_module_load@load.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk4/igt@i915_module_load@load.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk6/igt@i915_module_load@load.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@i915_module_load@load.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk4/igt@i915_module_load@load.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk6/igt@i915_module_load@load.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@i915_module_load@load.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk2/igt@i915_module_load@load.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk4/igt@i915_module_load@load.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk8/igt@i915_module_load@load.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk7/igt@i915_module_load@load.html
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk5/igt@i915_module_load@load.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk8/igt@i915_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk8/igt@i915_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk5/igt@i915_module_load@load.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-rkl: [ABORT][151] ([i915#13218]) -> [PASS][152]
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-rkl-5/igt@i915_suspend@fence-restore-tiled2untiled.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-1/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_flip@plain-flip-fb-recreate-interruptible@a-hdmi-a1:
- shard-rkl: [FAIL][153] ([i915#11989]) -> [PASS][154] +1 other test pass
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-rkl-2/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-hdmi-a1.html
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-rkl-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-hdmi-a1.html
* igt@kms_setmode@basic:
- shard-tglu: [FAIL][155] ([i915#5465]) -> [PASS][156] +2 other tests pass
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-tglu-10/igt@kms_setmode@basic.html
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-tglu-3/igt@kms_setmode@basic.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1:
- shard-glk: [INCOMPLETE][157] ([i915#12276]) -> [PASS][158]
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-glk3/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-glk9/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html
#### Warnings ####
* igt@kms_content_protection@mei-interface:
- shard-dg1: [SKIP][159] ([i915#9424]) -> [SKIP][160] ([i915#9433])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15821/shard-dg1-14/igt@kms_content_protection@mei-interface.html
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/shard-dg1-13/igt@kms_content_protection@mei-interface.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#160]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/160
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118
[i915#11989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11989
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
[i915#12402]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12402
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
[i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13218]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13218
[i915#13287]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13287
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4087
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5465]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5465
[i915#5978]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5978
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709
[i915#8850]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8850
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
[i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_15821 -> Patchwork_142422v1
CI-20190529: 20190529
CI_DRM_15821: 64679a558442b0191dff88abe841d13ee7e0b229 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8148: 5362e7ac965c3768c60848e266294a4c6172241c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_142422v1: 64679a558442b0191dff88abe841d13ee7e0b229 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142422v1/index.html
[-- Attachment #2: Type: text/html, Size: 46718 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
2024-12-11 14:43 [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST Jani Nikula
2024-12-11 16:25 ` ✓ i915.CI.BAT: success for " Patchwork
2024-12-11 18:01 ` ✓ i915.CI.Full: " Patchwork
@ 2024-12-13 12:22 ` Nautiyal, Ankit K
2024-12-16 15:07 ` Jani Nikula
2024-12-16 14:27 ` Imre Deak
3 siblings, 1 reply; 6+ messages in thread
From: Nautiyal, Ankit K @ 2024-12-13 12:22 UTC (permalink / raw)
To: Jani Nikula, intel-gfx, intel-xe; +Cc: Imre Deak
On 12/11/2024 8:13 PM, Jani Nikula wrote:
> There's a lot of duplication between mst_stream_compute_config_limits()
> and intel_dp_compute_config_limits(). Adjust the latter to suit the
> needs of the former, and use the same function for both. This reduces
> duplication and highlights the differences for SST and MST and UHBR.
>
> Remove the kernel-doc for intel_dp_compute_config_link_bpp_limits()
> which now becomes static.
>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
LGTM.
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 44 +++++++++++++--------
> drivers/gpu/drm/i915/display/intel_dp.h | 10 ++---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 29 +-------------
> 3 files changed, 34 insertions(+), 49 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index fbe6b77d642e..4b6676e785bf 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2455,19 +2455,11 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
> return 0;
> }
>
> -/**
> - * intel_dp_compute_config_link_bpp_limits - compute output link bpp limits
> - * @intel_dp: intel DP
> - * @crtc_state: crtc state
> - * @dsc: DSC compression mode
> - * @limits: link configuration limits
> - *
> - * Calculates the output link min, max bpp values in @limits based on the
> - * pipe bpp range, @crtc_state and @dsc mode.
> - *
> - * Returns %true in case of success.
> +/*
> + * Calculate the output link min, max bpp values in limits based on the pipe bpp
> + * range, crtc_state and dsc mode. Return true on success.
> */
> -bool
> +static bool
> intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
> const struct intel_crtc_state *crtc_state,
> bool dsc,
> @@ -2515,29 +2507,47 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
> return true;
> }
>
> -static bool
> +bool
> intel_dp_compute_config_limits(struct intel_dp *intel_dp,
> struct intel_crtc_state *crtc_state,
> bool respect_downstream_limits,
> bool dsc,
> struct link_config_limits *limits)
> {
> + bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
> +
> limits->min_rate = intel_dp_min_link_rate(intel_dp);
> limits->max_rate = intel_dp_max_link_rate(intel_dp);
>
> /* FIXME 128b/132b SST support missing */
> - limits->max_rate = min(limits->max_rate, 810000);
> + if (!is_mst)
> + limits->max_rate = min(limits->max_rate, 810000);
> limits->min_rate = min(limits->min_rate, limits->max_rate);
>
> limits->min_lane_count = intel_dp_min_lane_count(intel_dp);
> limits->max_lane_count = intel_dp_max_lane_count(intel_dp);
>
> limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
> - limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
> - respect_downstream_limits);
> + if (is_mst) {
> + /*
> + * FIXME: If all the streams can't fit into the link with their
> + * current pipe_bpp we should reduce pipe_bpp across the board
> + * until things start to fit. Until then we limit to <= 8bpc
> + * since that's what was hardcoded for all MST streams
> + * previously. This hack should be removed once we have the
> + * proper retry logic in place.
> + */
> + limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
> + } else {
> + limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
> + respect_downstream_limits);
> + }
>
> - if (intel_dp->use_max_params) {
> + if (is_mst || intel_dp->use_max_params) {
> /*
> + * For MST we always configure max link bw - the spec doesn't
> + * seem to suggest we should do otherwise.
> + *
> * Use the maximum clock and number of lanes the eDP panel
> * advertizes being capable of in case the initial fast
> * optimal params failed us. The panels are generally
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
> index 48f10876be65..8572d7df5335 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -193,11 +193,11 @@ void intel_dp_invalidate_source_oui(struct intel_dp *intel_dp);
> void intel_dp_wait_source_oui(struct intel_dp *intel_dp);
> int intel_dp_output_bpp(enum intel_output_format output_format, int bpp);
>
> -bool
> -intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
> - const struct intel_crtc_state *crtc_state,
> - bool dsc,
> - struct link_config_limits *limits);
> +bool intel_dp_compute_config_limits(struct intel_dp *intel_dp,
> + struct intel_crtc_state *crtc_state,
> + bool respect_downstream_limits,
> + bool dsc,
> + struct link_config_limits *limits);
>
> void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
> bool intel_dp_has_gamut_metadata_dip(struct intel_encoder *encoder);
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 123c4ece6268..d77ebcb1432e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -585,33 +585,8 @@ mst_stream_compute_config_limits(struct intel_dp *intel_dp,
> bool dsc,
> struct link_config_limits *limits)
> {
> - /*
> - * for MST we always configure max link bw - the spec doesn't
> - * seem to suggest we should do otherwise.
> - */
> - limits->min_rate = limits->max_rate =
> - intel_dp_max_link_rate(intel_dp);
> -
> - limits->min_lane_count = limits->max_lane_count =
> - intel_dp_max_lane_count(intel_dp);
> -
> - limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
> - /*
> - * FIXME: If all the streams can't fit into the link with
> - * their current pipe_bpp we should reduce pipe_bpp across
> - * the board until things start to fit. Until then we
> - * limit to <= 8bpc since that's what was hardcoded for all
> - * MST streams previously. This hack should be removed once
> - * we have the proper retry logic in place.
> - */
> - limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
> -
> - intel_dp_test_compute_config(intel_dp, crtc_state, limits);
> -
> - if (!intel_dp_compute_config_link_bpp_limits(intel_dp,
> - crtc_state,
> - dsc,
> - limits))
> + if (!intel_dp_compute_config_limits(intel_dp, crtc_state, false, dsc,
> + limits))
> return false;
>
> return adjust_limits_for_dsc_hblank_expansion_quirk(connector,
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
2024-12-11 14:43 [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST Jani Nikula
` (2 preceding siblings ...)
2024-12-13 12:22 ` [PATCH] " Nautiyal, Ankit K
@ 2024-12-16 14:27 ` Imre Deak
3 siblings, 0 replies; 6+ messages in thread
From: Imre Deak @ 2024-12-16 14:27 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe
On Wed, Dec 11, 2024 at 04:43:10PM +0200, Jani Nikula wrote:
> There's a lot of duplication between mst_stream_compute_config_limits()
> and intel_dp_compute_config_limits(). Adjust the latter to suit the
> needs of the former, and use the same function for both. This reduces
> duplication and highlights the differences for SST and MST and UHBR.
>
> Remove the kernel-doc for intel_dp_compute_config_link_bpp_limits()
> which now becomes static.
>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 44 +++++++++++++--------
> drivers/gpu/drm/i915/display/intel_dp.h | 10 ++---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 29 +-------------
> 3 files changed, 34 insertions(+), 49 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index fbe6b77d642e..4b6676e785bf 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2455,19 +2455,11 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
> return 0;
> }
>
> -/**
> - * intel_dp_compute_config_link_bpp_limits - compute output link bpp limits
> - * @intel_dp: intel DP
> - * @crtc_state: crtc state
> - * @dsc: DSC compression mode
> - * @limits: link configuration limits
> - *
> - * Calculates the output link min, max bpp values in @limits based on the
> - * pipe bpp range, @crtc_state and @dsc mode.
> - *
> - * Returns %true in case of success.
> +/*
> + * Calculate the output link min, max bpp values in limits based on the pipe bpp
> + * range, crtc_state and dsc mode. Return true on success.
> */
> -bool
> +static bool
> intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
> const struct intel_crtc_state *crtc_state,
> bool dsc,
> @@ -2515,29 +2507,47 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
> return true;
> }
>
> -static bool
> +bool
> intel_dp_compute_config_limits(struct intel_dp *intel_dp,
> struct intel_crtc_state *crtc_state,
> bool respect_downstream_limits,
> bool dsc,
> struct link_config_limits *limits)
> {
> + bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
> +
> limits->min_rate = intel_dp_min_link_rate(intel_dp);
> limits->max_rate = intel_dp_max_link_rate(intel_dp);
>
> /* FIXME 128b/132b SST support missing */
> - limits->max_rate = min(limits->max_rate, 810000);
> + if (!is_mst)
> + limits->max_rate = min(limits->max_rate, 810000);
> limits->min_rate = min(limits->min_rate, limits->max_rate);
>
> limits->min_lane_count = intel_dp_min_lane_count(intel_dp);
> limits->max_lane_count = intel_dp_max_lane_count(intel_dp);
>
> limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
> - limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
> - respect_downstream_limits);
> + if (is_mst) {
> + /*
> + * FIXME: If all the streams can't fit into the link with their
> + * current pipe_bpp we should reduce pipe_bpp across the board
> + * until things start to fit. Until then we limit to <= 8bpc
> + * since that's what was hardcoded for all MST streams
> + * previously. This hack should be removed once we have the
> + * proper retry logic in place.
> + */
> + limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
> + } else {
> + limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
> + respect_downstream_limits);
> + }
>
> - if (intel_dp->use_max_params) {
> + if (is_mst || intel_dp->use_max_params) {
> /*
> + * For MST we always configure max link bw - the spec doesn't
> + * seem to suggest we should do otherwise.
> + *
> * Use the maximum clock and number of lanes the eDP panel
> * advertizes being capable of in case the initial fast
> * optimal params failed us. The panels are generally
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
> index 48f10876be65..8572d7df5335 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -193,11 +193,11 @@ void intel_dp_invalidate_source_oui(struct intel_dp *intel_dp);
> void intel_dp_wait_source_oui(struct intel_dp *intel_dp);
> int intel_dp_output_bpp(enum intel_output_format output_format, int bpp);
>
> -bool
> -intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
> - const struct intel_crtc_state *crtc_state,
> - bool dsc,
> - struct link_config_limits *limits);
> +bool intel_dp_compute_config_limits(struct intel_dp *intel_dp,
> + struct intel_crtc_state *crtc_state,
> + bool respect_downstream_limits,
> + bool dsc,
> + struct link_config_limits *limits);
>
> void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
> bool intel_dp_has_gamut_metadata_dip(struct intel_encoder *encoder);
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 123c4ece6268..d77ebcb1432e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -585,33 +585,8 @@ mst_stream_compute_config_limits(struct intel_dp *intel_dp,
> bool dsc,
> struct link_config_limits *limits)
> {
> - /*
> - * for MST we always configure max link bw - the spec doesn't
> - * seem to suggest we should do otherwise.
> - */
> - limits->min_rate = limits->max_rate =
> - intel_dp_max_link_rate(intel_dp);
> -
> - limits->min_lane_count = limits->max_lane_count =
> - intel_dp_max_lane_count(intel_dp);
> -
> - limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
> - /*
> - * FIXME: If all the streams can't fit into the link with
> - * their current pipe_bpp we should reduce pipe_bpp across
> - * the board until things start to fit. Until then we
> - * limit to <= 8bpc since that's what was hardcoded for all
> - * MST streams previously. This hack should be removed once
> - * we have the proper retry logic in place.
> - */
> - limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
> -
> - intel_dp_test_compute_config(intel_dp, crtc_state, limits);
> -
> - if (!intel_dp_compute_config_link_bpp_limits(intel_dp,
> - crtc_state,
> - dsc,
> - limits))
> + if (!intel_dp_compute_config_limits(intel_dp, crtc_state, false, dsc,
> + limits))
> return false;
>
> return adjust_limits_for_dsc_hblank_expansion_quirk(connector,
> --
> 2.39.5
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST
2024-12-13 12:22 ` [PATCH] " Nautiyal, Ankit K
@ 2024-12-16 15:07 ` Jani Nikula
0 siblings, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2024-12-16 15:07 UTC (permalink / raw)
To: Nautiyal, Ankit K, intel-gfx, intel-xe; +Cc: Imre Deak
On Fri, 13 Dec 2024, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> On 12/11/2024 8:13 PM, Jani Nikula wrote:
>> There's a lot of duplication between mst_stream_compute_config_limits()
>> and intel_dp_compute_config_limits(). Adjust the latter to suit the
>> needs of the former, and use the same function for both. This reduces
>> duplication and highlights the differences for SST and MST and UHBR.
>>
>> Remove the kernel-doc for intel_dp_compute_config_link_bpp_limits()
>> which now becomes static.
>>
>> Cc: Imre Deak <imre.deak@intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> LGTM.
>
> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Thanks for the reviews, pushed to din.
BR,
Jani.
>
>
>> ---
>> drivers/gpu/drm/i915/display/intel_dp.c | 44 +++++++++++++--------
>> drivers/gpu/drm/i915/display/intel_dp.h | 10 ++---
>> drivers/gpu/drm/i915/display/intel_dp_mst.c | 29 +-------------
>> 3 files changed, 34 insertions(+), 49 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index fbe6b77d642e..4b6676e785bf 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -2455,19 +2455,11 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
>> return 0;
>> }
>>
>> -/**
>> - * intel_dp_compute_config_link_bpp_limits - compute output link bpp limits
>> - * @intel_dp: intel DP
>> - * @crtc_state: crtc state
>> - * @dsc: DSC compression mode
>> - * @limits: link configuration limits
>> - *
>> - * Calculates the output link min, max bpp values in @limits based on the
>> - * pipe bpp range, @crtc_state and @dsc mode.
>> - *
>> - * Returns %true in case of success.
>> +/*
>> + * Calculate the output link min, max bpp values in limits based on the pipe bpp
>> + * range, crtc_state and dsc mode. Return true on success.
>> */
>> -bool
>> +static bool
>> intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
>> const struct intel_crtc_state *crtc_state,
>> bool dsc,
>> @@ -2515,29 +2507,47 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
>> return true;
>> }
>>
>> -static bool
>> +bool
>> intel_dp_compute_config_limits(struct intel_dp *intel_dp,
>> struct intel_crtc_state *crtc_state,
>> bool respect_downstream_limits,
>> bool dsc,
>> struct link_config_limits *limits)
>> {
>> + bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
>> +
>> limits->min_rate = intel_dp_min_link_rate(intel_dp);
>> limits->max_rate = intel_dp_max_link_rate(intel_dp);
>>
>> /* FIXME 128b/132b SST support missing */
>> - limits->max_rate = min(limits->max_rate, 810000);
>> + if (!is_mst)
>> + limits->max_rate = min(limits->max_rate, 810000);
>> limits->min_rate = min(limits->min_rate, limits->max_rate);
>>
>> limits->min_lane_count = intel_dp_min_lane_count(intel_dp);
>> limits->max_lane_count = intel_dp_max_lane_count(intel_dp);
>>
>> limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
>> - limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
>> - respect_downstream_limits);
>> + if (is_mst) {
>> + /*
>> + * FIXME: If all the streams can't fit into the link with their
>> + * current pipe_bpp we should reduce pipe_bpp across the board
>> + * until things start to fit. Until then we limit to <= 8bpc
>> + * since that's what was hardcoded for all MST streams
>> + * previously. This hack should be removed once we have the
>> + * proper retry logic in place.
>> + */
>> + limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
>> + } else {
>> + limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
>> + respect_downstream_limits);
>> + }
>>
>> - if (intel_dp->use_max_params) {
>> + if (is_mst || intel_dp->use_max_params) {
>> /*
>> + * For MST we always configure max link bw - the spec doesn't
>> + * seem to suggest we should do otherwise.
>> + *
>> * Use the maximum clock and number of lanes the eDP panel
>> * advertizes being capable of in case the initial fast
>> * optimal params failed us. The panels are generally
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
>> index 48f10876be65..8572d7df5335 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.h
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
>> @@ -193,11 +193,11 @@ void intel_dp_invalidate_source_oui(struct intel_dp *intel_dp);
>> void intel_dp_wait_source_oui(struct intel_dp *intel_dp);
>> int intel_dp_output_bpp(enum intel_output_format output_format, int bpp);
>>
>> -bool
>> -intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
>> - const struct intel_crtc_state *crtc_state,
>> - bool dsc,
>> - struct link_config_limits *limits);
>> +bool intel_dp_compute_config_limits(struct intel_dp *intel_dp,
>> + struct intel_crtc_state *crtc_state,
>> + bool respect_downstream_limits,
>> + bool dsc,
>> + struct link_config_limits *limits);
>>
>> void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
>> bool intel_dp_has_gamut_metadata_dip(struct intel_encoder *encoder);
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
>> index 123c4ece6268..d77ebcb1432e 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
>> @@ -585,33 +585,8 @@ mst_stream_compute_config_limits(struct intel_dp *intel_dp,
>> bool dsc,
>> struct link_config_limits *limits)
>> {
>> - /*
>> - * for MST we always configure max link bw - the spec doesn't
>> - * seem to suggest we should do otherwise.
>> - */
>> - limits->min_rate = limits->max_rate =
>> - intel_dp_max_link_rate(intel_dp);
>> -
>> - limits->min_lane_count = limits->max_lane_count =
>> - intel_dp_max_lane_count(intel_dp);
>> -
>> - limits->pipe.min_bpp = intel_dp_min_bpp(crtc_state->output_format);
>> - /*
>> - * FIXME: If all the streams can't fit into the link with
>> - * their current pipe_bpp we should reduce pipe_bpp across
>> - * the board until things start to fit. Until then we
>> - * limit to <= 8bpc since that's what was hardcoded for all
>> - * MST streams previously. This hack should be removed once
>> - * we have the proper retry logic in place.
>> - */
>> - limits->pipe.max_bpp = min(crtc_state->pipe_bpp, 24);
>> -
>> - intel_dp_test_compute_config(intel_dp, crtc_state, limits);
>> -
>> - if (!intel_dp_compute_config_link_bpp_limits(intel_dp,
>> - crtc_state,
>> - dsc,
>> - limits))
>> + if (!intel_dp_compute_config_limits(intel_dp, crtc_state, false, dsc,
>> + limits))
>> return false;
>>
>> return adjust_limits_for_dsc_hblank_expansion_quirk(connector,
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-12-16 15:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11 14:43 [PATCH] drm/i915/mst: use intel_dp_compute_config_limits() for DP MST Jani Nikula
2024-12-11 16:25 ` ✓ i915.CI.BAT: success for " Patchwork
2024-12-11 18:01 ` ✓ i915.CI.Full: " Patchwork
2024-12-13 12:22 ` [PATCH] " Nautiyal, Ankit K
2024-12-16 15:07 ` Jani Nikula
2024-12-16 14:27 ` Imre Deak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox