* [PATCH v7] drm/i915/cmtg: Disable the CMTG
@ 2025-01-22 20:03 Gustavo Sousa
2025-01-22 20:49 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/cmtg: Disable the CMTG (rev8) Patchwork
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Gustavo Sousa @ 2025-01-22 20:03 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: Ville Syrjälä, Jani Nikula
The CMTG is a timing generator that runs in parallel with transcoders
timing generators and can be used as a reference for synchronization.
We have observed that we are inheriting from GOP a display configuration
with the CMTG enabled. Because our driver doesn't currently implement
any CMTG sequences, the CMTG ends up still enabled after our driver
takes over.
We need to make sure that the CMTG is not enabled if we are not going to
use it. For that, let's add a partial implementation in our driver that
only cares about disabling the CMTG if it was found enabled during
initial hardware readout. In the future, we can also implement sequences
for using the CMTG if that becomes a needed feature.
For now, we only deal with cases when it is possible to disable the CMTG
without requiring a modeset. For earlier display versions, we simply
skip if we find the CMTG enabled and we can't disable it without a
proper modeset. In the future, we need to properly handle that case.
v2:
- DG2 does not have the CMTG. Update HAS_CMTG() accordingly.
- Update logic to force disabling of CMTG only for initial commit.
v3:
- Add missing changes for v2 that were staged but not committed.
v4:
- Avoid if/else duplication in intel_cmtg_dump_state() by using "n/a"
for CMTG B enabled/disabled string for platforms without it. (Jani)
- Prefer intel_cmtg_readout_hw_state() over intel_cmtg_readout_state().
(Jani)
- Use display struct instead of i915 as first parameter for
TRANS_DDI_FUNC_CTL2(). (Jani)
- Fewer continuation lines in variable declaration/initialization for
better readability. (Jani)
- Coding style improvements. (Jani)
- Use drm_dbg_kms() instead of drm_info() for logging the disabling
of the CMTG.
- Make struct intel_cmtg_state entirely private to intel_cmtg.c.
v5:
- Do the disable sequence as part of the sanitization step after
hardware readout instead of initial modeset commit. (Jani)
- Adapt to commit 15133582465f ("drm/i915/display: convert global state
to struct intel_display") by using a display struct instead of i915
as argument for intel_atomic_global_obj_init().
v6:
- Do not track CMTG state as a global state. (Ville)
- Simplify the driver logic by only disabling the CMTG only on cases
when a modeset is not required. (Ville)
v7:
- Remove the call to drm_WARN_ON() when checking
intel_cmtg_disable_requires_modeset() and use a FIXME in the comment
instead.
- Remove the !HAS_CMTG() guard from intel_cmtg_get_config(), which is
static and its caller is already protected by that same condition.
- Also take the opportunity to put some Bspec references in the commit
trailers section.
Bspec: 68915, 49262
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_cmtg.c | 176 ++++++++++++++++++
drivers/gpu/drm/i915/display/intel_cmtg.h | 13 ++
.../gpu/drm/i915/display/intel_cmtg_regs.h | 21 +++
.../drm/i915/display/intel_display_device.h | 1 +
.../drm/i915/display/intel_modeset_setup.c | 3 +
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/xe/Makefile | 1 +
8 files changed, 217 insertions(+)
create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.c
create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.h
create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg_regs.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 3dda9f0eda82..7e7414453765 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -231,6 +231,7 @@ i915-y += \
display/intel_bo.o \
display/intel_bw.o \
display/intel_cdclk.o \
+ display/intel_cmtg.o \
display/intel_color.o \
display/intel_combo_phy.o \
display/intel_connector.o \
diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c
new file mode 100644
index 000000000000..a2f26b297733
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_cmtg.c
@@ -0,0 +1,176 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright (C) 2025 Intel Corporation
+ */
+
+#include <linux/string_choices.h>
+#include <linux/types.h>
+
+#include <drm/drm_device.h>
+#include <drm/drm_print.h>
+
+#include "i915_reg.h"
+#include "intel_crtc.h"
+#include "intel_cmtg.h"
+#include "intel_cmtg_regs.h"
+#include "intel_de.h"
+#include "intel_display_device.h"
+
+/**
+ * DOC: Common Primary Timing Generator (CMTG)
+ *
+ * The CMTG is a timing generator that runs in parallel to transcoders timing
+ * generators (TG) to provide a synchronization mechanism where CMTG acts as
+ * primary and transcoders TGs act as secondary to the CMTG. The CMTG outputs
+ * its TG start and frame sync signals to the transcoders that are configured
+ * as secondary, which use those signals to synchronize their own timing with
+ * the CMTG's.
+ *
+ * The CMTG can be used only with eDP or MIPI command mode and supports the
+ * following use cases:
+ *
+ * - Dual eDP: The CMTG can be used to keep two eDP TGs in sync when on a
+ * dual eDP configuration (with or without PSR/PSR2 enabled).
+ *
+ * - Single eDP as secondary: It is also possible to use a single eDP
+ * configuration with the transcoder TG as secondary to the CMTG. That would
+ * allow a flow that would not require a modeset on the existing eDP when a
+ * new eDP is added for a dual eDP configuration with CMTG.
+ *
+ * - DC6v: In DC6v, the transcoder might be off but the CMTG keeps running to
+ * maintain frame timings. When exiting DC6v, the transcoder TG then is
+ * synced back the CMTG.
+ *
+ * Currently, the driver does not use the CMTG, but we need to make sure that
+ * we disable it in case we inherit a display configuration with it enabled.
+ */
+
+/*
+ * We describe here only the minimum data required to allow us to properly
+ * disable the CMTG if necessary.
+ */
+struct intel_cmtg_config {
+ bool cmtg_a_enable;
+ /*
+ * Xe2_LPD adds a second CMTG that can be used for dual eDP async mode.
+ */
+ bool cmtg_b_enable;
+ bool trans_a_secondary;
+ bool trans_b_secondary;
+};
+
+static bool intel_cmtg_has_cmtg_b(struct intel_display *display)
+{
+ return DISPLAY_VER(display) >= 20;
+}
+
+static bool intel_cmtg_has_clock_sel(struct intel_display *display)
+{
+ return DISPLAY_VER(display) >= 14;
+}
+
+static void intel_cmtg_dump_config(struct intel_display *display,
+ struct intel_cmtg_config *cmtg_config)
+{
+ drm_dbg_kms(display->drm,
+ "CMTG readout: CMTG A: %s, CMTG B: %s, Transcoder A secondary: %s, Transcoder B secondary: %s\n",
+ str_enabled_disabled(cmtg_config->cmtg_a_enable),
+ intel_cmtg_has_cmtg_b(display) ? str_enabled_disabled(cmtg_config->cmtg_b_enable) : "n/a",
+ str_yes_no(cmtg_config->trans_a_secondary),
+ str_yes_no(cmtg_config->trans_b_secondary));
+}
+
+static void intel_cmtg_get_config(struct intel_display *display,
+ struct intel_cmtg_config *cmtg_config)
+{
+ u32 val;
+
+ val = intel_de_read(display, TRANS_CMTG_CTL_A);
+ cmtg_config->cmtg_a_enable = val & CMTG_ENABLE;
+
+ if (intel_cmtg_has_cmtg_b(display)) {
+ val = intel_de_read(display, TRANS_CMTG_CTL_B);
+ cmtg_config->cmtg_b_enable = val & CMTG_ENABLE;
+ }
+
+ if (intel_crtc_for_pipe(display, PIPE_A)) {
+ val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A));
+ cmtg_config->trans_a_secondary = val & CMTG_SECONDARY_MODE;
+ }
+
+ if (intel_crtc_for_pipe(display, PIPE_B)) {
+ val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B));
+ cmtg_config->trans_b_secondary = val & CMTG_SECONDARY_MODE;
+ }
+}
+
+static bool intel_cmtg_disable_requires_modeset(struct intel_display *display,
+ struct intel_cmtg_config *cmtg_config)
+{
+ if (DISPLAY_VER(display) >= 20)
+ return false;
+
+ return cmtg_config->trans_a_secondary || cmtg_config->trans_b_secondary;
+}
+
+static void intel_cmtg_disable(struct intel_display *display,
+ struct intel_cmtg_config *cmtg_config)
+{
+ u32 clk_sel_clr = 0;
+ u32 clk_sel_set = 0;
+
+ if (cmtg_config->trans_a_secondary)
+ intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A),
+ CMTG_SECONDARY_MODE, 0);
+
+ if (cmtg_config->trans_b_secondary)
+ intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B),
+ CMTG_SECONDARY_MODE, 0);
+
+ if (cmtg_config->cmtg_a_enable) {
+ drm_dbg_kms(display->drm, "Disabling CMTG A\n");
+ intel_de_rmw(display, TRANS_CMTG_CTL_A, CMTG_ENABLE, 0);
+ clk_sel_clr |= CMTG_CLK_SEL_A_MASK;
+ clk_sel_set |= CMTG_CLK_SEL_A_DISABLED;
+ }
+
+ if (cmtg_config->cmtg_b_enable) {
+ drm_dbg_kms(display->drm, "Disabling CMTG B\n");
+ intel_de_rmw(display, TRANS_CMTG_CTL_B, CMTG_ENABLE, 0);
+ clk_sel_clr |= CMTG_CLK_SEL_B_MASK;
+ clk_sel_set |= CMTG_CLK_SEL_B_DISABLED;
+ }
+
+ if (intel_cmtg_has_clock_sel(display) && clk_sel_clr)
+ intel_de_rmw(display, CMTG_CLK_SEL, clk_sel_clr, clk_sel_set);
+}
+
+/*
+ * Read out CMTG configuration and, on platforms that allow disabling it without
+ * a modeset, do it.
+ *
+ * This function must be called before any port PLL is disabled in the general
+ * sanitization process, because we need whatever port PLL that is providing the
+ * clock for CMTG to be on before accessing CMTG registers.
+ */
+void intel_cmtg_sanitize(struct intel_display *display)
+{
+ struct intel_cmtg_config cmtg_config = {};
+
+ if (!HAS_CMTG(display))
+ return;
+
+ intel_cmtg_get_config(display, &cmtg_config);
+ intel_cmtg_dump_config(display, &cmtg_config);
+
+ /*
+ * FIXME: The driver is not prepared to handle cases where a modeset is
+ * required for disabling the CMTG: we need a proper way of tracking
+ * CMTG state and do the right syncronization with respect to triggering
+ * the modeset as part of the disable sequence.
+ */
+ if (intel_cmtg_disable_requires_modeset(display, &cmtg_config))
+ return;
+
+ intel_cmtg_disable(display, &cmtg_config);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.h b/drivers/gpu/drm/i915/display/intel_cmtg.h
new file mode 100644
index 000000000000..ba62199adaa2
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_cmtg.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright (C) 2025 Intel Corporation
+ */
+
+#ifndef __INTEL_CMTG_H__
+#define __INTEL_CMTG_H__
+
+struct intel_display;
+
+void intel_cmtg_sanitize(struct intel_display *display);
+
+#endif /* __INTEL_CMTG_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h
new file mode 100644
index 000000000000..668e41d65e86
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright (C) 2025 Intel Corporation
+ */
+
+#ifndef __INTEL_CMTG_REGS_H__
+#define __INTEL_CMTG_REGS_H__
+
+#include "i915_reg_defs.h"
+
+#define CMTG_CLK_SEL _MMIO(0x46160)
+#define CMTG_CLK_SEL_A_MASK REG_GENMASK(31, 29)
+#define CMTG_CLK_SEL_A_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_A_MASK, 0)
+#define CMTG_CLK_SEL_B_MASK REG_GENMASK(15, 13)
+#define CMTG_CLK_SEL_B_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_B_MASK, 0)
+
+#define TRANS_CMTG_CTL_A _MMIO(0x6fa88)
+#define TRANS_CMTG_CTL_B _MMIO(0x6fb88)
+#define CMTG_ENABLE REG_BIT(31)
+
+#endif /* __INTEL_CMTG_REGS_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index a7b5ce69cf17..fc33791f02b9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -146,6 +146,7 @@ struct intel_display_platforms {
#define HAS_BIGJOINER(__display) (DISPLAY_VER(__display) >= 11 && HAS_DSC(__display))
#define HAS_CDCLK_CRAWL(__display) (DISPLAY_INFO(__display)->has_cdclk_crawl)
#define HAS_CDCLK_SQUASH(__display) (DISPLAY_INFO(__display)->has_cdclk_squash)
+#define HAS_CMTG(__display) (!(__display)->platform.dg2 && DISPLAY_VER(__display) >= 13)
#define HAS_CUR_FBC(__display) (!HAS_GMCH(__display) && IS_DISPLAY_VER(__display, 7, 13))
#define HAS_D12_PLANE_MINIMIZATION(__display) ((__display)->platform.rocketlake || (__display)->platform.alderlake_s)
#define HAS_DBUF_OVERLAP_DETECTION(__display) (DISPLAY_RUNTIME_INFO(__display)->has_dbuf_overlap_detection)
diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
index 9a2bea19f17b..10cdfdad82e4 100644
--- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
+++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
@@ -15,6 +15,7 @@
#include "i9xx_wm.h"
#include "intel_atomic.h"
#include "intel_bw.h"
+#include "intel_cmtg.h"
#include "intel_color.h"
#include "intel_crtc.h"
#include "intel_crtc_state_dump.h"
@@ -978,6 +979,8 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915,
intel_pch_sanitize(i915);
+ intel_cmtg_sanitize(display);
+
/*
* intel_sanitize_plane_mapping() may need to do vblank
* waits, so we need vblank interrupts restored beforehand.
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 765e6c0528fb..b34bccfb1ccc 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -3565,6 +3565,7 @@ enum skl_power_gate {
#define _TRANS_DDI_FUNC_CTL2_DSI1 0x6bc04
#define TRANS_DDI_FUNC_CTL2(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _TRANS_DDI_FUNC_CTL2_A)
#define PORT_SYNC_MODE_ENABLE REG_BIT(4)
+#define CMTG_SECONDARY_MODE REG_BIT(3)
#define PORT_SYNC_MODE_MASTER_SELECT_MASK REG_GENMASK(2, 0)
#define PORT_SYNC_MODE_MASTER_SELECT(x) REG_FIELD_PREP(PORT_SYNC_MODE_MASTER_SELECT_MASK, (x))
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 68861db5f27c..d80e0766db35 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -200,6 +200,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_bios.o \
i915-display/intel_bw.o \
i915-display/intel_cdclk.o \
+ i915-display/intel_cmtg.o \
i915-display/intel_color.o \
i915-display/intel_combo_phy.o \
i915-display/intel_connector.o \
--
2.48.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa @ 2025-01-22 20:49 ` Patchwork 2025-01-22 20:49 ` ✗ Fi.CI.SPARSE: " Patchwork ` (4 subsequent siblings) 5 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-01-22 20:49 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx == Series Details == Series: drm/i915/cmtg: Disable the CMTG (rev8) URL : https://patchwork.freedesktop.org/series/142947/ State : warning == Summary == Error: dim checkpatch failed c66a6e106e08 drm/i915/cmtg: Disable the CMTG -:83: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #83: new file mode 100644 -:165: WARNING:LONG_LINE: line length of 110 exceeds 100 columns #165: FILE: drivers/gpu/drm/i915/display/intel_cmtg.c:78: + intel_cmtg_has_cmtg_b(display) ? str_enabled_disabled(cmtg_config->cmtg_b_enable) : "n/a", -:318: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__display' - possible side-effects? #318: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:149: +#define HAS_CMTG(__display) (!(__display)->platform.dg2 && DISPLAY_VER(__display) >= 13) total: 0 errors, 2 warnings, 1 checks, 253 lines checked ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✗ Fi.CI.SPARSE: warning for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa 2025-01-22 20:49 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/cmtg: Disable the CMTG (rev8) Patchwork @ 2025-01-22 20:49 ` Patchwork 2025-01-22 21:00 ` ✗ i915.CI.BAT: failure " Patchwork ` (3 subsequent siblings) 5 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-01-22 20:49 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx == Series Details == Series: drm/i915/cmtg: Disable the CMTG (rev8) URL : https://patchwork.freedesktop.org/series/142947/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✗ i915.CI.BAT: failure for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa 2025-01-22 20:49 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/cmtg: Disable the CMTG (rev8) Patchwork 2025-01-22 20:49 ` ✗ Fi.CI.SPARSE: " Patchwork @ 2025-01-22 21:00 ` Patchwork 2025-01-22 21:42 ` Gustavo Sousa 2025-01-23 6:25 ` ✓ i915.CI.BAT: success " Patchwork ` (2 subsequent siblings) 5 siblings, 1 reply; 12+ messages in thread From: Patchwork @ 2025-01-22 21:00 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 6808 bytes --] == Series Details == Series: drm/i915/cmtg: Disable the CMTG (rev8) URL : https://patchwork.freedesktop.org/series/142947/ State : failure == Summary == CI Bug Log - changes from CI_DRM_16002 -> Patchwork_142947v8 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_142947v8 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_142947v8, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/index.html Participating hosts (43 -> 43) ------------------------------ Additional (1): fi-ivb-3770 Missing (1): fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_142947v8: ### IGT changes ### #### Possible regressions #### * igt@core_hotunplug@unbind-rebind: - fi-cfl-8109u: [PASS][1] -> [DMESG-WARN][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html Known issues ------------ Here are the changes found in Patchwork_142947v8 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@debugfs_test@basic-hwmon: - fi-pnv-d510: NOTRUN -> [SKIP][3] +3 other tests skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-pnv-d510/igt@debugfs_test@basic-hwmon.html * igt@gem_exec_gttfill@basic: - fi-pnv-d510: NOTRUN -> [ABORT][4] ([i915#13169]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-pnv-d510/igt@gem_exec_gttfill@basic.html * igt@i915_pm_rpm@module-reload: - bat-dg2-11: [PASS][5] -> [FAIL][6] ([i915#13401]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-dg2-11/igt@i915_pm_rpm@module-reload.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-dg2-11/igt@i915_pm_rpm@module-reload.html - bat-adls-6: [PASS][7] -> [FAIL][8] ([i915#13401]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-adls-6/igt@i915_pm_rpm@module-reload.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-adls-6/igt@i915_pm_rpm@module-reload.html - bat-rpls-4: [PASS][9] -> [FAIL][10] ([i915#13401]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-rpls-4/igt@i915_pm_rpm@module-reload.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-rpls-4/igt@i915_pm_rpm@module-reload.html - fi-cfl-8109u: [PASS][11] -> [DMESG-WARN][12] ([i915#11621] / [i915#13445]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live@late_gt_pm: - fi-cfl-8109u: [PASS][13] -> [DMESG-WARN][14] ([i915#11621]) +37 other tests dmesg-warn [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-b-vga-1: - fi-ivb-3770: NOTRUN -> [SKIP][15] +23 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-ivb-3770/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-b-vga-1.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: [PASS][16] -> [SKIP][17] ([i915#9197]) +3 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@i915_module_load@load: - fi-pnv-d510: [ABORT][18] ([i915#13203]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-pnv-d510/igt@i915_module_load@load.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-pnv-d510/igt@i915_module_load@load.html - {bat-mtlp-9}: [DMESG-WARN][20] ([i915#13494]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-mtlp-9/igt@i915_module_load@load.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-mtlp-9/igt@i915_module_load@load.html * igt@i915_selftest@live: - bat-adlp-6: [ABORT][22] -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-adlp-6/igt@i915_selftest@live.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-adlp-6/igt@i915_selftest@live.html * igt@i915_selftest@live@guc: - bat-adlp-6: [ABORT][24] ([i915#13399]) -> [PASS][25] [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-adlp-6/igt@i915_selftest@live@guc.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-adlp-6/igt@i915_selftest@live@guc.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#11621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11621 [i915#13169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13169 [i915#13203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13203 [i915#13399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13399 [i915#13401]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13401 [i915#13445]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13445 [i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494 [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197 Build changes ------------- * Linux: CI_DRM_16002 -> Patchwork_142947v8 CI-20190529: 20190529 CI_DRM_16002: d577d9e67e5ac149fcd4442327210b831cddb308 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8206: 48d7780a026179e5de232142df3ac59fec6487ee @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_142947v8: d577d9e67e5ac149fcd4442327210b831cddb308 @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/index.html [-- Attachment #2: Type: text/html, Size: 7913 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ✗ i915.CI.BAT: failure for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 21:00 ` ✗ i915.CI.BAT: failure " Patchwork @ 2025-01-22 21:42 ` Gustavo Sousa 2025-01-23 11:18 ` Ravali, JupallyX 0 siblings, 1 reply; 12+ messages in thread From: Gustavo Sousa @ 2025-01-22 21:42 UTC (permalink / raw) To: I915-ci-infra, intel-gfx; +Cc: intel-gfx Quoting Patchwork (2025-01-22 18:00:52-03:00) >== Series Details == > >Series: drm/i915/cmtg: Disable the CMTG (rev8) >URL : https://patchwork.freedesktop.org/series/142947/ >State : failure > >== Summary == > >CI Bug Log - changes from CI_DRM_16002 -> Patchwork_142947v8 >==================================================== > >Summary >------- > > **FAILURE** > > Serious unknown changes coming with Patchwork_142947v8 absolutely need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_142947v8, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them > to document this new failure mode, which will reduce false positives in CI. > > External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/index.html > >Participating hosts (43 -> 43) >------------------------------ > > Additional (1): fi-ivb-3770 > Missing (1): fi-snb-2520m > >Possible new issues >------------------- > > Here are the unknown changes that may have been introduced in Patchwork_142947v8: > >### IGT changes ### > >#### Possible regressions #### > > * igt@core_hotunplug@unbind-rebind: > - fi-cfl-8109u: [PASS][1] -> [DMESG-WARN][2] > [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html > [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html Hi, CI Team. This seems unrelated to this patch. Display version 9 does not have the CMTG and, as such, intel_cmtg_sanitize() would simply return without doing anything. Could you please re-report? -- Gustavo Sousa ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: ✗ i915.CI.BAT: failure for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 21:42 ` Gustavo Sousa @ 2025-01-23 11:18 ` Ravali, JupallyX 0 siblings, 0 replies; 12+ messages in thread From: Ravali, JupallyX @ 2025-01-23 11:18 UTC (permalink / raw) To: i915-ci-infra@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Hi, https://patchwork.freedesktop.org/series/142947/ - Re-reported. i915.CI.BAT - Re-reported. Thanks, Ravali. -----Original Message----- From: I915-ci-infra <i915-ci-infra-bounces@lists.freedesktop.org> On Behalf Of Gustavo Sousa Sent: 23 January 2025 03:13 To: I915-ci-infra@lists.freedesktop.org; intel-gfx@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Subject: Re: ✗ i915.CI.BAT: failure for drm/i915/cmtg: Disable the CMTG (rev8) Quoting Patchwork (2025-01-22 18:00:52-03:00) >== Series Details == > >Series: drm/i915/cmtg: Disable the CMTG (rev8) >URL : https://patchwork.freedesktop.org/series/142947/ >State : failure > >== Summary == > >CI Bug Log - changes from CI_DRM_16002 -> Patchwork_142947v8 >==================================================== > >Summary >------- > > **FAILURE** > > Serious unknown changes coming with Patchwork_142947v8 absolutely > need to be verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_142947v8, please notify your bug team > (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. > > External URL: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/index.html > >Participating hosts (43 -> 43) >------------------------------ > > Additional (1): fi-ivb-3770 > Missing (1): fi-snb-2520m > >Possible new issues >------------------- > > Here are the unknown changes that may have been introduced in Patchwork_142947v8: > >### IGT changes ### > >#### Possible regressions #### > > * igt@core_hotunplug@unbind-rebind: > - fi-cfl-8109u: [PASS][1] -> [DMESG-WARN][2] > [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html > [2]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-810 > 9u/igt@core_hotunplug@unbind-rebind.html Hi, CI Team. This seems unrelated to this patch. Display version 9 does not have the CMTG and, as such, intel_cmtg_sanitize() would simply return without doing anything. Could you please re-report? -- Gustavo Sousa ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa ` (2 preceding siblings ...) 2025-01-22 21:00 ` ✗ i915.CI.BAT: failure " Patchwork @ 2025-01-23 6:25 ` Patchwork 2025-01-23 21:17 ` ✓ i915.CI.Full: " Patchwork 2025-01-24 13:02 ` [PATCH v7] drm/i915/cmtg: Disable the CMTG Ville Syrjälä 5 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-01-23 6:25 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 6024 bytes --] == Series Details == Series: drm/i915/cmtg: Disable the CMTG (rev8) URL : https://patchwork.freedesktop.org/series/142947/ State : success == Summary == CI Bug Log - changes from CI_DRM_16002 -> Patchwork_142947v8 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/index.html Participating hosts (43 -> 43) ------------------------------ Additional (1): fi-ivb-3770 Missing (1): fi-snb-2520m Known issues ------------ Here are the changes found in Patchwork_142947v8 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@core_hotunplug@unbind-rebind: - fi-cfl-8109u: [PASS][1] -> [DMESG-WARN][2] ([i915#13445]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html * igt@debugfs_test@basic-hwmon: - fi-pnv-d510: NOTRUN -> [SKIP][3] +3 other tests skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-pnv-d510/igt@debugfs_test@basic-hwmon.html * igt@gem_exec_gttfill@basic: - fi-pnv-d510: NOTRUN -> [ABORT][4] ([i915#13169]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-pnv-d510/igt@gem_exec_gttfill@basic.html * igt@i915_pm_rpm@module-reload: - bat-dg2-11: [PASS][5] -> [FAIL][6] ([i915#13401]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-dg2-11/igt@i915_pm_rpm@module-reload.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-dg2-11/igt@i915_pm_rpm@module-reload.html - bat-adls-6: [PASS][7] -> [FAIL][8] ([i915#13401]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-adls-6/igt@i915_pm_rpm@module-reload.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-adls-6/igt@i915_pm_rpm@module-reload.html - bat-rpls-4: [PASS][9] -> [FAIL][10] ([i915#13401]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-rpls-4/igt@i915_pm_rpm@module-reload.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-rpls-4/igt@i915_pm_rpm@module-reload.html - fi-cfl-8109u: [PASS][11] -> [DMESG-WARN][12] ([i915#11621] / [i915#13445]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live@late_gt_pm: - fi-cfl-8109u: [PASS][13] -> [DMESG-WARN][14] ([i915#11621]) +37 other tests dmesg-warn [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-b-vga-1: - fi-ivb-3770: NOTRUN -> [SKIP][15] +23 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-ivb-3770/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-b-vga-1.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: [PASS][16] -> [SKIP][17] ([i915#9197]) +3 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@i915_module_load@load: - fi-pnv-d510: [ABORT][18] ([i915#13203]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/fi-pnv-d510/igt@i915_module_load@load.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/fi-pnv-d510/igt@i915_module_load@load.html - {bat-mtlp-9}: [DMESG-WARN][20] ([i915#13494]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-mtlp-9/igt@i915_module_load@load.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-mtlp-9/igt@i915_module_load@load.html * igt@i915_selftest@live@guc: - bat-adlp-6: [ABORT][22] ([i915#13399]) -> [PASS][23] +1 other test pass [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/bat-adlp-6/igt@i915_selftest@live@guc.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/bat-adlp-6/igt@i915_selftest@live@guc.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#11621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11621 [i915#13169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13169 [i915#13203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13203 [i915#13399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13399 [i915#13401]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13401 [i915#13445]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13445 [i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494 [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197 Build changes ------------- * Linux: CI_DRM_16002 -> Patchwork_142947v8 CI-20190529: 20190529 CI_DRM_16002: d577d9e67e5ac149fcd4442327210b831cddb308 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8206: 48d7780a026179e5de232142df3ac59fec6487ee @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_142947v8: d577d9e67e5ac149fcd4442327210b831cddb308 @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/index.html [-- Attachment #2: Type: text/html, Size: 7166 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✓ i915.CI.Full: success for drm/i915/cmtg: Disable the CMTG (rev8) 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa ` (3 preceding siblings ...) 2025-01-23 6:25 ` ✓ i915.CI.BAT: success " Patchwork @ 2025-01-23 21:17 ` Patchwork 2025-01-24 13:02 ` [PATCH v7] drm/i915/cmtg: Disable the CMTG Ville Syrjälä 5 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-01-23 21:17 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 99811 bytes --] == Series Details == Series: drm/i915/cmtg: Disable the CMTG (rev8) URL : https://patchwork.freedesktop.org/series/142947/ State : success == Summary == CI Bug Log - changes from CI_DRM_16002_full -> Patchwork_142947v8_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (11 -> 10) ------------------------------ Missing (1): shard-glk-0 Known issues ------------ Here are the changes found in Patchwork_142947v8_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@blit-reloc-purge-cache: - shard-dg2: NOTRUN -> [SKIP][1] ([i915#8411]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@api_intel_bb@blit-reloc-purge-cache.html * igt@api_intel_bb@object-reloc-keep-cache: - shard-dg1: NOTRUN -> [SKIP][2] ([i915#8411]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@api_intel_bb@object-reloc-keep-cache.html * igt@device_reset@cold-reset-bound: - shard-tglu: NOTRUN -> [SKIP][3] ([i915#11078]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@device_reset@cold-reset-bound.html * igt@device_reset@unbind-reset-rebind: - shard-tglu: [PASS][4] -> [ABORT][5] ([i915#12817] / [i915#5507]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-tglu-3/igt@device_reset@unbind-reset-rebind.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-3/igt@device_reset@unbind-reset-rebind.html * igt@drm_fdinfo@all-busy-check-all: - shard-dg2: NOTRUN -> [SKIP][6] ([i915#8414]) +1 other test skip [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@drm_fdinfo@all-busy-check-all.html * igt@drm_fdinfo@busy-idle-check-all@vcs1: - shard-dg1: NOTRUN -> [SKIP][7] ([i915#8414]) +5 other tests skip [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@drm_fdinfo@busy-idle-check-all@vcs1.html * igt@drm_fdinfo@busy-idle@vecs0: - shard-mtlp: NOTRUN -> [SKIP][8] ([i915#8414]) +6 other tests skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@drm_fdinfo@busy-idle@vecs0.html * igt@gem_bad_reloc@negative-reloc-lut: - shard-dg1: NOTRUN -> [SKIP][9] ([i915#3281]) +2 other tests skip [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@gem_bad_reloc@negative-reloc-lut.html * igt@gem_ccs@large-ctrl-surf-copy: - shard-tglu-1: NOTRUN -> [SKIP][10] ([i915#13008]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@gem_ccs@large-ctrl-surf-copy.html * igt@gem_ccs@suspend-resume: - shard-dg2: [PASS][11] -> [INCOMPLETE][12] ([i915#7297]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-8/igt@gem_ccs@suspend-resume.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-4/igt@gem_ccs@suspend-resume.html - shard-tglu: NOTRUN -> [SKIP][13] ([i915#9323]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@gem_ccs@suspend-resume.html * igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0: - shard-dg2: [PASS][14] -> [INCOMPLETE][15] ([i915#12392] / [i915#7297]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-8/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-4/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html * igt@gem_create@create-ext-cpu-access-big: - shard-mtlp: NOTRUN -> [SKIP][16] ([i915#6335]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_create@create-ext-cpu-access-big.html * igt@gem_create@create-ext-cpu-access-sanity-check: - shard-tglu: NOTRUN -> [SKIP][17] ([i915#6335]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@gem_create@create-ext-cpu-access-sanity-check.html * igt@gem_create@create-ext-set-pat: - shard-rkl: NOTRUN -> [SKIP][18] ([i915#8562]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_create@create-ext-set-pat.html * igt@gem_ctx_freq@sysfs: - shard-mtlp: [PASS][19] -> [FAIL][20] ([i915#9561]) +1 other test fail [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-4/igt@gem_ctx_freq@sysfs.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_ctx_freq@sysfs.html * igt@gem_ctx_persistence@engines-hostile-preempt: - shard-snb: NOTRUN -> [SKIP][21] ([i915#1099]) +3 other tests skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb2/igt@gem_ctx_persistence@engines-hostile-preempt.html * igt@gem_ctx_persistence@heartbeat-stop: - shard-dg1: NOTRUN -> [SKIP][22] ([i915#8555]) +1 other test skip [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@gem_ctx_persistence@heartbeat-stop.html * igt@gem_ctx_persistence@saturated-hostile-nopreempt: - shard-dg2: NOTRUN -> [SKIP][23] ([i915#5882]) +7 other tests skip [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@gem_ctx_persistence@saturated-hostile-nopreempt.html * igt@gem_ctx_sseu@engines: - shard-dg2: NOTRUN -> [SKIP][24] ([i915#280]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_ctx_sseu@engines.html * igt@gem_ctx_sseu@invalid-args: - shard-dg1: NOTRUN -> [SKIP][25] ([i915#280]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@gem_ctx_sseu@invalid-args.html * igt@gem_ctx_sseu@invalid-sseu: - shard-rkl: NOTRUN -> [SKIP][26] ([i915#280]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_ctx_sseu@invalid-sseu.html * igt@gem_ctx_sseu@mmap-args: - shard-tglu: NOTRUN -> [SKIP][27] ([i915#280]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@gem_ctx_sseu@mmap-args.html * igt@gem_eio@hibernate: - shard-dg2: NOTRUN -> [ABORT][28] ([i915#10030] / [i915#7975] / [i915#8213]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_eio@hibernate.html * igt@gem_eio@unwedge-stress: - shard-mtlp: [PASS][29] -> [ABORT][30] ([i915#13193]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-2/igt@gem_eio@unwedge-stress.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-7/igt@gem_eio@unwedge-stress.html - shard-snb: NOTRUN -> [FAIL][31] ([i915#8898]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb7/igt@gem_eio@unwedge-stress.html * igt@gem_exec_balancer@bonded-false-hang: - shard-mtlp: NOTRUN -> [SKIP][32] ([i915#4812]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_exec_balancer@bonded-false-hang.html * igt@gem_exec_balancer@noheartbeat: - shard-dg2: NOTRUN -> [SKIP][33] ([i915#8555]) +1 other test skip [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@gem_exec_balancer@noheartbeat.html * igt@gem_exec_capture@capture-recoverable: - shard-rkl: NOTRUN -> [SKIP][34] ([i915#6344]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_exec_capture@capture-recoverable.html * igt@gem_exec_fence@submit67: - shard-dg2: NOTRUN -> [SKIP][35] ([i915#4812]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@gem_exec_fence@submit67.html * igt@gem_exec_flush@basic-uc-prw-default: - shard-dg2: NOTRUN -> [SKIP][36] ([i915#3539]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_exec_flush@basic-uc-prw-default.html * igt@gem_exec_flush@basic-uc-ro-default: - shard-dg1: NOTRUN -> [SKIP][37] ([i915#3539] / [i915#4852]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@gem_exec_flush@basic-uc-ro-default.html * igt@gem_exec_flush@basic-uc-set-default: - shard-dg1: NOTRUN -> [SKIP][38] ([i915#3539]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_exec_flush@basic-uc-set-default.html * igt@gem_exec_flush@basic-wb-prw-default: - shard-dg2: NOTRUN -> [SKIP][39] ([i915#3539] / [i915#4852]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@gem_exec_flush@basic-wb-prw-default.html * igt@gem_exec_reloc@basic-cpu-read-noreloc: - shard-mtlp: NOTRUN -> [SKIP][40] ([i915#3281]) +4 other tests skip [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@gem_exec_reloc@basic-cpu-read-noreloc.html * igt@gem_exec_reloc@basic-gtt-noreloc: - shard-rkl: NOTRUN -> [SKIP][41] ([i915#3281]) +3 other tests skip [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-noreloc.html * igt@gem_exec_reloc@basic-write-gtt-noreloc: - shard-dg2: NOTRUN -> [SKIP][42] ([i915#3281]) +6 other tests skip [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_exec_reloc@basic-write-gtt-noreloc.html * igt@gem_exec_schedule@preempt-queue-contexts: - shard-dg2: NOTRUN -> [SKIP][43] ([i915#4537] / [i915#4812]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@gem_exec_schedule@preempt-queue-contexts.html * igt@gem_exec_suspend@basic-s4-devices: - shard-mtlp: [PASS][44] -> [ABORT][45] ([i915#7975]) +1 other test abort [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-4/igt@gem_exec_suspend@basic-s4-devices.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-7/igt@gem_exec_suspend@basic-s4-devices.html * igt@gem_fence_thrash@bo-write-verify-x: - shard-dg2: NOTRUN -> [SKIP][46] ([i915#4860]) +2 other tests skip [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_fence_thrash@bo-write-verify-x.html * igt@gem_fenced_exec_thrash@2-spare-fences: - shard-dg1: NOTRUN -> [SKIP][47] ([i915#4860]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_fenced_exec_thrash@2-spare-fences.html * igt@gem_fenced_exec_thrash@too-many-fences: - shard-mtlp: NOTRUN -> [SKIP][48] ([i915#4860]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@gem_fenced_exec_thrash@too-many-fences.html * igt@gem_huc_copy@huc-copy: - shard-rkl: NOTRUN -> [SKIP][49] ([i915#2190]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@heavy-verify-random-ccs: - shard-rkl: NOTRUN -> [SKIP][50] ([i915#4613]) +1 other test skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_lmem_swapping@heavy-verify-random-ccs.html * igt@gem_lmem_swapping@random: - shard-mtlp: NOTRUN -> [SKIP][51] ([i915#4613]) +1 other test skip [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_lmem_swapping@random.html * igt@gem_lmem_swapping@smem-oom: - shard-tglu: NOTRUN -> [SKIP][52] ([i915#4613]) +1 other test skip [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@gem_lmem_swapping@smem-oom.html * igt@gem_lmem_swapping@smem-oom@lmem0: - shard-dg1: [PASS][53] -> [TIMEOUT][54] ([i915#5493]) +1 other test timeout [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-13/igt@gem_lmem_swapping@smem-oom@lmem0.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_lmem_swapping@smem-oom@lmem0.html * igt@gem_lmem_swapping@verify-ccs: - shard-glk: NOTRUN -> [SKIP][55] ([i915#4613]) +1 other test skip [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk4/igt@gem_lmem_swapping@verify-ccs.html * igt@gem_media_vme: - shard-dg1: NOTRUN -> [SKIP][56] ([i915#284]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_media_vme.html * igt@gem_mmap@bad-size: - shard-dg2: NOTRUN -> [SKIP][57] ([i915#4083]) +4 other tests skip [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@gem_mmap@bad-size.html * igt@gem_mmap@short-mmap: - shard-mtlp: NOTRUN -> [SKIP][58] ([i915#4083]) +3 other tests skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_mmap@short-mmap.html * igt@gem_mmap_gtt@basic-small-bo: - shard-dg1: NOTRUN -> [SKIP][59] ([i915#4077]) +4 other tests skip [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_mmap_gtt@basic-small-bo.html * igt@gem_mmap_gtt@big-copy-xy: - shard-dg2: NOTRUN -> [SKIP][60] ([i915#4077]) +9 other tests skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@gem_mmap_gtt@big-copy-xy.html * igt@gem_mmap_wc@bad-offset: - shard-dg1: NOTRUN -> [SKIP][61] ([i915#4083]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_mmap_wc@bad-offset.html * igt@gem_pwrite@basic-exhaustion: - shard-snb: NOTRUN -> [WARN][62] ([i915#2658]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb2/igt@gem_pwrite@basic-exhaustion.html - shard-glk: NOTRUN -> [WARN][63] ([i915#2658]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk1/igt@gem_pwrite@basic-exhaustion.html * igt@gem_pwrite@basic-random: - shard-dg2: NOTRUN -> [SKIP][64] ([i915#3282]) +4 other tests skip [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@gem_pwrite@basic-random.html * igt@gem_pwrite_snooped: - shard-mtlp: NOTRUN -> [SKIP][65] ([i915#3282]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_pwrite_snooped.html * igt@gem_pxp@create-valid-protected-context: - shard-dg2: NOTRUN -> [SKIP][66] ([i915#4270]) +1 other test skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_pxp@create-valid-protected-context.html * igt@gem_pxp@hw-rejects-pxp-context: - shard-tglu: NOTRUN -> [SKIP][67] ([i915#13398]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@gem_pxp@hw-rejects-pxp-context.html * igt@gem_pxp@regular-baseline-src-copy-readible: - shard-dg1: NOTRUN -> [SKIP][68] ([i915#4270]) +1 other test skip [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@gem_pxp@regular-baseline-src-copy-readible.html * igt@gem_pxp@reject-modify-context-protection-on: - shard-rkl: NOTRUN -> [TIMEOUT][69] ([i915#12917] / [i915#12964]) +2 other tests timeout [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_pxp@reject-modify-context-protection-on.html * igt@gem_render_copy@y-tiled-ccs-to-linear: - shard-dg2: NOTRUN -> [SKIP][70] ([i915#5190] / [i915#8428]) +9 other tests skip [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@gem_render_copy@y-tiled-ccs-to-linear.html * igt@gem_render_copy@y-tiled-ccs-to-y-tiled-ccs: - shard-mtlp: NOTRUN -> [SKIP][71] ([i915#8428]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-ccs.html * igt@gem_set_tiling_vs_blt@tiled-to-untiled: - shard-mtlp: NOTRUN -> [SKIP][72] ([i915#4079]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html * igt@gem_set_tiling_vs_blt@untiled-to-tiled: - shard-dg1: NOTRUN -> [SKIP][73] ([i915#4079]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html * igt@gem_set_tiling_vs_pwrite: - shard-dg2: NOTRUN -> [SKIP][74] ([i915#4079]) [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@gem_set_tiling_vs_pwrite.html * igt@gem_softpin@evict-snoop: - shard-dg2: NOTRUN -> [SKIP][75] ([i915#4885]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@gem_softpin@evict-snoop.html * igt@gem_tiled_partial_pwrite_pread@writes: - shard-rkl: NOTRUN -> [SKIP][76] ([i915#3282]) +2 other tests skip [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gem_tiled_partial_pwrite_pread@writes.html * igt@gem_userptr_blits@dmabuf-sync: - shard-tglu: NOTRUN -> [SKIP][77] ([i915#3297] / [i915#3323]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy: - shard-dg2: NOTRUN -> [SKIP][78] ([i915#3297] / [i915#4880]) +1 other test skip [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html * igt@gem_userptr_blits@unsync-unmap-after-close: - shard-dg2: NOTRUN -> [SKIP][79] ([i915#3297]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-10/igt@gem_userptr_blits@unsync-unmap-after-close.html * igt@gem_userptr_blits@unsync-unmap-cycles: - shard-rkl: NOTRUN -> [SKIP][80] ([i915#3297]) +2 other tests skip [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@gem_userptr_blits@unsync-unmap-cycles.html * igt@gen9_exec_parse@allowed-all: - shard-dg1: NOTRUN -> [SKIP][81] ([i915#2527]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@gen9_exec_parse@allowed-all.html * igt@gen9_exec_parse@batch-without-end: - shard-rkl: NOTRUN -> [SKIP][82] ([i915#2527]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@gen9_exec_parse@batch-without-end.html * igt@gen9_exec_parse@bb-start-param: - shard-dg2: NOTRUN -> [SKIP][83] ([i915#2856]) +2 other tests skip [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-2/igt@gen9_exec_parse@bb-start-param.html * igt@gen9_exec_parse@shadow-peek: - shard-mtlp: NOTRUN -> [SKIP][84] ([i915#2856]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@gen9_exec_parse@shadow-peek.html * igt@gen9_exec_parse@unaligned-jump: - shard-tglu: NOTRUN -> [SKIP][85] ([i915#2527] / [i915#2856]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@gen9_exec_parse@unaligned-jump.html * igt@i915_fb_tiling: - shard-dg2: NOTRUN -> [SKIP][86] ([i915#4881]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@i915_fb_tiling.html * igt@i915_pm_freq_mult@media-freq@gt0: - shard-rkl: NOTRUN -> [SKIP][87] ([i915#6590]) +1 other test skip [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@i915_pm_freq_mult@media-freq@gt0.html * igt@i915_pm_rps@min-max-config-loaded: - shard-dg2: NOTRUN -> [SKIP][88] ([i915#11681] / [i915#6621]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@i915_pm_rps@min-max-config-loaded.html * igt@i915_pm_rps@thresholds-idle-park: - shard-dg1: NOTRUN -> [SKIP][89] ([i915#11681]) +1 other test skip [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@i915_pm_rps@thresholds-idle-park.html * igt@i915_pm_rps@thresholds-park: - shard-dg2: NOTRUN -> [SKIP][90] ([i915#11681]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@i915_pm_rps@thresholds-park.html * igt@i915_pm_sseu@full-enable: - shard-tglu: NOTRUN -> [SKIP][91] ([i915#4387]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@i915_pm_sseu@full-enable.html * igt@i915_query@query-topology-coherent-slice-mask: - shard-mtlp: NOTRUN -> [SKIP][92] ([i915#6188]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@i915_query@query-topology-coherent-slice-mask.html * igt@i915_selftest@mock: - shard-snb: NOTRUN -> [DMESG-WARN][93] ([i915#9311]) +1 other test dmesg-warn [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb2/igt@i915_selftest@mock.html * igt@i915_suspend@basic-s3-without-i915: - shard-tglu-1: NOTRUN -> [INCOMPLETE][94] ([i915#7443]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@i915_suspend@basic-s3-without-i915.html * igt@i915_suspend@forcewake: - shard-glk: NOTRUN -> [INCOMPLETE][95] ([i915#4817]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk4/igt@i915_suspend@forcewake.html * igt@intel_hwmon@hwmon-write: - shard-rkl: NOTRUN -> [SKIP][96] ([i915#7707]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@intel_hwmon@hwmon-write.html * igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling: - shard-dg1: NOTRUN -> [SKIP][97] ([i915#4212]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html * igt@kms_addfb_basic@addfb25-x-tiled-legacy: - shard-dg2: NOTRUN -> [SKIP][98] ([i915#4212]) [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-2/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html * igt@kms_async_flips@async-flip-with-page-flip-events-atomic: - shard-rkl: [PASS][99] -> [DMESG-WARN][100] ([i915#12964]) +9 other tests dmesg-warn [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-4/igt@kms_async_flips@async-flip-with-page-flip-events-atomic.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-1/igt@kms_async_flips@async-flip-with-page-flip-events-atomic.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][101] ([i915#8709]) +7 other tests skip [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-14/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@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-2-y-rc-ccs-cc: - shard-rkl: NOTRUN -> [SKIP][102] ([i915#8709]) +1 other test skip [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-1/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-2-y-rc-ccs-cc.html * igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-3-4-rc-ccs-cc: - shard-dg2: NOTRUN -> [SKIP][103] ([i915#8709]) +7 other tests skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-6/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-3-4-rc-ccs-cc.html * igt@kms_atomic@plane-primary-overlay-mutable-zpos: - shard-mtlp: NOTRUN -> [SKIP][104] ([i915#3555]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html * igt@kms_atomic_transition@plane-all-modeset-transition: - shard-mtlp: NOTRUN -> [SKIP][105] ([i915#1769] / [i915#3555]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_atomic_transition@plane-all-modeset-transition.html * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels@pipe-a-edp-1: - shard-mtlp: [PASS][106] -> [FAIL][107] ([i915#11808] / [i915#5956]) +1 other test fail [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-1/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels@pipe-a-edp-1.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-8/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels@pipe-a-edp-1.html * igt@kms_atomic_transition@plane-toggle-modeset-transition: - shard-dg2: [PASS][108] -> [FAIL][109] ([i915#5956]) +1 other test fail [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-8/igt@kms_atomic_transition@plane-toggle-modeset-transition.html * igt@kms_big_fb@4-tiled-16bpp-rotate-0: - shard-tglu: NOTRUN -> [SKIP][110] ([i915#5286]) +1 other test skip [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html * igt@kms_big_fb@4-tiled-64bpp-rotate-180: - shard-rkl: NOTRUN -> [SKIP][111] ([i915#5286]) +1 other test skip [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip: - shard-dg1: NOTRUN -> [SKIP][112] ([i915#4538] / [i915#5286]) +3 other tests skip [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip: - shard-tglu-1: NOTRUN -> [SKIP][113] ([i915#5286]) +1 other test skip [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html * igt@kms_big_fb@linear-16bpp-rotate-270: - shard-tglu: NOTRUN -> [SKIP][114] +44 other tests skip [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_big_fb@linear-16bpp-rotate-270.html * igt@kms_big_fb@linear-16bpp-rotate-90: - shard-dg1: NOTRUN -> [SKIP][115] ([i915#3638]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_big_fb@linear-16bpp-rotate-90.html * igt@kms_big_fb@linear-64bpp-rotate-90: - shard-rkl: NOTRUN -> [SKIP][116] ([i915#3638]) +2 other tests skip [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_big_fb@linear-64bpp-rotate-90.html * igt@kms_big_fb@y-tiled-16bpp-rotate-90: - shard-mtlp: NOTRUN -> [SKIP][117] +6 other tests skip [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_big_fb@y-tiled-16bpp-rotate-90.html * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow: - shard-mtlp: NOTRUN -> [SKIP][118] ([i915#6187]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip: - shard-dg2: NOTRUN -> [SKIP][119] ([i915#4538] / [i915#5190]) +8 other tests skip [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-180: - shard-dg1: NOTRUN -> [SKIP][120] ([i915#4538]) +1 other test skip [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][121] ([i915#6095]) +90 other tests skip [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4.html * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs: - shard-dg2: NOTRUN -> [SKIP][122] ([i915#10307] / [i915#6095]) +115 other tests skip [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][123] ([i915#6095]) +34 other tests skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-1.html * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs: - shard-dg2: NOTRUN -> [SKIP][124] ([i915#12313]) +1 other test skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-2/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][125] ([i915#10307] / [i915#10434] / [i915#6095]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-4/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs: - shard-dg1: NOTRUN -> [SKIP][126] ([i915#12313]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][127] ([i915#6095]) +59 other tests skip [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-c-edp-1: - shard-mtlp: NOTRUN -> [SKIP][128] ([i915#6095]) +14 other tests skip [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-c-edp-1.html * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][129] ([i915#6095]) +16 other tests skip [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/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-rkl: NOTRUN -> [SKIP][130] ([i915#12313]) +2 other tests skip [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-1: - shard-glk: NOTRUN -> [SKIP][131] +60 other tests skip [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk4/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-1.html * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs: - shard-tglu: NOTRUN -> [SKIP][132] ([i915#12313]) +1 other test skip [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html * igt@kms_cdclk@mode-transition: - shard-dg2: NOTRUN -> [SKIP][133] ([i915#11616] / [i915#7213]) [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_cdclk@mode-transition.html * igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][134] ([i915#7213]) +3 other tests skip [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3.html * igt@kms_chamelium_color@degamma: - shard-dg2: NOTRUN -> [SKIP][135] +12 other tests skip [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-2/igt@kms_chamelium_color@degamma.html * igt@kms_chamelium_edid@dp-edid-change-during-suspend: - shard-mtlp: NOTRUN -> [SKIP][136] ([i915#11151] / [i915#7828]) +5 other tests skip [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend: - shard-tglu-1: NOTRUN -> [SKIP][137] ([i915#11151] / [i915#7828]) +1 other test skip [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html * igt@kms_chamelium_frames@dp-crc-fast: - shard-dg2: NOTRUN -> [SKIP][138] ([i915#11151] / [i915#7828]) +7 other tests skip [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-10/igt@kms_chamelium_frames@dp-crc-fast.html * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode: - shard-dg1: NOTRUN -> [SKIP][139] ([i915#11151] / [i915#7828]) +4 other tests skip [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html * igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode: - shard-rkl: NOTRUN -> [SKIP][140] ([i915#11151] / [i915#7828]) +2 other tests skip [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html * igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode: - shard-tglu: NOTRUN -> [SKIP][141] ([i915#11151] / [i915#7828]) +3 other tests skip [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html * igt@kms_content_protection@atomic-dpms: - shard-dg2: NOTRUN -> [SKIP][142] ([i915#7118] / [i915#9424]) +1 other test skip [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_content_protection@atomic-dpms.html * igt@kms_content_protection@content-type-change: - shard-rkl: NOTRUN -> [SKIP][143] ([i915#9424]) [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_content_protection@content-type-change.html * igt@kms_content_protection@mei-interface: - shard-dg1: NOTRUN -> [SKIP][144] ([i915#9433]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_content_protection@mei-interface.html * igt@kms_cursor_crc@cursor-offscreen-32x10: - shard-dg2: NOTRUN -> [SKIP][145] ([i915#3555]) +3 other tests skip [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_cursor_crc@cursor-offscreen-32x10.html * igt@kms_cursor_crc@cursor-offscreen-512x512: - shard-mtlp: NOTRUN -> [SKIP][146] ([i915#13049]) [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_cursor_crc@cursor-offscreen-512x512.html * igt@kms_cursor_crc@cursor-onscreen-32x10: - shard-mtlp: NOTRUN -> [SKIP][147] ([i915#3555] / [i915#8814]) +1 other test skip [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@kms_cursor_crc@cursor-onscreen-32x10.html * igt@kms_cursor_crc@cursor-random-512x512: - shard-dg1: NOTRUN -> [SKIP][148] ([i915#13049]) [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_cursor_crc@cursor-random-512x512.html * igt@kms_cursor_crc@cursor-rapid-movement-256x85: - shard-mtlp: NOTRUN -> [SKIP][149] ([i915#8814]) [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html * igt@kms_cursor_crc@cursor-rapid-movement-32x32: - shard-rkl: NOTRUN -> [SKIP][150] ([i915#3555]) +3 other tests skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html * igt@kms_cursor_crc@cursor-rapid-movement-512x170: - shard-dg2: NOTRUN -> [SKIP][151] ([i915#13049]) +1 other test skip [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size: - shard-dg1: NOTRUN -> [SKIP][152] ([i915#4103] / [i915#4213]) [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle: - shard-mtlp: NOTRUN -> [SKIP][153] ([i915#9809]) [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic: - shard-dg2: NOTRUN -> [SKIP][154] ([i915#13046] / [i915#5354]) [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-2/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot: - shard-tglu: NOTRUN -> [SKIP][155] ([i915#9067]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html * igt@kms_cursor_legacy@short-flip-before-cursor-toggle: - shard-glk: [PASS][156] -> [FAIL][157] ([i915#2346]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-glk3/igt@kms_cursor_legacy@short-flip-before-cursor-toggle.html [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk8/igt@kms_cursor_legacy@short-flip-before-cursor-toggle.html * igt@kms_dirtyfb@psr-dirtyfb-ioctl: - shard-tglu: NOTRUN -> [SKIP][158] ([i915#9723]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html * igt@kms_display_modes@mst-extended-mode-negative: - shard-mtlp: NOTRUN -> [SKIP][159] ([i915#8588]) [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_display_modes@mst-extended-mode-negative.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][160] ([i915#3804]) [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html * igt@kms_dp_aux_dev: - shard-dg2: NOTRUN -> [SKIP][161] ([i915#1257]) [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_dp_aux_dev.html * igt@kms_dp_linktrain_fallback@dp-fallback: - shard-rkl: NOTRUN -> [SKIP][162] ([i915#12402]) [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_dp_linktrain_fallback@dp-fallback.html * igt@kms_draw_crc@draw-method-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][163] ([i915#8812]) [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_draw_crc@draw-method-mmap-wc.html * igt@kms_dsc@dsc-fractional-bpp: - shard-rkl: NOTRUN -> [SKIP][164] ([i915#3840]) [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_dsc@dsc-fractional-bpp.html * igt@kms_dsc@dsc-with-formats: - shard-dg1: NOTRUN -> [SKIP][165] ([i915#3555] / [i915#3840]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_dsc@dsc-with-formats.html * igt@kms_feature_discovery@chamelium: - shard-rkl: NOTRUN -> [SKIP][166] ([i915#4854]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_feature_discovery@chamelium.html * igt@kms_feature_discovery@display-2x: - shard-mtlp: NOTRUN -> [SKIP][167] ([i915#1839]) [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@kms_feature_discovery@display-2x.html * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible: - shard-dg2: NOTRUN -> [SKIP][168] ([i915#9934]) +2 other tests skip [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible: - shard-dg1: NOTRUN -> [SKIP][169] ([i915#9934]) +4 other tests skip [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html * igt@kms_flip@2x-flip-vs-fences: - shard-dg1: NOTRUN -> [SKIP][170] ([i915#8381]) [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_flip@2x-flip-vs-fences.html * igt@kms_flip@2x-flip-vs-suspend-interruptible: - shard-mtlp: NOTRUN -> [SKIP][171] ([i915#3637]) +5 other tests skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_flip@2x-flip-vs-suspend-interruptible.html * igt@kms_flip@2x-modeset-vs-vblank-race: - shard-rkl: NOTRUN -> [SKIP][172] ([i915#9934]) +4 other tests skip [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_flip@2x-modeset-vs-vblank-race.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible: - shard-tglu: NOTRUN -> [SKIP][173] ([i915#3637]) +2 other tests skip [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html * igt@kms_flip@wf_vblank-ts-check: - shard-snb: [PASS][174] -> [FAIL][175] ([i915#11989]) +3 other tests fail [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-snb2/igt@kms_flip@wf_vblank-ts-check.html [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb1/igt@kms_flip@wf_vblank-ts-check.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode: - shard-tglu: NOTRUN -> [SKIP][176] ([i915#2587] / [i915#2672]) +1 other test skip [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling: - shard-dg2: NOTRUN -> [SKIP][177] ([i915#2672] / [i915#3555]) +1 other test skip [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling: - shard-tglu: NOTRUN -> [SKIP][178] ([i915#2672] / [i915#3555]) +1 other test skip [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][179] ([i915#2672] / [i915#3555] / [i915#8813]) +4 other tests skip [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][180] ([i915#2672] / [i915#8813]) [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling: - shard-tglu-1: NOTRUN -> [SKIP][181] ([i915#2587] / [i915#2672] / [i915#3555]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode: - shard-tglu-1: NOTRUN -> [SKIP][182] ([i915#2587] / [i915#2672]) [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling: - shard-rkl: NOTRUN -> [SKIP][183] ([i915#2672] / [i915#3555]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode: - shard-rkl: NOTRUN -> [SKIP][184] ([i915#2672]) [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling: - shard-dg1: NOTRUN -> [SKIP][185] ([i915#2672] / [i915#3555]) +1 other test skip [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode: - shard-dg1: NOTRUN -> [SKIP][186] ([i915#2587] / [i915#2672]) +1 other test skip [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling: - shard-dg2: NOTRUN -> [SKIP][187] ([i915#2672] / [i915#3555] / [i915#5190]) +2 other tests skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode: - shard-dg2: NOTRUN -> [SKIP][188] ([i915#2672]) +4 other tests skip [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html * igt@kms_force_connector_basic@force-load-detect: - shard-rkl: NOTRUN -> [SKIP][189] +5 other tests skip [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt: - shard-mtlp: NOTRUN -> [SKIP][190] ([i915#1825]) +17 other tests skip [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt: - shard-dg1: NOTRUN -> [SKIP][191] +22 other tests skip [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite: - shard-dg2: [PASS][192] -> [FAIL][193] ([i915#6880]) +1 other test fail [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt: - shard-rkl: NOTRUN -> [SKIP][194] ([i915#3023]) +10 other tests skip [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][195] ([i915#8708]) +13 other tests skip [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render: - shard-tglu-1: NOTRUN -> [SKIP][196] +5 other tests skip [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-cpu: - shard-rkl: NOTRUN -> [SKIP][197] ([i915#1825]) +15 other tests skip [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt: - shard-mtlp: NOTRUN -> [SKIP][198] ([i915#8708]) +2 other tests skip [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y: - shard-dg2: NOTRUN -> [SKIP][199] ([i915#10055]) [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][200] ([i915#8708]) +2 other tests skip [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff: - shard-dg2: NOTRUN -> [SKIP][201] ([i915#3458]) +15 other tests skip [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite: - shard-dg2: NOTRUN -> [SKIP][202] ([i915#5354]) +19 other tests skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu: - shard-dg1: NOTRUN -> [SKIP][203] ([i915#3458]) +9 other tests skip [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu.html * igt@kms_hdr@bpc-switch-dpms: - shard-dg1: NOTRUN -> [SKIP][204] ([i915#3555] / [i915#8228]) [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_hdr@brightness-with-hdr: - shard-dg2: NOTRUN -> [SKIP][205] ([i915#12713]) [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_hdr@brightness-with-hdr.html * igt@kms_hdr@invalid-metadata-sizes: - shard-mtlp: NOTRUN -> [SKIP][206] ([i915#3555] / [i915#8228]) +1 other test skip [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_hdr@invalid-metadata-sizes.html * igt@kms_hdr@static-toggle-suspend: - shard-rkl: NOTRUN -> [SKIP][207] ([i915#3555] / [i915#8228]) [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_hdr@static-toggle-suspend.html * igt@kms_joiner@basic-big-joiner: - shard-dg2: NOTRUN -> [SKIP][208] ([i915#10656]) [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_joiner@basic-big-joiner.html * igt@kms_joiner@basic-ultra-joiner: - shard-dg2: NOTRUN -> [SKIP][209] ([i915#12339]) [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_joiner@basic-ultra-joiner.html * igt@kms_joiner@invalid-modeset-force-ultra-joiner: - shard-dg2: NOTRUN -> [SKIP][210] ([i915#10656] / [i915#13522]) [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-10/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html * igt@kms_joiner@invalid-modeset-ultra-joiner: - shard-rkl: NOTRUN -> [SKIP][211] ([i915#12339]) [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_joiner@invalid-modeset-ultra-joiner.html * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner: - shard-tglu: NOTRUN -> [SKIP][212] ([i915#13522]) [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-dg2: NOTRUN -> [SKIP][213] ([i915#4816]) [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_panel_fitting@atomic-fastset: - shard-dg1: NOTRUN -> [SKIP][214] ([i915#6301]) [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_panel_fitting@atomic-fastset.html * igt@kms_plane@plane-panning-bottom-right-suspend: - shard-glk: NOTRUN -> [INCOMPLETE][215] ([i915#13026]) +1 other test incomplete [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk1/igt@kms_plane@plane-panning-bottom-right-suspend.html * igt@kms_plane_lowres@tiling-none: - shard-mtlp: NOTRUN -> [SKIP][216] ([i915#11614] / [i915#3582]) +1 other test skip [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_plane_lowres@tiling-none.html * igt@kms_plane_lowres@tiling-none@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][217] ([i915#10226] / [i915#11614] / [i915#3582]) +2 other tests skip [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html * igt@kms_plane_scaling@intel-max-src-size: - shard-rkl: NOTRUN -> [SKIP][218] ([i915#6953]) [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_plane_scaling@intel-max-src-size.html * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a: - shard-dg1: NOTRUN -> [SKIP][219] ([i915#12247]) +4 other tests skip [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25: - shard-dg2: NOTRUN -> [SKIP][220] ([i915#12247] / [i915#6953] / [i915#9423]) [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-a: - shard-dg2: NOTRUN -> [SKIP][221] ([i915#12247]) +3 other tests skip [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-a.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25: - shard-tglu: NOTRUN -> [SKIP][222] ([i915#12247] / [i915#6953]) [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d: - shard-tglu: NOTRUN -> [SKIP][223] ([i915#12247]) +3 other tests skip [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d.html * igt@kms_pm_backlight@brightness-with-dpms: - shard-dg2: NOTRUN -> [SKIP][224] ([i915#12343]) [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_pm_backlight@brightness-with-dpms.html * igt@kms_pm_dc@dc3co-vpb-simulation: - shard-rkl: NOTRUN -> [SKIP][225] ([i915#9685]) [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_pm_dc@dc3co-vpb-simulation.html * igt@kms_pm_lpsp@kms-lpsp: - shard-tglu: NOTRUN -> [SKIP][226] ([i915#3828]) [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_lpsp@screens-disabled: - shard-dg2: NOTRUN -> [SKIP][227] ([i915#8430]) [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_pm_lpsp@screens-disabled.html * igt@kms_pm_rpm@dpms-lpsp: - shard-rkl: NOTRUN -> [SKIP][228] ([i915#12916]) [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-lpsp: - shard-dg1: NOTRUN -> [SKIP][229] ([i915#9519]) [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait: - shard-dg2: NOTRUN -> [SKIP][230] ([i915#9519]) [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait: - shard-rkl: [PASS][231] -> [SKIP][232] ([i915#9519]) [231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-1/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html - shard-tglu: NOTRUN -> [SKIP][233] ([i915#9519]) [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html * igt@kms_pm_rpm@pm-caching: - shard-mtlp: NOTRUN -> [SKIP][234] ([i915#4077]) +4 other tests skip [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_pm_rpm@pm-caching.html * igt@kms_prime@basic-crc-vgem: - shard-dg2: NOTRUN -> [SKIP][235] ([i915#6524] / [i915#6805]) +1 other test skip [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_prime@basic-crc-vgem.html * igt@kms_prime@basic-modeset-hybrid: - shard-tglu: NOTRUN -> [SKIP][236] ([i915#6524]) [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-8/igt@kms_prime@basic-modeset-hybrid.html * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf: - shard-dg2: NOTRUN -> [SKIP][237] ([i915#11520]) +5 other tests skip [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1: - shard-mtlp: NOTRUN -> [SKIP][238] ([i915#9808]) [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1.html * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][239] ([i915#12316]) +2 other tests skip [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-b-edp-1.html * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf: - shard-tglu: NOTRUN -> [SKIP][240] ([i915#11520]) +4 other tests skip [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf.html * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf: - shard-glk: NOTRUN -> [SKIP][241] ([i915#11520]) +1 other test skip [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk4/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf: - shard-dg1: NOTRUN -> [SKIP][242] ([i915#11520]) +4 other tests skip [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area: - shard-rkl: NOTRUN -> [SKIP][243] ([i915#11520]) +3 other tests skip [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb: - shard-snb: NOTRUN -> [SKIP][244] ([i915#11520]) +10 other tests skip [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb7/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html * igt@kms_psr2_su@page_flip-p010: - shard-dg2: NOTRUN -> [SKIP][245] ([i915#9683]) [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_psr2_su@page_flip-p010.html * igt@kms_psr@fbc-pr-cursor-plane-onoff: - shard-rkl: NOTRUN -> [SKIP][246] ([i915#1072] / [i915#9732]) +8 other tests skip [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_psr@fbc-pr-cursor-plane-onoff.html * igt@kms_psr@fbc-psr-cursor-mmap-cpu: - shard-dg2: NOTRUN -> [SKIP][247] ([i915#1072] / [i915#9732]) +20 other tests skip [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_psr@fbc-psr-cursor-mmap-cpu.html * igt@kms_psr@fbc-psr-cursor-mmap-gtt@edp-1: - shard-mtlp: NOTRUN -> [SKIP][248] ([i915#9688]) +6 other tests skip [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@kms_psr@fbc-psr-cursor-mmap-gtt@edp-1.html * igt@kms_psr@fbc-psr-cursor-plane-onoff: - shard-tglu: NOTRUN -> [SKIP][249] ([i915#9732]) +9 other tests skip [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_psr@fbc-psr-cursor-plane-onoff.html * igt@kms_psr@psr-cursor-plane-onoff: - shard-tglu-1: NOTRUN -> [SKIP][250] ([i915#9732]) +1 other test skip [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_psr@psr-cursor-plane-onoff.html * igt@kms_psr@psr-sprite-blt: - shard-snb: NOTRUN -> [SKIP][251] +363 other tests skip [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb2/igt@kms_psr@psr-sprite-blt.html * igt@kms_psr@psr2-sprite-blt: - shard-dg1: NOTRUN -> [SKIP][252] ([i915#1072] / [i915#9732]) +7 other tests skip [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_psr@psr2-sprite-blt.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0: - shard-rkl: NOTRUN -> [SKIP][253] ([i915#5289]) [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180: - shard-tglu: NOTRUN -> [SKIP][254] ([i915#5289]) [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-dg2: NOTRUN -> [SKIP][255] ([i915#12755] / [i915#5190]) [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0: - shard-dg2: NOTRUN -> [SKIP][256] ([i915#12755]) +1 other test skip [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html * igt@kms_scaling_modes@scaling-mode-center: - shard-dg1: NOTRUN -> [SKIP][257] ([i915#3555]) +3 other tests skip [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_scaling_modes@scaling-mode-center.html * igt@kms_selftest@drm_framebuffer: - shard-rkl: NOTRUN -> [ABORT][258] ([i915#13179]) +1 other test abort [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_selftest@drm_framebuffer.html * igt@kms_setmode@clone-exclusive-crtc: - shard-mtlp: NOTRUN -> [SKIP][259] ([i915#3555] / [i915#8809]) [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_setmode@clone-exclusive-crtc.html * igt@kms_tiled_display@basic-test-pattern: - shard-rkl: NOTRUN -> [SKIP][260] ([i915#8623]) [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_tiled_display@basic-test-pattern.html * igt@kms_vblank@query-forked@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [DMESG-WARN][261] ([i915#12964]) +22 other tests dmesg-warn [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_vblank@query-forked@pipe-a-hdmi-a-1.html * igt@kms_vrr@flipline: - shard-mtlp: NOTRUN -> [SKIP][262] ([i915#3555] / [i915#8808]) [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_vrr@flipline.html * igt@kms_vrr@max-min: - shard-dg2: NOTRUN -> [SKIP][263] ([i915#9906]) [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@kms_vrr@max-min.html * igt@kms_vrr@negative-basic: - shard-mtlp: [PASS][264] -> [FAIL][265] ([i915#10393]) +1 other test fail [264]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-2/igt@kms_vrr@negative-basic.html [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-2/igt@kms_vrr@negative-basic.html * igt@kms_vrr@seamless-rr-switch-drrs: - shard-tglu: NOTRUN -> [SKIP][266] ([i915#9906]) [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@kms_vrr@seamless-rr-switch-drrs.html * igt@kms_writeback@writeback-check-output: - shard-dg2: NOTRUN -> [SKIP][267] ([i915#2437]) [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@kms_writeback@writeback-check-output.html * igt@kms_writeback@writeback-check-output-xrgb2101010: - shard-dg1: NOTRUN -> [SKIP][268] ([i915#2437] / [i915#9412]) [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@kms_writeback@writeback-check-output-xrgb2101010.html * igt@kms_writeback@writeback-fb-id: - shard-rkl: NOTRUN -> [SKIP][269] ([i915#2437]) +1 other test skip [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@kms_writeback@writeback-fb-id.html * igt@perf@non-zero-reason: - shard-dg2: NOTRUN -> [FAIL][270] ([i915#9100]) +1 other test fail [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-3/igt@perf@non-zero-reason.html * igt@perf_pmu@rc6@other-idle-gt0: - shard-dg1: NOTRUN -> [SKIP][271] ([i915#8516]) [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@perf_pmu@rc6@other-idle-gt0.html - shard-tglu: NOTRUN -> [SKIP][272] ([i915#8516]) [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-10/igt@perf_pmu@rc6@other-idle-gt0.html * igt@prime_mmap@test_aperture_limit: - shard-dg2: NOTRUN -> [WARN][273] ([i915#9351]) [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@prime_mmap@test_aperture_limit.html * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem: - shard-dg2: NOTRUN -> [CRASH][274] ([i915#9351]) [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html * igt@prime_vgem@basic-fence-read: - shard-dg1: NOTRUN -> [SKIP][275] ([i915#3708]) [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-18/igt@prime_vgem@basic-fence-read.html * igt@prime_vgem@coherency-gtt: - shard-dg2: NOTRUN -> [SKIP][276] ([i915#3708] / [i915#4077]) [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@prime_vgem@coherency-gtt.html * igt@prime_vgem@fence-write-hang: - shard-dg2: NOTRUN -> [SKIP][277] ([i915#3708]) +1 other test skip [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@prime_vgem@fence-write-hang.html * igt@sriov_basic@bind-unbind-vf: - shard-rkl: NOTRUN -> [SKIP][278] ([i915#9917]) [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-3/igt@sriov_basic@bind-unbind-vf.html * igt@sriov_basic@enable-vfs-autoprobe-off: - shard-dg2: NOTRUN -> [SKIP][279] ([i915#9917]) [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-1/igt@sriov_basic@enable-vfs-autoprobe-off.html #### Possible fixes #### * igt@gem_eio@throttle: - shard-mtlp: [ABORT][280] ([i915#13193]) -> [PASS][281] [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-4/igt@gem_eio@throttle.html [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-4/igt@gem_eio@throttle.html * igt@gem_exec_endless@dispatch@vcs0: - shard-dg2: [TIMEOUT][282] ([i915#3778] / [i915#7016]) -> [PASS][283] +1 other test pass [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-2/igt@gem_exec_endless@dispatch@vcs0.html [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-6/igt@gem_exec_endless@dispatch@vcs0.html * igt@gem_exec_suspend@basic-s0: - shard-dg2: [INCOMPLETE][284] ([i915#11441] / [i915#13304]) -> [PASS][285] [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-3/igt@gem_exec_suspend@basic-s0.html [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-10/igt@gem_exec_suspend@basic-s0.html * igt@gem_exec_suspend@basic-s0@lmem0: - shard-dg2: [INCOMPLETE][286] ([i915#11441]) -> [PASS][287] [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-3/igt@gem_exec_suspend@basic-s0@lmem0.html [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-10/igt@gem_exec_suspend@basic-s0@lmem0.html * igt@gem_mmap_offset@clear-via-pagefault: - shard-mtlp: [ABORT][288] ([i915#10729]) -> [PASS][289] +1 other test pass [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-2/igt@gem_mmap_offset@clear-via-pagefault.html [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-5/igt@gem_mmap_offset@clear-via-pagefault.html * igt@gem_tiled_swapping@non-threaded: - shard-rkl: [FAIL][290] ([i915#13557]) -> [PASS][291] [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-1/igt@gem_tiled_swapping@non-threaded.html [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-1/igt@gem_tiled_swapping@non-threaded.html * igt@gem_workarounds@suspend-resume-fd: - shard-dg1: [ABORT][292] ([i915#8213]) -> [PASS][293] [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-17/igt@gem_workarounds@suspend-resume-fd.html [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@gem_workarounds@suspend-resume-fd.html * igt@gen9_exec_parse@allowed-single: - shard-glk: [ABORT][294] ([i915#5566]) -> [PASS][295] [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-glk8/igt@gen9_exec_parse@allowed-single.html [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk1/igt@gen9_exec_parse@allowed-single.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-dg1: [FAIL][296] ([i915#3591]) -> [PASS][297] [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle.html [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle.html * igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0: - shard-dg1: [FAIL][298] ([i915#12739] / [i915#3591]) -> [PASS][299] [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0.html [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-dg2: [ABORT][300] -> [PASS][301] [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-5/igt@i915_pm_rpm@system-suspend-execbuf.html [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-7/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@i915_suspend@basic-s3-without-i915: - shard-rkl: [INCOMPLETE][302] ([i915#4817]) -> [PASS][303] [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-3/igt@i915_suspend@basic-s3-without-i915.html [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-4/igt@i915_suspend@basic-s3-without-i915.html * igt@kms_cursor_crc@cursor-onscreen-256x85: - shard-tglu-1: [FAIL][304] -> [PASS][305] +1 other test pass [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-256x85.html [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-256x85.html * igt@kms_cursor_crc@cursor-random-128x42: - shard-tglu: [FAIL][306] -> [PASS][307] +3 other tests pass [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-tglu-6/igt@kms_cursor_crc@cursor-random-128x42.html [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-4/igt@kms_cursor_crc@cursor-random-128x42.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [FAIL][308] ([i915#2346]) -> [PASS][309] [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1: - shard-snb: [DMESG-WARN][310] ([i915#12314]) -> [PASS][311] +1 other test pass [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-snb5/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb5/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html * igt@kms_flip@flip-vs-suspend@b-edp1: - shard-mtlp: [INCOMPLETE][312] ([i915#6113]) -> [PASS][313] +1 other test pass [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-1/igt@kms_flip@flip-vs-suspend@b-edp1.html [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-3/igt@kms_flip@flip-vs-suspend@b-edp1.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite: - shard-snb: [SKIP][314] -> [PASS][315] [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-snb1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite.html [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite.html * igt@kms_hdr@invalid-metadata-sizes: - shard-dg2: [SKIP][316] ([i915#3555] / [i915#8228]) -> [PASS][317] [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-8/igt@kms_hdr@invalid-metadata-sizes.html [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-10/igt@kms_hdr@invalid-metadata-sizes.html * igt@kms_pm_rpm@modeset-lpsp: - shard-dg2: [SKIP][318] ([i915#9519]) -> [PASS][319] [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-7/igt@kms_pm_rpm@modeset-lpsp.html [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp.html * igt@kms_pm_rpm@modeset-non-lpsp-stress: - shard-rkl: [SKIP][320] ([i915#9519]) -> [PASS][321] +2 other tests pass [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html * igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list: - shard-rkl: [DMESG-WARN][322] ([i915#12964]) -> [PASS][323] +1 other test pass [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html * igt@perf_pmu@busy-idle-check-all@vecs0: - shard-mtlp: [FAIL][324] ([i915#4349]) -> [PASS][325] +2 other tests pass [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-2/igt@perf_pmu@busy-idle-check-all@vecs0.html [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-8/igt@perf_pmu@busy-idle-check-all@vecs0.html * igt@perf_pmu@module-unload: - shard-tglu: [INCOMPLETE][326] -> [PASS][327] [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-tglu-10/igt@perf_pmu@module-unload.html [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-10/igt@perf_pmu@module-unload.html * igt@perf_pmu@most-busy-check-all@vcs1: - shard-mtlp: [FAIL][328] ([i915#11943]) -> [PASS][329] [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-2/igt@perf_pmu@most-busy-check-all@vcs1.html [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-2/igt@perf_pmu@most-busy-check-all@vcs1.html * igt@syncobj_wait@wait-any-interrupted: - shard-dg1: [DMESG-WARN][330] ([i915#4423]) -> [PASS][331] [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-17/igt@syncobj_wait@wait-any-interrupted.html [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-13/igt@syncobj_wait@wait-any-interrupted.html #### Warnings #### * igt@gem_eio@in-flight-suspend: - shard-glk: [INCOMPLETE][332] ([i915#13197] / [i915#13390]) -> [INCOMPLETE][333] ([i915#13390]) [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-glk7/igt@gem_eio@in-flight-suspend.html [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-glk3/igt@gem_eio@in-flight-suspend.html * igt@i915_module_load@reload-with-fault-injection: - shard-tglu: [DMESG-WARN][334] ([i915#13475]) -> [ABORT][335] ([i915#12817] / [i915#9820]) [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-tglu-3/igt@i915_module_load@reload-with-fault-injection.html [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-tglu-7/igt@i915_module_load@reload-with-fault-injection.html - shard-mtlp: [DMESG-WARN][336] ([i915#10887] / [i915#13475]) -> [ABORT][337] ([i915#10131] / [i915#10887] / [i915#13493] / [i915#9820]) [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-mtlp-1/igt@i915_module_load@reload-with-fault-injection.html [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-mtlp-7/igt@i915_module_load@reload-with-fault-injection.html - shard-dg2: [ABORT][338] ([i915#9820]) -> [DMESG-WARN][339] ([i915#10887] / [i915#13475]) [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-7/igt@i915_module_load@reload-with-fault-injection.html [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-2/igt@i915_module_load@reload-with-fault-injection.html * igt@kms_content_protection@lic-type-0: - shard-dg2: [TIMEOUT][340] ([i915#7173]) -> [SKIP][341] ([i915#9424]) [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-10/igt@kms_content_protection@lic-type-0.html [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-6/igt@kms_content_protection@lic-type-0.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt: - shard-dg2: [SKIP][342] ([i915#3458]) -> [SKIP][343] ([i915#10433] / [i915#3458]) [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc: - shard-dg1: [SKIP][344] ([i915#4423] / [i915#8708]) -> [SKIP][345] ([i915#8708]) [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html [345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary: - shard-dg2: [SKIP][346] ([i915#10433] / [i915#3458]) -> [SKIP][347] ([i915#3458]) +4 other tests skip [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html * igt@kms_pm_dc@dc6-dpms: - shard-rkl: [SKIP][348] ([i915#3361]) -> [FAIL][349] ([i915#9295]) [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-1/igt@kms_pm_dc@dc6-dpms.html [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-5/igt@kms_pm_dc@dc6-dpms.html * igt@kms_pm_lpsp@kms-lpsp: - shard-rkl: [SKIP][350] ([i915#9340]) -> [SKIP][351] ([i915#3828]) [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-rkl-1/igt@kms_pm_lpsp@kms-lpsp.html [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html * igt@prime_vgem@basic-fence-flip: - shard-dg1: [SKIP][352] ([i915#3708] / [i915#4423]) -> [SKIP][353] ([i915#3708]) [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16002/shard-dg1-12/igt@prime_vgem@basic-fence-flip.html [353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142947v8/shard-dg1-12/igt@prime_vgem@basic-fence-flip.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#10030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10030 [i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055 [i915#10131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10131 [i915#10226]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10226 [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307 [i915#10393]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10393 [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433 [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434 [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656 [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#10729]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10729 [i915#10887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10887 [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099 [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078 [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151 [i915#11441]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11441 [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520 [i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527 [i915#11614]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11614 [i915#11616]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11616 [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681 [i915#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808 [i915#11943]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11943 [i915#11989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11989 [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247 [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313 [i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314 [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316 [i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339 [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343 [i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392 [i915#12402]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12402 [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257 [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713 [i915#12739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12739 [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755 [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805 [i915#12817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12817 [i915#12916]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12916 [i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917 [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964 [i915#12967]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12967 [i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008 [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026 [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046 [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049 [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179 [i915#13193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13193 [i915#13197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13197 [i915#13304]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13304 [i915#13390]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13390 [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398 [i915#13475]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13475 [i915#13493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13493 [i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522 [i915#13557]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13557 [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839 [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190 [i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527 [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587 [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658 [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672 [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284 [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#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323 [i915#3361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3361 [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458 [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3582 [i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638 [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708 [i915#3778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3778 [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804 [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828 [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#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213 [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270 [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349 [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387 [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423 [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812 [i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816 [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817 [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852 [i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854 [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860 [i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879 [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881 [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885 [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274 [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#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493 [i915#5507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5507 [i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566 [i915#5882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5882 [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956 [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095 [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113 [i915#6187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6187 [i915#6188]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6188 [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301 [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334 [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335 [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344 [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524 [i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590 [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621 [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805 [i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880 [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953 [i915#7016]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7016 [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118 [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173 [i915#7213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7213 [i915#7297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7297 [i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443 [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707 [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828 [i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975 [i915#8213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8213 [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228 [i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381 [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#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430 [i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516 [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555 [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562 [i915#8588]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8588 [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623 [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708 [i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709 [i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808 [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809 [i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812 [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813 [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814 [i915#8898]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8898 [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067 [i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100 [i915#9295]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9295 [i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311 [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323 [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340 [i915#9351]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9351 [i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412 [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#9561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9561 [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683 [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685 [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688 [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766 [i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808 [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809 [i915#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820 [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906 [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917 [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934 Build changes ------------- * Linux: CI_DRM_16002 -> Patchwork_142947v8 CI-20190529: 20190529 CI_DRM_16002: d577d9e67e5ac149fcd4442327210b831cddb308 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8206: 48d7780a026179e5de232142df3ac59fec6487ee @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_142947v8: d577d9e67e5ac149fcd4442327210b831cddb308 @ 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_142947v8/index.html [-- Attachment #2: Type: text/html, Size: 121777 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v7] drm/i915/cmtg: Disable the CMTG 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa ` (4 preceding siblings ...) 2025-01-23 21:17 ` ✓ i915.CI.Full: " Patchwork @ 2025-01-24 13:02 ` Ville Syrjälä 2025-01-24 14:32 ` Gustavo Sousa 5 siblings, 1 reply; 12+ messages in thread From: Ville Syrjälä @ 2025-01-24 13:02 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx, intel-xe, Jani Nikula On Wed, Jan 22, 2025 at 05:03:41PM -0300, Gustavo Sousa wrote: > The CMTG is a timing generator that runs in parallel with transcoders > timing generators and can be used as a reference for synchronization. > > We have observed that we are inheriting from GOP a display configuration > with the CMTG enabled. Because our driver doesn't currently implement > any CMTG sequences, the CMTG ends up still enabled after our driver > takes over. > > We need to make sure that the CMTG is not enabled if we are not going to > use it. For that, let's add a partial implementation in our driver that > only cares about disabling the CMTG if it was found enabled during > initial hardware readout. In the future, we can also implement sequences > for using the CMTG if that becomes a needed feature. > > For now, we only deal with cases when it is possible to disable the CMTG > without requiring a modeset. For earlier display versions, we simply > skip if we find the CMTG enabled and we can't disable it without a > proper modeset. In the future, we need to properly handle that case. > > v2: > - DG2 does not have the CMTG. Update HAS_CMTG() accordingly. > - Update logic to force disabling of CMTG only for initial commit. > v3: > - Add missing changes for v2 that were staged but not committed. > v4: > - Avoid if/else duplication in intel_cmtg_dump_state() by using "n/a" > for CMTG B enabled/disabled string for platforms without it. (Jani) > - Prefer intel_cmtg_readout_hw_state() over intel_cmtg_readout_state(). > (Jani) > - Use display struct instead of i915 as first parameter for > TRANS_DDI_FUNC_CTL2(). (Jani) > - Fewer continuation lines in variable declaration/initialization for > better readability. (Jani) > - Coding style improvements. (Jani) > - Use drm_dbg_kms() instead of drm_info() for logging the disabling > of the CMTG. > - Make struct intel_cmtg_state entirely private to intel_cmtg.c. > v5: > - Do the disable sequence as part of the sanitization step after > hardware readout instead of initial modeset commit. (Jani) > - Adapt to commit 15133582465f ("drm/i915/display: convert global state > to struct intel_display") by using a display struct instead of i915 > as argument for intel_atomic_global_obj_init(). > v6: > - Do not track CMTG state as a global state. (Ville) > - Simplify the driver logic by only disabling the CMTG only on cases > when a modeset is not required. (Ville) > v7: > - Remove the call to drm_WARN_ON() when checking > intel_cmtg_disable_requires_modeset() and use a FIXME in the comment > instead. > - Remove the !HAS_CMTG() guard from intel_cmtg_get_config(), which is > static and its caller is already protected by that same condition. > - Also take the opportunity to put some Bspec references in the commit > trailers section. > > Bspec: 68915, 49262 > Cc: Jani Nikula <jani.nikula@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com> > --- > drivers/gpu/drm/i915/Makefile | 1 + > drivers/gpu/drm/i915/display/intel_cmtg.c | 176 ++++++++++++++++++ > drivers/gpu/drm/i915/display/intel_cmtg.h | 13 ++ > .../gpu/drm/i915/display/intel_cmtg_regs.h | 21 +++ > .../drm/i915/display/intel_display_device.h | 1 + > .../drm/i915/display/intel_modeset_setup.c | 3 + > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/xe/Makefile | 1 + > 8 files changed, 217 insertions(+) > create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.c > create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.h > create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg_regs.h > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 3dda9f0eda82..7e7414453765 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -231,6 +231,7 @@ i915-y += \ > display/intel_bo.o \ > display/intel_bw.o \ > display/intel_cdclk.o \ > + display/intel_cmtg.o \ > display/intel_color.o \ > display/intel_combo_phy.o \ > display/intel_connector.o \ > diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c > new file mode 100644 > index 000000000000..a2f26b297733 > --- /dev/null > +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c > @@ -0,0 +1,176 @@ > +// SPDX-License-Identifier: MIT > +/* > + * Copyright (C) 2025 Intel Corporation > + */ > + > +#include <linux/string_choices.h> > +#include <linux/types.h> > + > +#include <drm/drm_device.h> > +#include <drm/drm_print.h> > + > +#include "i915_reg.h" > +#include "intel_crtc.h" > +#include "intel_cmtg.h" > +#include "intel_cmtg_regs.h" > +#include "intel_de.h" > +#include "intel_display_device.h" > + > +/** > + * DOC: Common Primary Timing Generator (CMTG) > + * > + * The CMTG is a timing generator that runs in parallel to transcoders timing > + * generators (TG) to provide a synchronization mechanism where CMTG acts as > + * primary and transcoders TGs act as secondary to the CMTG. The CMTG outputs > + * its TG start and frame sync signals to the transcoders that are configured > + * as secondary, which use those signals to synchronize their own timing with > + * the CMTG's. > + * > + * The CMTG can be used only with eDP or MIPI command mode and supports the > + * following use cases: > + * > + * - Dual eDP: The CMTG can be used to keep two eDP TGs in sync when on a > + * dual eDP configuration (with or without PSR/PSR2 enabled). > + * > + * - Single eDP as secondary: It is also possible to use a single eDP > + * configuration with the transcoder TG as secondary to the CMTG. That would > + * allow a flow that would not require a modeset on the existing eDP when a > + * new eDP is added for a dual eDP configuration with CMTG. > + * > + * - DC6v: In DC6v, the transcoder might be off but the CMTG keeps running to > + * maintain frame timings. When exiting DC6v, the transcoder TG then is > + * synced back the CMTG. > + * > + * Currently, the driver does not use the CMTG, but we need to make sure that > + * we disable it in case we inherit a display configuration with it enabled. > + */ > + > +/* > + * We describe here only the minimum data required to allow us to properly > + * disable the CMTG if necessary. > + */ > +struct intel_cmtg_config { > + bool cmtg_a_enable; > + /* > + * Xe2_LPD adds a second CMTG that can be used for dual eDP async mode. > + */ > + bool cmtg_b_enable; > + bool trans_a_secondary; > + bool trans_b_secondary; > +}; > + > +static bool intel_cmtg_has_cmtg_b(struct intel_display *display) > +{ > + return DISPLAY_VER(display) >= 20; > +} > + > +static bool intel_cmtg_has_clock_sel(struct intel_display *display) > +{ > + return DISPLAY_VER(display) >= 14; > +} > + > +static void intel_cmtg_dump_config(struct intel_display *display, > + struct intel_cmtg_config *cmtg_config) > +{ > + drm_dbg_kms(display->drm, > + "CMTG readout: CMTG A: %s, CMTG B: %s, Transcoder A secondary: %s, Transcoder B secondary: %s\n", > + str_enabled_disabled(cmtg_config->cmtg_a_enable), > + intel_cmtg_has_cmtg_b(display) ? str_enabled_disabled(cmtg_config->cmtg_b_enable) : "n/a", > + str_yes_no(cmtg_config->trans_a_secondary), > + str_yes_no(cmtg_config->trans_b_secondary)); > +} > + > +static void intel_cmtg_get_config(struct intel_display *display, > + struct intel_cmtg_config *cmtg_config) > +{ > + u32 val; > + > + val = intel_de_read(display, TRANS_CMTG_CTL_A); > + cmtg_config->cmtg_a_enable = val & CMTG_ENABLE; > + > + if (intel_cmtg_has_cmtg_b(display)) { > + val = intel_de_read(display, TRANS_CMTG_CTL_B); > + cmtg_config->cmtg_b_enable = val & CMTG_ENABLE; > + } > + > + if (intel_crtc_for_pipe(display, PIPE_A)) { HAS_TRANSCODER() seems more appropriate. > + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A)); > + cmtg_config->trans_a_secondary = val & CMTG_SECONDARY_MODE; > + } > + > + if (intel_crtc_for_pipe(display, PIPE_B)) { > + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B)); > + cmtg_config->trans_b_secondary = val & CMTG_SECONDARY_MODE; > + } > +} > + > +static bool intel_cmtg_disable_requires_modeset(struct intel_display *display, > + struct intel_cmtg_config *cmtg_config) > +{ > + if (DISPLAY_VER(display) >= 20) > + return false; > + > + return cmtg_config->trans_a_secondary || cmtg_config->trans_b_secondary; > +} > + > +static void intel_cmtg_disable(struct intel_display *display, > + struct intel_cmtg_config *cmtg_config) > +{ > + u32 clk_sel_clr = 0; > + u32 clk_sel_set = 0; > + > + if (cmtg_config->trans_a_secondary) > + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A), > + CMTG_SECONDARY_MODE, 0); > + > + if (cmtg_config->trans_b_secondary) > + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B), > + CMTG_SECONDARY_MODE, 0); > + > + if (cmtg_config->cmtg_a_enable) { > + drm_dbg_kms(display->drm, "Disabling CMTG A\n"); > + intel_de_rmw(display, TRANS_CMTG_CTL_A, CMTG_ENABLE, 0); > + clk_sel_clr |= CMTG_CLK_SEL_A_MASK; > + clk_sel_set |= CMTG_CLK_SEL_A_DISABLED; > + } > + > + if (cmtg_config->cmtg_b_enable) { > + drm_dbg_kms(display->drm, "Disabling CMTG B\n"); > + intel_de_rmw(display, TRANS_CMTG_CTL_B, CMTG_ENABLE, 0); > + clk_sel_clr |= CMTG_CLK_SEL_B_MASK; > + clk_sel_set |= CMTG_CLK_SEL_B_DISABLED; > + } > + > + if (intel_cmtg_has_clock_sel(display) && clk_sel_clr) > + intel_de_rmw(display, CMTG_CLK_SEL, clk_sel_clr, clk_sel_set); We don't need some kind of sync to make sure the transcoders are no longer using the CMTG before turning off the clock? > +} > + > +/* > + * Read out CMTG configuration and, on platforms that allow disabling it without > + * a modeset, do it. > + * > + * This function must be called before any port PLL is disabled in the general > + * sanitization process, because we need whatever port PLL that is providing the > + * clock for CMTG to be on before accessing CMTG registers. > + */ > +void intel_cmtg_sanitize(struct intel_display *display) > +{ > + struct intel_cmtg_config cmtg_config = {}; > + > + if (!HAS_CMTG(display)) > + return; > + > + intel_cmtg_get_config(display, &cmtg_config); > + intel_cmtg_dump_config(display, &cmtg_config); > + > + /* > + * FIXME: The driver is not prepared to handle cases where a modeset is > + * required for disabling the CMTG: we need a proper way of tracking > + * CMTG state and do the right syncronization with respect to triggering > + * the modeset as part of the disable sequence. > + */ > + if (intel_cmtg_disable_requires_modeset(display, &cmtg_config)) > + return; > + > + intel_cmtg_disable(display, &cmtg_config); > +} > diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.h b/drivers/gpu/drm/i915/display/intel_cmtg.h > new file mode 100644 > index 000000000000..ba62199adaa2 > --- /dev/null > +++ b/drivers/gpu/drm/i915/display/intel_cmtg.h > @@ -0,0 +1,13 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright (C) 2025 Intel Corporation > + */ > + > +#ifndef __INTEL_CMTG_H__ > +#define __INTEL_CMTG_H__ > + > +struct intel_display; > + > +void intel_cmtg_sanitize(struct intel_display *display); > + > +#endif /* __INTEL_CMTG_H__ */ > diff --git a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h > new file mode 100644 > index 000000000000..668e41d65e86 > --- /dev/null > +++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h > @@ -0,0 +1,21 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright (C) 2025 Intel Corporation > + */ > + > +#ifndef __INTEL_CMTG_REGS_H__ > +#define __INTEL_CMTG_REGS_H__ > + > +#include "i915_reg_defs.h" > + > +#define CMTG_CLK_SEL _MMIO(0x46160) > +#define CMTG_CLK_SEL_A_MASK REG_GENMASK(31, 29) > +#define CMTG_CLK_SEL_A_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_A_MASK, 0) > +#define CMTG_CLK_SEL_B_MASK REG_GENMASK(15, 13) > +#define CMTG_CLK_SEL_B_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_B_MASK, 0) > + > +#define TRANS_CMTG_CTL_A _MMIO(0x6fa88) > +#define TRANS_CMTG_CTL_B _MMIO(0x6fb88) > +#define CMTG_ENABLE REG_BIT(31) > + > +#endif /* __INTEL_CMTG_REGS_H__ */ > diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h > index a7b5ce69cf17..fc33791f02b9 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_device.h > +++ b/drivers/gpu/drm/i915/display/intel_display_device.h > @@ -146,6 +146,7 @@ struct intel_display_platforms { > #define HAS_BIGJOINER(__display) (DISPLAY_VER(__display) >= 11 && HAS_DSC(__display)) > #define HAS_CDCLK_CRAWL(__display) (DISPLAY_INFO(__display)->has_cdclk_crawl) > #define HAS_CDCLK_SQUASH(__display) (DISPLAY_INFO(__display)->has_cdclk_squash) > +#define HAS_CMTG(__display) (!(__display)->platform.dg2 && DISPLAY_VER(__display) >= 13) > #define HAS_CUR_FBC(__display) (!HAS_GMCH(__display) && IS_DISPLAY_VER(__display, 7, 13)) > #define HAS_D12_PLANE_MINIMIZATION(__display) ((__display)->platform.rocketlake || (__display)->platform.alderlake_s) > #define HAS_DBUF_OVERLAP_DETECTION(__display) (DISPLAY_RUNTIME_INFO(__display)->has_dbuf_overlap_detection) > diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c > index 9a2bea19f17b..10cdfdad82e4 100644 > --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c > +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c > @@ -15,6 +15,7 @@ > #include "i9xx_wm.h" > #include "intel_atomic.h" > #include "intel_bw.h" > +#include "intel_cmtg.h" > #include "intel_color.h" > #include "intel_crtc.h" > #include "intel_crtc_state_dump.h" > @@ -978,6 +979,8 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915, > > intel_pch_sanitize(i915); > > + intel_cmtg_sanitize(display); > + > /* > * intel_sanitize_plane_mapping() may need to do vblank > * waits, so we need vblank interrupts restored beforehand. > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 765e6c0528fb..b34bccfb1ccc 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -3565,6 +3565,7 @@ enum skl_power_gate { > #define _TRANS_DDI_FUNC_CTL2_DSI1 0x6bc04 > #define TRANS_DDI_FUNC_CTL2(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _TRANS_DDI_FUNC_CTL2_A) > #define PORT_SYNC_MODE_ENABLE REG_BIT(4) > +#define CMTG_SECONDARY_MODE REG_BIT(3) > #define PORT_SYNC_MODE_MASTER_SELECT_MASK REG_GENMASK(2, 0) > #define PORT_SYNC_MODE_MASTER_SELECT(x) REG_FIELD_PREP(PORT_SYNC_MODE_MASTER_SELECT_MASK, (x)) > > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile > index 68861db5f27c..d80e0766db35 100644 > --- a/drivers/gpu/drm/xe/Makefile > +++ b/drivers/gpu/drm/xe/Makefile > @@ -200,6 +200,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ > i915-display/intel_bios.o \ > i915-display/intel_bw.o \ > i915-display/intel_cdclk.o \ > + i915-display/intel_cmtg.o \ > i915-display/intel_color.o \ > i915-display/intel_combo_phy.o \ > i915-display/intel_connector.o \ > -- > 2.48.1 -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v7] drm/i915/cmtg: Disable the CMTG 2025-01-24 13:02 ` [PATCH v7] drm/i915/cmtg: Disable the CMTG Ville Syrjälä @ 2025-01-24 14:32 ` Gustavo Sousa 2025-01-24 15:16 ` Ville Syrjälä 0 siblings, 1 reply; 12+ messages in thread From: Gustavo Sousa @ 2025-01-24 14:32 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx, intel-xe, Jani Nikula Quoting Ville Syrjälä (2025-01-24 10:02:18-03:00) >On Wed, Jan 22, 2025 at 05:03:41PM -0300, Gustavo Sousa wrote: >> The CMTG is a timing generator that runs in parallel with transcoders >> timing generators and can be used as a reference for synchronization. >> >> We have observed that we are inheriting from GOP a display configuration >> with the CMTG enabled. Because our driver doesn't currently implement >> any CMTG sequences, the CMTG ends up still enabled after our driver >> takes over. >> >> We need to make sure that the CMTG is not enabled if we are not going to >> use it. For that, let's add a partial implementation in our driver that >> only cares about disabling the CMTG if it was found enabled during >> initial hardware readout. In the future, we can also implement sequences >> for using the CMTG if that becomes a needed feature. >> >> For now, we only deal with cases when it is possible to disable the CMTG >> without requiring a modeset. For earlier display versions, we simply >> skip if we find the CMTG enabled and we can't disable it without a >> proper modeset. In the future, we need to properly handle that case. >> >> v2: >> - DG2 does not have the CMTG. Update HAS_CMTG() accordingly. >> - Update logic to force disabling of CMTG only for initial commit. >> v3: >> - Add missing changes for v2 that were staged but not committed. >> v4: >> - Avoid if/else duplication in intel_cmtg_dump_state() by using "n/a" >> for CMTG B enabled/disabled string for platforms without it. (Jani) >> - Prefer intel_cmtg_readout_hw_state() over intel_cmtg_readout_state(). >> (Jani) >> - Use display struct instead of i915 as first parameter for >> TRANS_DDI_FUNC_CTL2(). (Jani) >> - Fewer continuation lines in variable declaration/initialization for >> better readability. (Jani) >> - Coding style improvements. (Jani) >> - Use drm_dbg_kms() instead of drm_info() for logging the disabling >> of the CMTG. >> - Make struct intel_cmtg_state entirely private to intel_cmtg.c. >> v5: >> - Do the disable sequence as part of the sanitization step after >> hardware readout instead of initial modeset commit. (Jani) >> - Adapt to commit 15133582465f ("drm/i915/display: convert global state >> to struct intel_display") by using a display struct instead of i915 >> as argument for intel_atomic_global_obj_init(). >> v6: >> - Do not track CMTG state as a global state. (Ville) >> - Simplify the driver logic by only disabling the CMTG only on cases >> when a modeset is not required. (Ville) >> v7: >> - Remove the call to drm_WARN_ON() when checking >> intel_cmtg_disable_requires_modeset() and use a FIXME in the comment >> instead. >> - Remove the !HAS_CMTG() guard from intel_cmtg_get_config(), which is >> static and its caller is already protected by that same condition. >> - Also take the opportunity to put some Bspec references in the commit >> trailers section. >> >> Bspec: 68915, 49262 >> Cc: Jani Nikula <jani.nikula@intel.com> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com> >> --- >> drivers/gpu/drm/i915/Makefile | 1 + >> drivers/gpu/drm/i915/display/intel_cmtg.c | 176 ++++++++++++++++++ >> drivers/gpu/drm/i915/display/intel_cmtg.h | 13 ++ >> .../gpu/drm/i915/display/intel_cmtg_regs.h | 21 +++ >> .../drm/i915/display/intel_display_device.h | 1 + >> .../drm/i915/display/intel_modeset_setup.c | 3 + >> drivers/gpu/drm/i915/i915_reg.h | 1 + >> drivers/gpu/drm/xe/Makefile | 1 + >> 8 files changed, 217 insertions(+) >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.c >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.h >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg_regs.h >> >> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile >> index 3dda9f0eda82..7e7414453765 100644 >> --- a/drivers/gpu/drm/i915/Makefile >> +++ b/drivers/gpu/drm/i915/Makefile >> @@ -231,6 +231,7 @@ i915-y += \ >> display/intel_bo.o \ >> display/intel_bw.o \ >> display/intel_cdclk.o \ >> + display/intel_cmtg.o \ >> display/intel_color.o \ >> display/intel_combo_phy.o \ >> display/intel_connector.o \ >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c >> new file mode 100644 >> index 000000000000..a2f26b297733 >> --- /dev/null >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c >> @@ -0,0 +1,176 @@ >> +// SPDX-License-Identifier: MIT >> +/* >> + * Copyright (C) 2025 Intel Corporation >> + */ >> + >> +#include <linux/string_choices.h> >> +#include <linux/types.h> >> + >> +#include <drm/drm_device.h> >> +#include <drm/drm_print.h> >> + >> +#include "i915_reg.h" >> +#include "intel_crtc.h" >> +#include "intel_cmtg.h" >> +#include "intel_cmtg_regs.h" >> +#include "intel_de.h" >> +#include "intel_display_device.h" >> + >> +/** >> + * DOC: Common Primary Timing Generator (CMTG) >> + * >> + * The CMTG is a timing generator that runs in parallel to transcoders timing >> + * generators (TG) to provide a synchronization mechanism where CMTG acts as >> + * primary and transcoders TGs act as secondary to the CMTG. The CMTG outputs >> + * its TG start and frame sync signals to the transcoders that are configured >> + * as secondary, which use those signals to synchronize their own timing with >> + * the CMTG's. >> + * >> + * The CMTG can be used only with eDP or MIPI command mode and supports the >> + * following use cases: >> + * >> + * - Dual eDP: The CMTG can be used to keep two eDP TGs in sync when on a >> + * dual eDP configuration (with or without PSR/PSR2 enabled). >> + * >> + * - Single eDP as secondary: It is also possible to use a single eDP >> + * configuration with the transcoder TG as secondary to the CMTG. That would >> + * allow a flow that would not require a modeset on the existing eDP when a >> + * new eDP is added for a dual eDP configuration with CMTG. >> + * >> + * - DC6v: In DC6v, the transcoder might be off but the CMTG keeps running to >> + * maintain frame timings. When exiting DC6v, the transcoder TG then is >> + * synced back the CMTG. >> + * >> + * Currently, the driver does not use the CMTG, but we need to make sure that >> + * we disable it in case we inherit a display configuration with it enabled. >> + */ >> + >> +/* >> + * We describe here only the minimum data required to allow us to properly >> + * disable the CMTG if necessary. >> + */ >> +struct intel_cmtg_config { >> + bool cmtg_a_enable; >> + /* >> + * Xe2_LPD adds a second CMTG that can be used for dual eDP async mode. >> + */ >> + bool cmtg_b_enable; >> + bool trans_a_secondary; >> + bool trans_b_secondary; >> +}; >> + >> +static bool intel_cmtg_has_cmtg_b(struct intel_display *display) >> +{ >> + return DISPLAY_VER(display) >= 20; >> +} >> + >> +static bool intel_cmtg_has_clock_sel(struct intel_display *display) >> +{ >> + return DISPLAY_VER(display) >= 14; >> +} >> + >> +static void intel_cmtg_dump_config(struct intel_display *display, >> + struct intel_cmtg_config *cmtg_config) >> +{ >> + drm_dbg_kms(display->drm, >> + "CMTG readout: CMTG A: %s, CMTG B: %s, Transcoder A secondary: %s, Transcoder B secondary: %s\n", >> + str_enabled_disabled(cmtg_config->cmtg_a_enable), >> + intel_cmtg_has_cmtg_b(display) ? str_enabled_disabled(cmtg_config->cmtg_b_enable) : "n/a", >> + str_yes_no(cmtg_config->trans_a_secondary), >> + str_yes_no(cmtg_config->trans_b_secondary)); >> +} >> + >> +static void intel_cmtg_get_config(struct intel_display *display, >> + struct intel_cmtg_config *cmtg_config) >> +{ >> + u32 val; >> + >> + val = intel_de_read(display, TRANS_CMTG_CTL_A); >> + cmtg_config->cmtg_a_enable = val & CMTG_ENABLE; >> + >> + if (intel_cmtg_has_cmtg_b(display)) { >> + val = intel_de_read(display, TRANS_CMTG_CTL_B); >> + cmtg_config->cmtg_b_enable = val & CMTG_ENABLE; >> + } >> + >> + if (intel_crtc_for_pipe(display, PIPE_A)) { > >HAS_TRANSCODER() seems more appropriate. Ah, certainly. Thanks for this. > >> + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A)); >> + cmtg_config->trans_a_secondary = val & CMTG_SECONDARY_MODE; >> + } >> + >> + if (intel_crtc_for_pipe(display, PIPE_B)) { >> + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B)); >> + cmtg_config->trans_b_secondary = val & CMTG_SECONDARY_MODE; >> + } >> +} >> + >> +static bool intel_cmtg_disable_requires_modeset(struct intel_display *display, >> + struct intel_cmtg_config *cmtg_config) >> +{ >> + if (DISPLAY_VER(display) >= 20) >> + return false; >> + >> + return cmtg_config->trans_a_secondary || cmtg_config->trans_b_secondary; >> +} >> + >> +static void intel_cmtg_disable(struct intel_display *display, >> + struct intel_cmtg_config *cmtg_config) >> +{ >> + u32 clk_sel_clr = 0; >> + u32 clk_sel_set = 0; >> + >> + if (cmtg_config->trans_a_secondary) >> + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A), >> + CMTG_SECONDARY_MODE, 0); >> + >> + if (cmtg_config->trans_b_secondary) >> + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B), >> + CMTG_SECONDARY_MODE, 0); >> + >> + if (cmtg_config->cmtg_a_enable) { >> + drm_dbg_kms(display->drm, "Disabling CMTG A\n"); >> + intel_de_rmw(display, TRANS_CMTG_CTL_A, CMTG_ENABLE, 0); >> + clk_sel_clr |= CMTG_CLK_SEL_A_MASK; >> + clk_sel_set |= CMTG_CLK_SEL_A_DISABLED; >> + } >> + >> + if (cmtg_config->cmtg_b_enable) { >> + drm_dbg_kms(display->drm, "Disabling CMTG B\n"); >> + intel_de_rmw(display, TRANS_CMTG_CTL_B, CMTG_ENABLE, 0); >> + clk_sel_clr |= CMTG_CLK_SEL_B_MASK; >> + clk_sel_set |= CMTG_CLK_SEL_B_DISABLED; >> + } >> + >> + if (intel_cmtg_has_clock_sel(display) && clk_sel_clr) >> + intel_de_rmw(display, CMTG_CLK_SEL, clk_sel_clr, clk_sel_set); > >We don't need some kind of sync to make sure the transcoders >are no longer using the CMTG before turning off the clock? Well, that seems to be the case for pre-LNL platforms, which require a modeset after clearing TRANS_DDI_FUNC_CTL2[CMTG_SECONDARY_MODE]. Only after the modeset the CMTG can be disabled and then it's clock source deselected. I guess the modeset might be what ensures that the transcoder is not sync'ing with the CMTG anymore here? However, for those platforms, we are leaving the CMTG enabled for now. Now, for LNL and forward, the Bspec instructions in the disable sequence simply tells to disable the CMTG and clear TRANS_DDI_FUNC_CTL2[CMTG_SECONDARY_MODE], and then disable the CMTG clock. So it seems no sync seems to be required here. On a related note, the spec for LNL and forward also says that the CMTG can be enabled dynamically after the modeset. -- Gustavo Sousa > >> +} >> + >> +/* >> + * Read out CMTG configuration and, on platforms that allow disabling it without >> + * a modeset, do it. >> + * >> + * This function must be called before any port PLL is disabled in the general >> + * sanitization process, because we need whatever port PLL that is providing the >> + * clock for CMTG to be on before accessing CMTG registers. >> + */ >> +void intel_cmtg_sanitize(struct intel_display *display) >> +{ >> + struct intel_cmtg_config cmtg_config = {}; >> + >> + if (!HAS_CMTG(display)) >> + return; >> + >> + intel_cmtg_get_config(display, &cmtg_config); >> + intel_cmtg_dump_config(display, &cmtg_config); >> + >> + /* >> + * FIXME: The driver is not prepared to handle cases where a modeset is >> + * required for disabling the CMTG: we need a proper way of tracking >> + * CMTG state and do the right syncronization with respect to triggering >> + * the modeset as part of the disable sequence. >> + */ >> + if (intel_cmtg_disable_requires_modeset(display, &cmtg_config)) >> + return; >> + >> + intel_cmtg_disable(display, &cmtg_config); >> +} >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.h b/drivers/gpu/drm/i915/display/intel_cmtg.h >> new file mode 100644 >> index 000000000000..ba62199adaa2 >> --- /dev/null >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.h >> @@ -0,0 +1,13 @@ >> +/* SPDX-License-Identifier: MIT */ >> +/* >> + * Copyright (C) 2025 Intel Corporation >> + */ >> + >> +#ifndef __INTEL_CMTG_H__ >> +#define __INTEL_CMTG_H__ >> + >> +struct intel_display; >> + >> +void intel_cmtg_sanitize(struct intel_display *display); >> + >> +#endif /* __INTEL_CMTG_H__ */ >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h >> new file mode 100644 >> index 000000000000..668e41d65e86 >> --- /dev/null >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h >> @@ -0,0 +1,21 @@ >> +/* SPDX-License-Identifier: MIT */ >> +/* >> + * Copyright (C) 2025 Intel Corporation >> + */ >> + >> +#ifndef __INTEL_CMTG_REGS_H__ >> +#define __INTEL_CMTG_REGS_H__ >> + >> +#include "i915_reg_defs.h" >> + >> +#define CMTG_CLK_SEL _MMIO(0x46160) >> +#define CMTG_CLK_SEL_A_MASK REG_GENMASK(31, 29) >> +#define CMTG_CLK_SEL_A_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_A_MASK, 0) >> +#define CMTG_CLK_SEL_B_MASK REG_GENMASK(15, 13) >> +#define CMTG_CLK_SEL_B_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_B_MASK, 0) >> + >> +#define TRANS_CMTG_CTL_A _MMIO(0x6fa88) >> +#define TRANS_CMTG_CTL_B _MMIO(0x6fb88) >> +#define CMTG_ENABLE REG_BIT(31) >> + >> +#endif /* __INTEL_CMTG_REGS_H__ */ >> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h >> index a7b5ce69cf17..fc33791f02b9 100644 >> --- a/drivers/gpu/drm/i915/display/intel_display_device.h >> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h >> @@ -146,6 +146,7 @@ struct intel_display_platforms { >> #define HAS_BIGJOINER(__display) (DISPLAY_VER(__display) >= 11 && HAS_DSC(__display)) >> #define HAS_CDCLK_CRAWL(__display) (DISPLAY_INFO(__display)->has_cdclk_crawl) >> #define HAS_CDCLK_SQUASH(__display) (DISPLAY_INFO(__display)->has_cdclk_squash) >> +#define HAS_CMTG(__display) (!(__display)->platform.dg2 && DISPLAY_VER(__display) >= 13) >> #define HAS_CUR_FBC(__display) (!HAS_GMCH(__display) && IS_DISPLAY_VER(__display, 7, 13)) >> #define HAS_D12_PLANE_MINIMIZATION(__display) ((__display)->platform.rocketlake || (__display)->platform.alderlake_s) >> #define HAS_DBUF_OVERLAP_DETECTION(__display) (DISPLAY_RUNTIME_INFO(__display)->has_dbuf_overlap_detection) >> diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c >> index 9a2bea19f17b..10cdfdad82e4 100644 >> --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c >> +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c >> @@ -15,6 +15,7 @@ >> #include "i9xx_wm.h" >> #include "intel_atomic.h" >> #include "intel_bw.h" >> +#include "intel_cmtg.h" >> #include "intel_color.h" >> #include "intel_crtc.h" >> #include "intel_crtc_state_dump.h" >> @@ -978,6 +979,8 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915, >> >> intel_pch_sanitize(i915); >> >> + intel_cmtg_sanitize(display); >> + >> /* >> * intel_sanitize_plane_mapping() may need to do vblank >> * waits, so we need vblank interrupts restored beforehand. >> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h >> index 765e6c0528fb..b34bccfb1ccc 100644 >> --- a/drivers/gpu/drm/i915/i915_reg.h >> +++ b/drivers/gpu/drm/i915/i915_reg.h >> @@ -3565,6 +3565,7 @@ enum skl_power_gate { >> #define _TRANS_DDI_FUNC_CTL2_DSI1 0x6bc04 >> #define TRANS_DDI_FUNC_CTL2(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _TRANS_DDI_FUNC_CTL2_A) >> #define PORT_SYNC_MODE_ENABLE REG_BIT(4) >> +#define CMTG_SECONDARY_MODE REG_BIT(3) >> #define PORT_SYNC_MODE_MASTER_SELECT_MASK REG_GENMASK(2, 0) >> #define PORT_SYNC_MODE_MASTER_SELECT(x) REG_FIELD_PREP(PORT_SYNC_MODE_MASTER_SELECT_MASK, (x)) >> >> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile >> index 68861db5f27c..d80e0766db35 100644 >> --- a/drivers/gpu/drm/xe/Makefile >> +++ b/drivers/gpu/drm/xe/Makefile >> @@ -200,6 +200,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ >> i915-display/intel_bios.o \ >> i915-display/intel_bw.o \ >> i915-display/intel_cdclk.o \ >> + i915-display/intel_cmtg.o \ >> i915-display/intel_color.o \ >> i915-display/intel_combo_phy.o \ >> i915-display/intel_connector.o \ >> -- >> 2.48.1 > >-- >Ville Syrjälä >Intel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v7] drm/i915/cmtg: Disable the CMTG 2025-01-24 14:32 ` Gustavo Sousa @ 2025-01-24 15:16 ` Ville Syrjälä 2025-01-24 16:41 ` Gustavo Sousa 0 siblings, 1 reply; 12+ messages in thread From: Ville Syrjälä @ 2025-01-24 15:16 UTC (permalink / raw) To: Gustavo Sousa; +Cc: intel-gfx, intel-xe, Jani Nikula On Fri, Jan 24, 2025 at 11:32:13AM -0300, Gustavo Sousa wrote: > Quoting Ville Syrjälä (2025-01-24 10:02:18-03:00) > >On Wed, Jan 22, 2025 at 05:03:41PM -0300, Gustavo Sousa wrote: > >> The CMTG is a timing generator that runs in parallel with transcoders > >> timing generators and can be used as a reference for synchronization. > >> > >> We have observed that we are inheriting from GOP a display configuration > >> with the CMTG enabled. Because our driver doesn't currently implement > >> any CMTG sequences, the CMTG ends up still enabled after our driver > >> takes over. > >> > >> We need to make sure that the CMTG is not enabled if we are not going to > >> use it. For that, let's add a partial implementation in our driver that > >> only cares about disabling the CMTG if it was found enabled during > >> initial hardware readout. In the future, we can also implement sequences > >> for using the CMTG if that becomes a needed feature. > >> > >> For now, we only deal with cases when it is possible to disable the CMTG > >> without requiring a modeset. For earlier display versions, we simply > >> skip if we find the CMTG enabled and we can't disable it without a > >> proper modeset. In the future, we need to properly handle that case. > >> > >> v2: > >> - DG2 does not have the CMTG. Update HAS_CMTG() accordingly. > >> - Update logic to force disabling of CMTG only for initial commit. > >> v3: > >> - Add missing changes for v2 that were staged but not committed. > >> v4: > >> - Avoid if/else duplication in intel_cmtg_dump_state() by using "n/a" > >> for CMTG B enabled/disabled string for platforms without it. (Jani) > >> - Prefer intel_cmtg_readout_hw_state() over intel_cmtg_readout_state(). > >> (Jani) > >> - Use display struct instead of i915 as first parameter for > >> TRANS_DDI_FUNC_CTL2(). (Jani) > >> - Fewer continuation lines in variable declaration/initialization for > >> better readability. (Jani) > >> - Coding style improvements. (Jani) > >> - Use drm_dbg_kms() instead of drm_info() for logging the disabling > >> of the CMTG. > >> - Make struct intel_cmtg_state entirely private to intel_cmtg.c. > >> v5: > >> - Do the disable sequence as part of the sanitization step after > >> hardware readout instead of initial modeset commit. (Jani) > >> - Adapt to commit 15133582465f ("drm/i915/display: convert global state > >> to struct intel_display") by using a display struct instead of i915 > >> as argument for intel_atomic_global_obj_init(). > >> v6: > >> - Do not track CMTG state as a global state. (Ville) > >> - Simplify the driver logic by only disabling the CMTG only on cases > >> when a modeset is not required. (Ville) > >> v7: > >> - Remove the call to drm_WARN_ON() when checking > >> intel_cmtg_disable_requires_modeset() and use a FIXME in the comment > >> instead. > >> - Remove the !HAS_CMTG() guard from intel_cmtg_get_config(), which is > >> static and its caller is already protected by that same condition. > >> - Also take the opportunity to put some Bspec references in the commit > >> trailers section. > >> > >> Bspec: 68915, 49262 > >> Cc: Jani Nikula <jani.nikula@intel.com> > >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com> > >> --- > >> drivers/gpu/drm/i915/Makefile | 1 + > >> drivers/gpu/drm/i915/display/intel_cmtg.c | 176 ++++++++++++++++++ > >> drivers/gpu/drm/i915/display/intel_cmtg.h | 13 ++ > >> .../gpu/drm/i915/display/intel_cmtg_regs.h | 21 +++ > >> .../drm/i915/display/intel_display_device.h | 1 + > >> .../drm/i915/display/intel_modeset_setup.c | 3 + > >> drivers/gpu/drm/i915/i915_reg.h | 1 + > >> drivers/gpu/drm/xe/Makefile | 1 + > >> 8 files changed, 217 insertions(+) > >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.c > >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.h > >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg_regs.h > >> > >> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > >> index 3dda9f0eda82..7e7414453765 100644 > >> --- a/drivers/gpu/drm/i915/Makefile > >> +++ b/drivers/gpu/drm/i915/Makefile > >> @@ -231,6 +231,7 @@ i915-y += \ > >> display/intel_bo.o \ > >> display/intel_bw.o \ > >> display/intel_cdclk.o \ > >> + display/intel_cmtg.o \ > >> display/intel_color.o \ > >> display/intel_combo_phy.o \ > >> display/intel_connector.o \ > >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c > >> new file mode 100644 > >> index 000000000000..a2f26b297733 > >> --- /dev/null > >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c > >> @@ -0,0 +1,176 @@ > >> +// SPDX-License-Identifier: MIT > >> +/* > >> + * Copyright (C) 2025 Intel Corporation > >> + */ > >> + > >> +#include <linux/string_choices.h> > >> +#include <linux/types.h> > >> + > >> +#include <drm/drm_device.h> > >> +#include <drm/drm_print.h> > >> + > >> +#include "i915_reg.h" > >> +#include "intel_crtc.h" > >> +#include "intel_cmtg.h" > >> +#include "intel_cmtg_regs.h" > >> +#include "intel_de.h" > >> +#include "intel_display_device.h" > >> + > >> +/** > >> + * DOC: Common Primary Timing Generator (CMTG) > >> + * > >> + * The CMTG is a timing generator that runs in parallel to transcoders timing > >> + * generators (TG) to provide a synchronization mechanism where CMTG acts as > >> + * primary and transcoders TGs act as secondary to the CMTG. The CMTG outputs > >> + * its TG start and frame sync signals to the transcoders that are configured > >> + * as secondary, which use those signals to synchronize their own timing with > >> + * the CMTG's. > >> + * > >> + * The CMTG can be used only with eDP or MIPI command mode and supports the > >> + * following use cases: > >> + * > >> + * - Dual eDP: The CMTG can be used to keep two eDP TGs in sync when on a > >> + * dual eDP configuration (with or without PSR/PSR2 enabled). > >> + * > >> + * - Single eDP as secondary: It is also possible to use a single eDP > >> + * configuration with the transcoder TG as secondary to the CMTG. That would > >> + * allow a flow that would not require a modeset on the existing eDP when a > >> + * new eDP is added for a dual eDP configuration with CMTG. > >> + * > >> + * - DC6v: In DC6v, the transcoder might be off but the CMTG keeps running to > >> + * maintain frame timings. When exiting DC6v, the transcoder TG then is > >> + * synced back the CMTG. > >> + * > >> + * Currently, the driver does not use the CMTG, but we need to make sure that > >> + * we disable it in case we inherit a display configuration with it enabled. > >> + */ > >> + > >> +/* > >> + * We describe here only the minimum data required to allow us to properly > >> + * disable the CMTG if necessary. > >> + */ > >> +struct intel_cmtg_config { > >> + bool cmtg_a_enable; > >> + /* > >> + * Xe2_LPD adds a second CMTG that can be used for dual eDP async mode. > >> + */ > >> + bool cmtg_b_enable; > >> + bool trans_a_secondary; > >> + bool trans_b_secondary; > >> +}; > >> + > >> +static bool intel_cmtg_has_cmtg_b(struct intel_display *display) > >> +{ > >> + return DISPLAY_VER(display) >= 20; > >> +} > >> + > >> +static bool intel_cmtg_has_clock_sel(struct intel_display *display) > >> +{ > >> + return DISPLAY_VER(display) >= 14; > >> +} > >> + > >> +static void intel_cmtg_dump_config(struct intel_display *display, > >> + struct intel_cmtg_config *cmtg_config) > >> +{ > >> + drm_dbg_kms(display->drm, > >> + "CMTG readout: CMTG A: %s, CMTG B: %s, Transcoder A secondary: %s, Transcoder B secondary: %s\n", > >> + str_enabled_disabled(cmtg_config->cmtg_a_enable), > >> + intel_cmtg_has_cmtg_b(display) ? str_enabled_disabled(cmtg_config->cmtg_b_enable) : "n/a", > >> + str_yes_no(cmtg_config->trans_a_secondary), > >> + str_yes_no(cmtg_config->trans_b_secondary)); > >> +} > >> + > >> +static void intel_cmtg_get_config(struct intel_display *display, > >> + struct intel_cmtg_config *cmtg_config) > >> +{ > >> + u32 val; > >> + > >> + val = intel_de_read(display, TRANS_CMTG_CTL_A); > >> + cmtg_config->cmtg_a_enable = val & CMTG_ENABLE; > >> + > >> + if (intel_cmtg_has_cmtg_b(display)) { > >> + val = intel_de_read(display, TRANS_CMTG_CTL_B); > >> + cmtg_config->cmtg_b_enable = val & CMTG_ENABLE; > >> + } > >> + > >> + if (intel_crtc_for_pipe(display, PIPE_A)) { > > > >HAS_TRANSCODER() seems more appropriate. > > Ah, certainly. > > Thanks for this. You should also do the display power domain dance ala. transcoder_ddi_func_is_enabled() so we don't end up reading from a disabled power well. > > > > >> + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A)); > >> + cmtg_config->trans_a_secondary = val & CMTG_SECONDARY_MODE; > >> + } > >> + > >> + if (intel_crtc_for_pipe(display, PIPE_B)) { > >> + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B)); > >> + cmtg_config->trans_b_secondary = val & CMTG_SECONDARY_MODE; > >> + } > >> +} > >> + > >> +static bool intel_cmtg_disable_requires_modeset(struct intel_display *display, > >> + struct intel_cmtg_config *cmtg_config) > >> +{ > >> + if (DISPLAY_VER(display) >= 20) > >> + return false; > >> + > >> + return cmtg_config->trans_a_secondary || cmtg_config->trans_b_secondary; > >> +} > >> + > >> +static void intel_cmtg_disable(struct intel_display *display, > >> + struct intel_cmtg_config *cmtg_config) > >> +{ > >> + u32 clk_sel_clr = 0; > >> + u32 clk_sel_set = 0; > >> + > >> + if (cmtg_config->trans_a_secondary) > >> + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A), > >> + CMTG_SECONDARY_MODE, 0); > >> + > >> + if (cmtg_config->trans_b_secondary) > >> + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B), > >> + CMTG_SECONDARY_MODE, 0); > >> + > >> + if (cmtg_config->cmtg_a_enable) { > >> + drm_dbg_kms(display->drm, "Disabling CMTG A\n"); > >> + intel_de_rmw(display, TRANS_CMTG_CTL_A, CMTG_ENABLE, 0); > >> + clk_sel_clr |= CMTG_CLK_SEL_A_MASK; > >> + clk_sel_set |= CMTG_CLK_SEL_A_DISABLED; > >> + } > >> + > >> + if (cmtg_config->cmtg_b_enable) { > >> + drm_dbg_kms(display->drm, "Disabling CMTG B\n"); > >> + intel_de_rmw(display, TRANS_CMTG_CTL_B, CMTG_ENABLE, 0); > >> + clk_sel_clr |= CMTG_CLK_SEL_B_MASK; > >> + clk_sel_set |= CMTG_CLK_SEL_B_DISABLED; > >> + } > >> + > >> + if (intel_cmtg_has_clock_sel(display) && clk_sel_clr) > >> + intel_de_rmw(display, CMTG_CLK_SEL, clk_sel_clr, clk_sel_set); > > > >We don't need some kind of sync to make sure the transcoders > >are no longer using the CMTG before turning off the clock? > > Well, that seems to be the case for pre-LNL platforms, which require a > modeset after clearing TRANS_DDI_FUNC_CTL2[CMTG_SECONDARY_MODE]. Only > after the modeset the CMTG can be disabled and then it's clock source > deselected. I guess the modeset might be what ensures that the > transcoder is not sync'ing with the CMTG anymore here? > > However, for those platforms, we are leaving the CMTG enabled for now. > > Now, for LNL and forward, the Bspec instructions in the disable sequence > simply tells to disable the CMTG and clear > TRANS_DDI_FUNC_CTL2[CMTG_SECONDARY_MODE], and then disable the CMTG > clock. So it seems no sync seems to be required here. OK. I guess it just immediately stops expecting the signalling from CMGH then, and presumably in this case there is nothing else to sync really since the timing generator just keeps going with whatever phase it's running at right now. With the power domain issue sorted this is Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > On a related note, the spec for LNL and forward also says that the CMTG > can be enabled dynamically after the modeset. > > -- > Gustavo Sousa > > > > >> +} > >> + > >> +/* > >> + * Read out CMTG configuration and, on platforms that allow disabling it without > >> + * a modeset, do it. > >> + * > >> + * This function must be called before any port PLL is disabled in the general > >> + * sanitization process, because we need whatever port PLL that is providing the > >> + * clock for CMTG to be on before accessing CMTG registers. > >> + */ > >> +void intel_cmtg_sanitize(struct intel_display *display) > >> +{ > >> + struct intel_cmtg_config cmtg_config = {}; > >> + > >> + if (!HAS_CMTG(display)) > >> + return; > >> + > >> + intel_cmtg_get_config(display, &cmtg_config); > >> + intel_cmtg_dump_config(display, &cmtg_config); > >> + > >> + /* > >> + * FIXME: The driver is not prepared to handle cases where a modeset is > >> + * required for disabling the CMTG: we need a proper way of tracking > >> + * CMTG state and do the right syncronization with respect to triggering > >> + * the modeset as part of the disable sequence. > >> + */ > >> + if (intel_cmtg_disable_requires_modeset(display, &cmtg_config)) > >> + return; > >> + > >> + intel_cmtg_disable(display, &cmtg_config); > >> +} > >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.h b/drivers/gpu/drm/i915/display/intel_cmtg.h > >> new file mode 100644 > >> index 000000000000..ba62199adaa2 > >> --- /dev/null > >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.h > >> @@ -0,0 +1,13 @@ > >> +/* SPDX-License-Identifier: MIT */ > >> +/* > >> + * Copyright (C) 2025 Intel Corporation > >> + */ > >> + > >> +#ifndef __INTEL_CMTG_H__ > >> +#define __INTEL_CMTG_H__ > >> + > >> +struct intel_display; > >> + > >> +void intel_cmtg_sanitize(struct intel_display *display); > >> + > >> +#endif /* __INTEL_CMTG_H__ */ > >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h > >> new file mode 100644 > >> index 000000000000..668e41d65e86 > >> --- /dev/null > >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h > >> @@ -0,0 +1,21 @@ > >> +/* SPDX-License-Identifier: MIT */ > >> +/* > >> + * Copyright (C) 2025 Intel Corporation > >> + */ > >> + > >> +#ifndef __INTEL_CMTG_REGS_H__ > >> +#define __INTEL_CMTG_REGS_H__ > >> + > >> +#include "i915_reg_defs.h" > >> + > >> +#define CMTG_CLK_SEL _MMIO(0x46160) > >> +#define CMTG_CLK_SEL_A_MASK REG_GENMASK(31, 29) > >> +#define CMTG_CLK_SEL_A_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_A_MASK, 0) > >> +#define CMTG_CLK_SEL_B_MASK REG_GENMASK(15, 13) > >> +#define CMTG_CLK_SEL_B_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_B_MASK, 0) > >> + > >> +#define TRANS_CMTG_CTL_A _MMIO(0x6fa88) > >> +#define TRANS_CMTG_CTL_B _MMIO(0x6fb88) > >> +#define CMTG_ENABLE REG_BIT(31) > >> + > >> +#endif /* __INTEL_CMTG_REGS_H__ */ > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h > >> index a7b5ce69cf17..fc33791f02b9 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_display_device.h > >> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h > >> @@ -146,6 +146,7 @@ struct intel_display_platforms { > >> #define HAS_BIGJOINER(__display) (DISPLAY_VER(__display) >= 11 && HAS_DSC(__display)) > >> #define HAS_CDCLK_CRAWL(__display) (DISPLAY_INFO(__display)->has_cdclk_crawl) > >> #define HAS_CDCLK_SQUASH(__display) (DISPLAY_INFO(__display)->has_cdclk_squash) > >> +#define HAS_CMTG(__display) (!(__display)->platform.dg2 && DISPLAY_VER(__display) >= 13) > >> #define HAS_CUR_FBC(__display) (!HAS_GMCH(__display) && IS_DISPLAY_VER(__display, 7, 13)) > >> #define HAS_D12_PLANE_MINIMIZATION(__display) ((__display)->platform.rocketlake || (__display)->platform.alderlake_s) > >> #define HAS_DBUF_OVERLAP_DETECTION(__display) (DISPLAY_RUNTIME_INFO(__display)->has_dbuf_overlap_detection) > >> diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c > >> index 9a2bea19f17b..10cdfdad82e4 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c > >> +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c > >> @@ -15,6 +15,7 @@ > >> #include "i9xx_wm.h" > >> #include "intel_atomic.h" > >> #include "intel_bw.h" > >> +#include "intel_cmtg.h" > >> #include "intel_color.h" > >> #include "intel_crtc.h" > >> #include "intel_crtc_state_dump.h" > >> @@ -978,6 +979,8 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915, > >> > >> intel_pch_sanitize(i915); > >> > >> + intel_cmtg_sanitize(display); > >> + > >> /* > >> * intel_sanitize_plane_mapping() may need to do vblank > >> * waits, so we need vblank interrupts restored beforehand. > >> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > >> index 765e6c0528fb..b34bccfb1ccc 100644 > >> --- a/drivers/gpu/drm/i915/i915_reg.h > >> +++ b/drivers/gpu/drm/i915/i915_reg.h > >> @@ -3565,6 +3565,7 @@ enum skl_power_gate { > >> #define _TRANS_DDI_FUNC_CTL2_DSI1 0x6bc04 > >> #define TRANS_DDI_FUNC_CTL2(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _TRANS_DDI_FUNC_CTL2_A) > >> #define PORT_SYNC_MODE_ENABLE REG_BIT(4) > >> +#define CMTG_SECONDARY_MODE REG_BIT(3) > >> #define PORT_SYNC_MODE_MASTER_SELECT_MASK REG_GENMASK(2, 0) > >> #define PORT_SYNC_MODE_MASTER_SELECT(x) REG_FIELD_PREP(PORT_SYNC_MODE_MASTER_SELECT_MASK, (x)) > >> > >> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile > >> index 68861db5f27c..d80e0766db35 100644 > >> --- a/drivers/gpu/drm/xe/Makefile > >> +++ b/drivers/gpu/drm/xe/Makefile > >> @@ -200,6 +200,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ > >> i915-display/intel_bios.o \ > >> i915-display/intel_bw.o \ > >> i915-display/intel_cdclk.o \ > >> + i915-display/intel_cmtg.o \ > >> i915-display/intel_color.o \ > >> i915-display/intel_combo_phy.o \ > >> i915-display/intel_connector.o \ > >> -- > >> 2.48.1 > > > >-- > >Ville Syrjälä > >Intel -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v7] drm/i915/cmtg: Disable the CMTG 2025-01-24 15:16 ` Ville Syrjälä @ 2025-01-24 16:41 ` Gustavo Sousa 0 siblings, 0 replies; 12+ messages in thread From: Gustavo Sousa @ 2025-01-24 16:41 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx, intel-xe, Jani Nikula Quoting Ville Syrjälä (2025-01-24 12:16:20-03:00) >On Fri, Jan 24, 2025 at 11:32:13AM -0300, Gustavo Sousa wrote: >> Quoting Ville Syrjälä (2025-01-24 10:02:18-03:00) >> >On Wed, Jan 22, 2025 at 05:03:41PM -0300, Gustavo Sousa wrote: >> >> The CMTG is a timing generator that runs in parallel with transcoders >> >> timing generators and can be used as a reference for synchronization. >> >> >> >> We have observed that we are inheriting from GOP a display configuration >> >> with the CMTG enabled. Because our driver doesn't currently implement >> >> any CMTG sequences, the CMTG ends up still enabled after our driver >> >> takes over. >> >> >> >> We need to make sure that the CMTG is not enabled if we are not going to >> >> use it. For that, let's add a partial implementation in our driver that >> >> only cares about disabling the CMTG if it was found enabled during >> >> initial hardware readout. In the future, we can also implement sequences >> >> for using the CMTG if that becomes a needed feature. >> >> >> >> For now, we only deal with cases when it is possible to disable the CMTG >> >> without requiring a modeset. For earlier display versions, we simply >> >> skip if we find the CMTG enabled and we can't disable it without a >> >> proper modeset. In the future, we need to properly handle that case. >> >> >> >> v2: >> >> - DG2 does not have the CMTG. Update HAS_CMTG() accordingly. >> >> - Update logic to force disabling of CMTG only for initial commit. >> >> v3: >> >> - Add missing changes for v2 that were staged but not committed. >> >> v4: >> >> - Avoid if/else duplication in intel_cmtg_dump_state() by using "n/a" >> >> for CMTG B enabled/disabled string for platforms without it. (Jani) >> >> - Prefer intel_cmtg_readout_hw_state() over intel_cmtg_readout_state(). >> >> (Jani) >> >> - Use display struct instead of i915 as first parameter for >> >> TRANS_DDI_FUNC_CTL2(). (Jani) >> >> - Fewer continuation lines in variable declaration/initialization for >> >> better readability. (Jani) >> >> - Coding style improvements. (Jani) >> >> - Use drm_dbg_kms() instead of drm_info() for logging the disabling >> >> of the CMTG. >> >> - Make struct intel_cmtg_state entirely private to intel_cmtg.c. >> >> v5: >> >> - Do the disable sequence as part of the sanitization step after >> >> hardware readout instead of initial modeset commit. (Jani) >> >> - Adapt to commit 15133582465f ("drm/i915/display: convert global state >> >> to struct intel_display") by using a display struct instead of i915 >> >> as argument for intel_atomic_global_obj_init(). >> >> v6: >> >> - Do not track CMTG state as a global state. (Ville) >> >> - Simplify the driver logic by only disabling the CMTG only on cases >> >> when a modeset is not required. (Ville) >> >> v7: >> >> - Remove the call to drm_WARN_ON() when checking >> >> intel_cmtg_disable_requires_modeset() and use a FIXME in the comment >> >> instead. >> >> - Remove the !HAS_CMTG() guard from intel_cmtg_get_config(), which is >> >> static and its caller is already protected by that same condition. >> >> - Also take the opportunity to put some Bspec references in the commit >> >> trailers section. >> >> >> >> Bspec: 68915, 49262 >> >> Cc: Jani Nikula <jani.nikula@intel.com> >> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> >> >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com> >> >> --- >> >> drivers/gpu/drm/i915/Makefile | 1 + >> >> drivers/gpu/drm/i915/display/intel_cmtg.c | 176 ++++++++++++++++++ >> >> drivers/gpu/drm/i915/display/intel_cmtg.h | 13 ++ >> >> .../gpu/drm/i915/display/intel_cmtg_regs.h | 21 +++ >> >> .../drm/i915/display/intel_display_device.h | 1 + >> >> .../drm/i915/display/intel_modeset_setup.c | 3 + >> >> drivers/gpu/drm/i915/i915_reg.h | 1 + >> >> drivers/gpu/drm/xe/Makefile | 1 + >> >> 8 files changed, 217 insertions(+) >> >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.c >> >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg.h >> >> create mode 100644 drivers/gpu/drm/i915/display/intel_cmtg_regs.h >> >> >> >> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile >> >> index 3dda9f0eda82..7e7414453765 100644 >> >> --- a/drivers/gpu/drm/i915/Makefile >> >> +++ b/drivers/gpu/drm/i915/Makefile >> >> @@ -231,6 +231,7 @@ i915-y += \ >> >> display/intel_bo.o \ >> >> display/intel_bw.o \ >> >> display/intel_cdclk.o \ >> >> + display/intel_cmtg.o \ >> >> display/intel_color.o \ >> >> display/intel_combo_phy.o \ >> >> display/intel_connector.o \ >> >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c >> >> new file mode 100644 >> >> index 000000000000..a2f26b297733 >> >> --- /dev/null >> >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c >> >> @@ -0,0 +1,176 @@ >> >> +// SPDX-License-Identifier: MIT >> >> +/* >> >> + * Copyright (C) 2025 Intel Corporation >> >> + */ >> >> + >> >> +#include <linux/string_choices.h> >> >> +#include <linux/types.h> >> >> + >> >> +#include <drm/drm_device.h> >> >> +#include <drm/drm_print.h> >> >> + >> >> +#include "i915_reg.h" >> >> +#include "intel_crtc.h" >> >> +#include "intel_cmtg.h" >> >> +#include "intel_cmtg_regs.h" >> >> +#include "intel_de.h" >> >> +#include "intel_display_device.h" >> >> + >> >> +/** >> >> + * DOC: Common Primary Timing Generator (CMTG) >> >> + * >> >> + * The CMTG is a timing generator that runs in parallel to transcoders timing >> >> + * generators (TG) to provide a synchronization mechanism where CMTG acts as >> >> + * primary and transcoders TGs act as secondary to the CMTG. The CMTG outputs >> >> + * its TG start and frame sync signals to the transcoders that are configured >> >> + * as secondary, which use those signals to synchronize their own timing with >> >> + * the CMTG's. >> >> + * >> >> + * The CMTG can be used only with eDP or MIPI command mode and supports the >> >> + * following use cases: >> >> + * >> >> + * - Dual eDP: The CMTG can be used to keep two eDP TGs in sync when on a >> >> + * dual eDP configuration (with or without PSR/PSR2 enabled). >> >> + * >> >> + * - Single eDP as secondary: It is also possible to use a single eDP >> >> + * configuration with the transcoder TG as secondary to the CMTG. That would >> >> + * allow a flow that would not require a modeset on the existing eDP when a >> >> + * new eDP is added for a dual eDP configuration with CMTG. >> >> + * >> >> + * - DC6v: In DC6v, the transcoder might be off but the CMTG keeps running to >> >> + * maintain frame timings. When exiting DC6v, the transcoder TG then is >> >> + * synced back the CMTG. >> >> + * >> >> + * Currently, the driver does not use the CMTG, but we need to make sure that >> >> + * we disable it in case we inherit a display configuration with it enabled. >> >> + */ >> >> + >> >> +/* >> >> + * We describe here only the minimum data required to allow us to properly >> >> + * disable the CMTG if necessary. >> >> + */ >> >> +struct intel_cmtg_config { >> >> + bool cmtg_a_enable; >> >> + /* >> >> + * Xe2_LPD adds a second CMTG that can be used for dual eDP async mode. >> >> + */ >> >> + bool cmtg_b_enable; >> >> + bool trans_a_secondary; >> >> + bool trans_b_secondary; >> >> +}; >> >> + >> >> +static bool intel_cmtg_has_cmtg_b(struct intel_display *display) >> >> +{ >> >> + return DISPLAY_VER(display) >= 20; >> >> +} >> >> + >> >> +static bool intel_cmtg_has_clock_sel(struct intel_display *display) >> >> +{ >> >> + return DISPLAY_VER(display) >= 14; >> >> +} >> >> + >> >> +static void intel_cmtg_dump_config(struct intel_display *display, >> >> + struct intel_cmtg_config *cmtg_config) >> >> +{ >> >> + drm_dbg_kms(display->drm, >> >> + "CMTG readout: CMTG A: %s, CMTG B: %s, Transcoder A secondary: %s, Transcoder B secondary: %s\n", >> >> + str_enabled_disabled(cmtg_config->cmtg_a_enable), >> >> + intel_cmtg_has_cmtg_b(display) ? str_enabled_disabled(cmtg_config->cmtg_b_enable) : "n/a", >> >> + str_yes_no(cmtg_config->trans_a_secondary), >> >> + str_yes_no(cmtg_config->trans_b_secondary)); >> >> +} >> >> + >> >> +static void intel_cmtg_get_config(struct intel_display *display, >> >> + struct intel_cmtg_config *cmtg_config) >> >> +{ >> >> + u32 val; >> >> + >> >> + val = intel_de_read(display, TRANS_CMTG_CTL_A); >> >> + cmtg_config->cmtg_a_enable = val & CMTG_ENABLE; >> >> + >> >> + if (intel_cmtg_has_cmtg_b(display)) { >> >> + val = intel_de_read(display, TRANS_CMTG_CTL_B); >> >> + cmtg_config->cmtg_b_enable = val & CMTG_ENABLE; >> >> + } >> >> + >> >> + if (intel_crtc_for_pipe(display, PIPE_A)) { >> > >> >HAS_TRANSCODER() seems more appropriate. >> >> Ah, certainly. >> >> Thanks for this. > >You should also do the display power domain dance ala. >transcoder_ddi_func_is_enabled() so we don't end up >reading from a disabled power well. The intel_cmtg_sanitize() function is called with POWER_DOMAIN_INIT grabbed... But I guess it doesn't hurt to also grab the transcoder's power domain here. Seems to make this more future-proof. I'll send a new version with encapsulating these reads with with_intel_display_power_if_enabled(). > >> >> > >> >> + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A)); >> >> + cmtg_config->trans_a_secondary = val & CMTG_SECONDARY_MODE; >> >> + } >> >> + >> >> + if (intel_crtc_for_pipe(display, PIPE_B)) { >> >> + val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B)); >> >> + cmtg_config->trans_b_secondary = val & CMTG_SECONDARY_MODE; >> >> + } >> >> +} >> >> + >> >> +static bool intel_cmtg_disable_requires_modeset(struct intel_display *display, >> >> + struct intel_cmtg_config *cmtg_config) >> >> +{ >> >> + if (DISPLAY_VER(display) >= 20) >> >> + return false; >> >> + >> >> + return cmtg_config->trans_a_secondary || cmtg_config->trans_b_secondary; >> >> +} >> >> + >> >> +static void intel_cmtg_disable(struct intel_display *display, >> >> + struct intel_cmtg_config *cmtg_config) >> >> +{ >> >> + u32 clk_sel_clr = 0; >> >> + u32 clk_sel_set = 0; >> >> + >> >> + if (cmtg_config->trans_a_secondary) >> >> + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_A), >> >> + CMTG_SECONDARY_MODE, 0); >> >> + >> >> + if (cmtg_config->trans_b_secondary) >> >> + intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display, TRANSCODER_B), >> >> + CMTG_SECONDARY_MODE, 0); >> >> + >> >> + if (cmtg_config->cmtg_a_enable) { >> >> + drm_dbg_kms(display->drm, "Disabling CMTG A\n"); >> >> + intel_de_rmw(display, TRANS_CMTG_CTL_A, CMTG_ENABLE, 0); >> >> + clk_sel_clr |= CMTG_CLK_SEL_A_MASK; >> >> + clk_sel_set |= CMTG_CLK_SEL_A_DISABLED; >> >> + } >> >> + >> >> + if (cmtg_config->cmtg_b_enable) { >> >> + drm_dbg_kms(display->drm, "Disabling CMTG B\n"); >> >> + intel_de_rmw(display, TRANS_CMTG_CTL_B, CMTG_ENABLE, 0); >> >> + clk_sel_clr |= CMTG_CLK_SEL_B_MASK; >> >> + clk_sel_set |= CMTG_CLK_SEL_B_DISABLED; >> >> + } >> >> + >> >> + if (intel_cmtg_has_clock_sel(display) && clk_sel_clr) >> >> + intel_de_rmw(display, CMTG_CLK_SEL, clk_sel_clr, clk_sel_set); >> > >> >We don't need some kind of sync to make sure the transcoders >> >are no longer using the CMTG before turning off the clock? >> >> Well, that seems to be the case for pre-LNL platforms, which require a >> modeset after clearing TRANS_DDI_FUNC_CTL2[CMTG_SECONDARY_MODE]. Only >> after the modeset the CMTG can be disabled and then it's clock source >> deselected. I guess the modeset might be what ensures that the >> transcoder is not sync'ing with the CMTG anymore here? >> >> However, for those platforms, we are leaving the CMTG enabled for now. >> >> Now, for LNL and forward, the Bspec instructions in the disable sequence >> simply tells to disable the CMTG and clear >> TRANS_DDI_FUNC_CTL2[CMTG_SECONDARY_MODE], and then disable the CMTG >> clock. So it seems no sync seems to be required here. > >OK. I guess it just immediately stops expecting the signalling >from CMGH then, and presumably in this case there is nothing >else to sync really since the timing generator just keeps going >with whatever phase it's running at right now. > >With the power domain issue sorted this is >Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Thanks! -- Gustavo Sousa > >> >> On a related note, the spec for LNL and forward also says that the CMTG >> can be enabled dynamically after the modeset. >> >> -- >> Gustavo Sousa >> >> > >> >> +} >> >> + >> >> +/* >> >> + * Read out CMTG configuration and, on platforms that allow disabling it without >> >> + * a modeset, do it. >> >> + * >> >> + * This function must be called before any port PLL is disabled in the general >> >> + * sanitization process, because we need whatever port PLL that is providing the >> >> + * clock for CMTG to be on before accessing CMTG registers. >> >> + */ >> >> +void intel_cmtg_sanitize(struct intel_display *display) >> >> +{ >> >> + struct intel_cmtg_config cmtg_config = {}; >> >> + >> >> + if (!HAS_CMTG(display)) >> >> + return; >> >> + >> >> + intel_cmtg_get_config(display, &cmtg_config); >> >> + intel_cmtg_dump_config(display, &cmtg_config); >> >> + >> >> + /* >> >> + * FIXME: The driver is not prepared to handle cases where a modeset is >> >> + * required for disabling the CMTG: we need a proper way of tracking >> >> + * CMTG state and do the right syncronization with respect to triggering >> >> + * the modeset as part of the disable sequence. >> >> + */ >> >> + if (intel_cmtg_disable_requires_modeset(display, &cmtg_config)) >> >> + return; >> >> + >> >> + intel_cmtg_disable(display, &cmtg_config); >> >> +} >> >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.h b/drivers/gpu/drm/i915/display/intel_cmtg.h >> >> new file mode 100644 >> >> index 000000000000..ba62199adaa2 >> >> --- /dev/null >> >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.h >> >> @@ -0,0 +1,13 @@ >> >> +/* SPDX-License-Identifier: MIT */ >> >> +/* >> >> + * Copyright (C) 2025 Intel Corporation >> >> + */ >> >> + >> >> +#ifndef __INTEL_CMTG_H__ >> >> +#define __INTEL_CMTG_H__ >> >> + >> >> +struct intel_display; >> >> + >> >> +void intel_cmtg_sanitize(struct intel_display *display); >> >> + >> >> +#endif /* __INTEL_CMTG_H__ */ >> >> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h >> >> new file mode 100644 >> >> index 000000000000..668e41d65e86 >> >> --- /dev/null >> >> +++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h >> >> @@ -0,0 +1,21 @@ >> >> +/* SPDX-License-Identifier: MIT */ >> >> +/* >> >> + * Copyright (C) 2025 Intel Corporation >> >> + */ >> >> + >> >> +#ifndef __INTEL_CMTG_REGS_H__ >> >> +#define __INTEL_CMTG_REGS_H__ >> >> + >> >> +#include "i915_reg_defs.h" >> >> + >> >> +#define CMTG_CLK_SEL _MMIO(0x46160) >> >> +#define CMTG_CLK_SEL_A_MASK REG_GENMASK(31, 29) >> >> +#define CMTG_CLK_SEL_A_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_A_MASK, 0) >> >> +#define CMTG_CLK_SEL_B_MASK REG_GENMASK(15, 13) >> >> +#define CMTG_CLK_SEL_B_DISABLED REG_FIELD_PREP(CMTG_CLK_SEL_B_MASK, 0) >> >> + >> >> +#define TRANS_CMTG_CTL_A _MMIO(0x6fa88) >> >> +#define TRANS_CMTG_CTL_B _MMIO(0x6fb88) >> >> +#define CMTG_ENABLE REG_BIT(31) >> >> + >> >> +#endif /* __INTEL_CMTG_REGS_H__ */ >> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h >> >> index a7b5ce69cf17..fc33791f02b9 100644 >> >> --- a/drivers/gpu/drm/i915/display/intel_display_device.h >> >> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h >> >> @@ -146,6 +146,7 @@ struct intel_display_platforms { >> >> #define HAS_BIGJOINER(__display) (DISPLAY_VER(__display) >= 11 && HAS_DSC(__display)) >> >> #define HAS_CDCLK_CRAWL(__display) (DISPLAY_INFO(__display)->has_cdclk_crawl) >> >> #define HAS_CDCLK_SQUASH(__display) (DISPLAY_INFO(__display)->has_cdclk_squash) >> >> +#define HAS_CMTG(__display) (!(__display)->platform.dg2 && DISPLAY_VER(__display) >= 13) >> >> #define HAS_CUR_FBC(__display) (!HAS_GMCH(__display) && IS_DISPLAY_VER(__display, 7, 13)) >> >> #define HAS_D12_PLANE_MINIMIZATION(__display) ((__display)->platform.rocketlake || (__display)->platform.alderlake_s) >> >> #define HAS_DBUF_OVERLAP_DETECTION(__display) (DISPLAY_RUNTIME_INFO(__display)->has_dbuf_overlap_detection) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c >> >> index 9a2bea19f17b..10cdfdad82e4 100644 >> >> --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c >> >> +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c >> >> @@ -15,6 +15,7 @@ >> >> #include "i9xx_wm.h" >> >> #include "intel_atomic.h" >> >> #include "intel_bw.h" >> >> +#include "intel_cmtg.h" >> >> #include "intel_color.h" >> >> #include "intel_crtc.h" >> >> #include "intel_crtc_state_dump.h" >> >> @@ -978,6 +979,8 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915, >> >> >> >> intel_pch_sanitize(i915); >> >> >> >> + intel_cmtg_sanitize(display); >> >> + >> >> /* >> >> * intel_sanitize_plane_mapping() may need to do vblank >> >> * waits, so we need vblank interrupts restored beforehand. >> >> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h >> >> index 765e6c0528fb..b34bccfb1ccc 100644 >> >> --- a/drivers/gpu/drm/i915/i915_reg.h >> >> +++ b/drivers/gpu/drm/i915/i915_reg.h >> >> @@ -3565,6 +3565,7 @@ enum skl_power_gate { >> >> #define _TRANS_DDI_FUNC_CTL2_DSI1 0x6bc04 >> >> #define TRANS_DDI_FUNC_CTL2(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _TRANS_DDI_FUNC_CTL2_A) >> >> #define PORT_SYNC_MODE_ENABLE REG_BIT(4) >> >> +#define CMTG_SECONDARY_MODE REG_BIT(3) >> >> #define PORT_SYNC_MODE_MASTER_SELECT_MASK REG_GENMASK(2, 0) >> >> #define PORT_SYNC_MODE_MASTER_SELECT(x) REG_FIELD_PREP(PORT_SYNC_MODE_MASTER_SELECT_MASK, (x)) >> >> >> >> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile >> >> index 68861db5f27c..d80e0766db35 100644 >> >> --- a/drivers/gpu/drm/xe/Makefile >> >> +++ b/drivers/gpu/drm/xe/Makefile >> >> @@ -200,6 +200,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ >> >> i915-display/intel_bios.o \ >> >> i915-display/intel_bw.o \ >> >> i915-display/intel_cdclk.o \ >> >> + i915-display/intel_cmtg.o \ >> >> i915-display/intel_color.o \ >> >> i915-display/intel_combo_phy.o \ >> >> i915-display/intel_connector.o \ >> >> -- >> >> 2.48.1 >> > >> >-- >> >Ville Syrjälä >> >Intel > >-- >Ville Syrjälä >Intel ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-01-24 16:41 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-01-22 20:03 [PATCH v7] drm/i915/cmtg: Disable the CMTG Gustavo Sousa 2025-01-22 20:49 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/cmtg: Disable the CMTG (rev8) Patchwork 2025-01-22 20:49 ` ✗ Fi.CI.SPARSE: " Patchwork 2025-01-22 21:00 ` ✗ i915.CI.BAT: failure " Patchwork 2025-01-22 21:42 ` Gustavo Sousa 2025-01-23 11:18 ` Ravali, JupallyX 2025-01-23 6:25 ` ✓ i915.CI.BAT: success " Patchwork 2025-01-23 21:17 ` ✓ i915.CI.Full: " Patchwork 2025-01-24 13:02 ` [PATCH v7] drm/i915/cmtg: Disable the CMTG Ville Syrjälä 2025-01-24 14:32 ` Gustavo Sousa 2025-01-24 15:16 ` Ville Syrjälä 2025-01-24 16:41 ` Gustavo Sousa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox