* [PATCH v1 00/30] Comments applied to dp_link_caps
@ 2026-06-23 22:45 Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 01/30] drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry Michał Grzelak
` (36 more replies)
0 siblings, 37 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
To not block review of Imre's v2 of part2 series [1] I've applied my
comments on top of it since they are not critical to the overall design,
and can be looked afterwards; assuming they are at all valid :). Unlike
previous times, now those resended patches should be free from
disappointing mistakes like eg. duplication of From: tag or missing
Signed-off-by: of resender.
BR,
Michał
[1] https://lore.kernel.org/intel-gfx/20260616200849.3534628-1-imre.deak@intel.com/
Imre Deak (28):
drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry
drm/i915/dp: Add struct intel_dp_link_config
drm/i915/dp_link_caps: Introduce DP link capability module
drm/i915/dp_link_caps: Move common rate helpers to link caps
drm/i915/dp_link_caps: Move forced link param helpers to link caps
drm/i915/dp: Simplify querying of forced link parameters
drm/i915/dp_link_caps: Move forced and max link debugfs entries to
link caps
drm/i915/dp_link_training: Use helpers to get forced link params
drm/i915/dp_link_caps: Move forced link params to link_caps
drm/i915/dp_link_caps: Move link config helpers to link caps
drm/i915/dp_link_caps: Move link config tracking to link_caps
drm/i915/dp_link_caps: Rename helper updating the link configurations
drm/i915/dp: Factor out helper to get link rate capabilities
drm/i915/dp_link_caps: Pass supported link rates to link caps update
drm/i915/dp_link_caps: Add helper to print all supported link rates
drm/i915/dp_link_caps: Add helper to get the number of supported link
rates
drm/i915/dp_link_caps: Add helper to get common rate index
drm/i915/dp_link_caps: Move tracking of common rates to link_caps
struct
drm/i915/dp_link_caps: Track max common lane count in link_caps
drm/i915/dp_link_caps: Use max common lane count from link_caps
drm/i915/dp_link_caps: Add helpers to get max link limits
drm/i915/dp_link_caps: Add helpers to set max link limits
drm/i915/dp_link_caps: Add helper to reset max link limits
drm/i915/dp_link_caps: Add helper to reset link_caps state
drm/i915/dp_link_caps: Move max link limits to link_caps
drm/i915/dp_link_caps: Pass link_caps to static functions
drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers
drm/i915/dp_link_caps: Pass link_caps to common rate helpers
Michał Grzelak (2):
drm/i915/dp_link_caps: s/lc/lce/
drm/i915/dp: return -EINVAL on failure
drivers/gpu/drm/i915/Makefile | 1 +
.../drm/i915/display/intel_display_debugfs.c | 2 +
.../drm/i915/display/intel_display_types.h | 32 +-
drivers/gpu/drm/i915/display/intel_dp.c | 274 ++-----
drivers/gpu/drm/i915/display/intel_dp.h | 6 +-
.../gpu/drm/i915/display/intel_dp_link_caps.c | 675 ++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 47 ++
.../drm/i915/display/intel_dp_link_training.c | 318 +--------
drivers/gpu/drm/i915/display/intel_dp_test.c | 7 +-
.../gpu/drm/i915/display/intel_dp_tunnel.c | 6 +-
drivers/gpu/drm/xe/Makefile | 1 +
11 files changed, 854 insertions(+), 515 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_dp_link_caps.c
create mode 100644 drivers/gpu/drm/i915/display/intel_dp_link_caps.h
--
2.45.2
^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH v1 01/30] drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 02/30] drm/i915/dp: Add struct intel_dp_link_config Michał Grzelak
` (35 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Rename intel_dp_link_config to intel_dp_link_config_entry to prepare
for tracking a link configuration in both an internal packed and a
public unpacked format. A follow-up change will add
struct intel_dp_link_config representing the public unpacked format.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../gpu/drm/i915/display/intel_display_types.h | 2 +-
drivers/gpu/drm/i915/display/intel_dp.c | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index b0ce1b71ca27a..7fd7dfd420487 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1840,7 +1840,7 @@ struct intel_dp {
#define INTEL_DP_LINK_RATE_IDX_BITS (BITS_PER_TYPE(u8) - INTEL_DP_LANE_COUNT_EXP_BITS)
#define INTEL_DP_MAX_LINK_CONFIGS (DP_MAX_SUPPORTED_RATES * \
INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS)
- struct intel_dp_link_config {
+ struct intel_dp_link_config_entry {
u8 link_rate_idx:INTEL_DP_LINK_RATE_IDX_BITS;
u8 lane_count_exp:INTEL_DP_LANE_COUNT_EXP_BITS;
} configs[INTEL_DP_MAX_LINK_CONFIGS];
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 3569e61e7feea..00eb3f5103383 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -699,18 +699,18 @@ int intel_dp_rate_index(const int *rates, int len, int rate)
}
static int intel_dp_link_config_rate(struct intel_dp *intel_dp,
- const struct intel_dp_link_config *lc)
+ const struct intel_dp_link_config_entry *lc)
{
return intel_dp_common_rate(intel_dp, lc->link_rate_idx);
}
-static int intel_dp_link_config_lane_count(const struct intel_dp_link_config *lc)
+static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lc)
{
return 1 << lc->lane_count_exp;
}
static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
- const struct intel_dp_link_config *lc)
+ const struct intel_dp_link_config_entry *lc)
{
return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(intel_dp, lc),
intel_dp_link_config_lane_count(lc));
@@ -719,8 +719,8 @@ static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
{
struct intel_dp *intel_dp = (struct intel_dp *)p; /* remove const */
- const struct intel_dp_link_config *lc_a = a;
- const struct intel_dp_link_config *lc_b = b;
+ const struct intel_dp_link_config_entry *lc_a = a;
+ const struct intel_dp_link_config_entry *lc_b = b;
int bw_a = intel_dp_link_config_bw(intel_dp, lc_a);
int bw_b = intel_dp_link_config_bw(intel_dp, lc_b);
@@ -734,7 +734,7 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
static void intel_dp_link_config_init(struct intel_dp *intel_dp)
{
struct intel_display *display = to_intel_display(intel_dp);
- struct intel_dp_link_config *lc;
+ struct intel_dp_link_config_entry *lc;
int num_common_lane_configs;
int i;
int j;
@@ -769,7 +769,7 @@ static void intel_dp_link_config_init(struct intel_dp *intel_dp)
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
{
struct intel_display *display = to_intel_display(intel_dp);
- const struct intel_dp_link_config *lc;
+ const struct intel_dp_link_config_entry *lc;
if (drm_WARN_ON(display->drm, idx < 0 || idx >= intel_dp->link.num_configs))
idx = 0;
@@ -788,7 +788,7 @@ int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lan
int i;
for (i = 0; i < intel_dp->link.num_configs; i++) {
- const struct intel_dp_link_config *lc = &intel_dp->link.configs[i];
+ const struct intel_dp_link_config_entry *lc = &intel_dp->link.configs[i];
if (lc->lane_count_exp == lane_count_exp &&
lc->link_rate_idx == link_rate_idx)
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 02/30] drm/i915/dp: Add struct intel_dp_link_config
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 01/30] drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 03/30] drm/i915/dp_link_caps: Introduce DP link capability module Michał Grzelak
` (34 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add a struct representing the public unpacked format of a link
configuration. This will be used by the DP link capability API added
as a follow-up, and by DP code in general that needs to track a link
configuration.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_types.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 7fd7dfd420487..8c1af7b8ba270 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1800,6 +1800,14 @@ struct intel_psr {
struct ref_tracker *vblank_wakeref;
};
+struct intel_dp_link_config {
+ int rate;
+ int lane_count;
+};
+
+#define INTEL_DP_LINK_CONFIG_NULL \
+ ((struct intel_dp_link_config){})
+
struct intel_dp {
intel_reg_t output_reg;
u32 DP;
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 03/30] drm/i915/dp_link_caps: Introduce DP link capability module
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 01/30] drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 02/30] drm/i915/dp: Add struct intel_dp_link_config Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 04/30] drm/i915/dp_link_caps: Move common rate helpers to link caps Michał Grzelak
` (33 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak, Jani Nikula,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Start isolating the DP link capability logic from the generic DP code by
adding a separate intel_dp_link_caps module and a corresponding state
object.
Allocate the state so it can remain opaque within its module.
Follow-up changes will move link capability helpers and state from
intel_dp.c and intel_dp_link_training.c to the new module and state.
v2: Remove unnecessary function documentation. (Jani)
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
.../drm/i915/display/intel_display_types.h | 2 ++
drivers/gpu/drm/i915/display/intel_dp.c | 9 ++++++
.../gpu/drm/i915/display/intel_dp_link_caps.c | 30 +++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 12 ++++++++
drivers/gpu/drm/xe/Makefile | 1 +
6 files changed, 55 insertions(+)
create mode 100644 drivers/gpu/drm/i915/display/intel_dp_link_caps.c
create mode 100644 drivers/gpu/drm/i915/display/intel_dp_link_caps.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 1fd7a1a5f3158..c4de717505d73 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -356,6 +356,7 @@ i915-y += \
display/intel_dp_aux.o \
display/intel_dp_aux_backlight.o \
display/intel_dp_hdcp.o \
+ display/intel_dp_link_caps.o \
display/intel_dp_link_training.o \
display/intel_dp_mst.o \
display/intel_dp_test.o \
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 8c1af7b8ba270..2b32e8467e62c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -58,6 +58,7 @@ struct cec_notifier;
struct drm_printer;
struct intel_connector;
struct intel_ddi_buf_trans;
+struct intel_dp_link_caps;
struct intel_dp_link_training;
struct intel_fbc;
struct intel_global_objs_state;
@@ -1867,6 +1868,7 @@ struct intel_dp {
int force_lane_count;
int force_rate;
struct intel_dp_link_training *training;
+ struct intel_dp_link_caps *caps;
} link;
bool reset_link_params;
int mso_link_count;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 00eb3f5103383..fa095c4db7fe6 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -71,6 +71,7 @@
#include "intel_dp.h"
#include "intel_dp_aux.h"
#include "intel_dp_hdcp.h"
+#include "intel_dp_link_caps.h"
#include "intel_dp_link_training.h"
#include "intel_dp_mst.h"
#include "intel_dp_test.h"
@@ -7458,10 +7459,18 @@ int intel_dp_link_init(struct intel_dp *intel_dp)
if (!intel_dp->link.training)
return -ENOMEM;
+ intel_dp->link.caps = intel_dp_link_caps_init(intel_dp);
+ if (!intel_dp->link.caps) {
+ intel_dp_link_training_cleanup(intel_dp->link.training);
+
+ return -ENOMEM;
+ }
+
return 0;
}
void intel_dp_link_cleanup(struct intel_dp *intel_dp)
{
+ intel_dp_link_caps_cleanup(intel_dp->link.caps);
intel_dp_link_training_cleanup(intel_dp->link.training);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
new file mode 100644
index 0000000000000..63989d97effd7
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2026 Intel Corporation
+ */
+
+#include <linux/slab.h>
+
+#include "intel_dp_link_caps.h"
+
+struct intel_dp_link_caps {
+ struct intel_dp *dp;
+};
+
+struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp)
+{
+ struct intel_dp_link_caps *link_caps;
+
+ link_caps = kzalloc_obj(*link_caps);
+ if (!link_caps)
+ return NULL;
+
+ link_caps->dp = intel_dp;
+
+ return link_caps;
+}
+
+void intel_dp_link_caps_cleanup(struct intel_dp_link_caps *link_caps)
+{
+ kfree(link_caps);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
new file mode 100644
index 0000000000000..050b279463d6e
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2026 Intel Corporation */
+
+#ifndef __INTEL_DP_LINK_CAPS_H__
+#define __INTEL_DP_LINK_CAPS_H__
+
+struct intel_dp;
+
+struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp);
+void intel_dp_link_caps_cleanup(struct intel_dp_link_caps *link_caps);
+
+#endif /* __INTEL_DP_LINK_CAPS_H__ */
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 8e7b146880f46..e5a04253e73bf 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -278,6 +278,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_dp_aux.o \
i915-display/intel_dp_aux_backlight.o \
i915-display/intel_dp_hdcp.o \
+ i915-display/intel_dp_link_caps.o \
i915-display/intel_dp_link_training.o \
i915-display/intel_dp_mst.o \
i915-display/intel_dp_test.o \
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 04/30] drm/i915/dp_link_caps: Move common rate helpers to link caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (2 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 03/30] drm/i915/dp_link_caps: Introduce DP link capability module Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 05/30] drm/i915/dp_link_caps: Move forced link param " Michał Grzelak
` (32 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Move the helpers handling common link rates to intel_dp_link_caps.c.
Their functionality is part of the link capability logic and will be
updated to use the link capability state in follow-up changes.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 27 +----------------
drivers/gpu/drm/i915/display/intel_dp.h | 3 +-
.../gpu/drm/i915/display/intel_dp_link_caps.c | 30 +++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 5 ++++
.../drm/i915/display/intel_dp_link_training.c | 1 +
.../gpu/drm/i915/display/intel_dp_tunnel.c | 1 +
6 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index fa095c4db7fe6..a34d3704a5667 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -314,7 +314,7 @@ static void intel_dp_set_max_sink_lane_count(struct intel_dp *intel_dp)
}
/* Get length of rates array potentially limited by max_rate. */
-static int intel_dp_rate_limit_len(const int *rates, int len, int max_rate)
+int intel_dp_rate_limit_len(const int *rates, int len, int max_rate)
{
int i;
@@ -327,31 +327,6 @@ static int intel_dp_rate_limit_len(const int *rates, int len, int max_rate)
return 0;
}
-/* Get length of common rates array potentially limited by max_rate. */
-static int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
- int max_rate)
-{
- return intel_dp_rate_limit_len(intel_dp->common_rates,
- intel_dp->num_common_rates, max_rate);
-}
-
-int intel_dp_common_rate(struct intel_dp *intel_dp, int index)
-{
- struct intel_display *display = to_intel_display(intel_dp);
-
- if (drm_WARN_ON(display->drm,
- index < 0 || index >= intel_dp->num_common_rates))
- return 162000;
-
- return intel_dp->common_rates[index];
-}
-
-/* Theoretical max between source and sink */
-int intel_dp_max_common_rate(struct intel_dp *intel_dp)
-{
- return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
-}
-
int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port)
{
int vbt_max_lanes = intel_bios_dp_max_lane_count(dig_port->base.devdata);
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 92ce048523267..8cc6ea04e000c 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -100,14 +100,13 @@ void intel_edp_backlight_off(const struct drm_connector_state *conn_state);
void intel_edp_fixup_vbt_bpp(struct intel_encoder *encoder, int pipe_bpp);
void intel_dp_mst_suspend(struct intel_display *display);
void intel_dp_mst_resume(struct intel_display *display);
+int intel_dp_rate_limit_len(const int *rates, int len, int max_rate);
int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port);
int intel_dp_max_link_rate(struct intel_dp *intel_dp);
int intel_dp_max_lane_count(struct intel_dp *intel_dp);
int intel_dp_config_required_rate(const struct intel_crtc_state *crtc_state);
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate);
-int intel_dp_max_common_rate(struct intel_dp *intel_dp);
int intel_dp_max_common_lane_count(struct intel_dp *intel_dp);
-int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
int intel_dp_rate_index(const int *rates, int len, int rate);
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 63989d97effd7..37ffd714c6a42 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -5,12 +5,42 @@
#include <linux/slab.h>
+#include <drm/drm_print.h>
+
+#include "intel_display_core.h"
+#include "intel_display_types.h"
+#include "intel_dp.h"
#include "intel_dp_link_caps.h"
struct intel_dp_link_caps {
struct intel_dp *dp;
};
+/* Get length of common rates array potentially limited by max_rate. */
+int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
+ int max_rate)
+{
+ return intel_dp_rate_limit_len(intel_dp->common_rates,
+ intel_dp->num_common_rates, max_rate);
+}
+
+int intel_dp_common_rate(struct intel_dp *intel_dp, int index)
+{
+ struct intel_display *display = to_intel_display(intel_dp);
+
+ if (drm_WARN_ON(display->drm,
+ index < 0 || index >= intel_dp->num_common_rates))
+ return 162000;
+
+ return intel_dp->common_rates[index];
+}
+
+/* Theoretical max between source and sink */
+int intel_dp_max_common_rate(struct intel_dp *intel_dp)
+{
+ return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
+}
+
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 050b279463d6e..3248777d1287f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -6,6 +6,11 @@
struct intel_dp;
+int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
+ int max_rate);
+int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
+int intel_dp_max_common_rate(struct intel_dp *intel_dp);
+
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp);
void intel_dp_link_caps_cleanup(struct intel_dp_link_caps *link_caps);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 97cb407d084cd..b915cfdeabd0e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -33,6 +33,7 @@
#include "intel_display_types.h"
#include "intel_display_utils.h"
#include "intel_dp.h"
+#include "intel_dp_link_caps.h"
#include "intel_dp_link_training.h"
#include "intel_dp_mst.h"
#include "intel_encoder.h"
diff --git a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
index d6bd1f7e01e18..c82adfcce01d0 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
@@ -11,6 +11,7 @@
#include "intel_display_limits.h"
#include "intel_display_types.h"
#include "intel_dp.h"
+#include "intel_dp_link_caps.h"
#include "intel_dp_link_training.h"
#include "intel_dp_mst.h"
#include "intel_dp_tunnel.h"
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 05/30] drm/i915/dp_link_caps: Move forced link param helpers to link caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (3 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 04/30] drm/i915/dp_link_caps: Move common rate helpers to link caps Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 06/30] drm/i915/dp: Simplify querying of forced link parameters Michał Grzelak
` (31 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Move the helpers handling forced link parameters to intel_dp_link_caps.c.
Their functionality is part of the link capability logic and will be
updated to use the link capability state in follow-up changes.
Return the forced link rate and lane count through a
struct intel_dp_link_config, which is the canonical way the rest of the
link capability API will also accept and return link configurations.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 39 ++++++++++---------
.../gpu/drm/i915/display/intel_dp_link_caps.c | 22 +++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 5 +++
3 files changed, 47 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index a34d3704a5667..7643fe079e15b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -364,17 +364,16 @@ int intel_dp_max_common_lane_count(struct intel_dp *intel_dp)
return intel_dp->max_common_lane_count;
}
-static int forced_lane_count(struct intel_dp *intel_dp)
-{
- return clamp(intel_dp->link.force_lane_count, 1, intel_dp_max_common_lane_count(intel_dp));
-}
-
int intel_dp_max_lane_count(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config forced_params;
int lane_count;
+ intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
+
if (intel_dp->link.force_lane_count)
- lane_count = forced_lane_count(intel_dp);
+ lane_count = forced_params.lane_count;
else
lane_count = intel_dp->link.max_lane_count;
@@ -391,8 +390,12 @@ int intel_dp_max_lane_count(struct intel_dp *intel_dp)
static int intel_dp_min_lane_count(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_config forced_params;
+
+ intel_dp_link_caps_get_forced_params(intel_dp->link.caps, &forced_params);
+
if (intel_dp->link.force_lane_count)
- return forced_lane_count(intel_dp);
+ return forced_params.lane_count;
return 1;
}
@@ -1655,23 +1658,17 @@ static void intel_dp_print_rates(struct intel_dp *intel_dp)
drm_dbg_kms(display->drm, "common rates: %s\n", seq_buf_str(&s));
}
-static int forced_link_rate(struct intel_dp *intel_dp)
-{
- int len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.force_rate);
-
- if (len == 0)
- return intel_dp_common_rate(intel_dp, 0);
-
- return intel_dp_common_rate(intel_dp, len - 1);
-}
-
int
intel_dp_max_link_rate(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config forced_params;
int len;
+ intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
+
if (intel_dp->link.force_rate)
- return forced_link_rate(intel_dp);
+ return forced_params.rate;
len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.max_rate);
@@ -1681,8 +1678,12 @@ intel_dp_max_link_rate(struct intel_dp *intel_dp)
static int
intel_dp_min_link_rate(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_config forced_params;
+
+ intel_dp_link_caps_get_forced_params(intel_dp->link.caps, &forced_params);
+
if (intel_dp->link.force_rate)
- return forced_link_rate(intel_dp);
+ return forced_params.rate;
return intel_dp_common_rate(intel_dp, 0);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 37ffd714c6a42..1d3a3ff007a03 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -41,6 +41,28 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp)
return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
}
+static int forced_lane_count(struct intel_dp *intel_dp)
+{
+ return clamp(intel_dp->link.force_lane_count, 1, intel_dp_max_common_lane_count(intel_dp));
+}
+
+static int forced_link_rate(struct intel_dp *intel_dp)
+{
+ int len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.force_rate);
+
+ if (len == 0)
+ return intel_dp_common_rate(intel_dp, 0);
+
+ return intel_dp_common_rate(intel_dp, len - 1);
+}
+
+void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
+ struct intel_dp_link_config *forced_params)
+{
+ forced_params->rate = forced_link_rate(link_caps->dp);
+ forced_params->lane_count = forced_lane_count(link_caps->dp);
+}
+
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 3248777d1287f..61dbce86ee3d0 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -5,12 +5,17 @@
#define __INTEL_DP_LINK_CAPS_H__
struct intel_dp;
+struct intel_dp_link_caps;
+struct intel_dp_link_config;
int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
int max_rate);
int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
int intel_dp_max_common_rate(struct intel_dp *intel_dp);
+void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
+ struct intel_dp_link_config *forced_params);
+
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp);
void intel_dp_link_caps_cleanup(struct intel_dp_link_caps *link_caps);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 06/30] drm/i915/dp: Simplify querying of forced link parameters
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (4 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 05/30] drm/i915/dp_link_caps: Move forced link param " Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 07/30] drm/i915/dp_link_caps: Move forced and max link debugfs entries to link caps Michał Grzelak
` (30 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Simplify querying the forced link rate and lane count by
performing the zero checks inside the helpers, allowing callers
to use the returned values directly.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 8 ++++----
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 9 ++++++++-
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 7643fe079e15b..c4ad386acc6db 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -372,7 +372,7 @@ int intel_dp_max_lane_count(struct intel_dp *intel_dp)
intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
- if (intel_dp->link.force_lane_count)
+ if (forced_params.lane_count)
lane_count = forced_params.lane_count;
else
lane_count = intel_dp->link.max_lane_count;
@@ -394,7 +394,7 @@ static int intel_dp_min_lane_count(struct intel_dp *intel_dp)
intel_dp_link_caps_get_forced_params(intel_dp->link.caps, &forced_params);
- if (intel_dp->link.force_lane_count)
+ if (forced_params.lane_count)
return forced_params.lane_count;
return 1;
@@ -1667,7 +1667,7 @@ intel_dp_max_link_rate(struct intel_dp *intel_dp)
intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
- if (intel_dp->link.force_rate)
+ if (forced_params.rate)
return forced_params.rate;
len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.max_rate);
@@ -1682,7 +1682,7 @@ intel_dp_min_link_rate(struct intel_dp *intel_dp)
intel_dp_link_caps_get_forced_params(intel_dp->link.caps, &forced_params);
- if (intel_dp->link.force_rate)
+ if (forced_params.rate)
return forced_params.rate;
return intel_dp_common_rate(intel_dp, 0);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 1d3a3ff007a03..e39e6c99ec25f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -43,13 +43,20 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp)
static int forced_lane_count(struct intel_dp *intel_dp)
{
+ if (!intel_dp->link.force_lane_count)
+ return 0;
+
return clamp(intel_dp->link.force_lane_count, 1, intel_dp_max_common_lane_count(intel_dp));
}
static int forced_link_rate(struct intel_dp *intel_dp)
{
- int len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.force_rate);
+ int len;
+
+ if (!intel_dp->link.force_rate)
+ return 0;
+ len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.force_rate);
if (len == 0)
return intel_dp_common_rate(intel_dp, 0);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 07/30] drm/i915/dp_link_caps: Move forced and max link debugfs entries to link caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (5 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 06/30] drm/i915/dp: Simplify querying of forced link parameters Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 08/30] drm/i915/dp_link_training: Use helpers to get forced link params Michał Grzelak
` (29 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Move the debugfs entries for the forced and max DP link parameters to
intel_dp_link_caps. Their functionality is part of the link capability
logic and will be updated to use the link capability state in follow-up
changes.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../drm/i915/display/intel_display_debugfs.c | 2 +
.../gpu/drm/i915/display/intel_dp_link_caps.c | 280 ++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 3 +
.../drm/i915/display/intel_dp_link_training.c | 263 ----------------
4 files changed, 285 insertions(+), 263 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 08004c1ba03f4..3f02868ef105b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -32,6 +32,7 @@
#include "intel_display_types.h"
#include "intel_dmc.h"
#include "intel_dp.h"
+#include "intel_dp_link_caps.h"
#include "intel_dp_link_training.h"
#include "intel_dp_mst.h"
#include "intel_dp_test.h"
@@ -1342,6 +1343,7 @@ void intel_connector_debugfs_add(struct intel_connector *connector)
intel_psr_connector_debugfs_add(connector);
intel_alpm_lobf_debugfs_add(connector);
intel_dp_link_training_debugfs_add(connector);
+ intel_dp_link_caps_debugfs_add(connector);
intel_link_bw_connector_debugfs_add(connector);
if (DISPLAY_VER(display) >= 11 &&
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index e39e6c99ec25f..ea90e84500a89 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -3,6 +3,7 @@
* Copyright © 2026 Intel Corporation
*/
+#include <linux/debugfs.h>
#include <linux/slab.h>
#include <drm/drm_print.h>
@@ -70,6 +71,285 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
forced_params->lane_count = forced_lane_count(link_caps->dp);
}
+static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
+{
+ struct intel_connector *connector = to_intel_connector(m->private);
+ struct intel_display *display = to_intel_display(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+ int current_rate = -1;
+ int force_rate;
+ int err;
+ int i;
+
+ err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
+ if (err)
+ return err;
+
+ intel_dp_flush_connector_commits(connector);
+
+ if (intel_dp->link.active)
+ current_rate = intel_dp->link_rate;
+
+ force_rate = intel_dp->link.force_rate;
+
+ drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
+
+ seq_printf(m, "%sauto%s",
+ force_rate == 0 ? "[" : "",
+ force_rate == 0 ? "]" : "");
+
+ for (i = 0; i < intel_dp->num_source_rates; i++)
+ seq_printf(m, " %s%d%s%s",
+ intel_dp->source_rates[i] == force_rate ? "[" : "",
+ intel_dp->source_rates[i],
+ intel_dp->source_rates[i] == current_rate ? "*" : "",
+ intel_dp->source_rates[i] == force_rate ? "]" : "");
+
+ seq_putc(m, '\n');
+
+ return 0;
+}
+
+static int parse_link_rate(struct intel_dp *intel_dp, const char __user *ubuf, size_t len)
+{
+ char *kbuf;
+ const char *p;
+ int rate;
+ int ret = 0;
+
+ kbuf = memdup_user_nul(ubuf, len);
+ if (IS_ERR(kbuf))
+ return PTR_ERR(kbuf);
+
+ p = strim(kbuf);
+
+ if (!strcmp(p, "auto")) {
+ rate = 0;
+ } else {
+ ret = kstrtoint(p, 0, &rate);
+ if (ret < 0)
+ goto out_free;
+
+ if (intel_dp_rate_index(intel_dp->source_rates,
+ intel_dp->num_source_rates,
+ rate) < 0)
+ ret = -EINVAL;
+ }
+
+out_free:
+ kfree(kbuf);
+
+ return ret < 0 ? ret : rate;
+}
+
+static ssize_t i915_dp_force_link_rate_write(struct file *file,
+ const char __user *ubuf,
+ size_t len, loff_t *offp)
+{
+ struct seq_file *m = file->private_data;
+ struct intel_connector *connector = to_intel_connector(m->private);
+ struct intel_display *display = to_intel_display(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+ int rate;
+ int err;
+
+ rate = parse_link_rate(intel_dp, ubuf, len);
+ if (rate < 0)
+ return rate;
+
+ err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
+ if (err)
+ return err;
+
+ intel_dp_flush_connector_commits(connector);
+
+ intel_dp_reset_link_params(intel_dp);
+ intel_dp->link.force_rate = rate;
+
+ drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
+
+ *offp += len;
+
+ return len;
+}
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_dp_force_link_rate);
+
+static int i915_dp_force_lane_count_show(struct seq_file *m, void *data)
+{
+ struct intel_connector *connector = to_intel_connector(m->private);
+ struct intel_display *display = to_intel_display(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+ int current_lane_count = -1;
+ int force_lane_count;
+ int err;
+ int i;
+
+ err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
+ if (err)
+ return err;
+
+ intel_dp_flush_connector_commits(connector);
+
+ if (intel_dp->link.active)
+ current_lane_count = intel_dp->lane_count;
+ force_lane_count = intel_dp->link.force_lane_count;
+
+ drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
+
+ seq_printf(m, "%sauto%s",
+ force_lane_count == 0 ? "[" : "",
+ force_lane_count == 0 ? "]" : "");
+
+ for (i = 1; i <= 4; i <<= 1)
+ seq_printf(m, " %s%d%s%s",
+ i == force_lane_count ? "[" : "",
+ i,
+ i == current_lane_count ? "*" : "",
+ i == force_lane_count ? "]" : "");
+
+ seq_putc(m, '\n');
+
+ return 0;
+}
+
+static int parse_lane_count(const char __user *ubuf, size_t len)
+{
+ char *kbuf;
+ const char *p;
+ int lane_count;
+ int ret = 0;
+
+ kbuf = memdup_user_nul(ubuf, len);
+ if (IS_ERR(kbuf))
+ return PTR_ERR(kbuf);
+
+ p = strim(kbuf);
+
+ if (!strcmp(p, "auto")) {
+ lane_count = 0;
+ } else {
+ ret = kstrtoint(p, 0, &lane_count);
+ if (ret < 0)
+ goto out_free;
+
+ switch (lane_count) {
+ case 1:
+ case 2:
+ case 4:
+ break;
+ default:
+ ret = -EINVAL;
+ }
+ }
+
+out_free:
+ kfree(kbuf);
+
+ return ret < 0 ? ret : lane_count;
+}
+
+static ssize_t i915_dp_force_lane_count_write(struct file *file,
+ const char __user *ubuf,
+ size_t len, loff_t *offp)
+{
+ struct seq_file *m = file->private_data;
+ struct intel_connector *connector = to_intel_connector(m->private);
+ struct intel_display *display = to_intel_display(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+ int lane_count;
+ int err;
+
+ lane_count = parse_lane_count(ubuf, len);
+ if (lane_count < 0)
+ return lane_count;
+
+ err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
+ if (err)
+ return err;
+
+ intel_dp_flush_connector_commits(connector);
+
+ intel_dp_reset_link_params(intel_dp);
+ intel_dp->link.force_lane_count = lane_count;
+
+ drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
+
+ *offp += len;
+
+ return len;
+}
+DEFINE_SHOW_STORE_ATTRIBUTE(i915_dp_force_lane_count);
+
+static int i915_dp_max_link_rate_show(void *data, u64 *val)
+{
+ struct intel_connector *connector = to_intel_connector(data);
+ struct intel_display *display = to_intel_display(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+ int err;
+
+ err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
+ if (err)
+ return err;
+
+ intel_dp_flush_connector_commits(connector);
+
+ *val = intel_dp->link.max_rate;
+
+ drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
+
+ return 0;
+}
+DEFINE_DEBUGFS_ATTRIBUTE(i915_dp_max_link_rate_fops, i915_dp_max_link_rate_show, NULL, "%llu\n");
+
+static int i915_dp_max_lane_count_show(void *data, u64 *val)
+{
+ struct intel_connector *connector = to_intel_connector(data);
+ struct intel_display *display = to_intel_display(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+ int err;
+
+ err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
+ if (err)
+ return err;
+
+ intel_dp_flush_connector_commits(connector);
+
+ *val = intel_dp->link.max_lane_count;
+
+ drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
+
+ return 0;
+}
+DEFINE_DEBUGFS_ATTRIBUTE(i915_dp_max_lane_count_fops, i915_dp_max_lane_count_show, NULL, "%llu\n");
+
+
+/**
+ * intel_dp_link_caps_debugfs_add - add link caps debugfs files for a connector
+ * @connector: connector to add the debugfs files for
+ *
+ * Add the link-capability debugfs files for a DP @connector.
+ */
+void intel_dp_link_caps_debugfs_add(struct intel_connector *connector)
+{
+ struct dentry *root = connector->base.debugfs_entry;
+
+ if (connector->base.connector_type != DRM_MODE_CONNECTOR_DisplayPort &&
+ connector->base.connector_type != DRM_MODE_CONNECTOR_eDP)
+ return;
+
+ debugfs_create_file("i915_dp_force_link_rate", 0644, root,
+ connector, &i915_dp_force_link_rate_fops);
+
+ debugfs_create_file("i915_dp_force_lane_count", 0644, root,
+ connector, &i915_dp_force_lane_count_fops);
+
+ debugfs_create_file("i915_dp_max_link_rate", 0444, root,
+ connector, &i915_dp_max_link_rate_fops);
+
+ debugfs_create_file("i915_dp_max_lane_count", 0444, root,
+ connector, &i915_dp_max_lane_count_fops);
+}
+
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 61dbce86ee3d0..c6a84891db464 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -4,6 +4,7 @@
#ifndef __INTEL_DP_LINK_CAPS_H__
#define __INTEL_DP_LINK_CAPS_H__
+struct intel_connector;
struct intel_dp;
struct intel_dp_link_caps;
struct intel_dp_link_config;
@@ -16,6 +17,8 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp);
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *forced_params);
+void intel_dp_link_caps_debugfs_add(struct intel_connector *connector);
+
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp);
void intel_dp_link_caps_cleanup(struct intel_dp_link_caps *link_caps);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index b915cfdeabd0e..cbef3d45baf9c 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -2660,257 +2660,6 @@ void intel_dp_check_link_state(struct intel_dp *intel_dp)
intel_encoder_link_check_queue_work(encoder, 0);
}
-static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
-{
- struct intel_connector *connector = to_intel_connector(m->private);
- struct intel_display *display = to_intel_display(connector);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
- int current_rate = -1;
- int force_rate;
- int err;
- int i;
-
- err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
- if (err)
- return err;
-
- intel_dp_flush_connector_commits(connector);
-
- if (intel_dp->link.active)
- current_rate = intel_dp->link_rate;
-
- force_rate = intel_dp->link.force_rate;
-
- drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
-
- seq_printf(m, "%sauto%s",
- force_rate == 0 ? "[" : "",
- force_rate == 0 ? "]" : "");
-
- for (i = 0; i < intel_dp->num_source_rates; i++)
- seq_printf(m, " %s%d%s%s",
- intel_dp->source_rates[i] == force_rate ? "[" : "",
- intel_dp->source_rates[i],
- intel_dp->source_rates[i] == current_rate ? "*" : "",
- intel_dp->source_rates[i] == force_rate ? "]" : "");
-
- seq_putc(m, '\n');
-
- return 0;
-}
-
-static int parse_link_rate(struct intel_dp *intel_dp, const char __user *ubuf, size_t len)
-{
- char *kbuf;
- const char *p;
- int rate;
- int ret = 0;
-
- kbuf = memdup_user_nul(ubuf, len);
- if (IS_ERR(kbuf))
- return PTR_ERR(kbuf);
-
- p = strim(kbuf);
-
- if (!strcmp(p, "auto")) {
- rate = 0;
- } else {
- ret = kstrtoint(p, 0, &rate);
- if (ret < 0)
- goto out_free;
-
- if (intel_dp_rate_index(intel_dp->source_rates,
- intel_dp->num_source_rates,
- rate) < 0)
- ret = -EINVAL;
- }
-
-out_free:
- kfree(kbuf);
-
- return ret < 0 ? ret : rate;
-}
-
-static ssize_t i915_dp_force_link_rate_write(struct file *file,
- const char __user *ubuf,
- size_t len, loff_t *offp)
-{
- struct seq_file *m = file->private_data;
- struct intel_connector *connector = to_intel_connector(m->private);
- struct intel_display *display = to_intel_display(connector);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
- int rate;
- int err;
-
- rate = parse_link_rate(intel_dp, ubuf, len);
- if (rate < 0)
- return rate;
-
- err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
- if (err)
- return err;
-
- intel_dp_flush_connector_commits(connector);
-
- intel_dp_reset_link_params(intel_dp);
- intel_dp->link.force_rate = rate;
-
- drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
-
- *offp += len;
-
- return len;
-}
-DEFINE_SHOW_STORE_ATTRIBUTE(i915_dp_force_link_rate);
-
-static int i915_dp_force_lane_count_show(struct seq_file *m, void *data)
-{
- struct intel_connector *connector = to_intel_connector(m->private);
- struct intel_display *display = to_intel_display(connector);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
- int current_lane_count = -1;
- int force_lane_count;
- int err;
- int i;
-
- err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
- if (err)
- return err;
-
- intel_dp_flush_connector_commits(connector);
-
- if (intel_dp->link.active)
- current_lane_count = intel_dp->lane_count;
- force_lane_count = intel_dp->link.force_lane_count;
-
- drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
-
- seq_printf(m, "%sauto%s",
- force_lane_count == 0 ? "[" : "",
- force_lane_count == 0 ? "]" : "");
-
- for (i = 1; i <= 4; i <<= 1)
- seq_printf(m, " %s%d%s%s",
- i == force_lane_count ? "[" : "",
- i,
- i == current_lane_count ? "*" : "",
- i == force_lane_count ? "]" : "");
-
- seq_putc(m, '\n');
-
- return 0;
-}
-
-static int parse_lane_count(const char __user *ubuf, size_t len)
-{
- char *kbuf;
- const char *p;
- int lane_count;
- int ret = 0;
-
- kbuf = memdup_user_nul(ubuf, len);
- if (IS_ERR(kbuf))
- return PTR_ERR(kbuf);
-
- p = strim(kbuf);
-
- if (!strcmp(p, "auto")) {
- lane_count = 0;
- } else {
- ret = kstrtoint(p, 0, &lane_count);
- if (ret < 0)
- goto out_free;
-
- switch (lane_count) {
- case 1:
- case 2:
- case 4:
- break;
- default:
- ret = -EINVAL;
- }
- }
-
-out_free:
- kfree(kbuf);
-
- return ret < 0 ? ret : lane_count;
-}
-
-static ssize_t i915_dp_force_lane_count_write(struct file *file,
- const char __user *ubuf,
- size_t len, loff_t *offp)
-{
- struct seq_file *m = file->private_data;
- struct intel_connector *connector = to_intel_connector(m->private);
- struct intel_display *display = to_intel_display(connector);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
- int lane_count;
- int err;
-
- lane_count = parse_lane_count(ubuf, len);
- if (lane_count < 0)
- return lane_count;
-
- err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
- if (err)
- return err;
-
- intel_dp_flush_connector_commits(connector);
-
- intel_dp_reset_link_params(intel_dp);
- intel_dp->link.force_lane_count = lane_count;
-
- drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
-
- *offp += len;
-
- return len;
-}
-DEFINE_SHOW_STORE_ATTRIBUTE(i915_dp_force_lane_count);
-
-static int i915_dp_max_link_rate_show(void *data, u64 *val)
-{
- struct intel_connector *connector = to_intel_connector(data);
- struct intel_display *display = to_intel_display(connector);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
- int err;
-
- err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
- if (err)
- return err;
-
- intel_dp_flush_connector_commits(connector);
-
- *val = intel_dp->link.max_rate;
-
- drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
-
- return 0;
-}
-DEFINE_DEBUGFS_ATTRIBUTE(i915_dp_max_link_rate_fops, i915_dp_max_link_rate_show, NULL, "%llu\n");
-
-static int i915_dp_max_lane_count_show(void *data, u64 *val)
-{
- struct intel_connector *connector = to_intel_connector(data);
- struct intel_display *display = to_intel_display(connector);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
- int err;
-
- err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
- if (err)
- return err;
-
- intel_dp_flush_connector_commits(connector);
-
- *val = intel_dp->link.max_lane_count;
-
- drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
-
- return 0;
-}
-DEFINE_DEBUGFS_ATTRIBUTE(i915_dp_max_lane_count_fops, i915_dp_max_lane_count_show, NULL, "%llu\n");
-
static int i915_dp_force_link_training_failure_show(void *data, u64 *val)
{
struct intel_connector *connector = to_intel_connector(data);
@@ -3033,18 +2782,6 @@ void intel_dp_link_training_debugfs_add(struct intel_connector *connector)
connector->base.connector_type != DRM_MODE_CONNECTOR_eDP)
return;
- debugfs_create_file("i915_dp_force_link_rate", 0644, root,
- connector, &i915_dp_force_link_rate_fops);
-
- debugfs_create_file("i915_dp_force_lane_count", 0644, root,
- connector, &i915_dp_force_lane_count_fops);
-
- debugfs_create_file("i915_dp_max_link_rate", 0444, root,
- connector, &i915_dp_max_link_rate_fops);
-
- debugfs_create_file("i915_dp_max_lane_count", 0444, root,
- connector, &i915_dp_max_lane_count_fops);
-
debugfs_create_file("i915_dp_force_link_training_failure", 0644, root,
connector, &i915_dp_force_link_training_failure_fops);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 08/30] drm/i915/dp_link_training: Use helpers to get forced link params
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (6 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 07/30] drm/i915/dp_link_caps: Move forced and max link debugfs entries to link caps Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 09/30] drm/i915/dp_link_caps: Move forced link params to link_caps Michał Grzelak
` (28 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Use intel_dp_link_caps_get_forced_params() in the link training fallback
code instead of directly accessing the state. This allows the link caps
module to track changes to forced parameters internally.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../drm/i915/display/intel_dp_link_training.c | 22 ++++++++++++++-----
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index cbef3d45baf9c..61ada34ab9c8e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -1850,18 +1850,22 @@ static bool reduce_link_params_in_bw_order(struct intel_dp *intel_dp,
const struct intel_crtc_state *crtc_state,
int *new_link_rate, int *new_lane_count)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config forced_params;
int link_rate;
int lane_count;
int i;
+ intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
+
i = intel_dp_link_config_index(intel_dp, crtc_state->port_clock, crtc_state->lane_count);
for (i--; i >= 0; i--) {
intel_dp_link_config_get(intel_dp, i, &link_rate, &lane_count);
- if ((intel_dp->link.force_rate &&
- intel_dp->link.force_rate != link_rate) ||
- (intel_dp->link.force_lane_count &&
- intel_dp->link.force_lane_count != lane_count))
+ if ((forced_params.rate &&
+ forced_params.rate != link_rate) ||
+ (forced_params.lane_count &&
+ forced_params.lane_count != lane_count))
continue;
break;
@@ -1878,10 +1882,13 @@ static bool reduce_link_params_in_bw_order(struct intel_dp *intel_dp,
static int reduce_link_rate(struct intel_dp *intel_dp, int current_rate)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config forced_params;
int rate_index;
int new_rate;
- if (intel_dp->link.force_rate)
+ intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
+ if (forced_params.rate)
return -1;
rate_index = intel_dp_rate_index(intel_dp->common_rates,
@@ -1902,7 +1909,10 @@ static int reduce_link_rate(struct intel_dp *intel_dp, int current_rate)
static int reduce_lane_count(struct intel_dp *intel_dp, int current_lane_count)
{
- if (intel_dp->link.force_lane_count)
+ struct intel_dp_link_config forced_params;
+
+ intel_dp_link_caps_get_forced_params(intel_dp->link.caps, &forced_params);
+ if (forced_params.lane_count)
return -1;
if (current_lane_count == 1)
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 09/30] drm/i915/dp_link_caps: Move forced link params to link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (7 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 08/30] drm/i915/dp_link_training: Use helpers to get forced link params Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 10/30] drm/i915/dp_link_caps: Move link config helpers to link caps Michał Grzelak
` (27 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Move tracking of the forced link parameters from struct intel_dp to
struct intel_dp_link_caps.
Previous changes made all users access these parameters through the link
caps helpers, so the state can now be kept internal to the link caps
module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../drm/i915/display/intel_display_types.h | 2 --
.../gpu/drm/i915/display/intel_dp_link_caps.c | 30 ++++++++++++++-----
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 2b32e8467e62c..c76ae741e2620 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1865,8 +1865,6 @@ struct intel_dp {
*/
int mst_probed_lane_count;
int mst_probed_rate;
- int force_lane_count;
- int force_rate;
struct intel_dp_link_training *training;
struct intel_dp_link_caps *caps;
} link;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index ea90e84500a89..8ecdc01af70eb 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -15,6 +15,12 @@
struct intel_dp_link_caps {
struct intel_dp *dp;
+
+ /*
+ * Forced parameters requested via debugfs. Remains set across sink
+ * disconnects.
+ */
+ struct intel_dp_link_config forced_params;
};
/* Get length of common rates array potentially limited by max_rate. */
@@ -44,20 +50,24 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp)
static int forced_lane_count(struct intel_dp *intel_dp)
{
- if (!intel_dp->link.force_lane_count)
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+
+ if (!link_caps->forced_params.lane_count)
return 0;
- return clamp(intel_dp->link.force_lane_count, 1, intel_dp_max_common_lane_count(intel_dp));
+ return clamp(link_caps->forced_params.lane_count,
+ 1, intel_dp_max_common_lane_count(intel_dp));
}
static int forced_link_rate(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int len;
- if (!intel_dp->link.force_rate)
+ if (!link_caps->forced_params.rate)
return 0;
- len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.force_rate);
+ len = intel_dp_common_len_rate_limit(intel_dp, link_caps->forced_params.rate);
if (len == 0)
return intel_dp_common_rate(intel_dp, 0);
@@ -76,6 +86,7 @@ static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
struct intel_connector *connector = to_intel_connector(m->private);
struct intel_display *display = to_intel_display(connector);
struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int current_rate = -1;
int force_rate;
int err;
@@ -90,7 +101,7 @@ static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
if (intel_dp->link.active)
current_rate = intel_dp->link_rate;
- force_rate = intel_dp->link.force_rate;
+ force_rate = link_caps->forced_params.rate;
drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
@@ -150,6 +161,7 @@ static ssize_t i915_dp_force_link_rate_write(struct file *file,
struct intel_connector *connector = to_intel_connector(m->private);
struct intel_display *display = to_intel_display(connector);
struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int rate;
int err;
@@ -164,7 +176,7 @@ static ssize_t i915_dp_force_link_rate_write(struct file *file,
intel_dp_flush_connector_commits(connector);
intel_dp_reset_link_params(intel_dp);
- intel_dp->link.force_rate = rate;
+ link_caps->forced_params.rate = rate;
drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
@@ -179,6 +191,7 @@ static int i915_dp_force_lane_count_show(struct seq_file *m, void *data)
struct intel_connector *connector = to_intel_connector(m->private);
struct intel_display *display = to_intel_display(connector);
struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int current_lane_count = -1;
int force_lane_count;
int err;
@@ -192,7 +205,7 @@ static int i915_dp_force_lane_count_show(struct seq_file *m, void *data)
if (intel_dp->link.active)
current_lane_count = intel_dp->lane_count;
- force_lane_count = intel_dp->link.force_lane_count;
+ force_lane_count = link_caps->forced_params.lane_count;
drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
@@ -256,6 +269,7 @@ static ssize_t i915_dp_force_lane_count_write(struct file *file,
struct intel_connector *connector = to_intel_connector(m->private);
struct intel_display *display = to_intel_display(connector);
struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int lane_count;
int err;
@@ -270,7 +284,7 @@ static ssize_t i915_dp_force_lane_count_write(struct file *file,
intel_dp_flush_connector_commits(connector);
intel_dp_reset_link_params(intel_dp);
- intel_dp->link.force_lane_count = lane_count;
+ link_caps->forced_params.lane_count = lane_count;
drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 10/30] drm/i915/dp_link_caps: Move link config helpers to link caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (8 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 09/30] drm/i915/dp_link_caps: Move forced link params to link_caps Michał Grzelak
@ 2026-06-23 22:45 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 11/30] drm/i915/dp_link_caps: Move link config tracking to link_caps Michał Grzelak
` (26 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:45 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Move the helpers handling link configurations to intel_dp_link_caps.c.
Their functionality is part of the link capability logic and will be
updated to use the link capability state in follow-up changes.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 101 -----------------
drivers/gpu/drm/i915/display/intel_dp.h | 2 -
.../gpu/drm/i915/display/intel_dp_link_caps.c | 102 ++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 5 +
4 files changed, 107 insertions(+), 103 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index c4ad386acc6db..c4b650431eff5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -33,7 +33,6 @@
#include <linux/notifier.h>
#include <linux/seq_buf.h>
#include <linux/slab.h>
-#include <linux/sort.h>
#include <linux/string_helpers.h>
#include <linux/timekeeping.h>
#include <linux/types.h>
@@ -677,106 +676,6 @@ int intel_dp_rate_index(const int *rates, int len, int rate)
return -1;
}
-static int intel_dp_link_config_rate(struct intel_dp *intel_dp,
- const struct intel_dp_link_config_entry *lc)
-{
- return intel_dp_common_rate(intel_dp, lc->link_rate_idx);
-}
-
-static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lc)
-{
- return 1 << lc->lane_count_exp;
-}
-
-static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
- const struct intel_dp_link_config_entry *lc)
-{
- return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(intel_dp, lc),
- intel_dp_link_config_lane_count(lc));
-}
-
-static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
-{
- struct intel_dp *intel_dp = (struct intel_dp *)p; /* remove const */
- const struct intel_dp_link_config_entry *lc_a = a;
- const struct intel_dp_link_config_entry *lc_b = b;
- int bw_a = intel_dp_link_config_bw(intel_dp, lc_a);
- int bw_b = intel_dp_link_config_bw(intel_dp, lc_b);
-
- if (bw_a != bw_b)
- return bw_a - bw_b;
-
- return intel_dp_link_config_rate(intel_dp, lc_a) -
- intel_dp_link_config_rate(intel_dp, lc_b);
-}
-
-static void intel_dp_link_config_init(struct intel_dp *intel_dp)
-{
- struct intel_display *display = to_intel_display(intel_dp);
- struct intel_dp_link_config_entry *lc;
- int num_common_lane_configs;
- int i;
- int j;
-
- if (drm_WARN_ON(display->drm, !is_power_of_2(intel_dp_max_common_lane_count(intel_dp))))
- return;
-
- num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
-
- if (drm_WARN_ON(display->drm, intel_dp->num_common_rates * num_common_lane_configs >
- ARRAY_SIZE(intel_dp->link.configs)))
- return;
-
- intel_dp->link.num_configs = intel_dp->num_common_rates * num_common_lane_configs;
-
- lc = &intel_dp->link.configs[0];
- for (i = 0; i < intel_dp->num_common_rates; i++) {
- for (j = 0; j < num_common_lane_configs; j++) {
- lc->lane_count_exp = j;
- lc->link_rate_idx = i;
-
- lc++;
- }
- }
-
- sort_r(intel_dp->link.configs, intel_dp->link.num_configs,
- sizeof(intel_dp->link.configs[0]),
- link_config_cmp_by_bw, NULL,
- intel_dp);
-}
-
-void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
-{
- struct intel_display *display = to_intel_display(intel_dp);
- const struct intel_dp_link_config_entry *lc;
-
- if (drm_WARN_ON(display->drm, idx < 0 || idx >= intel_dp->link.num_configs))
- idx = 0;
-
- lc = &intel_dp->link.configs[idx];
-
- *link_rate = intel_dp_link_config_rate(intel_dp, lc);
- *lane_count = intel_dp_link_config_lane_count(lc);
-}
-
-int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count)
-{
- int link_rate_idx = intel_dp_rate_index(intel_dp->common_rates, intel_dp->num_common_rates,
- link_rate);
- int lane_count_exp = ilog2(lane_count);
- int i;
-
- for (i = 0; i < intel_dp->link.num_configs; i++) {
- const struct intel_dp_link_config_entry *lc = &intel_dp->link.configs[i];
-
- if (lc->lane_count_exp == lane_count_exp &&
- lc->link_rate_idx == link_rate_idx)
- return i;
- }
-
- return -1;
-}
-
/* Return %true if the common rates changed. */
static bool intel_dp_set_common_rates(struct intel_dp *intel_dp)
{
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 8cc6ea04e000c..fdf9bd88859e7 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -108,8 +108,6 @@ int intel_dp_config_required_rate(const struct intel_crtc_state *crtc_state);
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate);
int intel_dp_max_common_lane_count(struct intel_dp *intel_dp);
int intel_dp_rate_index(const int *rates, int len, int rate);
-int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
-void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
void intel_dp_update_sink_caps(struct intel_dp *intel_dp);
void intel_dp_reset_link_params(struct intel_dp *intel_dp);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 8ecdc01af70eb..6a37ba8c35e27 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -4,7 +4,9 @@
*/
#include <linux/debugfs.h>
+#include <linux/log2.h>
#include <linux/slab.h>
+#include <linux/sort.h>
#include <drm/drm_print.h>
@@ -81,6 +83,106 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
forced_params->lane_count = forced_lane_count(link_caps->dp);
}
+static int intel_dp_link_config_rate(struct intel_dp *intel_dp,
+ const struct intel_dp_link_config_entry *lc)
+{
+ return intel_dp_common_rate(intel_dp, lc->link_rate_idx);
+}
+
+static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lc)
+{
+ return 1 << lc->lane_count_exp;
+}
+
+static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
+ const struct intel_dp_link_config_entry *lc)
+{
+ return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(intel_dp, lc),
+ intel_dp_link_config_lane_count(lc));
+}
+
+static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
+{
+ struct intel_dp *intel_dp = (struct intel_dp *)p; /* remove const */
+ const struct intel_dp_link_config_entry *lc_a = a;
+ const struct intel_dp_link_config_entry *lc_b = b;
+ int bw_a = intel_dp_link_config_bw(intel_dp, lc_a);
+ int bw_b = intel_dp_link_config_bw(intel_dp, lc_b);
+
+ if (bw_a != bw_b)
+ return bw_a - bw_b;
+
+ return intel_dp_link_config_rate(intel_dp, lc_a) -
+ intel_dp_link_config_rate(intel_dp, lc_b);
+}
+
+void intel_dp_link_config_init(struct intel_dp *intel_dp)
+{
+ struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_dp_link_config_entry *lc;
+ int num_common_lane_configs;
+ int i;
+ int j;
+
+ if (drm_WARN_ON(display->drm, !is_power_of_2(intel_dp_max_common_lane_count(intel_dp))))
+ return;
+
+ num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
+
+ if (drm_WARN_ON(display->drm, intel_dp->num_common_rates * num_common_lane_configs >
+ ARRAY_SIZE(intel_dp->link.configs)))
+ return;
+
+ intel_dp->link.num_configs = intel_dp->num_common_rates * num_common_lane_configs;
+
+ lc = &intel_dp->link.configs[0];
+ for (i = 0; i < intel_dp->num_common_rates; i++) {
+ for (j = 0; j < num_common_lane_configs; j++) {
+ lc->lane_count_exp = j;
+ lc->link_rate_idx = i;
+
+ lc++;
+ }
+ }
+
+ sort_r(intel_dp->link.configs, intel_dp->link.num_configs,
+ sizeof(intel_dp->link.configs[0]),
+ link_config_cmp_by_bw, NULL,
+ intel_dp);
+}
+
+void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
+{
+ struct intel_display *display = to_intel_display(intel_dp);
+ const struct intel_dp_link_config_entry *lc;
+
+ if (drm_WARN_ON(display->drm, idx < 0 || idx >= intel_dp->link.num_configs))
+ idx = 0;
+
+ lc = &intel_dp->link.configs[idx];
+
+ *link_rate = intel_dp_link_config_rate(intel_dp, lc);
+ *lane_count = intel_dp_link_config_lane_count(lc);
+}
+
+int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count)
+{
+ int link_rate_idx = intel_dp_rate_index(intel_dp->common_rates, intel_dp->num_common_rates,
+ link_rate);
+ int lane_count_exp = ilog2(lane_count);
+ int i;
+
+ for (i = 0; i < intel_dp->link.num_configs; i++) {
+ const struct intel_dp_link_config_entry *lc = &intel_dp->link.configs[i];
+
+ if (lc->lane_count_exp == lane_count_exp &&
+ lc->link_rate_idx == link_rate_idx)
+ return i;
+ }
+
+ return -1;
+}
+
static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
{
struct intel_connector *connector = to_intel_connector(m->private);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index c6a84891db464..dab956e804b95 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -17,6 +17,11 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp);
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *forced_params);
+int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
+void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
+
+void intel_dp_link_config_init(struct intel_dp *intel_dp);
+
void intel_dp_link_caps_debugfs_add(struct intel_connector *connector);
struct intel_dp_link_caps *intel_dp_link_caps_init(struct intel_dp *intel_dp);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 11/30] drm/i915/dp_link_caps: Move link config tracking to link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (9 preceding siblings ...)
2026-06-23 22:45 ` [PATCH v1 10/30] drm/i915/dp_link_caps: Move link config helpers to link caps Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 12/30] drm/i915/dp_link_caps: Rename helper updating the link configurations Michał Grzelak
` (25 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Move tracking of the link configurations from struct intel_dp to struct
intel_dp_link_caps.
Previous changes moved the helpers operating on configurations to the
link caps module, so the state can now be kept internal to that module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../drm/i915/display/intel_display_types.h | 12 -------
.../gpu/drm/i915/display/intel_dp_link_caps.c | 36 ++++++++++++++-----
2 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index c76ae741e2620..331a250f61dd0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1841,18 +1841,6 @@ struct intel_dp {
struct {
/* TODO: move the rest of link specific fields to here */
bool active;
- /* common rate,lane_count configs in bw order */
- int num_configs;
-#define INTEL_DP_MAX_LANE_COUNT 4
-#define INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS (ilog2(INTEL_DP_MAX_LANE_COUNT) + 1)
-#define INTEL_DP_LANE_COUNT_EXP_BITS order_base_2(INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS)
-#define INTEL_DP_LINK_RATE_IDX_BITS (BITS_PER_TYPE(u8) - INTEL_DP_LANE_COUNT_EXP_BITS)
-#define INTEL_DP_MAX_LINK_CONFIGS (DP_MAX_SUPPORTED_RATES * \
- INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS)
- struct intel_dp_link_config_entry {
- u8 link_rate_idx:INTEL_DP_LINK_RATE_IDX_BITS;
- u8 lane_count_exp:INTEL_DP_LANE_COUNT_EXP_BITS;
- } configs[INTEL_DP_MAX_LINK_CONFIGS];
/* Max lane count for the current link */
int max_lane_count;
/* Max rate for the current link */
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 6a37ba8c35e27..05ec933c74407 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -3,10 +3,12 @@
* Copyright © 2026 Intel Corporation
*/
+#include <linux/bitops.h>
#include <linux/debugfs.h>
#include <linux/log2.h>
#include <linux/slab.h>
#include <linux/sort.h>
+#include <linux/types.h>
#include <drm/drm_print.h>
@@ -18,6 +20,19 @@
struct intel_dp_link_caps {
struct intel_dp *dp;
+ /* common rate,lane_count configs in bw order */
+ int num_configs;
+#define INTEL_DP_MAX_LANE_COUNT 4
+#define INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS (ilog2(INTEL_DP_MAX_LANE_COUNT) + 1)
+#define INTEL_DP_LANE_COUNT_EXP_BITS order_base_2(INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS)
+#define INTEL_DP_LINK_RATE_IDX_BITS (BITS_PER_TYPE(u8) - INTEL_DP_LANE_COUNT_EXP_BITS)
+#define INTEL_DP_MAX_LINK_CONFIGS (DP_MAX_SUPPORTED_RATES * \
+ INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS)
+ struct intel_dp_link_config_entry {
+ u8 link_rate_idx:INTEL_DP_LINK_RATE_IDX_BITS;
+ u8 lane_count_exp:INTEL_DP_LANE_COUNT_EXP_BITS;
+ } configs[INTEL_DP_MAX_LINK_CONFIGS];
+
/*
* Forced parameters requested via debugfs. Remains set across sink
* disconnects.
@@ -118,6 +133,7 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
void intel_dp_link_config_init(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
struct intel_dp_link_config_entry *lc;
int num_common_lane_configs;
@@ -130,12 +146,12 @@ void intel_dp_link_config_init(struct intel_dp *intel_dp)
num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
if (drm_WARN_ON(display->drm, intel_dp->num_common_rates * num_common_lane_configs >
- ARRAY_SIZE(intel_dp->link.configs)))
+ ARRAY_SIZE(link_caps->configs)))
return;
- intel_dp->link.num_configs = intel_dp->num_common_rates * num_common_lane_configs;
+ link_caps->num_configs = intel_dp->num_common_rates * num_common_lane_configs;
- lc = &intel_dp->link.configs[0];
+ lc = &link_caps->configs[0];
for (i = 0; i < intel_dp->num_common_rates; i++) {
for (j = 0; j < num_common_lane_configs; j++) {
lc->lane_count_exp = j;
@@ -145,21 +161,22 @@ void intel_dp_link_config_init(struct intel_dp *intel_dp)
}
}
- sort_r(intel_dp->link.configs, intel_dp->link.num_configs,
- sizeof(intel_dp->link.configs[0]),
+ sort_r(link_caps->configs, link_caps->num_configs,
+ sizeof(link_caps->configs[0]),
link_config_cmp_by_bw, NULL,
intel_dp);
}
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
const struct intel_dp_link_config_entry *lc;
- if (drm_WARN_ON(display->drm, idx < 0 || idx >= intel_dp->link.num_configs))
+ if (drm_WARN_ON(display->drm, idx < 0 || idx >= link_caps->num_configs))
idx = 0;
- lc = &intel_dp->link.configs[idx];
+ lc = &link_caps->configs[idx];
*link_rate = intel_dp_link_config_rate(intel_dp, lc);
*lane_count = intel_dp_link_config_lane_count(lc);
@@ -167,13 +184,14 @@ void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int link_rate_idx = intel_dp_rate_index(intel_dp->common_rates, intel_dp->num_common_rates,
link_rate);
int lane_count_exp = ilog2(lane_count);
int i;
- for (i = 0; i < intel_dp->link.num_configs; i++) {
- const struct intel_dp_link_config_entry *lc = &intel_dp->link.configs[i];
+ for (i = 0; i < link_caps->num_configs; i++) {
+ const struct intel_dp_link_config_entry *lc = &link_caps->configs[i];
if (lc->lane_count_exp == lane_count_exp &&
lc->link_rate_idx == link_rate_idx)
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 12/30] drm/i915/dp_link_caps: Rename helper updating the link configurations
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (10 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 11/30] drm/i915/dp_link_caps: Move link config tracking to link_caps Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 13/30] drm/i915/dp: Factor out helper to get link rate capabilities Michał Grzelak
` (24 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Rename the helper updating link configurations to
intel_dp_link_caps_update() to better reflect its functionality.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 2 +-
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 2 +-
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index c4b650431eff5..65a13b2f7584d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -720,7 +720,7 @@ static bool intel_dp_set_common_link_params(struct intel_dp *intel_dp)
if (intel_dp_set_max_common_lane_count(intel_dp))
params_changed = true;
- intel_dp_link_config_init(intel_dp);
+ intel_dp_link_caps_update(intel_dp);
return params_changed;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 05ec933c74407..2074952931738 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -131,7 +131,7 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
intel_dp_link_config_rate(intel_dp, lc_b);
}
-void intel_dp_link_config_init(struct intel_dp *intel_dp)
+void intel_dp_link_caps_update(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index dab956e804b95..aed2122a05d24 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -20,7 +20,7 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
-void intel_dp_link_config_init(struct intel_dp *intel_dp);
+void intel_dp_link_caps_update(struct intel_dp *intel_dp);
void intel_dp_link_caps_debugfs_add(struct intel_connector *connector);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 13/30] drm/i915/dp: Factor out helper to get link rate capabilities
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (11 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 12/30] drm/i915/dp_link_caps: Rename helper updating the link configurations Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 14/30] drm/i915/dp_link_caps: Pass supported link rates to link caps update Michał Grzelak
` (23 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Factor out a helper to get the supported link rates. This allows to
gather all the link capabilities and pass these to the link capability
module from a single place. A follow-up change will extend this to
gather and pass the maximum lane count capability in the same way.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 37 +++++++++++++++----------
1 file changed, 22 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 65a13b2f7584d..635e3ede0d41e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -676,33 +676,40 @@ int intel_dp_rate_index(const int *rates, int len, int rate)
return -1;
}
-/* Return %true if the common rates changed. */
-static bool intel_dp_set_common_rates(struct intel_dp *intel_dp)
+static void intel_dp_get_common_rates(struct intel_dp *intel_dp,
+ int common_rates[DP_MAX_SUPPORTED_RATES],
+ int *num_common_rates)
{
struct intel_display *display = to_intel_display(intel_dp);
- int num_old_common_rates = intel_dp->num_common_rates;
- int old_common_rates[DP_MAX_SUPPORTED_RATES];
drm_WARN_ON(display->drm,
!intel_dp->num_source_rates || !intel_dp->num_sink_rates);
+ *num_common_rates = intersect_rates(intel_dp->source_rates,
+ intel_dp->num_source_rates,
+ intel_dp->sink_rates,
+ intel_dp->num_sink_rates,
+ common_rates);
+
+ /* Paranoia, there should always be something in common. */
+ if (drm_WARN_ON(display->drm, *num_common_rates == 0)) {
+ common_rates[0] = 162000;
+ *num_common_rates = 1;
+ }
+}
+
+static bool intel_dp_set_common_rates(struct intel_dp *intel_dp)
+{
+ int num_old_common_rates = intel_dp->num_common_rates;
+ int old_common_rates[DP_MAX_SUPPORTED_RATES];
+
/* TODO: Add a struct containing both rates and number of rates. */
static_assert(__same_type(old_common_rates[0], intel_dp->common_rates[0]) &&
sizeof(old_common_rates) == sizeof(intel_dp->common_rates));
memcpy(old_common_rates, intel_dp->common_rates,
num_old_common_rates * sizeof(old_common_rates[0]));
- intel_dp->num_common_rates = intersect_rates(intel_dp->source_rates,
- intel_dp->num_source_rates,
- intel_dp->sink_rates,
- intel_dp->num_sink_rates,
- intel_dp->common_rates);
-
- /* Paranoia, there should always be something in common. */
- if (drm_WARN_ON(display->drm, intel_dp->num_common_rates == 0)) {
- intel_dp->common_rates[0] = 162000;
- intel_dp->num_common_rates = 1;
- }
+ intel_dp_get_common_rates(intel_dp, intel_dp->common_rates, &intel_dp->num_common_rates);
return num_old_common_rates != intel_dp->num_common_rates ||
memcmp(old_common_rates, intel_dp->common_rates,
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 14/30] drm/i915/dp_link_caps: Pass supported link rates to link caps update
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (12 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 13/30] drm/i915/dp: Factor out helper to get link rate capabilities Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 15/30] drm/i915/dp_link_caps: Add helper to print all supported link rates Michał Grzelak
` (22 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Pass the supported link rates explicitly to intel_dp_link_caps_update().
This prepares for tracking these capabilities internally within the
link caps module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 28 ++++---------------
.../gpu/drm/i915/display/intel_dp_link_caps.c | 28 +++++++++++++++----
.../gpu/drm/i915/display/intel_dp_link_caps.h | 5 +++-
3 files changed, 33 insertions(+), 28 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 635e3ede0d41e..d2b9b6fce2b32 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -698,36 +698,20 @@ static void intel_dp_get_common_rates(struct intel_dp *intel_dp,
}
}
-static bool intel_dp_set_common_rates(struct intel_dp *intel_dp)
-{
- int num_old_common_rates = intel_dp->num_common_rates;
- int old_common_rates[DP_MAX_SUPPORTED_RATES];
-
- /* TODO: Add a struct containing both rates and number of rates. */
- static_assert(__same_type(old_common_rates[0], intel_dp->common_rates[0]) &&
- sizeof(old_common_rates) == sizeof(intel_dp->common_rates));
- memcpy(old_common_rates, intel_dp->common_rates,
- num_old_common_rates * sizeof(old_common_rates[0]));
-
- intel_dp_get_common_rates(intel_dp, intel_dp->common_rates, &intel_dp->num_common_rates);
-
- return num_old_common_rates != intel_dp->num_common_rates ||
- memcmp(old_common_rates, intel_dp->common_rates,
- num_old_common_rates * sizeof(old_common_rates[0]));
-}
-
/* Return %true if any common link param changed. */
static bool intel_dp_set_common_link_params(struct intel_dp *intel_dp)
{
+ int num_common_rates;
+ int common_rates[DP_MAX_SUPPORTED_RATES];
bool params_changed = false;
- if (intel_dp_set_common_rates(intel_dp))
- params_changed = true;
-
if (intel_dp_set_max_common_lane_count(intel_dp))
params_changed = true;
- intel_dp_link_caps_update(intel_dp);
+ intel_dp_get_common_rates(intel_dp, common_rates, &num_common_rates);
+ if (intel_dp_link_caps_update(intel_dp,
+ common_rates, num_common_rates))
+ params_changed = true;
return params_changed;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 2074952931738..679d59cc256c9 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -8,6 +8,7 @@
#include <linux/log2.h>
#include <linux/slab.h>
#include <linux/sort.h>
+#include <linux/string.h>
#include <linux/types.h>
#include <drm/drm_print.h>
@@ -131,25 +132,39 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
intel_dp_link_config_rate(intel_dp, lc_b);
}
-void intel_dp_link_caps_update(struct intel_dp *intel_dp)
+/* Return %true if the supported link parameters have changed. */
+bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
+ const int *rates, int num_rates)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
struct intel_dp_link_config_entry *lc;
+ bool link_params_changed = false;
int num_common_lane_configs;
int i;
int j;
if (drm_WARN_ON(display->drm, !is_power_of_2(intel_dp_max_common_lane_count(intel_dp))))
- return;
+ return false;
+
+ if (drm_WARN_ON(display->drm, num_rates > ARRAY_SIZE(intel_dp->common_rates)))
+ return false;
num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
- if (drm_WARN_ON(display->drm, intel_dp->num_common_rates * num_common_lane_configs >
+ if (drm_WARN_ON(display->drm, num_rates * num_common_lane_configs >
ARRAY_SIZE(link_caps->configs)))
- return;
+ return false;
- link_caps->num_configs = intel_dp->num_common_rates * num_common_lane_configs;
+ /* TODO: Add a struct containing both rates and number of rates. */
+ static_assert(__same_type(rates[0], intel_dp->common_rates[0]));
+ if (num_rates != intel_dp->num_common_rates ||
+ memcmp(rates, intel_dp->common_rates, num_rates * sizeof(rates[0])))
+ link_params_changed = true;
+
+ memcpy(intel_dp->common_rates, rates, num_rates * sizeof(rates[0]));
+ intel_dp->num_common_rates = num_rates;
+ link_caps->num_configs = num_rates * num_common_lane_configs;
lc = &link_caps->configs[0];
for (i = 0; i < intel_dp->num_common_rates; i++) {
@@ -165,6 +180,9 @@ void intel_dp_link_caps_update(struct intel_dp *intel_dp)
sizeof(link_caps->configs[0]),
link_config_cmp_by_bw, NULL,
intel_dp);
+
+ /* TODO: Also detect a change in the max lane count. */
+ return link_params_changed;
}
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index aed2122a05d24..09e580bc5c9b3 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -4,6 +4,8 @@
#ifndef __INTEL_DP_LINK_CAPS_H__
#define __INTEL_DP_LINK_CAPS_H__
+#include <linux/types.h>
+
struct intel_connector;
struct intel_dp;
struct intel_dp_link_caps;
@@ -20,7 +22,8 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
-void intel_dp_link_caps_update(struct intel_dp *intel_dp);
+bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
+ const int *rates, int num_rates);
void intel_dp_link_caps_debugfs_add(struct intel_connector *connector);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 15/30] drm/i915/dp_link_caps: Add helper to print all supported link rates
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (13 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 14/30] drm/i915/dp_link_caps: Pass supported link rates to link caps update Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 16/30] drm/i915/dp_link_caps: Add helper to get the number of " Michał Grzelak
` (21 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak, Jani Nikula,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add intel_dp_link_caps_print_rates() to print all the supported link
rates tracked by the link_caps module. This prepares for tracking
these capabilities internally within the link caps module.
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 4 +---
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 14 ++++++++++++++
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 2 ++
3 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index d2b9b6fce2b32..f9c3d3561c417 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1543,9 +1543,7 @@ static void intel_dp_print_rates(struct intel_dp *intel_dp)
seq_buf_print_array(&s, intel_dp->sink_rates, intel_dp->num_sink_rates);
drm_dbg_kms(display->drm, "sink rates: %s\n", seq_buf_str(&s));
- seq_buf_clear(&s);
- seq_buf_print_array(&s, intel_dp->common_rates, intel_dp->num_common_rates);
- drm_dbg_kms(display->drm, "common rates: %s\n", seq_buf_str(&s));
+ intel_dp_link_caps_print_common_rates(intel_dp->link.caps);
}
int
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 679d59cc256c9..13f9bfd5d7bad 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -6,6 +6,7 @@
#include <linux/bitops.h>
#include <linux/debugfs.h>
#include <linux/log2.h>
+#include <linux/seq_buf.h>
#include <linux/slab.h>
#include <linux/sort.h>
#include <linux/string.h>
@@ -66,6 +67,19 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp)
return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
}
+void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps)
+{
+ struct intel_dp *intel_dp = link_caps->dp;
+ struct intel_display *display = to_intel_display(intel_dp);
+ DECLARE_SEQ_BUF(s, 128);
+ int i;
+
+ for (i = 0; i < intel_dp->num_common_rates; i++)
+ seq_buf_printf(&s, "%s%d", i ? ", " : "", intel_dp->common_rates[i]);
+
+ drm_dbg_kms(display->drm, "common rates: %s\n", seq_buf_str(&s));
+}
+
static int forced_lane_count(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 09e580bc5c9b3..7333df6b82f97 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -16,6 +16,8 @@ int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
int intel_dp_max_common_rate(struct intel_dp *intel_dp);
+void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps);
+
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *forced_params);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 16/30] drm/i915/dp_link_caps: Add helper to get the number of supported link rates
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (14 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 15/30] drm/i915/dp_link_caps: Add helper to print all supported link rates Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 17/30] drm/i915/dp_link_caps: Add helper to get common rate index Michał Grzelak
` (20 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add intel_dp_link_caps_num_common_rates() to return the number of
supported link rates tracked by the link_caps module. This prepares for
tracking these capabilities internally within the link caps module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 4 ++--
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 5 +++++
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 1 +
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index f9c3d3561c417..84640c8394534 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1766,7 +1766,7 @@ intel_dp_compute_link_config_wide(struct intel_dp *intel_dp,
int link_bpp_x16 =
intel_dp_output_format_link_bpp_x16(pipe_config->output_format, bpp);
- for (i = 0; i < intel_dp->num_common_rates; i++) {
+ for (i = 0; i < intel_dp_link_caps_num_common_rates(intel_dp->link.caps); i++) {
link_rate = intel_dp_common_rate(intel_dp, i);
if (link_rate < limits->min_rate ||
link_rate > limits->max_rate)
@@ -1995,7 +1995,7 @@ static int dsc_compute_link_config(struct intel_dp *intel_dp,
int link_rate, lane_count;
int i;
- for (i = 0; i < intel_dp->num_common_rates; i++) {
+ for (i = 0; i < intel_dp_link_caps_num_common_rates(intel_dp->link.caps); i++) {
link_rate = intel_dp_common_rate(intel_dp, i);
if (link_rate < limits->min_rate || link_rate > limits->max_rate)
continue;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 13f9bfd5d7bad..09b60a0cd6fbb 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -67,6 +67,11 @@ int intel_dp_max_common_rate(struct intel_dp *intel_dp)
return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
}
+int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps)
+{
+ return link_caps->dp->num_common_rates;
+}
+
void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps)
{
struct intel_dp *intel_dp = link_caps->dp;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 7333df6b82f97..3413f6f760453 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -15,6 +15,7 @@ int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
int max_rate);
int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
int intel_dp_max_common_rate(struct intel_dp *intel_dp);
+int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps);
void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 17/30] drm/i915/dp_link_caps: Add helper to get common rate index
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (15 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 16/30] drm/i915/dp_link_caps: Add helper to get the number of " Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 18/30] drm/i915/dp_link_caps: Move tracking of common rates to link_caps struct Michał Grzelak
` (19 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add intel_dp_link_caps_common_rate_idx() to look up supported link rates
tracked by the link_caps module by rate. This prepares for tracking these
capabilities internally within the link caps module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 9 +++++++++
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 1 +
drivers/gpu/drm/i915/display/intel_dp_link_training.c | 5 ++---
drivers/gpu/drm/i915/display/intel_dp_test.c | 7 ++++---
4 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 09b60a0cd6fbb..84d9636f4adb4 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -61,6 +61,15 @@ int intel_dp_common_rate(struct intel_dp *intel_dp, int index)
return intel_dp->common_rates[index];
}
+int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, int rate)
+{
+ struct intel_dp *intel_dp = link_caps->dp;
+
+ return intel_dp_rate_index(intel_dp->common_rates,
+ intel_dp->num_common_rates,
+ rate);
+}
+
/* Theoretical max between source and sink */
int intel_dp_max_common_rate(struct intel_dp *intel_dp)
{
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 3413f6f760453..7d7d3d11ba3fe 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -14,6 +14,7 @@ struct intel_dp_link_config;
int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
int max_rate);
int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
+int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, int rate);
int intel_dp_max_common_rate(struct intel_dp *intel_dp);
int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 61ada34ab9c8e..ec9bd9b4c800b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -1891,9 +1891,8 @@ static int reduce_link_rate(struct intel_dp *intel_dp, int current_rate)
if (forced_params.rate)
return -1;
- rate_index = intel_dp_rate_index(intel_dp->common_rates,
- intel_dp->num_common_rates,
- current_rate);
+ rate_index = intel_dp_link_caps_common_rate_idx(link_caps,
+ current_rate);
if (rate_index <= 0)
return -1;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_test.c b/drivers/gpu/drm/i915/display/intel_dp_test.c
index ba44769c9cfbe..da7632536dace 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_test.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_test.c
@@ -14,6 +14,7 @@
#include "intel_display_regs.h"
#include "intel_display_types.h"
#include "intel_dp.h"
+#include "intel_dp_link_caps.h"
#include "intel_dp_link_training.h"
#include "intel_dp_mst.h"
#include "intel_dp_test.h"
@@ -32,6 +33,7 @@ void intel_dp_test_compute_config(struct intel_dp *intel_dp,
struct intel_crtc_state *pipe_config,
struct link_config_limits *limits)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
/* For DP Compliance we override the computed bpp for the pipe */
@@ -54,9 +56,8 @@ void intel_dp_test_compute_config(struct intel_dp *intel_dp,
*/
if (intel_dp_link_params_valid(intel_dp, intel_dp->compliance.test_link_rate,
intel_dp->compliance.test_lane_count)) {
- index = intel_dp_rate_index(intel_dp->common_rates,
- intel_dp->num_common_rates,
- intel_dp->compliance.test_link_rate);
+ index = intel_dp_link_caps_common_rate_idx(link_caps,
+ intel_dp->compliance.test_link_rate);
if (index >= 0) {
limits->min_rate = intel_dp->compliance.test_link_rate;
limits->max_rate = intel_dp->compliance.test_link_rate;
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 18/30] drm/i915/dp_link_caps: Move tracking of common rates to link_caps struct
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (16 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 17/30] drm/i915/dp_link_caps: Add helper to get common rate index Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 19/30] drm/i915/dp_link_caps: Track max common lane count in link_caps Michał Grzelak
` (18 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Now that all users access the supported link rates via helpers, move
tracking of these rates from struct intel_dp to the link_caps state.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../drm/i915/display/intel_display_types.h | 3 --
.../gpu/drm/i915/display/intel_dp_link_caps.c | 51 +++++++++++--------
2 files changed, 29 insertions(+), 25 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 331a250f61dd0..f91776635fa36 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1834,9 +1834,6 @@ struct intel_dp {
bool use_rate_select;
/* Max sink lane count as reported by DP_MAX_LANE_COUNT */
int max_sink_lane_count;
- /* intersection of source and sink rates */
- int num_common_rates;
- int common_rates[DP_MAX_SUPPORTED_RATES];
int max_common_lane_count;
struct {
/* TODO: move the rest of link specific fields to here */
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 84d9636f4adb4..e28f7308283ce 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -22,6 +22,10 @@
struct intel_dp_link_caps {
struct intel_dp *dp;
+ /* Rate, lane count caps common to source and sink. */
+ int num_rates;
+ int rates[DP_MAX_SUPPORTED_RATES];
+
/* common rate,lane_count configs in bw order */
int num_configs;
#define INTEL_DP_MAX_LANE_COUNT 4
@@ -31,6 +35,7 @@ struct intel_dp_link_caps {
#define INTEL_DP_MAX_LINK_CONFIGS (DP_MAX_SUPPORTED_RATES * \
INTEL_DP_MAX_SUPPORTED_LANE_CONFIGS)
struct intel_dp_link_config_entry {
+ /* index into rates[] */
u8 link_rate_idx:INTEL_DP_LINK_RATE_IDX_BITS;
u8 lane_count_exp:INTEL_DP_LANE_COUNT_EXP_BITS;
} configs[INTEL_DP_MAX_LINK_CONFIGS];
@@ -46,50 +51,52 @@ struct intel_dp_link_caps {
int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
int max_rate)
{
- return intel_dp_rate_limit_len(intel_dp->common_rates,
- intel_dp->num_common_rates, max_rate);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+
+ return intel_dp_rate_limit_len(link_caps->rates,
+ link_caps->num_rates, max_rate);
}
int intel_dp_common_rate(struct intel_dp *intel_dp, int index)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
if (drm_WARN_ON(display->drm,
- index < 0 || index >= intel_dp->num_common_rates))
+ index < 0 || index >= link_caps->num_rates))
return 162000;
- return intel_dp->common_rates[index];
+ return link_caps->rates[index];
}
int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, int rate)
{
- struct intel_dp *intel_dp = link_caps->dp;
-
- return intel_dp_rate_index(intel_dp->common_rates,
- intel_dp->num_common_rates,
+ return intel_dp_rate_index(link_caps->rates,
+ link_caps->num_rates,
rate);
}
/* Theoretical max between source and sink */
int intel_dp_max_common_rate(struct intel_dp *intel_dp)
{
- return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+
+ return intel_dp_common_rate(intel_dp, link_caps->num_rates - 1);
}
int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps)
{
- return link_caps->dp->num_common_rates;
+ return link_caps->num_rates;
}
void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps)
{
- struct intel_dp *intel_dp = link_caps->dp;
- struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_display *display = to_intel_display(link_caps->dp);
DECLARE_SEQ_BUF(s, 128);
int i;
- for (i = 0; i < intel_dp->num_common_rates; i++)
- seq_buf_printf(&s, "%s%d", i ? ", " : "", intel_dp->common_rates[i]);
+ for (i = 0; i < link_caps->num_rates; i++)
+ seq_buf_printf(&s, "%s%d", i ? ", " : "", link_caps->rates[i]);
drm_dbg_kms(display->drm, "common rates: %s\n", seq_buf_str(&s));
}
@@ -175,7 +182,7 @@ bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
if (drm_WARN_ON(display->drm, !is_power_of_2(intel_dp_max_common_lane_count(intel_dp))))
return false;
- if (drm_WARN_ON(display->drm, num_rates > ARRAY_SIZE(intel_dp->common_rates)))
+ if (drm_WARN_ON(display->drm, num_rates > ARRAY_SIZE(link_caps->rates)))
return false;
num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
@@ -185,17 +192,17 @@ bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
return false;
/* TODO: Add a struct containing both rates and number of rates. */
- static_assert(__same_type(rates[0], intel_dp->common_rates[0]));
- if (num_rates != intel_dp->num_common_rates ||
- memcmp(rates, intel_dp->common_rates, num_rates * sizeof(rates[0])))
+ static_assert(__same_type(rates[0], link_caps->rates[0]));
+ if (num_rates != link_caps->num_rates ||
+ memcmp(rates, link_caps->rates, num_rates * sizeof(rates[0])))
link_params_changed = true;
- memcpy(intel_dp->common_rates, rates, num_rates * sizeof(rates[0]));
- intel_dp->num_common_rates = num_rates;
+ memcpy(link_caps->rates, rates, num_rates * sizeof(rates[0]));
+ link_caps->num_rates = num_rates;
link_caps->num_configs = num_rates * num_common_lane_configs;
lc = &link_caps->configs[0];
- for (i = 0; i < intel_dp->num_common_rates; i++) {
+ for (i = 0; i < link_caps->num_rates; i++) {
for (j = 0; j < num_common_lane_configs; j++) {
lc->lane_count_exp = j;
lc->link_rate_idx = i;
@@ -231,7 +238,7 @@ void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
- int link_rate_idx = intel_dp_rate_index(intel_dp->common_rates, intel_dp->num_common_rates,
+ int link_rate_idx = intel_dp_rate_index(link_caps->rates, link_caps->num_rates,
link_rate);
int lane_count_exp = ilog2(lane_count);
int i;
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 19/30] drm/i915/dp_link_caps: Track max common lane count in link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (17 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 18/30] drm/i915/dp_link_caps: Move tracking of common rates to link_caps struct Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 20/30] drm/i915/dp_link_caps: Use max common lane count from link_caps Michał Grzelak
` (17 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Pass the maximum common lane count to intel_dp_link_caps_update() and
track it together with the supported link rates. This prepares for
converting all users of intel_dp_max_common_lane_count() to query the
value from the link caps module instead.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 14 +++++---------
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 13 +++++++++----
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 2 +-
3 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 84640c8394534..2873b2df29f84 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -339,23 +339,19 @@ int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port)
/*
* Theoretical max between source and sink.
- * Return %true if the max common lane count changed.
*/
-static bool intel_dp_set_max_common_lane_count(struct intel_dp *intel_dp)
+static int intel_dp_get_max_common_lane_count(struct intel_dp *intel_dp)
{
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
int source_max = intel_dp_max_source_lane_count(dig_port);
int sink_max = intel_dp->max_sink_lane_count;
int lane_max = intel_tc_port_max_lane_count(dig_port);
int lttpr_max = drm_dp_lttpr_max_lane_count(intel_dp->lttpr_common_caps);
- int old_max_common_lane_count = intel_dp->max_common_lane_count;
if (lttpr_max)
sink_max = min(sink_max, lttpr_max);
- intel_dp->max_common_lane_count = min3(source_max, sink_max, lane_max);
-
- return intel_dp->max_common_lane_count != old_max_common_lane_count;
+ return min3(source_max, sink_max, lane_max);
}
int intel_dp_max_common_lane_count(struct intel_dp *intel_dp)
@@ -705,12 +701,12 @@ static bool intel_dp_set_common_link_params(struct intel_dp *intel_dp)
int common_rates[DP_MAX_SUPPORTED_RATES];
bool params_changed = false;
- if (intel_dp_set_max_common_lane_count(intel_dp))
- params_changed = true;
+ intel_dp->max_common_lane_count = intel_dp_get_max_common_lane_count(intel_dp);
intel_dp_get_common_rates(intel_dp, common_rates, &num_common_rates);
if (intel_dp_link_caps_update(intel_dp,
- common_rates, num_common_rates))
+ common_rates, num_common_rates,
+ intel_dp_get_max_common_lane_count(intel_dp)))
params_changed = true;
return params_changed;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index e28f7308283ce..bb727bcf4de18 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -25,6 +25,7 @@ struct intel_dp_link_caps {
/* Rate, lane count caps common to source and sink. */
int num_rates;
int rates[DP_MAX_SUPPORTED_RATES];
+ int max_lane_count;
/* common rate,lane_count configs in bw order */
int num_configs;
@@ -169,7 +170,7 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
/* Return %true if the supported link parameters have changed. */
bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
- const int *rates, int num_rates)
+ const int *rates, int num_rates, int max_lane_count)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_display *display = to_intel_display(intel_dp);
@@ -179,13 +180,13 @@ bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
int i;
int j;
- if (drm_WARN_ON(display->drm, !is_power_of_2(intel_dp_max_common_lane_count(intel_dp))))
+ if (drm_WARN_ON(display->drm, !is_power_of_2(max_lane_count)))
return false;
if (drm_WARN_ON(display->drm, num_rates > ARRAY_SIZE(link_caps->rates)))
return false;
- num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
+ num_common_lane_configs = ilog2(max_lane_count) + 1;
if (drm_WARN_ON(display->drm, num_rates * num_common_lane_configs >
ARRAY_SIZE(link_caps->configs)))
@@ -197,8 +198,13 @@ bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
memcmp(rates, link_caps->rates, num_rates * sizeof(rates[0])))
link_params_changed = true;
+ if (max_lane_count != link_caps->max_lane_count)
+ link_params_changed = true;
+
memcpy(link_caps->rates, rates, num_rates * sizeof(rates[0]));
link_caps->num_rates = num_rates;
+ link_caps->max_lane_count = max_lane_count;
+
link_caps->num_configs = num_rates * num_common_lane_configs;
lc = &link_caps->configs[0];
@@ -216,7 +222,6 @@ bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
link_config_cmp_by_bw, NULL,
intel_dp);
- /* TODO: Also detect a change in the max lane count. */
return link_params_changed;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 7d7d3d11ba3fe..e2f53eb167a8e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -27,7 +27,7 @@ int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lan
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
- const int *rates, int num_rates);
+ const int *rates, int num_rates, int max_lane_count);
void intel_dp_link_caps_debugfs_add(struct intel_connector *connector);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 20/30] drm/i915/dp_link_caps: Use max common lane count from link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (18 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 19/30] drm/i915/dp_link_caps: Track max common lane count in link_caps Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 21/30] drm/i915/dp_link_caps: Add helpers to get max link limits Michał Grzelak
` (16 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Convert all users of intel_dp_max_common_lane_count() to query the
maximum common lane count via the link capability API, in common with
the link rate queries.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_types.h | 1 -
drivers/gpu/drm/i915/display/intel_dp.c | 9 +--------
drivers/gpu/drm/i915/display/intel_dp.h | 1 -
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 7 ++++++-
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 1 +
drivers/gpu/drm/i915/display/intel_dp_tunnel.c | 3 ++-
6 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index f91776635fa36..8610c6e967ec8 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1834,7 +1834,6 @@ struct intel_dp {
bool use_rate_select;
/* Max sink lane count as reported by DP_MAX_LANE_COUNT */
int max_sink_lane_count;
- int max_common_lane_count;
struct {
/* TODO: move the rest of link specific fields to here */
bool active;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 2873b2df29f84..0d7ec7a8898c9 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -354,11 +354,6 @@ static int intel_dp_get_max_common_lane_count(struct intel_dp *intel_dp)
return min3(source_max, sink_max, lane_max);
}
-int intel_dp_max_common_lane_count(struct intel_dp *intel_dp)
-{
- return intel_dp->max_common_lane_count;
-}
-
int intel_dp_max_lane_count(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
@@ -701,8 +696,6 @@ static bool intel_dp_set_common_link_params(struct intel_dp *intel_dp)
int common_rates[DP_MAX_SUPPORTED_RATES];
bool params_changed = false;
- intel_dp->max_common_lane_count = intel_dp_get_max_common_lane_count(intel_dp);
-
intel_dp_get_common_rates(intel_dp, common_rates, &num_common_rates);
if (intel_dp_link_caps_update(intel_dp,
common_rates, num_common_rates,
@@ -3613,7 +3606,7 @@ void intel_dp_set_link_params(struct intel_dp *intel_dp,
void intel_dp_reset_link_params(struct intel_dp *intel_dp)
{
- intel_dp->link.max_lane_count = intel_dp_max_common_lane_count(intel_dp);
+ intel_dp->link.max_lane_count = intel_dp_link_caps_max_common_lane_count(intel_dp->link.caps);
intel_dp->link.max_rate = intel_dp_max_common_rate(intel_dp);
intel_dp->link.mst_probed_lane_count = 0;
intel_dp->link.mst_probed_rate = 0;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index fdf9bd88859e7..f776bec7c4254 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -106,7 +106,6 @@ int intel_dp_max_link_rate(struct intel_dp *intel_dp);
int intel_dp_max_lane_count(struct intel_dp *intel_dp);
int intel_dp_config_required_rate(const struct intel_crtc_state *crtc_state);
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate);
-int intel_dp_max_common_lane_count(struct intel_dp *intel_dp);
int intel_dp_rate_index(const int *rates, int len, int rate);
void intel_dp_update_sink_caps(struct intel_dp *intel_dp);
void intel_dp_reset_link_params(struct intel_dp *intel_dp);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index bb727bcf4de18..b227c9a55f63b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -102,6 +102,11 @@ void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps)
drm_dbg_kms(display->drm, "common rates: %s\n", seq_buf_str(&s));
}
+int intel_dp_link_caps_max_common_lane_count(struct intel_dp_link_caps *link_caps)
+{
+ return link_caps->max_lane_count;
+}
+
static int forced_lane_count(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
@@ -110,7 +115,7 @@ static int forced_lane_count(struct intel_dp *intel_dp)
return 0;
return clamp(link_caps->forced_params.lane_count,
- 1, intel_dp_max_common_lane_count(intel_dp));
+ 1, intel_dp_link_caps_max_common_lane_count(link_caps));
}
static int forced_link_rate(struct intel_dp *intel_dp)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index e2f53eb167a8e..9218cb5de2c71 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -17,6 +17,7 @@ int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, int rate);
int intel_dp_max_common_rate(struct intel_dp *intel_dp);
int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps);
+int intel_dp_link_caps_max_common_lane_count(struct intel_dp_link_caps *link_caps);
void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
index c82adfcce01d0..9d9d8d04742bc 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
@@ -57,8 +57,9 @@ static int kbytes_to_mbits(int kbytes)
static int get_current_link_bw(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int rate = intel_dp_max_common_rate(intel_dp);
- int lane_count = intel_dp_max_common_lane_count(intel_dp);
+ int lane_count = intel_dp_link_caps_max_common_lane_count(link_caps);
return intel_dp_max_link_data_rate(intel_dp, rate, lane_count);
}
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 21/30] drm/i915/dp_link_caps: Add helpers to get max link limits
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (19 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 20/30] drm/i915/dp_link_caps: Use max common lane count from link_caps Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 22/30] drm/i915/dp_link_caps: Add helpers to set " Michał Grzelak
` (15 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add intel_dp_link_caps_get_max_limits() to query the current maximum
link limits (max bound over all allowed configurations) through the
link caps API instead of direct accesses.
This allows tracking the state internally within the link caps module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 8 +++-
.../gpu/drm/i915/display/intel_dp_link_caps.c | 38 ++++++++++++++++++-
.../gpu/drm/i915/display/intel_dp_link_caps.h | 3 ++
.../drm/i915/display/intel_dp_link_training.c | 8 +++-
4 files changed, 51 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 0d7ec7a8898c9..3b3c31122452d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -357,15 +357,17 @@ static int intel_dp_get_max_common_lane_count(struct intel_dp *intel_dp)
int intel_dp_max_lane_count(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config max_link_limits;
struct intel_dp_link_config forced_params;
int lane_count;
+ intel_dp_link_caps_get_max_limits(link_caps, &max_link_limits);
intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
if (forced_params.lane_count)
lane_count = forced_params.lane_count;
else
- lane_count = intel_dp->link.max_lane_count;
+ lane_count = max_link_limits.lane_count;
switch (lane_count) {
case 1:
@@ -1539,6 +1541,7 @@ int
intel_dp_max_link_rate(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config max_link_limits;
struct intel_dp_link_config forced_params;
int len;
@@ -1547,7 +1550,8 @@ intel_dp_max_link_rate(struct intel_dp *intel_dp)
if (forced_params.rate)
return forced_params.rate;
- len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.max_rate);
+ intel_dp_link_caps_get_max_limits(link_caps, &max_link_limits);
+ len = intel_dp_common_len_rate_limit(intel_dp, max_link_limits.rate);
return intel_dp_common_rate(intel_dp, len - 1);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index b227c9a55f63b..fa7dabc94ddf1 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -151,6 +151,36 @@ static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_ent
return 1 << lc->lane_count_exp;
}
+/**
+ * intel_dp_link_caps_get_max_limits - get the current maximum link limits
+ * @link_caps: link capabilities state
+ * @max_link_limits: returned maximum link limits
+ *
+ * Return the current maximum rate and lane count limits in
+ * @max_link_limits.
+ *
+ * These limits constrain the set of allowed configurations.
+ *
+ * The limits are set to the maximum common supported values after
+ * intel_dp_link_caps_reset() is called, and can later be modified by
+ * intel_dp_link_caps_set_max_limits(). The max rate and lane count
+ * parameters are independent limits, so the pair does not necessarily
+ * define a valid configuration.
+ *
+ * This function may be called without serializing against updates to
+ * @link_caps. However, without such serialization the returned value may be
+ * an out-of-sync (link rate, lane count) tuple, i.e. the parameters may
+ * belong to different update snapshots in time.
+ */
+void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
+ struct intel_dp_link_config *max_link_limits)
+{
+ struct intel_dp *intel_dp = link_caps->dp;
+
+ max_link_limits->rate = intel_dp->link.max_rate;
+ max_link_limits->lane_count = intel_dp->link.max_lane_count;
+}
+
static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
const struct intel_dp_link_config_entry *lc)
{
@@ -482,6 +512,7 @@ static int i915_dp_max_link_rate_show(void *data, u64 *val)
struct intel_connector *connector = to_intel_connector(data);
struct intel_display *display = to_intel_display(connector);
struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp_link_config max_link_limits;
int err;
err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
@@ -490,7 +521,8 @@ static int i915_dp_max_link_rate_show(void *data, u64 *val)
intel_dp_flush_connector_commits(connector);
- *val = intel_dp->link.max_rate;
+ intel_dp_link_caps_get_max_limits(intel_dp->link.caps, &max_link_limits);
+ *val = max_link_limits.rate;
drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
@@ -503,6 +535,7 @@ static int i915_dp_max_lane_count_show(void *data, u64 *val)
struct intel_connector *connector = to_intel_connector(data);
struct intel_display *display = to_intel_display(connector);
struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp_link_config max_link_limits;
int err;
err = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex);
@@ -511,7 +544,8 @@ static int i915_dp_max_lane_count_show(void *data, u64 *val)
intel_dp_flush_connector_commits(connector);
- *val = intel_dp->link.max_lane_count;
+ intel_dp_link_caps_get_max_limits(intel_dp->link.caps, &max_link_limits);
+ *val = max_link_limits.lane_count;
drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 9218cb5de2c71..376dbd9bd5aba 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -27,6 +27,9 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
+void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
+ struct intel_dp_link_config *max_link_limits);
+
bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
const int *rates, int num_rates, int max_lane_count);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index ec9bd9b4c800b..7145f2d0ad6d3 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -2389,6 +2389,8 @@ void intel_dp_128b132b_sdp_crc16(struct intel_dp *intel_dp,
bool intel_dp_link_params_valid(struct intel_dp *intel_dp, int link_rate,
u8 lane_count)
{
+ struct intel_dp_link_config max_link_limits;
+
/*
* FIXME: we need to synchronize the current link parameters with
* hardware readout. Currently fast link training doesn't work on
@@ -2411,12 +2413,14 @@ bool intel_dp_link_params_valid(struct intel_dp *intel_dp, int link_rate,
* configuration. Although that happens to be true for now, it will
* stop being guaranteed once fallback depends only on disabled configs.
*/
+ intel_dp_link_caps_get_max_limits(intel_dp->link.caps, &max_link_limits);
+
if (link_rate == 0 ||
- link_rate > intel_dp->link.max_rate)
+ link_rate > max_link_limits.rate)
return false;
if (lane_count == 0 ||
- lane_count > intel_dp_max_lane_count(intel_dp))
+ lane_count > max_link_limits.lane_count)
return false;
return true;
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 22/30] drm/i915/dp_link_caps: Add helpers to set max link limits
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (20 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 21/30] drm/i915/dp_link_caps: Add helpers to get max link limits Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 23/30] drm/i915/dp_link_caps: Add helper to reset " Michał Grzelak
` (14 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add intel_dp_link_caps_set_max_limits() to set the current maximum link
limits (max bound over all allowed configurations) through the link caps
API instead of direct accesses.
This allows tracking the state internally within the link caps module.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../gpu/drm/i915/display/intel_dp_link_caps.c | 35 +++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 2 ++
.../drm/i915/display/intel_dp_link_training.c | 9 +++--
3 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index fa7dabc94ddf1..e568f00720d31 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -151,6 +151,15 @@ static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_ent
return 1 << lc->lane_count_exp;
}
+static void set_max_link_limits_no_update(struct intel_dp_link_caps *link_caps,
+ const struct intel_dp_link_config *max_link_limits)
+{
+ struct intel_dp *intel_dp = link_caps->dp;
+
+ intel_dp->link.max_rate = max_link_limits->rate;
+ intel_dp->link.max_lane_count = max_link_limits->lane_count;
+}
+
/**
* intel_dp_link_caps_get_max_limits - get the current maximum link limits
* @link_caps: link capabilities state
@@ -181,6 +190,32 @@ void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
max_link_limits->lane_count = intel_dp->link.max_lane_count;
}
+/**
+ * intel_dp_link_caps_set_max_limits - set the current maximum link limits
+ * @link_caps: link capabilities state
+ * @max_link_limits: new maximum link limits
+ *
+ * Set the current maximum rate and lane count limits to @max_link_limits,
+ * constraining the set of allowed configurations.
+ *
+ * Unlike intel_dp_link_caps_get_max_limits(), the caller must serialize
+ * this call against concurrent queries and updates to @link_caps, in line
+ * with the rest of the API.
+ *
+ * Return:
+ * - %true if the @link_caps cached max limits value got updated with
+ * @max_link_limits.
+ * - %false if @max_link_limits is invalid.
+ */
+bool intel_dp_link_caps_set_max_limits(struct intel_dp_link_caps *link_caps,
+ const struct intel_dp_link_config *max_link_limits)
+{
+ set_max_link_limits_no_update(link_caps, max_link_limits);
+
+ /* TODO: validate max_link_limits */
+ return true;
+}
+
static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
const struct intel_dp_link_config_entry *lc)
{
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 376dbd9bd5aba..c6c60b7888874 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -29,6 +29,8 @@ void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate
void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *max_link_limits);
+bool intel_dp_link_caps_set_max_limits(struct intel_dp_link_caps *link_caps,
+ const struct intel_dp_link_config *max_link_limits);
bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
const int *rates, int num_rates, int max_lane_count);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 7145f2d0ad6d3..9d9911ebad439 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -1958,6 +1958,8 @@ static bool reduce_link_params(struct intel_dp *intel_dp, const struct intel_crt
static int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
const struct intel_crtc_state *crtc_state)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_config max_link_limits;
int new_link_rate;
int new_lane_count;
@@ -1983,8 +1985,11 @@ static int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
crtc_state->lane_count, crtc_state->port_clock,
new_lane_count, new_link_rate);
- intel_dp->link.max_rate = new_link_rate;
- intel_dp->link.max_lane_count = new_lane_count;
+ max_link_limits.rate = new_link_rate;
+ max_link_limits.lane_count = new_lane_count;
+
+ /* TODO: handle an update failure */
+ intel_dp_link_caps_set_max_limits(link_caps, &max_link_limits);
return 0;
}
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 23/30] drm/i915/dp_link_caps: Add helper to reset max link limits
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (21 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 22/30] drm/i915/dp_link_caps: Add helpers to set " Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 24/30] drm/i915/dp_link_caps: Add helper to reset link_caps state Michał Grzelak
` (13 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add a helper to reset the link_caps::max_limits max link limits to the
maximum common supported rate and lane count.
This is needed by a follow-up change in the link training fallback code,
which temporarily resets max_limits before searching for a fallback
configuration.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../gpu/drm/i915/display/intel_dp_link_caps.c | 22 +++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 1 +
2 files changed, 23 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index e568f00720d31..ae10200bdd934 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -160,6 +160,16 @@ static void set_max_link_limits_no_update(struct intel_dp_link_caps *link_caps,
intel_dp->link.max_lane_count = max_link_limits->lane_count;
}
+static void reset_max_link_limits_no_update(struct intel_dp_link_caps *link_caps)
+{
+ struct intel_dp_link_config max_link_limits = {
+ .rate = intel_dp_max_common_rate(link_caps->dp),
+ .lane_count = intel_dp_link_caps_max_common_lane_count(link_caps),
+ };
+
+ set_max_link_limits_no_update(link_caps, &max_link_limits);
+}
+
/**
* intel_dp_link_caps_get_max_limits - get the current maximum link limits
* @link_caps: link capabilities state
@@ -216,6 +226,18 @@ bool intel_dp_link_caps_set_max_limits(struct intel_dp_link_caps *link_caps,
return true;
}
+/**
+ * intel_dp_link_caps_reset_max_limits - reset the current maximum link limits
+ * @link_caps: link capabilities state
+ *
+ * Reset the current maximum link limits to the maximum supported common link
+ * rate and lane count.
+ */
+void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps)
+{
+ reset_max_link_limits_no_update(link_caps);
+}
+
static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
const struct intel_dp_link_config_entry *lc)
{
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index c6c60b7888874..7baeb4359d2d4 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -31,6 +31,7 @@ void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *max_link_limits);
bool intel_dp_link_caps_set_max_limits(struct intel_dp_link_caps *link_caps,
const struct intel_dp_link_config *max_link_limits);
+void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps);
bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
const int *rates, int num_rates, int max_lane_count);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 24/30] drm/i915/dp_link_caps: Add helper to reset link_caps state
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (22 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 23/30] drm/i915/dp_link_caps: Add helper to reset " Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 25/30] drm/i915/dp_link_caps: Move max link limits to link_caps Michał Grzelak
` (12 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Add a helper to reset the link_caps state, removing all restrictions
except user-forced parameters, re-allowing all supported
configurations. Currently this only resets the maximum link limits,
but follow-up changes will also re-enable configurations previously
disabled on a per-configuration basis by fallback or other logic.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 3 +--
.../gpu/drm/i915/display/intel_dp_link_caps.c | 18 ++++++++++++++++++
.../gpu/drm/i915/display/intel_dp_link_caps.h | 1 +
3 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 3b3c31122452d..b63c6f047f83a 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -3610,8 +3610,7 @@ void intel_dp_set_link_params(struct intel_dp *intel_dp,
void intel_dp_reset_link_params(struct intel_dp *intel_dp)
{
- intel_dp->link.max_lane_count = intel_dp_link_caps_max_common_lane_count(intel_dp->link.caps);
- intel_dp->link.max_rate = intel_dp_max_common_rate(intel_dp);
+ intel_dp_link_caps_reset(intel_dp->link.caps);
intel_dp->link.mst_probed_lane_count = 0;
intel_dp->link.mst_probed_rate = 0;
intel_dp_link_training_reset(intel_dp->link.training);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index ae10200bdd934..9b7da5a64ee25 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -351,6 +351,24 @@ int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lan
return -1;
}
+/**
+ * intel_dp_link_caps_reset - reset link capability restrictions
+ * @link_caps: link capabilities state
+ *
+ * Reset all current restrictions except for the user requested forced
+ * parameters, thus updating the set of allowed configurations and the
+ * derived maximum link information accordingly.
+ *
+ * This function is regularly called after a sink is connected, either
+ * for the first time to the connector or after a previous sink was
+ * disconnected from it, and intel_dp_link_caps_update() was called.
+ */
+void intel_dp_link_caps_reset(struct intel_dp_link_caps *link_caps)
+{
+ /* TODO: Update the maximum link information. */
+ reset_max_link_limits_no_update(link_caps);
+}
+
static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
{
struct intel_connector *connector = to_intel_connector(m->private);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 7baeb4359d2d4..fa45a46723059 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -35,6 +35,7 @@ void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps);
bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
const int *rates, int num_rates, int max_lane_count);
+void intel_dp_link_caps_reset(struct intel_dp_link_caps *link_caps);
void intel_dp_link_caps_debugfs_add(struct intel_connector *connector);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 25/30] drm/i915/dp_link_caps: Move max link limits to link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (23 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 24/30] drm/i915/dp_link_caps: Add helper to reset link_caps state Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 26/30] drm/i915/dp_link_caps: Pass link_caps to static functions Michał Grzelak
` (11 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Now that all users access the max link limits via helpers, move tracking
of these limits from struct intel_dp to the link_caps state.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../drm/i915/display/intel_display_types.h | 4 ----
.../gpu/drm/i915/display/intel_dp_link_caps.c | 21 ++++++++++++-------
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 8610c6e967ec8..3a957106d6d42 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1837,10 +1837,6 @@ struct intel_dp {
struct {
/* TODO: move the rest of link specific fields to here */
bool active;
- /* Max lane count for the current link */
- int max_lane_count;
- /* Max rate for the current link */
- int max_rate;
/*
* Link parameters for which the MST topology was probed.
* Tracking these ensures that the MST path resources are
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 9b7da5a64ee25..43427e7cf422a 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -46,6 +46,17 @@ struct intel_dp_link_caps {
* disconnects.
*/
struct intel_dp_link_config forced_params;
+
+ /*
+ * User set maximum limits. These limits constrain the currently
+ * allowed set of configurations and are not adjusted when sink
+ * capabilities change.
+ *
+ * max_limits.rate/lane_count may come from different allowed
+ * configurations, i.e. the (max_limits.rate, max_limits.lane_count)
+ * tuple itself may not be an allowed configuration.
+ */
+ struct intel_dp_link_config max_limits;
};
/* Get length of common rates array potentially limited by max_rate. */
@@ -154,10 +165,7 @@ static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_ent
static void set_max_link_limits_no_update(struct intel_dp_link_caps *link_caps,
const struct intel_dp_link_config *max_link_limits)
{
- struct intel_dp *intel_dp = link_caps->dp;
-
- intel_dp->link.max_rate = max_link_limits->rate;
- intel_dp->link.max_lane_count = max_link_limits->lane_count;
+ link_caps->max_limits = *max_link_limits;
}
static void reset_max_link_limits_no_update(struct intel_dp_link_caps *link_caps)
@@ -194,10 +202,7 @@ static void reset_max_link_limits_no_update(struct intel_dp_link_caps *link_caps
void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *max_link_limits)
{
- struct intel_dp *intel_dp = link_caps->dp;
-
- max_link_limits->rate = intel_dp->link.max_rate;
- max_link_limits->lane_count = intel_dp->link.max_lane_count;
+ *max_link_limits = link_caps->max_limits;
}
/**
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 26/30] drm/i915/dp_link_caps: Pass link_caps to static functions
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (24 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 25/30] drm/i915/dp_link_caps: Move max link limits to link_caps Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 27/30] drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers Michał Grzelak
` (10 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Pass the link_caps pointer to static functions in intel_dp_link_caps.c,
as it holds the state with the relevant information.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../gpu/drm/i915/display/intel_dp_link_caps.c | 37 ++++++++++---------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 43427e7cf422a..fc1061149ef2e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -118,10 +118,8 @@ int intel_dp_link_caps_max_common_lane_count(struct intel_dp_link_caps *link_cap
return link_caps->max_lane_count;
}
-static int forced_lane_count(struct intel_dp *intel_dp)
+static int forced_lane_count(struct intel_dp_link_caps *link_caps)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
-
if (!link_caps->forced_params.lane_count)
return 0;
@@ -129,9 +127,9 @@ static int forced_lane_count(struct intel_dp *intel_dp)
1, intel_dp_link_caps_max_common_lane_count(link_caps));
}
-static int forced_link_rate(struct intel_dp *intel_dp)
+static int forced_link_rate(struct intel_dp_link_caps *link_caps)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp *intel_dp = link_caps->dp;
int len;
if (!link_caps->forced_params.rate)
@@ -147,14 +145,14 @@ static int forced_link_rate(struct intel_dp *intel_dp)
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *forced_params)
{
- forced_params->rate = forced_link_rate(link_caps->dp);
- forced_params->lane_count = forced_lane_count(link_caps->dp);
+ forced_params->rate = forced_link_rate(link_caps);
+ forced_params->lane_count = forced_lane_count(link_caps);
}
-static int intel_dp_link_config_rate(struct intel_dp *intel_dp,
+static int intel_dp_link_config_rate(struct intel_dp_link_caps *link_caps,
const struct intel_dp_link_config_entry *lc)
{
- return intel_dp_common_rate(intel_dp, lc->link_rate_idx);
+ return intel_dp_common_rate(link_caps->dp, lc->link_rate_idx);
}
static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lc)
@@ -243,26 +241,28 @@ void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps)
reset_max_link_limits_no_update(link_caps);
}
-static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
+static int intel_dp_link_config_bw(struct intel_dp_link_caps *link_caps,
const struct intel_dp_link_config_entry *lc)
{
- return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(intel_dp, lc),
+ return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(link_caps, lc),
intel_dp_link_config_lane_count(lc));
}
static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
{
struct intel_dp *intel_dp = (struct intel_dp *)p; /* remove const */
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+
const struct intel_dp_link_config_entry *lc_a = a;
const struct intel_dp_link_config_entry *lc_b = b;
- int bw_a = intel_dp_link_config_bw(intel_dp, lc_a);
- int bw_b = intel_dp_link_config_bw(intel_dp, lc_b);
+ int bw_a = intel_dp_link_config_bw(link_caps, lc_a);
+ int bw_b = intel_dp_link_config_bw(link_caps, lc_b);
if (bw_a != bw_b)
return bw_a - bw_b;
- return intel_dp_link_config_rate(intel_dp, lc_a) -
- intel_dp_link_config_rate(intel_dp, lc_b);
+ return intel_dp_link_config_rate(link_caps, lc_a) -
+ intel_dp_link_config_rate(link_caps, lc_b);
}
/* Return %true if the supported link parameters have changed. */
@@ -333,7 +333,7 @@ void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate
lc = &link_caps->configs[idx];
- *link_rate = intel_dp_link_config_rate(intel_dp, lc);
+ *link_rate = intel_dp_link_config_rate(link_caps, lc);
*lane_count = intel_dp_link_config_lane_count(lc);
}
@@ -414,8 +414,9 @@ static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
return 0;
}
-static int parse_link_rate(struct intel_dp *intel_dp, const char __user *ubuf, size_t len)
+static int parse_link_rate(struct intel_dp_link_caps *link_caps, const char __user *ubuf, size_t len)
{
+ struct intel_dp *intel_dp = link_caps->dp;
char *kbuf;
const char *p;
int rate;
@@ -458,7 +459,7 @@ static ssize_t i915_dp_force_link_rate_write(struct file *file,
int rate;
int err;
- rate = parse_link_rate(intel_dp, ubuf, len);
+ rate = parse_link_rate(link_caps, ubuf, len);
if (rate < 0)
return rate;
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 27/30] drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (25 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 26/30] drm/i915/dp_link_caps: Pass link_caps to static functions Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 28/30] drm/i915/dp_link_caps: Pass link_caps to common rate helpers Michał Grzelak
` (9 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Pass the link_caps pointer to the update/lookup helpers in
intel_dp_link_caps.c, as it holds the state with the relevant
information.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 2 +-
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 14 +++++++-------
drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 8 +++++---
.../gpu/drm/i915/display/intel_dp_link_training.c | 5 +++--
4 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index b63c6f047f83a..07266f4e6835b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -699,7 +699,7 @@ static bool intel_dp_set_common_link_params(struct intel_dp *intel_dp)
bool params_changed = false;
intel_dp_get_common_rates(intel_dp, common_rates, &num_common_rates);
- if (intel_dp_link_caps_update(intel_dp,
+ if (intel_dp_link_caps_update(intel_dp->link.caps,
common_rates, num_common_rates,
intel_dp_get_max_common_lane_count(intel_dp)))
params_changed = true;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index fc1061149ef2e..c5701f02fbf69 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -266,10 +266,10 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
}
/* Return %true if the supported link parameters have changed. */
-bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
+bool intel_dp_link_caps_update(struct intel_dp_link_caps *link_caps,
const int *rates, int num_rates, int max_lane_count)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp *intel_dp = link_caps->dp;
struct intel_display *display = to_intel_display(intel_dp);
struct intel_dp_link_config_entry *lc;
bool link_params_changed = false;
@@ -322,10 +322,10 @@ bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
return link_params_changed;
}
-void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
+void intel_dp_link_config_get(struct intel_dp_link_caps *link_caps,
+ int idx, int *link_rate, int *lane_count)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
- struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_display *display = to_intel_display(link_caps->dp);
const struct intel_dp_link_config_entry *lc;
if (drm_WARN_ON(display->drm, idx < 0 || idx >= link_caps->num_configs))
@@ -337,9 +337,9 @@ void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate
*lane_count = intel_dp_link_config_lane_count(lc);
}
-int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count)
+int intel_dp_link_config_index(struct intel_dp_link_caps *link_caps,
+ int link_rate, int lane_count)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int link_rate_idx = intel_dp_rate_index(link_caps->rates, link_caps->num_rates,
link_rate);
int lane_count_exp = ilog2(lane_count);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index fa45a46723059..9256f02fed11e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -24,8 +24,10 @@ void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps *link_caps)
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *forced_params);
-int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
-void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
+int intel_dp_link_config_index(struct intel_dp_link_caps *link_caps,
+ int link_rate, int lane_count);
+void intel_dp_link_config_get(struct intel_dp_link_caps *link_caps,
+ int idx, int *link_rate, int *lane_count);
void intel_dp_link_caps_get_max_limits(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *max_link_limits);
@@ -33,7 +35,7 @@ bool intel_dp_link_caps_set_max_limits(struct intel_dp_link_caps *link_caps,
const struct intel_dp_link_config *max_link_limits);
void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps);
-bool intel_dp_link_caps_update(struct intel_dp *intel_dp,
+bool intel_dp_link_caps_update(struct intel_dp_link_caps *link_caps,
const int *rates, int num_rates, int max_lane_count);
void intel_dp_link_caps_reset(struct intel_dp_link_caps *link_caps);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 9d9911ebad439..0d4a0bf1dac53 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -1858,9 +1858,10 @@ static bool reduce_link_params_in_bw_order(struct intel_dp *intel_dp,
intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
- i = intel_dp_link_config_index(intel_dp, crtc_state->port_clock, crtc_state->lane_count);
+ i = intel_dp_link_config_index(intel_dp->link.caps,
+ crtc_state->port_clock, crtc_state->lane_count);
for (i--; i >= 0; i--) {
- intel_dp_link_config_get(intel_dp, i, &link_rate, &lane_count);
+ intel_dp_link_config_get(intel_dp->link.caps, i, &link_rate, &lane_count);
if ((forced_params.rate &&
forced_params.rate != link_rate) ||
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 28/30] drm/i915/dp_link_caps: Pass link_caps to common rate helpers
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (26 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 27/30] drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 29/30] drm/i915/dp_link_caps: s/lc/lce/ Michał Grzelak
` (8 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
From: Imre Deak <imre.deak@intel.com>
Pass the link_caps pointer to the common rate helpers in
intel_dp_link_caps.c, as it holds the state with the relevant
information.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 13 ++++++----
.../gpu/drm/i915/display/intel_dp_link_caps.c | 26 +++++++------------
.../gpu/drm/i915/display/intel_dp_link_caps.h | 6 ++---
.../drm/i915/display/intel_dp_link_training.c | 5 ++--
.../gpu/drm/i915/display/intel_dp_tunnel.c | 2 +-
5 files changed, 25 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 07266f4e6835b..66346b74b2c04 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1551,14 +1551,15 @@ intel_dp_max_link_rate(struct intel_dp *intel_dp)
return forced_params.rate;
intel_dp_link_caps_get_max_limits(link_caps, &max_link_limits);
- len = intel_dp_common_len_rate_limit(intel_dp, max_link_limits.rate);
+ len = intel_dp_common_len_rate_limit(link_caps, max_link_limits.rate);
- return intel_dp_common_rate(intel_dp, len - 1);
+ return intel_dp_common_rate(link_caps, len - 1);
}
static int
intel_dp_min_link_rate(struct intel_dp *intel_dp)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
struct intel_dp_link_config forced_params;
intel_dp_link_caps_get_forced_params(intel_dp->link.caps, &forced_params);
@@ -1566,7 +1567,7 @@ intel_dp_min_link_rate(struct intel_dp *intel_dp)
if (forced_params.rate)
return forced_params.rate;
- return intel_dp_common_rate(intel_dp, 0);
+ return intel_dp_common_rate(link_caps, 0);
}
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate)
@@ -1750,6 +1751,7 @@ intel_dp_compute_link_config_wide(struct intel_dp *intel_dp,
const struct drm_connector_state *conn_state,
const struct link_config_limits *limits)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int bpp, i, lane_count, clock = intel_dp_mode_clock(pipe_config, conn_state);
int link_rate, link_avail;
@@ -1760,7 +1762,7 @@ intel_dp_compute_link_config_wide(struct intel_dp *intel_dp,
intel_dp_output_format_link_bpp_x16(pipe_config->output_format, bpp);
for (i = 0; i < intel_dp_link_caps_num_common_rates(intel_dp->link.caps); i++) {
- link_rate = intel_dp_common_rate(intel_dp, i);
+ link_rate = intel_dp_common_rate(link_caps, i);
if (link_rate < limits->min_rate ||
link_rate > limits->max_rate)
continue;
@@ -1984,12 +1986,13 @@ static int dsc_compute_link_config(struct intel_dp *intel_dp,
const struct link_config_limits *limits,
int dsc_bpp_x16)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
int link_rate, lane_count;
int i;
for (i = 0; i < intel_dp_link_caps_num_common_rates(intel_dp->link.caps); i++) {
- link_rate = intel_dp_common_rate(intel_dp, i);
+ link_rate = intel_dp_common_rate(link_caps, i);
if (link_rate < limits->min_rate || link_rate > limits->max_rate)
continue;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index c5701f02fbf69..0917e7f51a26d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -60,19 +60,16 @@ struct intel_dp_link_caps {
};
/* Get length of common rates array potentially limited by max_rate. */
-int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
+int intel_dp_common_len_rate_limit(struct intel_dp_link_caps *link_caps,
int max_rate)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
-
return intel_dp_rate_limit_len(link_caps->rates,
link_caps->num_rates, max_rate);
}
-int intel_dp_common_rate(struct intel_dp *intel_dp, int index)
+int intel_dp_common_rate(struct intel_dp_link_caps *link_caps, int index)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
- struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_display *display = to_intel_display(link_caps->dp);
if (drm_WARN_ON(display->drm,
index < 0 || index >= link_caps->num_rates))
@@ -89,11 +86,9 @@ int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, int
}
/* Theoretical max between source and sink */
-int intel_dp_max_common_rate(struct intel_dp *intel_dp)
+int intel_dp_max_common_rate(struct intel_dp_link_caps *link_caps)
{
- struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
-
- return intel_dp_common_rate(intel_dp, link_caps->num_rates - 1);
+ return intel_dp_common_rate(link_caps, link_caps->num_rates - 1);
}
int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps)
@@ -129,17 +124,16 @@ static int forced_lane_count(struct intel_dp_link_caps *link_caps)
static int forced_link_rate(struct intel_dp_link_caps *link_caps)
{
- struct intel_dp *intel_dp = link_caps->dp;
int len;
if (!link_caps->forced_params.rate)
return 0;
- len = intel_dp_common_len_rate_limit(intel_dp, link_caps->forced_params.rate);
+ len = intel_dp_common_len_rate_limit(link_caps, link_caps->forced_params.rate);
if (len == 0)
- return intel_dp_common_rate(intel_dp, 0);
+ return intel_dp_common_rate(link_caps, 0);
- return intel_dp_common_rate(intel_dp, len - 1);
+ return intel_dp_common_rate(link_caps, len - 1);
}
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
@@ -152,7 +146,7 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
static int intel_dp_link_config_rate(struct intel_dp_link_caps *link_caps,
const struct intel_dp_link_config_entry *lc)
{
- return intel_dp_common_rate(link_caps->dp, lc->link_rate_idx);
+ return intel_dp_common_rate(link_caps, lc->link_rate_idx);
}
static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lc)
@@ -169,7 +163,7 @@ static void set_max_link_limits_no_update(struct intel_dp_link_caps *link_caps,
static void reset_max_link_limits_no_update(struct intel_dp_link_caps *link_caps)
{
struct intel_dp_link_config max_link_limits = {
- .rate = intel_dp_max_common_rate(link_caps->dp),
+ .rate = intel_dp_max_common_rate(link_caps),
.lane_count = intel_dp_link_caps_max_common_lane_count(link_caps),
};
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 9256f02fed11e..af9028e7cb987 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -11,11 +11,11 @@ struct intel_dp;
struct intel_dp_link_caps;
struct intel_dp_link_config;
-int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
+int intel_dp_common_len_rate_limit(struct intel_dp_link_caps *link_caps,
int max_rate);
-int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
+int intel_dp_common_rate(struct intel_dp_link_caps *link_caps, int index);
int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, int rate);
-int intel_dp_max_common_rate(struct intel_dp *intel_dp);
+int intel_dp_max_common_rate(struct intel_dp_link_caps *link_caps);
int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps *link_caps);
int intel_dp_link_caps_max_common_lane_count(struct intel_dp_link_caps *link_caps);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 0d4a0bf1dac53..b521dd11b62a7 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -1898,7 +1898,7 @@ static int reduce_link_rate(struct intel_dp *intel_dp, int current_rate)
if (rate_index <= 0)
return -1;
- new_rate = intel_dp_common_rate(intel_dp, rate_index - 1);
+ new_rate = intel_dp_common_rate(link_caps, rate_index - 1);
/* TODO: Make switching from UHBR to non-UHBR rates work. */
if (drm_dp_is_uhbr_rate(current_rate) != drm_dp_is_uhbr_rate(new_rate))
@@ -1925,6 +1925,7 @@ static bool reduce_link_params_in_rate_lane_order(struct intel_dp *intel_dp,
const struct intel_crtc_state *crtc_state,
int *new_link_rate, int *new_lane_count)
{
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
int link_rate;
int lane_count;
@@ -1932,7 +1933,7 @@ static bool reduce_link_params_in_rate_lane_order(struct intel_dp *intel_dp,
link_rate = reduce_link_rate(intel_dp, crtc_state->port_clock);
if (link_rate < 0) {
lane_count = reduce_lane_count(intel_dp, crtc_state->lane_count);
- link_rate = intel_dp_max_common_rate(intel_dp);
+ link_rate = intel_dp_max_common_rate(link_caps);
}
if (lane_count < 0)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
index 9d9d8d04742bc..76e9753766b9f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
@@ -58,7 +58,7 @@ static int kbytes_to_mbits(int kbytes)
static int get_current_link_bw(struct intel_dp *intel_dp)
{
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
- int rate = intel_dp_max_common_rate(intel_dp);
+ int rate = intel_dp_max_common_rate(link_caps);
int lane_count = intel_dp_link_caps_max_common_lane_count(link_caps);
return intel_dp_max_link_data_rate(intel_dp, rate, lane_count);
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 29/30] drm/i915/dp_link_caps: s/lc/lce/
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (27 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 28/30] drm/i915/dp_link_caps: Pass link_caps to common rate helpers Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 30/30] drm/i915/dp: return -EINVAL on failure Michał Grzelak
` (7 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
lc variable took it's name as an acronym from struct
intel_dp_link_config. Rename the variable into lce since the struct was
renamed into intel_dp_link_config_entry.
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
.../gpu/drm/i915/display/intel_dp_link_caps.c | 50 +++++++++----------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 0917e7f51a26d..1c34ba6c49c35 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -144,14 +144,14 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
}
static int intel_dp_link_config_rate(struct intel_dp_link_caps *link_caps,
- const struct intel_dp_link_config_entry *lc)
+ const struct intel_dp_link_config_entry *lce)
{
- return intel_dp_common_rate(link_caps, lc->link_rate_idx);
+ return intel_dp_common_rate(link_caps, lce->link_rate_idx);
}
-static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lc)
+static int intel_dp_link_config_lane_count(const struct intel_dp_link_config_entry *lce)
{
- return 1 << lc->lane_count_exp;
+ return 1 << lce->lane_count_exp;
}
static void set_max_link_limits_no_update(struct intel_dp_link_caps *link_caps,
@@ -236,10 +236,10 @@ void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps)
}
static int intel_dp_link_config_bw(struct intel_dp_link_caps *link_caps,
- const struct intel_dp_link_config_entry *lc)
+ const struct intel_dp_link_config_entry *lce)
{
- return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(link_caps, lc),
- intel_dp_link_config_lane_count(lc));
+ return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(link_caps, lce),
+ intel_dp_link_config_lane_count(lce));
}
static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
@@ -247,16 +247,16 @@ static int link_config_cmp_by_bw(const void *a, const void *b, const void *p)
struct intel_dp *intel_dp = (struct intel_dp *)p; /* remove const */
struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
- const struct intel_dp_link_config_entry *lc_a = a;
- const struct intel_dp_link_config_entry *lc_b = b;
- int bw_a = intel_dp_link_config_bw(link_caps, lc_a);
- int bw_b = intel_dp_link_config_bw(link_caps, lc_b);
+ const struct intel_dp_link_config_entry *lce_a = a;
+ const struct intel_dp_link_config_entry *lce_b = b;
+ int bw_a = intel_dp_link_config_bw(link_caps, lce_a);
+ int bw_b = intel_dp_link_config_bw(link_caps, lce_b);
if (bw_a != bw_b)
return bw_a - bw_b;
- return intel_dp_link_config_rate(link_caps, lc_a) -
- intel_dp_link_config_rate(link_caps, lc_b);
+ return intel_dp_link_config_rate(link_caps, lce_a) -
+ intel_dp_link_config_rate(link_caps, lce_b);
}
/* Return %true if the supported link parameters have changed. */
@@ -265,7 +265,7 @@ bool intel_dp_link_caps_update(struct intel_dp_link_caps *link_caps,
{
struct intel_dp *intel_dp = link_caps->dp;
struct intel_display *display = to_intel_display(intel_dp);
- struct intel_dp_link_config_entry *lc;
+ struct intel_dp_link_config_entry *lce;
bool link_params_changed = false;
int num_common_lane_configs;
int i;
@@ -298,13 +298,13 @@ bool intel_dp_link_caps_update(struct intel_dp_link_caps *link_caps,
link_caps->num_configs = num_rates * num_common_lane_configs;
- lc = &link_caps->configs[0];
+ lce = &link_caps->configs[0];
for (i = 0; i < link_caps->num_rates; i++) {
for (j = 0; j < num_common_lane_configs; j++) {
- lc->lane_count_exp = j;
- lc->link_rate_idx = i;
+ lce->lane_count_exp = j;
+ lce->link_rate_idx = i;
- lc++;
+ lce++;
}
}
@@ -320,15 +320,15 @@ void intel_dp_link_config_get(struct intel_dp_link_caps *link_caps,
int idx, int *link_rate, int *lane_count)
{
struct intel_display *display = to_intel_display(link_caps->dp);
- const struct intel_dp_link_config_entry *lc;
+ const struct intel_dp_link_config_entry *lce;
if (drm_WARN_ON(display->drm, idx < 0 || idx >= link_caps->num_configs))
idx = 0;
- lc = &link_caps->configs[idx];
+ lce = &link_caps->configs[idx];
- *link_rate = intel_dp_link_config_rate(link_caps, lc);
- *lane_count = intel_dp_link_config_lane_count(lc);
+ *link_rate = intel_dp_link_config_rate(link_caps, lce);
+ *lane_count = intel_dp_link_config_lane_count(lce);
}
int intel_dp_link_config_index(struct intel_dp_link_caps *link_caps,
@@ -340,10 +340,10 @@ int intel_dp_link_config_index(struct intel_dp_link_caps *link_caps,
int i;
for (i = 0; i < link_caps->num_configs; i++) {
- const struct intel_dp_link_config_entry *lc = &link_caps->configs[i];
+ const struct intel_dp_link_config_entry *lce = &link_caps->configs[i];
- if (lc->lane_count_exp == lane_count_exp &&
- lc->link_rate_idx == link_rate_idx)
+ if (lce->lane_count_exp == lane_count_exp &&
+ lce->link_rate_idx == link_rate_idx)
return i;
}
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH v1 30/30] drm/i915/dp: return -EINVAL on failure
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (28 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 29/30] drm/i915/dp_link_caps: s/lc/lce/ Michał Grzelak
@ 2026-06-23 22:46 ` Michał Grzelak
2026-06-23 23:09 ` ✗ CI.checkpatch: warning for Comments applied to dp_link_caps Patchwork
` (6 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-23 22:46 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak, Jani Nikula
Both intel_dp_rate_index() and intel_dp_link_config_index() in case of
failure return -1 which equates to -EPERM. Return -EINVAL instead since
each caller checks for negative error code.
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 2 +-
drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 66346b74b2c04..1c0b85ac27ad5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -666,7 +666,7 @@ int intel_dp_rate_index(const int *rates, int len, int rate)
if (rate == rates[i])
return i;
- return -1;
+ return -EINVAL;
}
static void intel_dp_get_common_rates(struct intel_dp *intel_dp,
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 1c34ba6c49c35..241809e6a9cb2 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -347,7 +347,7 @@ int intel_dp_link_config_index(struct intel_dp_link_caps *link_caps,
return i;
}
- return -1;
+ return -EINVAL;
}
/**
--
2.45.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* ✗ CI.checkpatch: warning for Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (29 preceding siblings ...)
2026-06-23 22:46 ` [PATCH v1 30/30] drm/i915/dp: return -EINVAL on failure Michał Grzelak
@ 2026-06-23 23:09 ` Patchwork
2026-06-23 23:10 ` ✓ CI.KUnit: success " Patchwork
` (5 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Patchwork @ 2026-06-23 23:09 UTC (permalink / raw)
To: Michał Grzelak; +Cc: intel-xe
== Series Details ==
Series: Comments applied to dp_link_caps
URL : https://patchwork.freedesktop.org/series/169057/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
061140b9bc586ae7f40abc1249c97e1cc72d1b9d
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit c69f711190fc2b2ad3a9c158be979d56e25b3148
Author: Michał Grzelak <michal.grzelak@intel.com>
Date: Wed Jun 24 00:46:19 2026 +0200
drm/i915/dp: return -EINVAL on failure
Both intel_dp_rate_index() and intel_dp_link_config_index() in case of
failure return -1 which equates to -EPERM. Return -EINVAL instead since
each caller checks for negative error code.
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
+ /mt/dim checkpatch e7cd62086ec5a70cefb8b8b00964096692bfab36 drm-intel
8f41050ddbdc drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry
c22029be6f31 drm/i915/dp: Add struct intel_dp_link_config
8649ce25b4e9 drm/i915/dp_link_caps: Introduce DP link capability module
-:88: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#88:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 95 lines checked
09d64da68f6e drm/i915/dp_link_caps: Move common rate helpers to link caps
c7e070dd7203 drm/i915/dp_link_caps: Move forced link param helpers to link caps
6b9b9be5491a drm/i915/dp: Simplify querying of forced link parameters
f0b3a0143cba drm/i915/dp_link_caps: Move forced and max link debugfs entries to link caps
-:305: CHECK:LINE_SPACING: Please don't use multiple blank lines
#305: FILE: drivers/gpu/drm/i915/display/intel_dp_link_caps.c:325:
+
+
total: 0 errors, 0 warnings, 1 checks, 596 lines checked
0fe23ce0ae93 drm/i915/dp_link_training: Use helpers to get forced link params
daa9e18e3d93 drm/i915/dp_link_caps: Move forced link params to link_caps
ec207dd98208 drm/i915/dp_link_caps: Move link config helpers to link caps
c61876e46480 drm/i915/dp_link_caps: Move link config tracking to link_caps
-:67: CHECK:SPACING: No space is necessary after a cast
#67: FILE: drivers/gpu/drm/i915/display/intel_dp_link_caps.c:28:
+#define INTEL_DP_LINK_RATE_IDX_BITS (BITS_PER_TYPE(u8) - INTEL_DP_LANE_COUNT_EXP_BITS)
total: 0 errors, 0 warnings, 1 checks, 113 lines checked
d5a1daed8fda drm/i915/dp_link_caps: Rename helper updating the link configurations
389d82ba05b4 drm/i915/dp: Factor out helper to get link rate capabilities
6b0b7c4e3985 drm/i915/dp_link_caps: Pass supported link rates to link caps update
02cbc400bf5f drm/i915/dp_link_caps: Add helper to print all supported link rates
d2f77b333ba7 drm/i915/dp_link_caps: Add helper to get the number of supported link rates
5f45aec5f1fc drm/i915/dp_link_caps: Add helper to get common rate index
-:92: WARNING:LONG_LINE: line length of 104 exceeds 100 columns
#92: FILE: drivers/gpu/drm/i915/display/intel_dp_test.c:60:
+ intel_dp->compliance.test_link_rate);
total: 0 errors, 1 warnings, 0 checks, 58 lines checked
12481027904d drm/i915/dp_link_caps: Move tracking of common rates to link_caps struct
066ab996e460 drm/i915/dp_link_caps: Track max common lane count in link_caps
38446edaf292 drm/i915/dp_link_caps: Use max common lane count from link_caps
-:59: WARNING:LONG_LINE: line length of 102 exceeds 100 columns
#59: FILE: drivers/gpu/drm/i915/display/intel_dp.c:3609:
+ intel_dp->link.max_lane_count = intel_dp_link_caps_max_common_lane_count(intel_dp->link.caps);
total: 0 errors, 1 warnings, 0 checks, 77 lines checked
3af2d2e9fac2 drm/i915/dp_link_caps: Add helpers to get max link limits
ec7d34ea8f62 drm/i915/dp_link_caps: Add helpers to set max link limits
c35a9d9e5160 drm/i915/dp_link_caps: Add helper to reset max link limits
446eb45302b4 drm/i915/dp_link_caps: Add helper to reset link_caps state
548bfbb3b7e9 drm/i915/dp_link_caps: Move max link limits to link_caps
c5a20f8370a4 drm/i915/dp_link_caps: Pass link_caps to static functions
-:111: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#111: FILE: drivers/gpu/drm/i915/display/intel_dp_link_caps.c:417:
+static int parse_link_rate(struct intel_dp_link_caps *link_caps, const char __user *ubuf, size_t len)
total: 0 errors, 1 warnings, 0 checks, 100 lines checked
875a3281891b drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers
03f4878dd51b drm/i915/dp_link_caps: Pass link_caps to common rate helpers
f7d4977092e3 drm/i915/dp_link_caps: s/lc/lce/
c69f711190fc drm/i915/dp: return -EINVAL on failure
^ permalink raw reply [flat|nested] 39+ messages in thread
* ✓ CI.KUnit: success for Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (30 preceding siblings ...)
2026-06-23 23:09 ` ✗ CI.checkpatch: warning for Comments applied to dp_link_caps Patchwork
@ 2026-06-23 23:10 ` Patchwork
2026-06-23 23:46 ` ✓ Xe.CI.BAT: " Patchwork
` (4 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Patchwork @ 2026-06-23 23:10 UTC (permalink / raw)
To: Michał Grzelak; +Cc: intel-xe
== Series Details ==
Series: Comments applied to dp_link_caps
URL : https://patchwork.freedesktop.org/series/169057/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[23:09:26] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:09:30] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[23:10:01] Starting KUnit Kernel (1/1)...
[23:10:01] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:10:01] ================== guc_buf (11 subtests) ===================
[23:10:01] [PASSED] test_smallest
[23:10:01] [PASSED] test_largest
[23:10:01] [PASSED] test_granular
[23:10:01] [PASSED] test_unique
[23:10:01] [PASSED] test_overlap
[23:10:01] [PASSED] test_reusable
[23:10:01] [PASSED] test_too_big
[23:10:01] [PASSED] test_flush
[23:10:01] [PASSED] test_lookup
[23:10:01] [PASSED] test_data
[23:10:01] [PASSED] test_class
[23:10:01] ===================== [PASSED] guc_buf =====================
[23:10:01] =================== guc_dbm (7 subtests) ===================
[23:10:01] [PASSED] test_empty
[23:10:01] [PASSED] test_default
[23:10:01] ======================== test_size ========================
[23:10:01] [PASSED] 4
[23:10:01] [PASSED] 8
[23:10:01] [PASSED] 32
[23:10:01] [PASSED] 256
[23:10:01] ==================== [PASSED] test_size ====================
[23:10:01] ======================= test_reuse ========================
[23:10:01] [PASSED] 4
[23:10:01] [PASSED] 8
[23:10:01] [PASSED] 32
[23:10:01] [PASSED] 256
[23:10:01] =================== [PASSED] test_reuse ====================
[23:10:01] =================== test_range_overlap ====================
[23:10:01] [PASSED] 4
[23:10:01] [PASSED] 8
[23:10:01] [PASSED] 32
[23:10:01] [PASSED] 256
[23:10:01] =============== [PASSED] test_range_overlap ================
[23:10:01] =================== test_range_compact ====================
[23:10:01] [PASSED] 4
[23:10:01] [PASSED] 8
[23:10:01] [PASSED] 32
[23:10:01] [PASSED] 256
[23:10:01] =============== [PASSED] test_range_compact ================
[23:10:01] ==================== test_range_spare =====================
[23:10:01] [PASSED] 4
[23:10:01] [PASSED] 8
[23:10:01] [PASSED] 32
[23:10:01] [PASSED] 256
[23:10:01] ================ [PASSED] test_range_spare =================
[23:10:01] ===================== [PASSED] guc_dbm =====================
[23:10:01] =================== guc_idm (6 subtests) ===================
[23:10:01] [PASSED] bad_init
[23:10:01] [PASSED] no_init
[23:10:01] [PASSED] init_fini
[23:10:01] [PASSED] check_used
[23:10:02] [PASSED] check_quota
[23:10:02] [PASSED] check_all
[23:10:02] ===================== [PASSED] guc_idm =====================
[23:10:02] ================== no_relay (3 subtests) ===================
[23:10:02] [PASSED] xe_drops_guc2pf_if_not_ready
[23:10:02] [PASSED] xe_drops_guc2vf_if_not_ready
[23:10:02] [PASSED] xe_rejects_send_if_not_ready
[23:10:02] ==================== [PASSED] no_relay =====================
[23:10:02] ================== pf_relay (14 subtests) ==================
[23:10:02] [PASSED] pf_rejects_guc2pf_too_short
[23:10:02] [PASSED] pf_rejects_guc2pf_too_long
[23:10:02] [PASSED] pf_rejects_guc2pf_no_payload
[23:10:02] [PASSED] pf_fails_no_payload
[23:10:02] [PASSED] pf_fails_bad_origin
[23:10:02] [PASSED] pf_fails_bad_type
[23:10:02] [PASSED] pf_txn_reports_error
[23:10:02] [PASSED] pf_txn_sends_pf2guc
[23:10:02] [PASSED] pf_sends_pf2guc
[23:10:02] [SKIPPED] pf_loopback_nop
[23:10:02] [SKIPPED] pf_loopback_echo
[23:10:02] [SKIPPED] pf_loopback_fail
[23:10:02] [SKIPPED] pf_loopback_busy
[23:10:02] [SKIPPED] pf_loopback_retry
[23:10:02] ==================== [PASSED] pf_relay =====================
[23:10:02] ================== vf_relay (3 subtests) ===================
[23:10:02] [PASSED] vf_rejects_guc2vf_too_short
[23:10:02] [PASSED] vf_rejects_guc2vf_too_long
[23:10:02] [PASSED] vf_rejects_guc2vf_no_payload
[23:10:02] ==================== [PASSED] vf_relay =====================
[23:10:02] ================ pf_gt_config (9 subtests) =================
[23:10:02] [PASSED] fair_contexts_1vf
[23:10:02] [PASSED] fair_doorbells_1vf
[23:10:02] [PASSED] fair_ggtt_1vf
[23:10:02] ====================== fair_vram_1vf ======================
[23:10:02] [PASSED] 3.50 GiB
[23:10:02] [PASSED] 11.5 GiB
[23:10:02] [PASSED] 15.5 GiB
[23:10:02] [PASSED] 31.5 GiB
[23:10:02] [PASSED] 63.5 GiB
[23:10:02] [PASSED] 1.91 GiB
[23:10:02] ================== [PASSED] fair_vram_1vf ==================
[23:10:02] ================ fair_vram_1vf_admin_only =================
[23:10:02] [PASSED] 3.50 GiB
[23:10:02] [PASSED] 11.5 GiB
[23:10:02] [PASSED] 15.5 GiB
[23:10:02] [PASSED] 31.5 GiB
[23:10:02] [PASSED] 63.5 GiB
[23:10:02] [PASSED] 1.91 GiB
[23:10:02] ============ [PASSED] fair_vram_1vf_admin_only =============
[23:10:02] ====================== fair_contexts ======================
[23:10:02] [PASSED] 1 VF
[23:10:02] [PASSED] 2 VFs
[23:10:02] [PASSED] 3 VFs
[23:10:02] [PASSED] 4 VFs
[23:10:02] [PASSED] 5 VFs
[23:10:02] [PASSED] 6 VFs
[23:10:02] [PASSED] 7 VFs
[23:10:02] [PASSED] 8 VFs
[23:10:02] [PASSED] 9 VFs
[23:10:02] [PASSED] 10 VFs
[23:10:02] [PASSED] 11 VFs
[23:10:02] [PASSED] 12 VFs
[23:10:02] [PASSED] 13 VFs
[23:10:02] [PASSED] 14 VFs
[23:10:02] [PASSED] 15 VFs
[23:10:02] [PASSED] 16 VFs
[23:10:02] [PASSED] 17 VFs
[23:10:02] [PASSED] 18 VFs
[23:10:02] [PASSED] 19 VFs
[23:10:02] [PASSED] 20 VFs
[23:10:02] [PASSED] 21 VFs
[23:10:02] [PASSED] 22 VFs
[23:10:02] [PASSED] 23 VFs
[23:10:02] [PASSED] 24 VFs
[23:10:02] [PASSED] 25 VFs
[23:10:02] [PASSED] 26 VFs
[23:10:02] [PASSED] 27 VFs
[23:10:02] [PASSED] 28 VFs
[23:10:02] [PASSED] 29 VFs
[23:10:02] [PASSED] 30 VFs
[23:10:02] [PASSED] 31 VFs
[23:10:02] [PASSED] 32 VFs
[23:10:02] [PASSED] 33 VFs
[23:10:02] [PASSED] 34 VFs
[23:10:02] [PASSED] 35 VFs
[23:10:02] [PASSED] 36 VFs
[23:10:02] [PASSED] 37 VFs
[23:10:02] [PASSED] 38 VFs
[23:10:02] [PASSED] 39 VFs
[23:10:02] [PASSED] 40 VFs
[23:10:02] [PASSED] 41 VFs
[23:10:02] [PASSED] 42 VFs
[23:10:02] [PASSED] 43 VFs
[23:10:02] [PASSED] 44 VFs
[23:10:02] [PASSED] 45 VFs
[23:10:02] [PASSED] 46 VFs
[23:10:02] [PASSED] 47 VFs
[23:10:02] [PASSED] 48 VFs
[23:10:02] [PASSED] 49 VFs
[23:10:02] [PASSED] 50 VFs
[23:10:02] [PASSED] 51 VFs
[23:10:02] [PASSED] 52 VFs
[23:10:02] [PASSED] 53 VFs
[23:10:02] [PASSED] 54 VFs
[23:10:02] [PASSED] 55 VFs
[23:10:02] [PASSED] 56 VFs
[23:10:02] [PASSED] 57 VFs
[23:10:02] [PASSED] 58 VFs
[23:10:02] [PASSED] 59 VFs
[23:10:02] [PASSED] 60 VFs
[23:10:02] [PASSED] 61 VFs
[23:10:02] [PASSED] 62 VFs
[23:10:02] [PASSED] 63 VFs
[23:10:02] ================== [PASSED] fair_contexts ==================
[23:10:02] ===================== fair_doorbells ======================
[23:10:02] [PASSED] 1 VF
[23:10:02] [PASSED] 2 VFs
[23:10:02] [PASSED] 3 VFs
[23:10:02] [PASSED] 4 VFs
[23:10:02] [PASSED] 5 VFs
[23:10:02] [PASSED] 6 VFs
[23:10:02] [PASSED] 7 VFs
[23:10:02] [PASSED] 8 VFs
[23:10:02] [PASSED] 9 VFs
[23:10:02] [PASSED] 10 VFs
[23:10:02] [PASSED] 11 VFs
[23:10:02] [PASSED] 12 VFs
[23:10:02] [PASSED] 13 VFs
[23:10:02] [PASSED] 14 VFs
[23:10:02] [PASSED] 15 VFs
[23:10:02] [PASSED] 16 VFs
[23:10:02] [PASSED] 17 VFs
[23:10:02] [PASSED] 18 VFs
[23:10:02] [PASSED] 19 VFs
[23:10:02] [PASSED] 20 VFs
[23:10:02] [PASSED] 21 VFs
[23:10:02] [PASSED] 22 VFs
[23:10:02] [PASSED] 23 VFs
[23:10:02] [PASSED] 24 VFs
[23:10:02] [PASSED] 25 VFs
[23:10:02] [PASSED] 26 VFs
[23:10:02] [PASSED] 27 VFs
[23:10:02] [PASSED] 28 VFs
[23:10:02] [PASSED] 29 VFs
[23:10:02] [PASSED] 30 VFs
[23:10:02] [PASSED] 31 VFs
[23:10:02] [PASSED] 32 VFs
[23:10:02] [PASSED] 33 VFs
[23:10:02] [PASSED] 34 VFs
[23:10:02] [PASSED] 35 VFs
[23:10:02] [PASSED] 36 VFs
[23:10:02] [PASSED] 37 VFs
[23:10:02] [PASSED] 38 VFs
[23:10:02] [PASSED] 39 VFs
[23:10:02] [PASSED] 40 VFs
[23:10:02] [PASSED] 41 VFs
[23:10:02] [PASSED] 42 VFs
[23:10:02] [PASSED] 43 VFs
[23:10:02] [PASSED] 44 VFs
[23:10:02] [PASSED] 45 VFs
[23:10:02] [PASSED] 46 VFs
[23:10:02] [PASSED] 47 VFs
[23:10:02] [PASSED] 48 VFs
[23:10:02] [PASSED] 49 VFs
[23:10:02] [PASSED] 50 VFs
[23:10:02] [PASSED] 51 VFs
[23:10:02] [PASSED] 52 VFs
[23:10:02] [PASSED] 53 VFs
[23:10:02] [PASSED] 54 VFs
[23:10:02] [PASSED] 55 VFs
[23:10:02] [PASSED] 56 VFs
[23:10:02] [PASSED] 57 VFs
[23:10:02] [PASSED] 58 VFs
[23:10:02] [PASSED] 59 VFs
[23:10:02] [PASSED] 60 VFs
[23:10:02] [PASSED] 61 VFs
[23:10:02] [PASSED] 62 VFs
[23:10:02] [PASSED] 63 VFs
[23:10:02] ================= [PASSED] fair_doorbells ==================
[23:10:02] ======================== fair_ggtt ========================
[23:10:02] [PASSED] 1 VF
[23:10:02] [PASSED] 2 VFs
[23:10:02] [PASSED] 3 VFs
[23:10:02] [PASSED] 4 VFs
[23:10:02] [PASSED] 5 VFs
[23:10:02] [PASSED] 6 VFs
[23:10:02] [PASSED] 7 VFs
[23:10:02] [PASSED] 8 VFs
[23:10:02] [PASSED] 9 VFs
[23:10:02] [PASSED] 10 VFs
[23:10:02] [PASSED] 11 VFs
[23:10:02] [PASSED] 12 VFs
[23:10:02] [PASSED] 13 VFs
[23:10:02] [PASSED] 14 VFs
[23:10:02] [PASSED] 15 VFs
[23:10:02] [PASSED] 16 VFs
[23:10:02] [PASSED] 17 VFs
[23:10:02] [PASSED] 18 VFs
[23:10:02] [PASSED] 19 VFs
[23:10:02] [PASSED] 20 VFs
[23:10:02] [PASSED] 21 VFs
[23:10:02] [PASSED] 22 VFs
[23:10:02] [PASSED] 23 VFs
[23:10:02] [PASSED] 24 VFs
[23:10:02] [PASSED] 25 VFs
[23:10:02] [PASSED] 26 VFs
[23:10:02] [PASSED] 27 VFs
[23:10:02] [PASSED] 28 VFs
[23:10:02] [PASSED] 29 VFs
[23:10:02] [PASSED] 30 VFs
[23:10:02] [PASSED] 31 VFs
[23:10:02] [PASSED] 32 VFs
[23:10:02] [PASSED] 33 VFs
[23:10:02] [PASSED] 34 VFs
[23:10:02] [PASSED] 35 VFs
[23:10:02] [PASSED] 36 VFs
[23:10:02] [PASSED] 37 VFs
[23:10:02] [PASSED] 38 VFs
[23:10:02] [PASSED] 39 VFs
[23:10:02] [PASSED] 40 VFs
[23:10:02] [PASSED] 41 VFs
[23:10:02] [PASSED] 42 VFs
[23:10:02] [PASSED] 43 VFs
[23:10:02] [PASSED] 44 VFs
[23:10:02] [PASSED] 45 VFs
[23:10:02] [PASSED] 46 VFs
[23:10:02] [PASSED] 47 VFs
[23:10:02] [PASSED] 48 VFs
[23:10:02] [PASSED] 49 VFs
[23:10:02] [PASSED] 50 VFs
[23:10:02] [PASSED] 51 VFs
[23:10:02] [PASSED] 52 VFs
[23:10:02] [PASSED] 53 VFs
[23:10:02] [PASSED] 54 VFs
[23:10:02] [PASSED] 55 VFs
[23:10:02] [PASSED] 56 VFs
[23:10:02] [PASSED] 57 VFs
[23:10:02] [PASSED] 58 VFs
[23:10:02] [PASSED] 59 VFs
[23:10:02] [PASSED] 60 VFs
[23:10:02] [PASSED] 61 VFs
[23:10:02] [PASSED] 62 VFs
[23:10:02] [PASSED] 63 VFs
[23:10:02] ==================== [PASSED] fair_ggtt ====================
[23:10:02] ======================== fair_vram ========================
[23:10:02] [PASSED] 1 VF
[23:10:02] [PASSED] 2 VFs
[23:10:02] [PASSED] 3 VFs
[23:10:02] [PASSED] 4 VFs
[23:10:02] [PASSED] 5 VFs
[23:10:02] [PASSED] 6 VFs
[23:10:02] [PASSED] 7 VFs
[23:10:02] [PASSED] 8 VFs
[23:10:02] [PASSED] 9 VFs
[23:10:02] [PASSED] 10 VFs
[23:10:02] [PASSED] 11 VFs
[23:10:02] [PASSED] 12 VFs
[23:10:02] [PASSED] 13 VFs
[23:10:02] [PASSED] 14 VFs
[23:10:02] [PASSED] 15 VFs
[23:10:02] [PASSED] 16 VFs
[23:10:02] [PASSED] 17 VFs
[23:10:02] [PASSED] 18 VFs
[23:10:02] [PASSED] 19 VFs
[23:10:02] [PASSED] 20 VFs
[23:10:02] [PASSED] 21 VFs
[23:10:02] [PASSED] 22 VFs
[23:10:02] [PASSED] 23 VFs
[23:10:02] [PASSED] 24 VFs
[23:10:02] [PASSED] 25 VFs
[23:10:02] [PASSED] 26 VFs
[23:10:02] [PASSED] 27 VFs
[23:10:02] [PASSED] 28 VFs
[23:10:02] [PASSED] 29 VFs
[23:10:02] [PASSED] 30 VFs
[23:10:02] [PASSED] 31 VFs
[23:10:02] [PASSED] 32 VFs
[23:10:02] [PASSED] 33 VFs
[23:10:02] [PASSED] 34 VFs
[23:10:02] [PASSED] 35 VFs
[23:10:02] [PASSED] 36 VFs
[23:10:02] [PASSED] 37 VFs
[23:10:02] [PASSED] 38 VFs
[23:10:02] [PASSED] 39 VFs
[23:10:02] [PASSED] 40 VFs
[23:10:02] [PASSED] 41 VFs
[23:10:02] [PASSED] 42 VFs
[23:10:02] [PASSED] 43 VFs
[23:10:02] [PASSED] 44 VFs
[23:10:02] [PASSED] 45 VFs
[23:10:02] [PASSED] 46 VFs
[23:10:02] [PASSED] 47 VFs
[23:10:02] [PASSED] 48 VFs
[23:10:02] [PASSED] 49 VFs
[23:10:02] [PASSED] 50 VFs
[23:10:02] [PASSED] 51 VFs
[23:10:02] [PASSED] 52 VFs
[23:10:02] [PASSED] 53 VFs
[23:10:02] [PASSED] 54 VFs
[23:10:02] [PASSED] 55 VFs
[23:10:02] [PASSED] 56 VFs
[23:10:02] [PASSED] 57 VFs
[23:10:02] [PASSED] 58 VFs
[23:10:02] [PASSED] 59 VFs
[23:10:02] [PASSED] 60 VFs
[23:10:02] [PASSED] 61 VFs
[23:10:02] [PASSED] 62 VFs
[23:10:02] [PASSED] 63 VFs
[23:10:02] ==================== [PASSED] fair_vram ====================
[23:10:02] ================== [PASSED] pf_gt_config ===================
[23:10:02] ===================== lmtt (1 subtest) =====================
[23:10:02] ======================== test_ops =========================
[23:10:02] [PASSED] 2-level
[23:10:02] [PASSED] multi-level
[23:10:02] ==================== [PASSED] test_ops =====================
[23:10:02] ====================== [PASSED] lmtt =======================
[23:10:02] ================= pf_service (11 subtests) =================
[23:10:02] [PASSED] pf_negotiate_any
[23:10:02] [PASSED] pf_negotiate_base_match
[23:10:02] [PASSED] pf_negotiate_base_newer
[23:10:02] [PASSED] pf_negotiate_base_next
[23:10:02] [SKIPPED] pf_negotiate_base_older
[23:10:02] [PASSED] pf_negotiate_base_prev
[23:10:02] [PASSED] pf_negotiate_latest_match
[23:10:02] [PASSED] pf_negotiate_latest_newer
[23:10:02] [PASSED] pf_negotiate_latest_next
[23:10:02] [SKIPPED] pf_negotiate_latest_older
[23:10:02] [SKIPPED] pf_negotiate_latest_prev
[23:10:02] =================== [PASSED] pf_service ====================
[23:10:02] ================= xe_guc_g2g (2 subtests) ==================
[23:10:02] ============== xe_live_guc_g2g_kunit_default ==============
[23:10:02] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[23:10:02] ============== xe_live_guc_g2g_kunit_allmem ===============
[23:10:02] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[23:10:02] =================== [SKIPPED] xe_guc_g2g ===================
[23:10:02] =================== xe_mocs (2 subtests) ===================
[23:10:02] ================ xe_live_mocs_kernel_kunit ================
[23:10:02] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[23:10:02] ================ xe_live_mocs_reset_kunit =================
[23:10:02] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[23:10:02] ==================== [SKIPPED] xe_mocs =====================
[23:10:02] ================= xe_migrate (2 subtests) ==================
[23:10:02] ================= xe_migrate_sanity_kunit =================
[23:10:02] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[23:10:02] ================== xe_validate_ccs_kunit ==================
[23:10:02] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[23:10:02] =================== [SKIPPED] xe_migrate ===================
[23:10:02] ================== xe_dma_buf (1 subtest) ==================
[23:10:02] ==================== xe_dma_buf_kunit =====================
[23:10:02] ================ [SKIPPED] xe_dma_buf_kunit ================
[23:10:02] =================== [SKIPPED] xe_dma_buf ===================
[23:10:02] ================= xe_bo_shrink (1 subtest) =================
[23:10:02] =================== xe_bo_shrink_kunit ====================
[23:10:02] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[23:10:02] ================== [SKIPPED] xe_bo_shrink ==================
[23:10:02] ==================== xe_bo (2 subtests) ====================
[23:10:02] ================== xe_ccs_migrate_kunit ===================
[23:10:02] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[23:10:02] ==================== xe_bo_evict_kunit ====================
[23:10:02] =============== [SKIPPED] xe_bo_evict_kunit ================
[23:10:02] ===================== [SKIPPED] xe_bo ======================
[23:10:02] ==================== args (13 subtests) ====================
[23:10:02] [PASSED] count_args_test
[23:10:02] [PASSED] call_args_example
[23:10:02] [PASSED] call_args_test
[23:10:02] [PASSED] drop_first_arg_example
[23:10:02] [PASSED] drop_first_arg_test
[23:10:02] [PASSED] first_arg_example
[23:10:02] [PASSED] first_arg_test
[23:10:02] [PASSED] last_arg_example
[23:10:02] [PASSED] last_arg_test
[23:10:02] [PASSED] pick_arg_example
[23:10:02] [PASSED] if_args_example
[23:10:02] [PASSED] if_args_test
[23:10:02] [PASSED] sep_comma_example
[23:10:02] ====================== [PASSED] args =======================
[23:10:02] =================== xe_pci (3 subtests) ====================
[23:10:02] ==================== check_graphics_ip ====================
[23:10:02] [PASSED] 12.00 Xe_LP
[23:10:02] [PASSED] 12.10 Xe_LP+
[23:10:02] [PASSED] 12.55 Xe_HPG
[23:10:02] [PASSED] 12.60 Xe_HPC
[23:10:02] [PASSED] 12.70 Xe_LPG
[23:10:02] [PASSED] 12.71 Xe_LPG
[23:10:02] [PASSED] 12.74 Xe_LPG+
[23:10:02] [PASSED] 20.01 Xe2_HPG
[23:10:02] [PASSED] 20.02 Xe2_HPG
[23:10:02] [PASSED] 20.04 Xe2_LPG
[23:10:02] [PASSED] 30.00 Xe3_LPG
[23:10:02] [PASSED] 30.01 Xe3_LPG
[23:10:02] [PASSED] 30.03 Xe3_LPG
[23:10:02] [PASSED] 30.04 Xe3_LPG
[23:10:02] [PASSED] 30.05 Xe3_LPG
[23:10:02] [PASSED] 35.10 Xe3p_LPG
[23:10:02] [PASSED] 35.11 Xe3p_XPC
[23:10:02] ================ [PASSED] check_graphics_ip ================
[23:10:02] ===================== check_media_ip ======================
[23:10:02] [PASSED] 12.00 Xe_M
[23:10:02] [PASSED] 12.55 Xe_HPM
[23:10:02] [PASSED] 13.00 Xe_LPM+
[23:10:02] [PASSED] 13.01 Xe2_HPM
[23:10:02] [PASSED] 20.00 Xe2_LPM
[23:10:02] [PASSED] 30.00 Xe3_LPM
[23:10:02] [PASSED] 30.02 Xe3_LPM
[23:10:02] [PASSED] 35.00 Xe3p_LPM
[23:10:02] [PASSED] 35.03 Xe3p_HPM
[23:10:02] ================= [PASSED] check_media_ip ==================
[23:10:02] =================== check_platform_desc ===================
[23:10:02] [PASSED] 0x9A60 (TIGERLAKE)
[23:10:02] [PASSED] 0x9A68 (TIGERLAKE)
[23:10:02] [PASSED] 0x9A70 (TIGERLAKE)
[23:10:02] [PASSED] 0x9A40 (TIGERLAKE)
[23:10:02] [PASSED] 0x9A49 (TIGERLAKE)
[23:10:02] [PASSED] 0x9A59 (TIGERLAKE)
[23:10:02] [PASSED] 0x9A78 (TIGERLAKE)
[23:10:02] [PASSED] 0x9AC0 (TIGERLAKE)
[23:10:02] [PASSED] 0x9AC9 (TIGERLAKE)
[23:10:02] [PASSED] 0x9AD9 (TIGERLAKE)
[23:10:02] [PASSED] 0x9AF8 (TIGERLAKE)
[23:10:02] [PASSED] 0x4C80 (ROCKETLAKE)
[23:10:02] [PASSED] 0x4C8A (ROCKETLAKE)
[23:10:02] [PASSED] 0x4C8B (ROCKETLAKE)
[23:10:02] [PASSED] 0x4C8C (ROCKETLAKE)
[23:10:02] [PASSED] 0x4C90 (ROCKETLAKE)
[23:10:02] [PASSED] 0x4C9A (ROCKETLAKE)
[23:10:02] [PASSED] 0x4680 (ALDERLAKE_S)
[23:10:02] [PASSED] 0x4682 (ALDERLAKE_S)
[23:10:02] [PASSED] 0x4688 (ALDERLAKE_S)
[23:10:02] [PASSED] 0x468A (ALDERLAKE_S)
[23:10:02] [PASSED] 0x468B (ALDERLAKE_S)
[23:10:02] [PASSED] 0x4690 (ALDERLAKE_S)
[23:10:02] [PASSED] 0x4692 (ALDERLAKE_S)
[23:10:02] [PASSED] 0x4693 (ALDERLAKE_S)
[23:10:02] [PASSED] 0x46A0 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46A1 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46A2 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46A3 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46A6 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46A8 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46AA (ALDERLAKE_P)
[23:10:02] [PASSED] 0x462A (ALDERLAKE_P)
[23:10:02] [PASSED] 0x4626 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x4628 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46B0 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46B1 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46B2 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46B3 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46C0 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46C1 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46C2 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46C3 (ALDERLAKE_P)
[23:10:02] [PASSED] 0x46D0 (ALDERLAKE_N)
[23:10:02] [PASSED] 0x46D1 (ALDERLAKE_N)
[23:10:02] [PASSED] 0x46D2 (ALDERLAKE_N)
[23:10:02] [PASSED] 0x46D3 (ALDERLAKE_N)
[23:10:02] [PASSED] 0x46D4 (ALDERLAKE_N)
[23:10:02] [PASSED] 0xA721 (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7A1 (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7A9 (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7AC (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7AD (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA720 (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7A0 (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7A8 (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7AA (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA7AB (ALDERLAKE_P)
[23:10:02] [PASSED] 0xA780 (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA781 (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA782 (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA783 (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA788 (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA789 (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA78A (ALDERLAKE_S)
[23:10:02] [PASSED] 0xA78B (ALDERLAKE_S)
[23:10:02] [PASSED] 0x4905 (DG1)
[23:10:02] [PASSED] 0x4906 (DG1)
[23:10:02] [PASSED] 0x4907 (DG1)
[23:10:02] [PASSED] 0x4908 (DG1)
[23:10:02] [PASSED] 0x4909 (DG1)
[23:10:02] [PASSED] 0x56C0 (DG2)
[23:10:02] [PASSED] 0x56C2 (DG2)
[23:10:02] [PASSED] 0x56C1 (DG2)
[23:10:02] [PASSED] 0x7D51 (METEORLAKE)
[23:10:02] [PASSED] 0x7DD1 (METEORLAKE)
[23:10:02] [PASSED] 0x7D41 (METEORLAKE)
[23:10:02] [PASSED] 0x7D67 (METEORLAKE)
[23:10:02] [PASSED] 0xB640 (METEORLAKE)
[23:10:02] [PASSED] 0x56A0 (DG2)
[23:10:02] [PASSED] 0x56A1 (DG2)
[23:10:02] [PASSED] 0x56A2 (DG2)
[23:10:02] [PASSED] 0x56BE (DG2)
[23:10:02] [PASSED] 0x56BF (DG2)
[23:10:02] [PASSED] 0x5690 (DG2)
[23:10:02] [PASSED] 0x5691 (DG2)
[23:10:02] [PASSED] 0x5692 (DG2)
[23:10:02] [PASSED] 0x56A5 (DG2)
[23:10:02] [PASSED] 0x56A6 (DG2)
[23:10:02] [PASSED] 0x56B0 (DG2)
[23:10:02] [PASSED] 0x56B1 (DG2)
[23:10:02] [PASSED] 0x56BA (DG2)
[23:10:02] [PASSED] 0x56BB (DG2)
[23:10:02] [PASSED] 0x56BC (DG2)
[23:10:02] [PASSED] 0x56BD (DG2)
[23:10:02] [PASSED] 0x5693 (DG2)
[23:10:02] [PASSED] 0x5694 (DG2)
[23:10:02] [PASSED] 0x5695 (DG2)
[23:10:02] [PASSED] 0x56A3 (DG2)
[23:10:02] [PASSED] 0x56A4 (DG2)
[23:10:02] [PASSED] 0x56B2 (DG2)
[23:10:02] [PASSED] 0x56B3 (DG2)
[23:10:02] [PASSED] 0x5696 (DG2)
[23:10:02] [PASSED] 0x5697 (DG2)
[23:10:02] [PASSED] 0xB69 (PVC)
[23:10:02] [PASSED] 0xB6E (PVC)
[23:10:02] [PASSED] 0xBD4 (PVC)
[23:10:02] [PASSED] 0xBD5 (PVC)
[23:10:02] [PASSED] 0xBD6 (PVC)
[23:10:02] [PASSED] 0xBD7 (PVC)
[23:10:02] [PASSED] 0xBD8 (PVC)
[23:10:02] [PASSED] 0xBD9 (PVC)
[23:10:02] [PASSED] 0xBDA (PVC)
[23:10:02] [PASSED] 0xBDB (PVC)
[23:10:02] [PASSED] 0xBE0 (PVC)
[23:10:02] [PASSED] 0xBE1 (PVC)
[23:10:02] [PASSED] 0xBE5 (PVC)
[23:10:02] [PASSED] 0x7D40 (METEORLAKE)
[23:10:02] [PASSED] 0x7D45 (METEORLAKE)
[23:10:02] [PASSED] 0x7D55 (METEORLAKE)
[23:10:02] [PASSED] 0x7D60 (METEORLAKE)
[23:10:02] [PASSED] 0x7DD5 (METEORLAKE)
[23:10:02] [PASSED] 0x6420 (LUNARLAKE)
[23:10:02] [PASSED] 0x64A0 (LUNARLAKE)
[23:10:02] [PASSED] 0x64B0 (LUNARLAKE)
[23:10:02] [PASSED] 0xE202 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE209 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE20B (BATTLEMAGE)
[23:10:02] [PASSED] 0xE20C (BATTLEMAGE)
[23:10:02] [PASSED] 0xE20D (BATTLEMAGE)
[23:10:02] [PASSED] 0xE210 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE211 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE212 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE216 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE220 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE221 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE222 (BATTLEMAGE)
[23:10:02] [PASSED] 0xE223 (BATTLEMAGE)
[23:10:02] [PASSED] 0xB080 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB081 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB082 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB083 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB084 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB085 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB086 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB087 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB08F (PANTHERLAKE)
[23:10:02] [PASSED] 0xB090 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB0A0 (PANTHERLAKE)
[23:10:02] [PASSED] 0xB0B0 (PANTHERLAKE)
[23:10:02] [PASSED] 0xFD80 (PANTHERLAKE)
[23:10:02] [PASSED] 0xFD81 (PANTHERLAKE)
[23:10:02] [PASSED] 0xD740 (NOVALAKE_S)
[23:10:02] [PASSED] 0xD741 (NOVALAKE_S)
[23:10:02] [PASSED] 0xD742 (NOVALAKE_S)
[23:10:02] [PASSED] 0xD743 (NOVALAKE_S)
[23:10:02] [PASSED] 0xD745 (NOVALAKE_S)
[23:10:02] [PASSED] 0xD74A (NOVALAKE_S)
[23:10:02] [PASSED] 0xD74B (NOVALAKE_S)
[23:10:02] [PASSED] 0x674C (CRESCENTISLAND)
[23:10:02] [PASSED] 0x674D (CRESCENTISLAND)
[23:10:02] [PASSED] 0x674E (CRESCENTISLAND)
[23:10:02] [PASSED] 0x674F (CRESCENTISLAND)
[23:10:02] [PASSED] 0x6750 (CRESCENTISLAND)
[23:10:02] [PASSED] 0xD750 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD751 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD752 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD753 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD754 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD755 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD756 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD757 (NOVALAKE_P)
[23:10:02] [PASSED] 0xD75F (NOVALAKE_P)
[23:10:02] =============== [PASSED] check_platform_desc ===============
[23:10:02] ===================== [PASSED] xe_pci ======================
[23:10:02] ============= xe_rtp_tables_test (4 subtests) ==============
[23:10:02] ================== xe_rtp_table_gt_test ===================
[23:10:02] [PASSED] gt_was/14011060649
[23:10:02] [PASSED] gt_was/14011059788
[23:10:02] [PASSED] gt_was/14015795083
[23:10:02] [PASSED] gt_was/16021867713
[23:10:02] [PASSED] gt_was/14019449301
[23:10:02] [PASSED] gt_was/16028005424
[23:10:02] [PASSED] gt_was/14026578760
[23:10:02] [PASSED] gt_was/1409420604
[23:10:02] [PASSED] gt_was/1408615072
[23:10:02] [PASSED] gt_was/22010523718
[23:10:02] [PASSED] gt_was/14011006942
[23:10:02] [PASSED] gt_was/14014830051
[23:10:02] [PASSED] gt_was/18018781329
[23:10:02] [PASSED] gt_was/1509235366
[23:10:02] [PASSED] gt_was/18018781329
[23:10:02] [PASSED] gt_was/16016694945
[23:10:02] [PASSED] gt_was/14018575942
[23:10:02] [PASSED] gt_was/22016670082
[23:10:02] [PASSED] gt_was/22016670082
[23:10:02] [PASSED] gt_was/14017421178
[23:10:02] [PASSED] gt_was/16025250150
[23:10:02] [PASSED] gt_was/14021871409
[23:10:02] [PASSED] gt_was/16021865536
[23:10:02] [PASSED] gt_was/14021486841
[23:10:02] [PASSED] gt_was/14025160223
[23:10:02] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[23:10:02] [PASSED] gt_was/14025635424
[23:10:02] [PASSED] gt_was/16028005424
[23:10:02] ============== [PASSED] xe_rtp_table_gt_test ===============
[23:10:02] ================== xe_rtp_table_gt_test ===================
[23:10:02] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[23:10:02] [PASSED] gt_tunings/Tuning: 32B Access Enable
[23:10:02] [PASSED] gt_tunings/Tuning: L3 cache
[23:10:02] [PASSED] gt_tunings/Tuning: L3 cache - media
[23:10:02] [PASSED] gt_tunings/Tuning: Compression Overfetch
[23:10:02] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[23:10:02] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[23:10:02] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[23:10:02] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[23:10:02] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[23:10:02] [PASSED] gt_tunings/Tuning: Stateless compression control
[23:10:02] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[23:10:02] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[23:10:02] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[23:10:02] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[23:10:02] ============== [PASSED] xe_rtp_table_gt_test ===============
[23:10:02] ================== xe_rtp_table_oob_test ==================
[23:10:02] [PASSED] oob_was/1607983814
[23:10:02] [PASSED] oob_was/16010904313
[23:10:02] [PASSED] oob_was/18022495364
[23:10:02] [PASSED] oob_was/22012773006
[23:10:02] [PASSED] oob_was/14014475959
[23:10:02] [PASSED] oob_was/22011391025
[23:10:02] [PASSED] oob_was/22012727170
[23:10:02] [PASSED] oob_was/22012727685
[23:10:02] [PASSED] oob_was/22016596838
[23:10:02] [PASSED] oob_was/18020744125
[23:10:02] [PASSED] oob_was/1409600907
[23:10:02] [PASSED] oob_was/22014953428
[23:10:02] [PASSED] oob_was/16017236439
[23:10:02] [PASSED] oob_was/14019821291
[23:10:02] [PASSED] oob_was/14015076503
[23:10:02] [PASSED] oob_was/14018913170
[23:10:02] [PASSED] oob_was/14018094691
[23:10:02] [PASSED] oob_was/18024947630
[23:10:02] [PASSED] oob_was/16022287689
[23:10:02] [PASSED] oob_was/13011645652
[23:10:02] [PASSED] oob_was/14022293748
[23:10:02] [PASSED] oob_was/22019794406
[23:10:02] [PASSED] oob_was/22019338487
[23:10:02] [PASSED] oob_was/16023588340
[23:10:02] [PASSED] oob_was/14019789679
[23:10:02] [PASSED] oob_was/14022866841
[23:10:02] [PASSED] oob_was/16021333562
[23:10:02] [PASSED] oob_was/14016712196
[23:10:02] [PASSED] oob_was/14015568240
[23:10:02] [PASSED] oob_was/18013179988
[23:10:02] [PASSED] oob_was/1508761755
[23:10:02] [PASSED] oob_was/16023105232
[23:10:02] [PASSED] oob_was/16026508708
[23:10:02] [PASSED] oob_was/14020001231
[23:10:02] [PASSED] oob_was/16023683509
[23:10:02] [PASSED] oob_was/14025515070
[23:10:02] [PASSED] oob_was/15015404425_disable
[23:10:02] [PASSED] oob_was/16026007364
[23:10:02] [PASSED] oob_was/14020316580
[23:10:02] [PASSED] oob_was/14025883347
[23:10:02] [PASSED] oob_was/16029380221
[23:10:02] ============== [PASSED] xe_rtp_table_oob_test ==============
[23:10:02] ================ xe_rtp_table_dev_oob_test ================
[23:10:02] [PASSED] device_oob_was/22010954014
[23:10:02] [PASSED] device_oob_was/15015404425
[23:10:02] [PASSED] device_oob_was/22019338487_display
[23:10:02] [PASSED] device_oob_was/14022085890
[23:10:02] [PASSED] device_oob_was/14026539277
[23:10:02] [PASSED] device_oob_was/14026633728
[23:10:02] [PASSED] device_oob_was/14026746987
[23:10:02] [PASSED] device_oob_was/14026779378
[23:10:02] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[23:10:02] =============== [PASSED] xe_rtp_tables_test ================
[23:10:02] =================== xe_rtp (3 subtests) ====================
[23:10:02] =================== xe_rtp_rules_tests ====================
[23:10:02] [PASSED] no
[23:10:02] [PASSED] yes
[23:10:02] [PASSED] no-and-no
[23:10:02] [PASSED] no-and-yes
[23:10:02] [PASSED] yes-and-no
[23:10:02] [PASSED] yes-and-yes
[23:10:02] [PASSED] no-or-no
[23:10:02] [PASSED] no-or-yes
[23:10:02] [PASSED] yes-or-no
[23:10:02] [PASSED] yes-or-yes
[23:10:02] [PASSED] no-yes-or-yes-no
[23:10:02] [PASSED] no-yes-or-yes-yes
[23:10:02] [PASSED] yes-yes-or-no-yes
[23:10:02] [PASSED] yes-yes-or-yes-yes
[23:10:02] [PASSED] no-no-or-yes-or-no
[23:10:02] [PASSED] or
[23:10:02] [PASSED] or-yes
[23:10:02] [PASSED] or-no
[23:10:02] [PASSED] yes-or
[23:10:02] [PASSED] no-or
[23:10:02] [PASSED] no-or-or-yes
[23:10:02] [PASSED] yes-or-or-no
[23:10:02] [PASSED] no-or-or-no
[23:10:02] [PASSED] missing-context-engine-class
[23:10:02] [PASSED] missing-context-engine-class-or-yes
[23:10:02] [PASSED] missing-context-engine-class-or-or-yes
[23:10:02] =============== [PASSED] xe_rtp_rules_tests ================
[23:10:02] =============== xe_rtp_process_to_sr_tests ================
[23:10:02] [PASSED] coalesce-same-reg
[23:10:02] [PASSED] coalesce-same-reg-literal-and-func
[23:10:02] [PASSED] no-match-no-add
[23:10:02] [PASSED] two-regs-two-entries
[23:10:02] [PASSED] clr-one-set-other
[23:10:02] [PASSED] set-field
[23:10:02] [PASSED] conflict-duplicate
[23:10:02] [PASSED] conflict-not-disjoint
[23:10:02] [PASSED] conflict-not-disjoint-literal-and-func
[23:10:02] [PASSED] conflict-reg-type
[23:10:02] [PASSED] bad-mcr-reg-forced-to-regular
[23:10:02] [PASSED] bad-regular-reg-forced-to-mcr
[23:10:02] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[23:10:02] ================== xe_rtp_process_tests ===================
[23:10:02] [PASSED] active1
[23:10:02] [PASSED] active2
[23:10:02] [PASSED] active-inactive
[23:10:02] [PASSED] inactive-active
[23:10:02] [PASSED] inactive-active-inactive
[23:10:02] [PASSED] inactive-inactive-inactive
[23:10:02] ============== [PASSED] xe_rtp_process_tests ===============
[23:10:02] ===================== [PASSED] xe_rtp ======================
[23:10:02] ==================== xe_wa (1 subtest) =====================
[23:10:02] ======================== xe_wa_gt =========================
[23:10:02] [PASSED] TIGERLAKE B0
[23:10:02] [PASSED] DG1 A0
[23:10:02] [PASSED] DG1 B0
[23:10:02] [PASSED] ALDERLAKE_S A0
[23:10:02] [PASSED] ALDERLAKE_S B0
[23:10:02] [PASSED] ALDERLAKE_S C0
[23:10:02] [PASSED] ALDERLAKE_S D0
[23:10:02] [PASSED] ALDERLAKE_P A0
[23:10:02] [PASSED] ALDERLAKE_P B0
[23:10:02] [PASSED] ALDERLAKE_P C0
[23:10:02] [PASSED] ALDERLAKE_S RPLS D0
[23:10:02] [PASSED] ALDERLAKE_P RPLU E0
[23:10:02] [PASSED] DG2 G10 C0
[23:10:02] [PASSED] DG2 G11 B1
[23:10:02] [PASSED] DG2 G12 A1
[23:10:02] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[23:10:02] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[23:10:02] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[23:10:02] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[23:10:02] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[23:10:02] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[23:10:02] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[23:10:02] ==================== [PASSED] xe_wa_gt =====================
[23:10:02] ====================== [PASSED] xe_wa ======================
[23:10:02] ============================================================
[23:10:02] Testing complete. Ran 719 tests: passed: 701, skipped: 18
[23:10:02] Elapsed time: 36.097s total, 4.290s configuring, 31.141s building, 0.632s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[23:10:02] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:10:04] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[23:10:28] Starting KUnit Kernel (1/1)...
[23:10:28] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:10:28] ============ drm_test_pick_cmdline (2 subtests) ============
[23:10:28] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[23:10:28] =============== drm_test_pick_cmdline_named ===============
[23:10:28] [PASSED] NTSC
[23:10:28] [PASSED] NTSC-J
[23:10:28] [PASSED] PAL
[23:10:28] [PASSED] PAL-M
[23:10:28] =========== [PASSED] drm_test_pick_cmdline_named ===========
[23:10:28] ============== [PASSED] drm_test_pick_cmdline ==============
[23:10:28] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[23:10:28] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[23:10:28] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[23:10:28] =========== drm_validate_clone_mode (2 subtests) ===========
[23:10:28] ============== drm_test_check_in_clone_mode ===============
[23:10:28] [PASSED] in_clone_mode
[23:10:28] [PASSED] not_in_clone_mode
[23:10:28] ========== [PASSED] drm_test_check_in_clone_mode ===========
[23:10:28] =============== drm_test_check_valid_clones ===============
[23:10:28] [PASSED] not_in_clone_mode
[23:10:28] [PASSED] valid_clone
[23:10:28] [PASSED] invalid_clone
[23:10:28] =========== [PASSED] drm_test_check_valid_clones ===========
[23:10:28] ============= [PASSED] drm_validate_clone_mode =============
[23:10:28] ============= drm_validate_modeset (1 subtest) =============
[23:10:28] [PASSED] drm_test_check_connector_changed_modeset
[23:10:28] ============== [PASSED] drm_validate_modeset ===============
[23:10:28] ====== drm_test_bridge_get_current_state (2 subtests) ======
[23:10:28] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[23:10:28] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[23:10:28] ======== [PASSED] drm_test_bridge_get_current_state ========
[23:10:28] ====== drm_test_bridge_helper_reset_crtc (4 subtests) ======
[23:10:28] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[23:10:28] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[23:10:28] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[23:10:28] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[23:10:28] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[23:10:28] ============== drm_bridge_alloc (2 subtests) ===============
[23:10:28] [PASSED] drm_test_drm_bridge_alloc_basic
[23:10:28] [PASSED] drm_test_drm_bridge_alloc_get_put
[23:10:28] ================ [PASSED] drm_bridge_alloc =================
[23:10:28] ============= drm_bridge_bus_fmt (5 subtests) ==============
[23:10:28] [PASSED] drm_test_bridge_rgb_yuv_rgb
[23:10:28] [PASSED] drm_test_bridge_must_convert_to_yuv444
[23:10:28] [PASSED] drm_test_bridge_hdmi_auto_rgb
[23:10:28] [PASSED] drm_test_bridge_auto_first
[23:10:28] [PASSED] drm_test_bridge_rgb_yuv_no_path
[23:10:28] =============== [PASSED] drm_bridge_bus_fmt ================
[23:10:28] ============= drm_cmdline_parser (40 subtests) =============
[23:10:28] [PASSED] drm_test_cmdline_force_d_only
[23:10:28] [PASSED] drm_test_cmdline_force_D_only_dvi
[23:10:28] [PASSED] drm_test_cmdline_force_D_only_hdmi
[23:10:28] [PASSED] drm_test_cmdline_force_D_only_not_digital
[23:10:28] [PASSED] drm_test_cmdline_force_e_only
[23:10:28] [PASSED] drm_test_cmdline_res
[23:10:28] [PASSED] drm_test_cmdline_res_vesa
[23:10:28] [PASSED] drm_test_cmdline_res_vesa_rblank
[23:10:28] [PASSED] drm_test_cmdline_res_rblank
[23:10:28] [PASSED] drm_test_cmdline_res_bpp
[23:10:28] [PASSED] drm_test_cmdline_res_refresh
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[23:10:28] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[23:10:28] [PASSED] drm_test_cmdline_res_margins_force_on
[23:10:28] [PASSED] drm_test_cmdline_res_vesa_margins
[23:10:28] [PASSED] drm_test_cmdline_name
[23:10:28] [PASSED] drm_test_cmdline_name_bpp
[23:10:28] [PASSED] drm_test_cmdline_name_option
[23:10:28] [PASSED] drm_test_cmdline_name_bpp_option
[23:10:28] [PASSED] drm_test_cmdline_rotate_0
[23:10:28] [PASSED] drm_test_cmdline_rotate_90
[23:10:28] [PASSED] drm_test_cmdline_rotate_180
[23:10:28] [PASSED] drm_test_cmdline_rotate_270
[23:10:28] [PASSED] drm_test_cmdline_hmirror
[23:10:28] [PASSED] drm_test_cmdline_vmirror
[23:10:28] [PASSED] drm_test_cmdline_margin_options
[23:10:28] [PASSED] drm_test_cmdline_multiple_options
[23:10:28] [PASSED] drm_test_cmdline_bpp_extra_and_option
[23:10:28] [PASSED] drm_test_cmdline_extra_and_option
[23:10:28] [PASSED] drm_test_cmdline_freestanding_options
[23:10:28] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[23:10:28] [PASSED] drm_test_cmdline_panel_orientation
[23:10:28] ================ drm_test_cmdline_invalid =================
[23:10:28] [PASSED] margin_only
[23:10:28] [PASSED] interlace_only
[23:10:28] [PASSED] res_missing_x
[23:10:28] [PASSED] res_missing_y
[23:10:28] [PASSED] res_bad_y
[23:10:28] [PASSED] res_missing_y_bpp
[23:10:28] [PASSED] res_bad_bpp
[23:10:28] [PASSED] res_bad_refresh
[23:10:28] [PASSED] res_bpp_refresh_force_on_off
[23:10:28] [PASSED] res_invalid_mode
[23:10:28] [PASSED] res_bpp_wrong_place_mode
[23:10:28] [PASSED] name_bpp_refresh
[23:10:28] [PASSED] name_refresh
[23:10:28] [PASSED] name_refresh_wrong_mode
[23:10:28] [PASSED] name_refresh_invalid_mode
[23:10:28] [PASSED] rotate_multiple
[23:10:28] [PASSED] rotate_invalid_val
[23:10:28] [PASSED] rotate_truncated
[23:10:28] [PASSED] invalid_option
[23:10:28] [PASSED] invalid_tv_option
[23:10:28] [PASSED] truncated_tv_option
[23:10:28] ============ [PASSED] drm_test_cmdline_invalid =============
[23:10:28] =============== drm_test_cmdline_tv_options ===============
[23:10:28] [PASSED] NTSC
[23:10:28] [PASSED] NTSC_443
[23:10:28] [PASSED] NTSC_J
[23:10:28] [PASSED] PAL
[23:10:28] [PASSED] PAL_M
[23:10:28] [PASSED] PAL_N
[23:10:28] [PASSED] SECAM
[23:10:28] [PASSED] MONO_525
[23:10:28] [PASSED] MONO_625
[23:10:28] =========== [PASSED] drm_test_cmdline_tv_options ===========
[23:10:28] =============== [PASSED] drm_cmdline_parser ================
[23:10:28] ========== drmm_connector_hdmi_init (20 subtests) ==========
[23:10:28] [PASSED] drm_test_connector_hdmi_init_valid
[23:10:28] [PASSED] drm_test_connector_hdmi_init_bpc_8
[23:10:28] [PASSED] drm_test_connector_hdmi_init_bpc_10
[23:10:28] [PASSED] drm_test_connector_hdmi_init_bpc_12
[23:10:28] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[23:10:28] [PASSED] drm_test_connector_hdmi_init_bpc_null
[23:10:28] [PASSED] drm_test_connector_hdmi_init_formats_empty
[23:10:28] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[23:10:28] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:10:28] [PASSED] supported_formats=0x9 yuv420_allowed=1
[23:10:28] [PASSED] supported_formats=0x9 yuv420_allowed=0
[23:10:28] [PASSED] supported_formats=0x5 yuv420_allowed=1
[23:10:28] [PASSED] supported_formats=0x5 yuv420_allowed=0
[23:10:28] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:10:28] [PASSED] drm_test_connector_hdmi_init_null_ddc
[23:10:28] [PASSED] drm_test_connector_hdmi_init_null_product
[23:10:28] [PASSED] drm_test_connector_hdmi_init_null_vendor
[23:10:28] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[23:10:28] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[23:10:28] [PASSED] drm_test_connector_hdmi_init_product_valid
[23:10:28] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[23:10:28] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[23:10:28] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[23:10:28] ========= drm_test_connector_hdmi_init_type_valid =========
[23:10:28] [PASSED] HDMI-A
[23:10:28] [PASSED] HDMI-B
[23:10:28] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[23:10:28] ======== drm_test_connector_hdmi_init_type_invalid ========
[23:10:28] [PASSED] Unknown
[23:10:28] [PASSED] VGA
[23:10:28] [PASSED] DVI-I
[23:10:28] [PASSED] DVI-D
[23:10:28] [PASSED] DVI-A
[23:10:28] [PASSED] Composite
[23:10:28] [PASSED] SVIDEO
[23:10:28] [PASSED] LVDS
[23:10:28] [PASSED] Component
[23:10:28] [PASSED] DIN
[23:10:28] [PASSED] DP
[23:10:28] [PASSED] TV
[23:10:28] [PASSED] eDP
[23:10:28] [PASSED] Virtual
[23:10:28] [PASSED] DSI
[23:10:28] [PASSED] DPI
[23:10:28] [PASSED] Writeback
[23:10:28] [PASSED] SPI
[23:10:28] [PASSED] USB
[23:10:28] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[23:10:28] ============ [PASSED] drmm_connector_hdmi_init =============
[23:10:28] ============= drmm_connector_init (3 subtests) =============
[23:10:28] [PASSED] drm_test_drmm_connector_init
[23:10:28] [PASSED] drm_test_drmm_connector_init_null_ddc
[23:10:28] ========= drm_test_drmm_connector_init_type_valid =========
[23:10:28] [PASSED] Unknown
[23:10:28] [PASSED] VGA
[23:10:28] [PASSED] DVI-I
[23:10:28] [PASSED] DVI-D
[23:10:28] [PASSED] DVI-A
[23:10:28] [PASSED] Composite
[23:10:28] [PASSED] SVIDEO
[23:10:28] [PASSED] LVDS
[23:10:28] [PASSED] Component
[23:10:28] [PASSED] DIN
[23:10:28] [PASSED] DP
[23:10:28] [PASSED] HDMI-A
[23:10:28] [PASSED] HDMI-B
[23:10:28] [PASSED] TV
[23:10:28] [PASSED] eDP
[23:10:28] [PASSED] Virtual
[23:10:28] [PASSED] DSI
[23:10:28] [PASSED] DPI
[23:10:28] [PASSED] Writeback
[23:10:28] [PASSED] SPI
[23:10:28] [PASSED] USB
[23:10:28] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[23:10:28] =============== [PASSED] drmm_connector_init ===============
[23:10:28] ========= drm_connector_dynamic_init (6 subtests) ==========
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_init
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_init_properties
[23:10:28] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[23:10:28] [PASSED] Unknown
[23:10:28] [PASSED] VGA
[23:10:28] [PASSED] DVI-I
[23:10:28] [PASSED] DVI-D
[23:10:28] [PASSED] DVI-A
[23:10:28] [PASSED] Composite
[23:10:28] [PASSED] SVIDEO
[23:10:28] [PASSED] LVDS
[23:10:28] [PASSED] Component
[23:10:28] [PASSED] DIN
[23:10:28] [PASSED] DP
[23:10:28] [PASSED] HDMI-A
[23:10:28] [PASSED] HDMI-B
[23:10:28] [PASSED] TV
[23:10:28] [PASSED] eDP
[23:10:28] [PASSED] Virtual
[23:10:28] [PASSED] DSI
[23:10:28] [PASSED] DPI
[23:10:28] [PASSED] Writeback
[23:10:28] [PASSED] SPI
[23:10:28] [PASSED] USB
[23:10:28] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[23:10:28] ======== drm_test_drm_connector_dynamic_init_name =========
[23:10:28] [PASSED] Unknown
[23:10:28] [PASSED] VGA
[23:10:28] [PASSED] DVI-I
[23:10:28] [PASSED] DVI-D
[23:10:28] [PASSED] DVI-A
[23:10:28] [PASSED] Composite
[23:10:28] [PASSED] SVIDEO
[23:10:28] [PASSED] LVDS
[23:10:28] [PASSED] Component
[23:10:28] [PASSED] DIN
[23:10:28] [PASSED] DP
[23:10:28] [PASSED] HDMI-A
[23:10:28] [PASSED] HDMI-B
[23:10:28] [PASSED] TV
[23:10:28] [PASSED] eDP
[23:10:28] [PASSED] Virtual
[23:10:28] [PASSED] DSI
[23:10:28] [PASSED] DPI
[23:10:28] [PASSED] Writeback
[23:10:28] [PASSED] SPI
[23:10:28] [PASSED] USB
[23:10:28] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[23:10:28] =========== [PASSED] drm_connector_dynamic_init ============
[23:10:28] ==== drm_connector_dynamic_register_early (4 subtests) =====
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[23:10:28] ====== [PASSED] drm_connector_dynamic_register_early =======
[23:10:28] ======= drm_connector_dynamic_register (7 subtests) ========
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[23:10:28] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[23:10:28] ========= [PASSED] drm_connector_dynamic_register ==========
[23:10:28] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[23:10:28] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[23:10:28] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[23:10:28] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[23:10:28] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[23:10:28] ========== drm_test_get_tv_mode_from_name_valid ===========
[23:10:28] [PASSED] NTSC
[23:10:28] [PASSED] NTSC-443
[23:10:28] [PASSED] NTSC-J
[23:10:28] [PASSED] PAL
[23:10:28] [PASSED] PAL-M
[23:10:28] [PASSED] PAL-N
[23:10:28] [PASSED] SECAM
[23:10:28] [PASSED] Mono
[23:10:28] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[23:10:28] [PASSED] drm_test_get_tv_mode_from_name_truncated
[23:10:28] ============ [PASSED] drm_get_tv_mode_from_name ============
[23:10:28] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[23:10:28] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[23:10:28] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[23:10:28] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[23:10:28] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[23:10:28] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[23:10:28] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[23:10:28] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[23:10:28] [PASSED] VIC 96
[23:10:28] [PASSED] VIC 97
[23:10:28] [PASSED] VIC 101
[23:10:28] [PASSED] VIC 102
[23:10:28] [PASSED] VIC 106
[23:10:28] [PASSED] VIC 107
[23:10:28] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[23:10:28] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[23:10:28] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[23:10:28] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[23:10:28] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[23:10:28] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[23:10:28] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[23:10:28] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[23:10:28] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[23:10:28] [PASSED] Automatic
[23:10:28] [PASSED] Full
[23:10:28] [PASSED] Limited 16:235
[23:10:28] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[23:10:28] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[23:10:28] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[23:10:28] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[23:10:28] === drm_test_drm_hdmi_connector_get_output_format_name ====
[23:10:28] [PASSED] RGB
[23:10:28] [PASSED] YUV 4:2:0
[23:10:28] [PASSED] YUV 4:2:2
[23:10:28] [PASSED] YUV 4:4:4
[23:10:28] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[23:10:28] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[23:10:28] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[23:10:28] ============= drm_damage_helper (21 subtests) ==============
[23:10:28] [PASSED] drm_test_damage_iter_no_damage
[23:10:28] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[23:10:28] [PASSED] drm_test_damage_iter_no_damage_src_moved
[23:10:28] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[23:10:28] [PASSED] drm_test_damage_iter_no_damage_not_visible
[23:10:28] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[23:10:28] [PASSED] drm_test_damage_iter_no_damage_no_fb
[23:10:28] [PASSED] drm_test_damage_iter_simple_damage
[23:10:28] [PASSED] drm_test_damage_iter_single_damage
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_outside_src
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_src_moved
[23:10:28] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[23:10:28] [PASSED] drm_test_damage_iter_damage
[23:10:28] [PASSED] drm_test_damage_iter_damage_one_intersect
[23:10:28] [PASSED] drm_test_damage_iter_damage_one_outside
[23:10:28] [PASSED] drm_test_damage_iter_damage_src_moved
[23:10:28] [PASSED] drm_test_damage_iter_damage_not_visible
[23:10:28] ================ [PASSED] drm_damage_helper ================
[23:10:28] ============== drm_dp_mst_helper (3 subtests) ==============
[23:10:28] ============== drm_test_dp_mst_calc_pbn_mode ==============
[23:10:28] [PASSED] Clock 154000 BPP 30 DSC disabled
[23:10:28] [PASSED] Clock 234000 BPP 30 DSC disabled
[23:10:28] [PASSED] Clock 297000 BPP 24 DSC disabled
[23:10:28] [PASSED] Clock 332880 BPP 24 DSC enabled
[23:10:28] [PASSED] Clock 324540 BPP 24 DSC enabled
[23:10:28] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[23:10:28] ============== drm_test_dp_mst_calc_pbn_div ===============
[23:10:28] [PASSED] Link rate 2000000 lane count 4
[23:10:28] [PASSED] Link rate 2000000 lane count 2
[23:10:28] [PASSED] Link rate 2000000 lane count 1
[23:10:28] [PASSED] Link rate 1350000 lane count 4
[23:10:28] [PASSED] Link rate 1350000 lane count 2
[23:10:28] [PASSED] Link rate 1350000 lane count 1
[23:10:28] [PASSED] Link rate 1000000 lane count 4
[23:10:28] [PASSED] Link rate 1000000 lane count 2
[23:10:28] [PASSED] Link rate 1000000 lane count 1
[23:10:28] [PASSED] Link rate 810000 lane count 4
[23:10:28] [PASSED] Link rate 810000 lane count 2
[23:10:28] [PASSED] Link rate 810000 lane count 1
[23:10:28] [PASSED] Link rate 540000 lane count 4
[23:10:28] [PASSED] Link rate 540000 lane count 2
[23:10:28] [PASSED] Link rate 540000 lane count 1
[23:10:28] [PASSED] Link rate 270000 lane count 4
[23:10:28] [PASSED] Link rate 270000 lane count 2
[23:10:28] [PASSED] Link rate 270000 lane count 1
[23:10:28] [PASSED] Link rate 162000 lane count 4
[23:10:28] [PASSED] Link rate 162000 lane count 2
[23:10:28] [PASSED] Link rate 162000 lane count 1
[23:10:28] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[23:10:28] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[23:10:28] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[23:10:28] [PASSED] DP_POWER_UP_PHY with port number
[23:10:28] [PASSED] DP_POWER_DOWN_PHY with port number
[23:10:28] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[23:10:28] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[23:10:28] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[23:10:28] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[23:10:28] [PASSED] DP_QUERY_PAYLOAD with port number
[23:10:28] [PASSED] DP_QUERY_PAYLOAD with VCPI
[23:10:28] [PASSED] DP_REMOTE_DPCD_READ with port number
[23:10:28] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[23:10:28] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[23:10:28] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[23:10:28] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[23:10:28] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[23:10:28] [PASSED] DP_REMOTE_I2C_READ with port number
[23:10:28] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[23:10:28] [PASSED] DP_REMOTE_I2C_READ with transactions array
[23:10:28] [PASSED] DP_REMOTE_I2C_WRITE with port number
[23:10:28] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[23:10:28] [PASSED] DP_REMOTE_I2C_WRITE with data array
[23:10:28] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[23:10:28] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[23:10:28] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[23:10:28] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[23:10:28] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[23:10:28] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[23:10:28] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[23:10:28] ================ [PASSED] drm_dp_mst_helper ================
[23:10:28] ================== drm_exec (7 subtests) ===================
[23:10:28] [PASSED] sanitycheck
[23:10:28] [PASSED] test_lock
[23:10:28] [PASSED] test_lock_unlock
[23:10:28] [PASSED] test_duplicates
[23:10:28] [PASSED] test_prepare
[23:10:28] [PASSED] test_prepare_array
[23:10:28] [PASSED] test_multiple_loops
[23:10:28] ==================== [PASSED] drm_exec =====================
[23:10:28] =========== drm_format_helper_test (17 subtests) ===========
[23:10:28] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[23:10:28] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[23:10:28] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[23:10:28] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[23:10:28] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[23:10:28] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[23:10:28] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[23:10:28] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[23:10:28] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[23:10:28] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[23:10:28] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[23:10:28] ============== drm_test_fb_xrgb8888_to_mono ===============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[23:10:28] ==================== drm_test_fb_swab =====================
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ================ [PASSED] drm_test_fb_swab =================
[23:10:28] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[23:10:28] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[23:10:28] [PASSED] single_pixel_source_buffer
[23:10:28] [PASSED] single_pixel_clip_rectangle
[23:10:28] [PASSED] well_known_colors
[23:10:28] [PASSED] destination_pitch
[23:10:28] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[23:10:28] ================= drm_test_fb_clip_offset =================
[23:10:28] [PASSED] pass through
[23:10:28] [PASSED] horizontal offset
[23:10:28] [PASSED] vertical offset
[23:10:28] [PASSED] horizontal and vertical offset
[23:10:28] [PASSED] horizontal offset (custom pitch)
[23:10:28] [PASSED] vertical offset (custom pitch)
[23:10:28] [PASSED] horizontal and vertical offset (custom pitch)
[23:10:28] ============= [PASSED] drm_test_fb_clip_offset =============
[23:10:28] =================== drm_test_fb_memcpy ====================
[23:10:28] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[23:10:28] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[23:10:28] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[23:10:28] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[23:10:28] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[23:10:28] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[23:10:28] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[23:10:28] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[23:10:28] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[23:10:28] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[23:10:28] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[23:10:28] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[23:10:28] =============== [PASSED] drm_test_fb_memcpy ================
[23:10:28] ============= [PASSED] drm_format_helper_test ==============
[23:10:28] ================= drm_format (18 subtests) =================
[23:10:28] [PASSED] drm_test_format_block_width_invalid
[23:10:28] [PASSED] drm_test_format_block_width_one_plane
[23:10:28] [PASSED] drm_test_format_block_width_two_plane
[23:10:28] [PASSED] drm_test_format_block_width_three_plane
[23:10:28] [PASSED] drm_test_format_block_width_tiled
[23:10:28] [PASSED] drm_test_format_block_height_invalid
[23:10:28] [PASSED] drm_test_format_block_height_one_plane
[23:10:28] [PASSED] drm_test_format_block_height_two_plane
[23:10:28] [PASSED] drm_test_format_block_height_three_plane
[23:10:28] [PASSED] drm_test_format_block_height_tiled
[23:10:28] [PASSED] drm_test_format_min_pitch_invalid
[23:10:28] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[23:10:28] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[23:10:28] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[23:10:28] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[23:10:28] [PASSED] drm_test_format_min_pitch_two_plane
[23:10:28] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[23:10:28] [PASSED] drm_test_format_min_pitch_tiled
[23:10:28] =================== [PASSED] drm_format ====================
[23:10:28] ============== drm_framebuffer (10 subtests) ===============
[23:10:28] ========== drm_test_framebuffer_check_src_coords ==========
[23:10:28] [PASSED] Success: source fits into fb
[23:10:28] [PASSED] Fail: overflowing fb with x-axis coordinate
[23:10:28] [PASSED] Fail: overflowing fb with y-axis coordinate
[23:10:28] [PASSED] Fail: overflowing fb with source width
[23:10:28] [PASSED] Fail: overflowing fb with source height
[23:10:28] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[23:10:28] [PASSED] drm_test_framebuffer_cleanup
[23:10:28] =============== drm_test_framebuffer_create ===============
[23:10:28] [PASSED] ABGR8888 normal sizes
[23:10:28] [PASSED] ABGR8888 max sizes
[23:10:28] [PASSED] ABGR8888 pitch greater than min required
[23:10:28] [PASSED] ABGR8888 pitch less than min required
[23:10:28] [PASSED] ABGR8888 Invalid width
[23:10:28] [PASSED] ABGR8888 Invalid buffer handle
[23:10:28] [PASSED] No pixel format
[23:10:28] [PASSED] ABGR8888 Width 0
[23:10:28] [PASSED] ABGR8888 Height 0
[23:10:28] [PASSED] ABGR8888 Out of bound height * pitch combination
[23:10:28] [PASSED] ABGR8888 Large buffer offset
[23:10:28] [PASSED] ABGR8888 Buffer offset for inexistent plane
[23:10:28] [PASSED] ABGR8888 Invalid flag
[23:10:28] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[23:10:28] [PASSED] ABGR8888 Valid buffer modifier
[23:10:28] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[23:10:28] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] NV12 Normal sizes
[23:10:28] [PASSED] NV12 Max sizes
[23:10:28] [PASSED] NV12 Invalid pitch
[23:10:28] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[23:10:28] [PASSED] NV12 different modifier per-plane
[23:10:28] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[23:10:28] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] NV12 Modifier for inexistent plane
[23:10:28] [PASSED] NV12 Handle for inexistent plane
[23:10:28] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[23:10:28] [PASSED] YVU420 Normal sizes
[23:10:28] [PASSED] YVU420 Max sizes
[23:10:28] [PASSED] YVU420 Invalid pitch
[23:10:28] [PASSED] YVU420 Different pitches
[23:10:28] [PASSED] YVU420 Different buffer offsets/pitches
[23:10:28] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[23:10:28] [PASSED] YVU420 Valid modifier
[23:10:28] [PASSED] YVU420 Different modifiers per plane
[23:10:28] [PASSED] YVU420 Modifier for inexistent plane
[23:10:28] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[23:10:28] [PASSED] X0L2 Normal sizes
[23:10:28] [PASSED] X0L2 Max sizes
[23:10:28] [PASSED] X0L2 Invalid pitch
[23:10:28] [PASSED] X0L2 Pitch greater than minimum required
[23:10:28] [PASSED] X0L2 Handle for inexistent plane
[23:10:28] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[23:10:28] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[23:10:28] [PASSED] X0L2 Valid modifier
[23:10:28] [PASSED] X0L2 Modifier for inexistent plane
[23:10:28] =========== [PASSED] drm_test_framebuffer_create ===========
[23:10:28] [PASSED] drm_test_framebuffer_free
[23:10:28] [PASSED] drm_test_framebuffer_init
[23:10:28] [PASSED] drm_test_framebuffer_init_bad_format
[23:10:28] [PASSED] drm_test_framebuffer_init_dev_mismatch
[23:10:28] [PASSED] drm_test_framebuffer_lookup
[23:10:28] [PASSED] drm_test_framebuffer_lookup_inexistent
[23:10:28] [PASSED] drm_test_framebuffer_modifiers_not_supported
[23:10:28] ================= [PASSED] drm_framebuffer =================
[23:10:28] ================ drm_gem_shmem (8 subtests) ================
[23:10:28] [PASSED] drm_gem_shmem_test_obj_create
[23:10:28] [PASSED] drm_gem_shmem_test_obj_create_private
[23:10:28] [PASSED] drm_gem_shmem_test_pin_pages
[23:10:28] [PASSED] drm_gem_shmem_test_vmap
[23:10:28] [PASSED] drm_gem_shmem_test_get_sg_table
[23:10:28] [PASSED] drm_gem_shmem_test_get_pages_sgt
[23:10:28] [PASSED] drm_gem_shmem_test_madvise
[23:10:28] [PASSED] drm_gem_shmem_test_purge
[23:10:28] ================== [PASSED] drm_gem_shmem ==================
[23:10:28] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[23:10:28] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[23:10:28] [PASSED] Automatic
[23:10:28] [PASSED] Full
[23:10:28] [PASSED] Limited 16:235
[23:10:28] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[23:10:28] [PASSED] drm_test_check_disable_connector
[23:10:28] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[23:10:28] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[23:10:28] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[23:10:28] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[23:10:28] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[23:10:28] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[23:10:28] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[23:10:28] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[23:10:28] [PASSED] drm_test_check_output_bpc_dvi
[23:10:28] [PASSED] drm_test_check_output_bpc_format_vic_1
[23:10:28] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[23:10:28] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[23:10:28] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[23:10:28] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[23:10:28] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[23:10:28] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[23:10:28] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[23:10:28] ============ drm_test_check_hdmi_color_format =============
[23:10:28] [PASSED] AUTO -> RGB
[23:10:28] [PASSED] YCBCR422 -> YUV422
[23:10:28] [PASSED] YCBCR420 -> YUV420
[23:10:28] [PASSED] YCBCR444 -> YUV444
[23:10:28] [PASSED] RGB -> RGB
[23:10:28] ======== [PASSED] drm_test_check_hdmi_color_format =========
[23:10:28] ======== drm_test_check_hdmi_color_format_420_only ========
[23:10:28] [PASSED] RGB should fail
[23:10:28] [PASSED] YUV444 should fail
[23:10:28] [PASSED] YUV422 should fail
[23:10:28] [PASSED] YUV420 should work
[23:10:28] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[23:10:28] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[23:10:28] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[23:10:28] [PASSED] drm_test_check_broadcast_rgb_value
[23:10:28] [PASSED] drm_test_check_bpc_8_value
[23:10:28] [PASSED] drm_test_check_bpc_10_value
[23:10:28] [PASSED] drm_test_check_bpc_12_value
[23:10:28] [PASSED] drm_test_check_format_value
[23:10:28] [PASSED] drm_test_check_tmds_char_value
[23:10:28] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[23:10:28] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[23:10:28] [PASSED] drm_test_check_mode_valid
[23:10:28] [PASSED] drm_test_check_mode_valid_reject
[23:10:28] [PASSED] drm_test_check_mode_valid_reject_rate
[23:10:28] [PASSED] drm_test_check_mode_valid_reject_max_clock
[23:10:28] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[23:10:28] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[23:10:28] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[23:10:28] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[23:10:28] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[23:10:28] [PASSED] drm_test_check_infoframes
[23:10:28] [PASSED] drm_test_check_reject_avi_infoframe
[23:10:28] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[23:10:28] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[23:10:28] [PASSED] drm_test_check_reject_audio_infoframe
[23:10:28] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[23:10:28] ================= drm_managed (2 subtests) =================
[23:10:28] [PASSED] drm_test_managed_release_action
[23:10:28] [PASSED] drm_test_managed_run_action
[23:10:28] =================== [PASSED] drm_managed ===================
[23:10:28] =================== drm_mm (6 subtests) ====================
[23:10:28] [PASSED] drm_test_mm_init
[23:10:28] [PASSED] drm_test_mm_debug
[23:10:28] [PASSED] drm_test_mm_align32
[23:10:28] [PASSED] drm_test_mm_align64
[23:10:28] [PASSED] drm_test_mm_lowest
[23:10:28] [PASSED] drm_test_mm_highest
[23:10:28] ===================== [PASSED] drm_mm ======================
[23:10:28] ============= drm_modes_analog_tv (5 subtests) =============
[23:10:28] [PASSED] drm_test_modes_analog_tv_mono_576i
[23:10:28] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[23:10:28] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[23:10:28] [PASSED] drm_test_modes_analog_tv_pal_576i
[23:10:28] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[23:10:28] =============== [PASSED] drm_modes_analog_tv ===============
[23:10:28] ============== drm_plane_helper (2 subtests) ===============
[23:10:28] =============== drm_test_check_plane_state ================
[23:10:28] [PASSED] clipping_simple
[23:10:28] [PASSED] clipping_rotate_reflect
[23:10:28] [PASSED] positioning_simple
[23:10:28] [PASSED] upscaling
[23:10:28] [PASSED] downscaling
[23:10:28] [PASSED] rounding1
[23:10:28] [PASSED] rounding2
[23:10:28] [PASSED] rounding3
[23:10:28] [PASSED] rounding4
[23:10:28] =========== [PASSED] drm_test_check_plane_state ============
[23:10:28] =========== drm_test_check_invalid_plane_state ============
[23:10:28] [PASSED] positioning_invalid
[23:10:28] [PASSED] upscaling_invalid
[23:10:28] [PASSED] downscaling_invalid
[23:10:28] ======= [PASSED] drm_test_check_invalid_plane_state ========
[23:10:28] ================ [PASSED] drm_plane_helper =================
[23:10:28] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[23:10:28] ====== drm_test_connector_helper_tv_get_modes_check =======
[23:10:28] [PASSED] None
[23:10:28] [PASSED] PAL
[23:10:28] [PASSED] NTSC
[23:10:28] [PASSED] Both, NTSC Default
[23:10:28] [PASSED] Both, PAL Default
[23:10:28] [PASSED] Both, NTSC Default, with PAL on command-line
[23:10:28] [PASSED] Both, PAL Default, with NTSC on command-line
[23:10:28] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[23:10:28] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[23:10:28] ================== drm_rect (9 subtests) ===================
[23:10:28] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[23:10:28] [PASSED] drm_test_rect_clip_scaled_not_clipped
[23:10:28] [PASSED] drm_test_rect_clip_scaled_clipped
[23:10:28] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[23:10:28] ================= drm_test_rect_intersect =================
[23:10:28] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[23:10:28] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[23:10:28] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[23:10:28] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[23:10:28] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[23:10:28] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[23:10:28] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[23:10:28] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[23:10:28] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[23:10:28] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[23:10:28] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[23:10:28] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[23:10:28] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[23:10:28] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[23:10:28] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[23:10:28] ============= [PASSED] drm_test_rect_intersect =============
[23:10:28] ================ drm_test_rect_calc_hscale ================
[23:10:28] [PASSED] normal use
[23:10:28] [PASSED] out of max range
[23:10:28] [PASSED] out of min range
[23:10:28] [PASSED] zero dst
[23:10:28] [PASSED] negative src
[23:10:28] [PASSED] negative dst
[23:10:28] ============ [PASSED] drm_test_rect_calc_hscale ============
[23:10:28] ================ drm_test_rect_calc_vscale ================
[23:10:28] [PASSED] normal use
[23:10:28] [PASSED] out of max range
[23:10:28] [PASSED] out of min range
[23:10:28] [PASSED] zero dst
[23:10:28] [PASSED] negative src
[23:10:28] [PASSED] negative dst
[23:10:28] ============ [PASSED] drm_test_rect_calc_vscale ============
[23:10:28] ================== drm_test_rect_rotate ===================
[23:10:28] [PASSED] reflect-x
[23:10:28] [PASSED] reflect-y
[23:10:28] [PASSED] rotate-0
[23:10:28] [PASSED] rotate-90
[23:10:28] [PASSED] rotate-180
[23:10:28] [PASSED] rotate-270
[23:10:28] ============== [PASSED] drm_test_rect_rotate ===============
[23:10:28] ================ drm_test_rect_rotate_inv =================
[23:10:28] [PASSED] reflect-x
[23:10:28] [PASSED] reflect-y
[23:10:28] [PASSED] rotate-0
[23:10:28] [PASSED] rotate-90
[23:10:28] [PASSED] rotate-180
[23:10:28] [PASSED] rotate-270
[23:10:28] ============ [PASSED] drm_test_rect_rotate_inv =============
[23:10:28] ==================== [PASSED] drm_rect =====================
[23:10:28] ============ drm_sysfb_modeset_test (1 subtest) ============
[23:10:28] ============ drm_test_sysfb_build_fourcc_list =============
[23:10:28] [PASSED] no native formats
[23:10:28] [PASSED] XRGB8888 as native format
[23:10:28] [PASSED] remove duplicates
[23:10:28] [PASSED] convert alpha formats
[23:10:28] [PASSED] random formats
[23:10:28] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[23:10:28] ============= [PASSED] drm_sysfb_modeset_test ==============
[23:10:28] ================== drm_fixp (2 subtests) ===================
[23:10:28] [PASSED] drm_test_int2fixp
[23:10:28] [PASSED] drm_test_sm2fixp
[23:10:28] ==================== [PASSED] drm_fixp =====================
[23:10:28] ============================================================
[23:10:28] Testing complete. Ran 639 tests: passed: 639
[23:10:28] Elapsed time: 26.273s total, 1.740s configuring, 24.363s building, 0.149s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[23:10:28] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:10:30] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[23:10:39] Starting KUnit Kernel (1/1)...
[23:10:39] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:10:39] ================= ttm_device (5 subtests) ==================
[23:10:39] [PASSED] ttm_device_init_basic
[23:10:39] [PASSED] ttm_device_init_multiple
[23:10:39] [PASSED] ttm_device_fini_basic
[23:10:39] [PASSED] ttm_device_init_no_vma_man
[23:10:39] ================== ttm_device_init_pools ==================
[23:10:39] [PASSED] No DMA allocations, no DMA32 required
[23:10:39] [PASSED] DMA allocations, DMA32 required
[23:10:39] [PASSED] No DMA allocations, DMA32 required
[23:10:39] [PASSED] DMA allocations, no DMA32 required
[23:10:39] ============== [PASSED] ttm_device_init_pools ==============
[23:10:39] =================== [PASSED] ttm_device ====================
[23:10:39] ================== ttm_pool (8 subtests) ===================
[23:10:39] ================== ttm_pool_alloc_basic ===================
[23:10:39] [PASSED] One page
[23:10:39] [PASSED] More than one page
[23:10:39] [PASSED] Above the allocation limit
[23:10:39] [PASSED] One page, with coherent DMA mappings enabled
[23:10:39] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:10:39] ============== [PASSED] ttm_pool_alloc_basic ===============
[23:10:39] ============== ttm_pool_alloc_basic_dma_addr ==============
[23:10:39] [PASSED] One page
[23:10:39] [PASSED] More than one page
[23:10:39] [PASSED] Above the allocation limit
[23:10:39] [PASSED] One page, with coherent DMA mappings enabled
[23:10:39] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:10:39] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[23:10:39] [PASSED] ttm_pool_alloc_order_caching_match
[23:10:39] [PASSED] ttm_pool_alloc_caching_mismatch
[23:10:39] [PASSED] ttm_pool_alloc_order_mismatch
[23:10:39] [PASSED] ttm_pool_free_dma_alloc
[23:10:39] [PASSED] ttm_pool_free_no_dma_alloc
[23:10:39] [PASSED] ttm_pool_fini_basic
[23:10:39] ==================== [PASSED] ttm_pool =====================
[23:10:39] ================ ttm_resource (8 subtests) =================
[23:10:39] ================= ttm_resource_init_basic =================
[23:10:39] [PASSED] Init resource in TTM_PL_SYSTEM
[23:10:39] [PASSED] Init resource in TTM_PL_VRAM
[23:10:39] [PASSED] Init resource in a private placement
[23:10:39] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[23:10:39] ============= [PASSED] ttm_resource_init_basic =============
[23:10:39] [PASSED] ttm_resource_init_pinned
[23:10:39] [PASSED] ttm_resource_fini_basic
[23:10:39] [PASSED] ttm_resource_manager_init_basic
[23:10:39] [PASSED] ttm_resource_manager_usage_basic
[23:10:39] [PASSED] ttm_resource_manager_set_used_basic
[23:10:39] [PASSED] ttm_sys_man_alloc_basic
[23:10:39] [PASSED] ttm_sys_man_free_basic
[23:10:39] ================== [PASSED] ttm_resource ===================
[23:10:39] =================== ttm_tt (15 subtests) ===================
[23:10:39] ==================== ttm_tt_init_basic ====================
[23:10:39] [PASSED] Page-aligned size
[23:10:39] [PASSED] Extra pages requested
[23:10:39] ================ [PASSED] ttm_tt_init_basic ================
[23:10:39] [PASSED] ttm_tt_init_misaligned
[23:10:39] [PASSED] ttm_tt_fini_basic
[23:10:39] [PASSED] ttm_tt_fini_sg
[23:10:39] [PASSED] ttm_tt_fini_shmem
[23:10:39] [PASSED] ttm_tt_create_basic
[23:10:39] [PASSED] ttm_tt_create_invalid_bo_type
[23:10:39] [PASSED] ttm_tt_create_ttm_exists
[23:10:39] [PASSED] ttm_tt_create_failed
[23:10:39] [PASSED] ttm_tt_destroy_basic
[23:10:39] [PASSED] ttm_tt_populate_null_ttm
[23:10:39] [PASSED] ttm_tt_populate_populated_ttm
[23:10:39] [PASSED] ttm_tt_unpopulate_basic
[23:10:39] [PASSED] ttm_tt_unpopulate_empty_ttm
[23:10:39] [PASSED] ttm_tt_swapin_basic
[23:10:39] ===================== [PASSED] ttm_tt ======================
[23:10:39] =================== ttm_bo (14 subtests) ===================
[23:10:39] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[23:10:39] [PASSED] Cannot be interrupted and sleeps
[23:10:39] [PASSED] Cannot be interrupted, locks straight away
[23:10:39] [PASSED] Can be interrupted, sleeps
[23:10:39] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[23:10:39] [PASSED] ttm_bo_reserve_locked_no_sleep
[23:10:39] [PASSED] ttm_bo_reserve_no_wait_ticket
[23:10:39] [PASSED] ttm_bo_reserve_double_resv
[23:10:39] [PASSED] ttm_bo_reserve_interrupted
[23:10:39] [PASSED] ttm_bo_reserve_deadlock
[23:10:39] [PASSED] ttm_bo_unreserve_basic
[23:10:39] [PASSED] ttm_bo_unreserve_pinned
[23:10:39] [PASSED] ttm_bo_unreserve_bulk
[23:10:39] [PASSED] ttm_bo_fini_basic
[23:10:39] [PASSED] ttm_bo_fini_shared_resv
[23:10:39] [PASSED] ttm_bo_pin_basic
[23:10:39] [PASSED] ttm_bo_pin_unpin_resource
[23:10:39] [PASSED] ttm_bo_multiple_pin_one_unpin
[23:10:39] ===================== [PASSED] ttm_bo ======================
[23:10:39] ============== ttm_bo_validate (22 subtests) ===============
[23:10:39] ============== ttm_bo_init_reserved_sys_man ===============
[23:10:39] [PASSED] Buffer object for userspace
[23:10:39] [PASSED] Kernel buffer object
[23:10:39] [PASSED] Shared buffer object
[23:10:39] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[23:10:39] ============== ttm_bo_init_reserved_mock_man ==============
[23:10:39] [PASSED] Buffer object for userspace
[23:10:39] [PASSED] Kernel buffer object
[23:10:39] [PASSED] Shared buffer object
[23:10:39] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[23:10:39] [PASSED] ttm_bo_init_reserved_resv
[23:10:39] ================== ttm_bo_validate_basic ==================
[23:10:39] [PASSED] Buffer object for userspace
[23:10:39] [PASSED] Kernel buffer object
[23:10:39] [PASSED] Shared buffer object
[23:10:39] ============== [PASSED] ttm_bo_validate_basic ==============
[23:10:39] [PASSED] ttm_bo_validate_invalid_placement
[23:10:39] ============= ttm_bo_validate_same_placement ==============
[23:10:39] [PASSED] System manager
[23:10:39] [PASSED] VRAM manager
[23:10:39] ========= [PASSED] ttm_bo_validate_same_placement ==========
[23:10:39] [PASSED] ttm_bo_validate_failed_alloc
[23:10:39] [PASSED] ttm_bo_validate_pinned
[23:10:39] [PASSED] ttm_bo_validate_busy_placement
[23:10:39] ================ ttm_bo_validate_multihop =================
[23:10:39] [PASSED] Buffer object for userspace
[23:10:39] [PASSED] Kernel buffer object
[23:10:39] [PASSED] Shared buffer object
[23:10:39] ============ [PASSED] ttm_bo_validate_multihop =============
[23:10:39] ========== ttm_bo_validate_no_placement_signaled ==========
[23:10:39] [PASSED] Buffer object in system domain, no page vector
[23:10:39] [PASSED] Buffer object in system domain with an existing page vector
[23:10:39] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[23:10:39] ======== ttm_bo_validate_no_placement_not_signaled ========
[23:10:39] [PASSED] Buffer object for userspace
[23:10:39] [PASSED] Kernel buffer object
[23:10:39] [PASSED] Shared buffer object
[23:10:39] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[23:10:39] [PASSED] ttm_bo_validate_move_fence_signaled
[23:10:40] ========= ttm_bo_validate_move_fence_not_signaled =========
[23:10:40] [PASSED] Waits for GPU
[23:10:40] [PASSED] Tries to lock straight away
[23:10:40] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[23:10:40] [PASSED] ttm_bo_validate_swapout
[23:10:40] [PASSED] ttm_bo_validate_happy_evict
[23:10:40] [PASSED] ttm_bo_validate_all_pinned_evict
[23:10:40] [PASSED] ttm_bo_validate_allowed_only_evict
[23:10:40] [PASSED] ttm_bo_validate_deleted_evict
[23:10:40] [PASSED] ttm_bo_validate_busy_domain_evict
[23:10:40] [PASSED] ttm_bo_validate_evict_gutting
[23:10:40] [PASSED] ttm_bo_validate_recrusive_evict
[23:10:40] ================= [PASSED] ttm_bo_validate =================
[23:10:40] ============================================================
[23:10:40] Testing complete. Ran 102 tests: passed: 102
[23:10:40] Elapsed time: 11.203s total, 1.725s configuring, 9.262s building, 0.185s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 39+ messages in thread
* ✓ Xe.CI.BAT: success for Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (31 preceding siblings ...)
2026-06-23 23:10 ` ✓ CI.KUnit: success " Patchwork
@ 2026-06-23 23:46 ` Patchwork
2026-06-24 0:37 ` ✓ i915.CI.BAT: " Patchwork
` (3 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Patchwork @ 2026-06-23 23:46 UTC (permalink / raw)
To: Michał Grzelak; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 946 bytes --]
== Series Details ==
Series: Comments applied to dp_link_caps
URL : https://patchwork.freedesktop.org/series/169057/
State : success
== Summary ==
CI Bug Log - changes from xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd_BAT -> xe-pw-169057v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd -> xe-pw-169057v1
IGT_8981: 28416da6681a1afa167bdd73cdc934cb36d13133 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd: e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd
xe-pw-169057v1: 169057v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/index.html
[-- Attachment #2: Type: text/html, Size: 1494 bytes --]
^ permalink raw reply [flat|nested] 39+ messages in thread
* ✓ i915.CI.BAT: success for Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (32 preceding siblings ...)
2026-06-23 23:46 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-06-24 0:37 ` Patchwork
2026-06-24 5:22 ` ✓ Xe.CI.FULL: " Patchwork
` (2 subsequent siblings)
36 siblings, 0 replies; 39+ messages in thread
From: Patchwork @ 2026-06-24 0:37 UTC (permalink / raw)
To: Michał Grzelak; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 1622 bytes --]
== Series Details ==
Series: Comments applied to dp_link_caps
URL : https://patchwork.freedesktop.org/series/169058/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_18712 -> Patchwork_169058v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/index.html
Participating hosts (42 -> 39)
------------------------------
Missing (3): bat-dg2-13 fi-snb-2520m bat-adls-6
Known issues
------------
Here are the changes found in Patchwork_169058v1 that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@i915_selftest@live:
- fi-skl-6600u: [DMESG-FAIL][1] ([i915#14808]) -> [PASS][2] +1 other test pass
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/fi-skl-6600u/igt@i915_selftest@live.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/fi-skl-6600u/igt@i915_selftest@live.html
[i915#14808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14808
Build changes
-------------
* Linux: CI_DRM_18712 -> Patchwork_169058v1
CI-20190529: 20190529
CI_DRM_18712: e7cd62086ec5a70cefb8b8b00964096692bfab36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8981: 28416da6681a1afa167bdd73cdc934cb36d13133 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_169058v1: e7cd62086ec5a70cefb8b8b00964096692bfab36 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/index.html
[-- Attachment #2: Type: text/html, Size: 2207 bytes --]
^ permalink raw reply [flat|nested] 39+ messages in thread
* ✓ Xe.CI.FULL: success for Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (33 preceding siblings ...)
2026-06-24 0:37 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-06-24 5:22 ` Patchwork
2026-06-24 8:12 ` [PATCH v1 00/30] " Jani Nikula
2026-06-24 10:46 ` ✓ i915.CI.Full: success for " Patchwork
36 siblings, 0 replies; 39+ messages in thread
From: Patchwork @ 2026-06-24 5:22 UTC (permalink / raw)
To: Michał Grzelak; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 28682 bytes --]
== Series Details ==
Series: Comments applied to dp_link_caps
URL : https://patchwork.freedesktop.org/series/169057/
State : success
== Summary ==
CI Bug Log - changes from xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd_FULL -> xe-pw-169057v1_FULL
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (2 -> 2)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-169057v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@asahi/asahi_get_params@get-params-uint32-max:
- shard-lnl: NOTRUN -> [SKIP][1] ([Intel XE#8416])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@asahi/asahi_get_params@get-params-uint32-max.html
* igt@asahi/asahi_get_time@get-time-flags-1:
- shard-bmg: NOTRUN -> [SKIP][2] ([Intel XE#8416])
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@asahi/asahi_get_time@get-time-flags-1.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-bmg: NOTRUN -> [SKIP][3] ([Intel XE#1124]) +2 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
- shard-lnl: NOTRUN -> [SKIP][4] ([Intel XE#1124]) +1 other test skip
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_bw@connected-linear-tiling-4-displays-target-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][5] ([Intel XE#7679])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_bw@connected-linear-tiling-4-displays-target-2160x1440p.html
* igt@kms_bw@linear-tiling-3-displays-target-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#367])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_bw@linear-tiling-3-displays-target-1920x1080p.html
* igt@kms_bw@linear-tiling-3-displays-target-3840x2160p:
- shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#367])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_bw@linear-tiling-3-displays-target-3840x2160p.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#2887]) +1 other test skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#2887])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#3432])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#3432])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
* igt@kms_chamelium_frames@dp-crc-single:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#2252]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_chamelium_frames@dp-crc-single.html
* igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][13] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +3 other tests fail
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#2321] / [Intel XE#7355])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-random-128x42:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#2320])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_cursor_crc@cursor-random-128x42.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2321] / [Intel XE#7355])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#309] / [Intel XE#7343])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][18] ([Intel XE#1508])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#8265])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner.html
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#8265])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner.html
* igt@kms_flip@2x-nonexisting-fb-interruptible:
- shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#1421])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_flip@2x-nonexisting-fb-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-lnl: [PASS][22] -> [FAIL][23] ([Intel XE#301])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
* igt@kms_flip@flip-vs-expired-vblank@c-edp1:
- shard-lnl: [PASS][24] -> [FAIL][25] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#7178] / [Intel XE#7351])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#6312]) +3 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#7061])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-blt.html
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#7061])
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#4141]) +3 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#2311]) +9 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#7905]) +4 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][34] ([Intel XE#7865]) +1 other test skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-suspend:
- shard-bmg: NOTRUN -> [SKIP][35] ([Intel XE#2313]) +11 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-suspend.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#656] / [Intel XE#7905]) +2 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-argb161616f-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][37] ([Intel XE#7061] / [Intel XE#7356])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-mmap-wc.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#6912] / [Intel XE#7375])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#7283])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping.html
* igt@kms_plane@planar-pixel-format-settings@nv12-tile4-src-y:
- shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#8076])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_plane@planar-pixel-format-settings@nv12-tile4-src-y.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-lnl: NOTRUN -> [SKIP][41] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#1489]) +1 other test skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr@fbc-psr2-cursor-plane-move:
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#1406] / [Intel XE#7345])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_psr@fbc-psr2-cursor-plane-move.html
* igt@kms_psr@fbc-psr2-cursor-plane-move@edp-1:
- shard-lnl: NOTRUN -> [SKIP][44] ([Intel XE#1406] / [Intel XE#4609])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_psr@fbc-psr2-cursor-plane-move@edp-1.html
* igt@kms_psr@psr-basic:
- shard-bmg: NOTRUN -> [SKIP][45] ([Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_psr@psr-basic.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#2330] / [Intel XE#5813])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
- shard-bmg: NOTRUN -> [SKIP][47] ([Intel XE#3904] / [Intel XE#7342])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#1435])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
* igt@xe_compute@ccs-mode-compute-kernel:
- shard-lnl: NOTRUN -> [SKIP][49] ([Intel XE#1447] / [Intel XE#7469])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@xe_compute@ccs-mode-compute-kernel.html
* igt@xe_eudebug@basic-vm-bind-metadata-discovery:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#7636]) +5 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html
- shard-lnl: NOTRUN -> [SKIP][51] ([Intel XE#7636])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-bmg: [PASS][52] -> [INCOMPLETE][53] ([Intel XE#6321] / [Intel XE#8355])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-bmg-4/igt@xe_evict@evict-beng-mixed-many-threads-small.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-6/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* igt@xe_evict@evict-beng-small-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#6540] / [Intel XE#688])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@xe_evict@evict-beng-small-multi-vm.html
* igt@xe_exec_balancer@twice-cm-virtual-basic:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#7482]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_exec_balancer@twice-cm-virtual-basic.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2322] / [Intel XE#7372]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_fault_mode@twice-multi-queue-invalid-userptr-fault:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#8374]) +1 other test skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_exec_fault_mode@twice-multi-queue-invalid-userptr-fault.html
* igt@xe_exec_fault_mode@twice-multi-queue-userptr-rebind-prefetch:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#8374]) +3 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@xe_exec_fault_mode@twice-multi-queue-userptr-rebind-prefetch.html
* igt@xe_exec_multi_queue@two-queues-basic-smem:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#8364]) +6 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@xe_exec_multi_queue@two-queues-basic-smem.html
* igt@xe_exec_multi_queue@two-queues-preempt-mode-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#8364]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_exec_multi_queue@two-queues-preempt-mode-userptr-invalidate.html
* igt@xe_exec_system_allocator@threads-many-large-mmap-prefetch-shared:
- shard-bmg: NOTRUN -> [ABORT][61] ([Intel XE#8007])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-1/igt@xe_exec_system_allocator@threads-many-large-mmap-prefetch-shared.html
* igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#8378]) +3 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race.html
- shard-lnl: NOTRUN -> [SKIP][63] ([Intel XE#8378]) +2 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race.html
* igt@xe_multigpu_svm@mgpu-coherency-fail-basic:
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#6964])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@xe_multigpu_svm@mgpu-coherency-fail-basic.html
* igt@xe_page_reclaim@prl-invalidate-full:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#7793])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_page_reclaim@prl-invalidate-full.html
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#7793])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@xe_page_reclaim@prl-invalidate-full.html
* igt@xe_pm@d3cold-mocs:
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#2284] / [Intel XE#7370])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-3/igt@xe_pm@d3cold-mocs.html
* igt@xe_pm@s3-d3hot-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][68] ([Intel XE#584] / [Intel XE#7369])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@xe_pm@s3-d3hot-basic-exec.html
* igt@xe_pm_residency@aspm_link_residency:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#7271])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_pm_residency@aspm_link_residency.html
* igt@xe_query@multigpu-query-invalid-cs-cycles:
- shard-bmg: NOTRUN -> [SKIP][70] ([Intel XE#944])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-8/igt@xe_query@multigpu-query-invalid-cs-cycles.html
- shard-lnl: NOTRUN -> [SKIP][71] ([Intel XE#944])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_query@multigpu-query-invalid-cs-cycles.html
* igt@xe_sriov_admin@bulk-preempt-timeout-vfs-disabled:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#7174])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-5/igt@xe_sriov_admin@bulk-preempt-timeout-vfs-disabled.html
* igt@xe_vm@overcommit-nonfault-vram-lr-external-nodefer:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#7892])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@xe_vm@overcommit-nonfault-vram-lr-external-nodefer.html
#### Possible fixes ####
* igt@kms_vrr@max-min:
- shard-lnl: [FAIL][74] ([Intel XE#4227]) -> [PASS][75] +1 other test pass
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-lnl-6/igt@kms_vrr@max-min.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-6/igt@kms_vrr@max-min.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][76] ([Intel XE#6321] / [Intel XE#8355]) -> [PASS][77]
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-bmg-3/igt@xe_evict@evict-mixed-many-threads-small.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-1/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_exec_system_allocator@threads-many-large-mmap-prefetch-shared:
- shard-lnl: [ABORT][78] ([Intel XE#8007]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-lnl-7/igt@xe_exec_system_allocator@threads-many-large-mmap-prefetch-shared.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-lnl-1/igt@xe_exec_system_allocator@threads-many-large-mmap-prefetch-shared.html
* igt@xe_wedged@wedged-mode-toggle:
- shard-bmg: [ABORT][80] ([Intel XE#8007]) -> [PASS][81]
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-bmg-3/igt@xe_wedged@wedged-mode-toggle.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-1/igt@xe_wedged@wedged-mode-toggle.html
#### Warnings ####
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [SKIP][82] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][83] ([Intel XE#1729] / [Intel XE#7424])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][84] ([Intel XE#2509] / [Intel XE#7437]) -> [SKIP][85] ([Intel XE#2426] / [Intel XE#5848])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/shard-bmg-9/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7174
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7271]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7271
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
[Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
[Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
[Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
[Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
[Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
[Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
[Intel XE#7469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7469
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7636]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7636
[Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
[Intel XE#7892]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7892
[Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
[Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
[Intel XE#8076]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8076
[Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
[Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
[Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
[Intel XE#8416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8416
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* Linux: xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd -> xe-pw-169057v1
IGT_8981: 28416da6681a1afa167bdd73cdc934cb36d13133 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5291-e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd: e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd
xe-pw-169057v1: 169057v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-169057v1/index.html
[-- Attachment #2: Type: text/html, Size: 32571 bytes --]
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH v1 00/30] Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (34 preceding siblings ...)
2026-06-24 5:22 ` ✓ Xe.CI.FULL: " Patchwork
@ 2026-06-24 8:12 ` Jani Nikula
2026-06-24 8:25 ` Michał Grzelak
2026-06-24 10:46 ` ✓ i915.CI.Full: success for " Patchwork
36 siblings, 1 reply; 39+ messages in thread
From: Jani Nikula @ 2026-06-24 8:12 UTC (permalink / raw)
To: Michał Grzelak, intel-gfx, intel-xe
Cc: Mika Kahola, Luca Coelho, Nemesa Garg, Imre Deak,
Michał Grzelak
On Wed, 24 Jun 2026, Michał Grzelak <michal.grzelak@intel.com> wrote:
> To not block review of Imre's v2 of part2 series [1] I've applied my
> comments on top of it since they are not critical to the overall design,
> and can be looked afterwards; assuming they are at all valid :). Unlike
> previous times, now those resended patches should be free from
> disappointing mistakes like eg. duplication of From: tag or missing
> Signed-off-by: of resender.
Did you check with Imre before sending this?
Usually it's best to let the person doing the upstreaming to keep
posting new versions of their series at their own pace, instead of
sending series on their behalf. If you have your own work that depends
on the other person's changes, please just have patience, and keep them
in a local branch until the dependencies have been merged.
BR,
Jani.
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH v1 00/30] Comments applied to dp_link_caps
2026-06-24 8:12 ` [PATCH v1 00/30] " Jani Nikula
@ 2026-06-24 8:25 ` Michał Grzelak
0 siblings, 0 replies; 39+ messages in thread
From: Michał Grzelak @ 2026-06-24 8:25 UTC (permalink / raw)
To: Jani Nikula
Cc: Michał Grzelak, intel-gfx, intel-xe, Mika Kahola,
Luca Coelho, Nemesa Garg, Imre Deak
[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]
On Wed, 24 Jun 2026, Jani Nikula wrote:
> On Wed, 24 Jun 2026, Michał Grzelak <michal.grzelak@intel.com> wrote:
>> To not block review of Imre's v2 of part2 series [1] I've applied my
>> comments on top of it since they are not critical to the overall design,
>> and can be looked afterwards; assuming they are at all valid :). Unlike
>> previous times, now those resended patches should be free from
>> disappointing mistakes like eg. duplication of From: tag or missing
>> Signed-off-by: of resender.
>
> Did you check with Imre before sending this?
>
> Usually it's best to let the person doing the upstreaming to keep
> posting new versions of their series at their own pace, instead of
> sending series on their behalf. If you have your own work that depends
> on the other person's changes, please just have patience, and keep them
> in a local branch until the dependencies have been merged.
Yet another mistake from my side since I haven't checked it with Imre.
Kind request to ignore this series and apologies for unnecessary
hastiness.
BR,
Michał
>
>
> BR,
> Jani.
>
>
> --
> Jani Nikula, Intel
>
^ permalink raw reply [flat|nested] 39+ messages in thread
* ✓ i915.CI.Full: success for Comments applied to dp_link_caps
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
` (35 preceding siblings ...)
2026-06-24 8:12 ` [PATCH v1 00/30] " Jani Nikula
@ 2026-06-24 10:46 ` Patchwork
36 siblings, 0 replies; 39+ messages in thread
From: Patchwork @ 2026-06-24 10:46 UTC (permalink / raw)
To: Michał Grzelak; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 102429 bytes --]
== Series Details ==
Series: Comments applied to dp_link_caps
URL : https://patchwork.freedesktop.org/series/169058/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_18712_full -> Patchwork_169058v1_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in Patchwork_169058v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@asahi/asahi_get_time@get-time:
- shard-rkl: NOTRUN -> [SKIP][1] ([i915#16489])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@asahi/asahi_get_time@get-time.html
* igt@drm_buddy@drm_buddy:
- shard-rkl: NOTRUN -> [SKIP][2] ([i915#15678])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@drm_buddy@drm_buddy.html
* igt@gem_basic@multigpu-create-close:
- shard-tglu-1: NOTRUN -> [SKIP][3] ([i915#7697])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-rkl: NOTRUN -> [SKIP][4] ([i915#3555] / [i915#9323]) +1 other test skip
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: NOTRUN -> [SKIP][5] ([i915#9323]) +1 other test skip
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@gem_ccs@suspend-resume.html
* igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0:
- shard-dg2: NOTRUN -> [INCOMPLETE][6] ([i915#13356] / [i915#16348])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-4/igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0.html
* igt@gem_close_race@multigpu-basic-process:
- shard-tglu: NOTRUN -> [SKIP][7] ([i915#7697])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@gem_close_race@multigpu-basic-process.html
* igt@gem_ctx_sseu@engines:
- shard-tglu-1: NOTRUN -> [SKIP][8] ([i915#280])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-tglu: NOTRUN -> [SKIP][9] ([i915#280])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_exec_balancer@hog:
- shard-dg2: NOTRUN -> [SKIP][10] ([i915#4812])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_exec_balancer@hog.html
* igt@gem_exec_balancer@parallel:
- shard-tglu-1: NOTRUN -> [SKIP][11] ([i915#4525]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gem_exec_balancer@parallel.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-rkl: NOTRUN -> [SKIP][12] ([i915#4525]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gem_exec_balancer@parallel-out-fence.html
* igt@gem_exec_big@single:
- shard-tglu: NOTRUN -> [FAIL][13] ([i915#15944])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@gem_exec_big@single.html
* igt@gem_exec_flush@basic-wb-prw-default:
- shard-dg2: NOTRUN -> [SKIP][14] ([i915#3539] / [i915#4852])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_exec_flush@basic-wb-prw-default.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- shard-dg2: NOTRUN -> [SKIP][15] ([i915#3281]) +1 other test skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
- shard-rkl: NOTRUN -> [SKIP][16] ([i915#3281]) +6 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_huc_copy@huc-copy:
- shard-rkl: NOTRUN -> [SKIP][17] ([i915#2190])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-rkl: NOTRUN -> [SKIP][18] ([i915#4613] / [i915#7582])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-rkl: NOTRUN -> [SKIP][19] ([i915#4613]) +3 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_lmem_swapping@parallel-random-verify-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][20] ([i915#4613]) +3 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
* igt@gem_lmem_swapping@random-engines:
- shard-tglu: NOTRUN -> [SKIP][21] ([i915#4613])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@gem_lmem_swapping@random-engines.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-glk: NOTRUN -> [SKIP][22] ([i915#4613]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk5/igt@gem_lmem_swapping@verify-ccs.html
* igt@gem_media_vme:
- shard-tglu-1: NOTRUN -> [SKIP][23] ([i915#284])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gem_media_vme.html
* igt@gem_mmap_gtt@cpuset-basic-small-copy:
- shard-dg2: NOTRUN -> [SKIP][24] ([i915#4077]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_mmap_gtt@cpuset-basic-small-copy.html
* igt@gem_mmap_wc@invalid-flags:
- shard-dg2: NOTRUN -> [SKIP][25] ([i915#4083]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_mmap_wc@invalid-flags.html
* igt@gem_partial_pwrite_pread@reads-snoop:
- shard-dg2: NOTRUN -> [SKIP][26] ([i915#3282]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_partial_pwrite_pread@reads-snoop.html
* igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#3282]) +10 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
* igt@gem_pxp@create-regular-context-2:
- shard-dg2: NOTRUN -> [SKIP][28] ([i915#4270])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_pxp@create-regular-context-2.html
* igt@gem_pxp@hw-rejects-pxp-context:
- shard-rkl: NOTRUN -> [SKIP][29] ([i915#13717])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@gem_pxp@hw-rejects-pxp-context.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][30] ([i915#5190] / [i915#8428])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html
* igt@gem_softpin@noreloc-s3:
- shard-rkl: [PASS][31] -> [INCOMPLETE][32] ([i915#13809] / [i915#16226])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-7/igt@gem_softpin@noreloc-s3.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-3/igt@gem_softpin@noreloc-s3.html
* igt@gem_userptr_blits@create-destroy-unsync:
- shard-dg2: NOTRUN -> [SKIP][33] ([i915#3297])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@gem_userptr_blits@create-destroy-unsync.html
- shard-rkl: NOTRUN -> [SKIP][34] ([i915#3297]) +1 other test skip
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gem_userptr_blits@create-destroy-unsync.html
* igt@gem_userptr_blits@readonly-unsync:
- shard-tglu-1: NOTRUN -> [SKIP][35] ([i915#3297])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gem_userptr_blits@readonly-unsync.html
* igt@gen9_exec_parse@allowed-single:
- shard-glk10: NOTRUN -> [ABORT][36] ([i915#5566])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk10/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@bb-secure:
- shard-dg1: NOTRUN -> [SKIP][37] ([i915#2527])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@gen9_exec_parse@bb-secure.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-tglu: NOTRUN -> [SKIP][38] ([i915#2527] / [i915#2856])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@gen9_exec_parse@bb-start-cmd.html
* igt@gen9_exec_parse@bb-start-far:
- shard-rkl: NOTRUN -> [SKIP][39] ([i915#2527]) +3 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@valid-registers:
- shard-tglu-1: NOTRUN -> [SKIP][40] ([i915#2527] / [i915#2856]) +1 other test skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@gen9_exec_parse@valid-registers.html
* igt@i915_drm_fdinfo@busy-idle-check-all@vcs0:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#11527]) +7 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@i915_drm_fdinfo@busy-idle-check-all@vcs0.html
* igt@i915_drm_fdinfo@most-busy-check-all@vecs0:
- shard-dg2: NOTRUN -> [SKIP][42] ([i915#14073]) +7 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@i915_drm_fdinfo@most-busy-check-all@vecs0.html
* igt@i915_pm_freq_mult@media-freq@gt0:
- shard-tglu-1: NOTRUN -> [SKIP][43] ([i915#6590]) +1 other test skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@i915_pm_freq_mult@media-freq@gt0.html
* igt@i915_pm_rc6_residency@media-rc6-accuracy:
- shard-rkl: NOTRUN -> [SKIP][44] ([i915#16080] / [i915#16166])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglu: [PASS][45] -> [WARN][46] ([i915#13790] / [i915#2681]) +1 other test warn
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-fence.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-8/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_query@hwconfig_table:
- shard-rkl: NOTRUN -> [SKIP][47] ([i915#6245])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@i915_query@hwconfig_table.html
* igt@i915_suspend@sysfs-reader:
- shard-glk11: NOTRUN -> [INCOMPLETE][48] ([i915#16182] / [i915#4817])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk11/igt@i915_suspend@sysfs-reader.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1:
- shard-glk: [PASS][49] -> [FAIL][50] ([i915#14888])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk6/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk4/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-glk: NOTRUN -> [INCOMPLETE][51] ([i915#12761]) +1 other test incomplete
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk9/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-rkl: NOTRUN -> [SKIP][52] ([i915#9531])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-0:
- shard-tglu-1: NOTRUN -> [SKIP][53] ([i915#5286]) +5 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-tglu: NOTRUN -> [SKIP][54] ([i915#5286]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip:
- shard-rkl: NOTRUN -> [SKIP][55] ([i915#5286]) +6 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
* igt@kms_big_fb@linear-32bpp-rotate-0:
- shard-dg1: [PASS][56] -> [DMESG-WARN][57] ([i915#4423]) +1 other test dmesg-warn
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-16/igt@kms_big_fb@linear-32bpp-rotate-0.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@kms_big_fb@linear-32bpp-rotate-0.html
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
- shard-tglu-1: NOTRUN -> [SKIP][58] ([i915#3828]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][59] ([i915#3638]) +4 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-90:
- shard-dg2: NOTRUN -> [SKIP][60] ([i915#4538] / [i915#5190]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][61] ([i915#12313])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][62] ([i915#6095]) +206 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-16/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][63] ([i915#4423] / [i915#6095])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-18/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][64] ([i915#6095]) +29 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][65] ([i915#12313])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][66] ([i915#6095]) +57 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
- shard-tglu: NOTRUN -> [SKIP][67] ([i915#12805])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-rkl: [PASS][68] -> [ABORT][69] ([i915#15132])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-1/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [ABORT][70] ([i915#15132])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-1/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][71] ([i915#6095]) +3 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][72] ([i915#6095]) +59 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
- shard-glk: NOTRUN -> [INCOMPLETE][73] ([i915#15582]) +1 other test incomplete
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk4/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs:
- shard-rkl: NOTRUN -> [SKIP][74] ([i915#14098] / [i915#6095]) +39 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][75] ([i915#10307] / [i915#10434] / [i915#6095])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-1:
- shard-glk: NOTRUN -> [SKIP][76] +106 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk4/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][77] ([i915#10307] / [i915#6095]) +35 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc@pipe-a-hdmi-a-3.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-tglu-1: NOTRUN -> [SKIP][78] ([i915#3742])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@plane-scaling:
- shard-rkl: NOTRUN -> [SKIP][79] ([i915#3742])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_cdclk@plane-scaling.html
* igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][80] ([i915#13783]) +4 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html
* igt@kms_chamelium_color@ctm-0-75:
- shard-dg2: NOTRUN -> [SKIP][81]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_chamelium_color@ctm-0-75.html
* igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d:
- shard-tglu: NOTRUN -> [SKIP][82] ([i915#16471])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4:
- shard-tglu-1: NOTRUN -> [SKIP][83] ([i915#16471])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html
* igt@kms_chamelium_color_pipeline@plane-lut3d-green-only:
- shard-rkl: NOTRUN -> [SKIP][84] ([i915#16471])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html
* igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k:
- shard-rkl: NOTRUN -> [SKIP][85] ([i915#11151] / [i915#7828]) +4 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html
* igt@kms_chamelium_frames@hdmi-crc-multiple:
- shard-tglu-1: NOTRUN -> [SKIP][86] ([i915#11151] / [i915#7828]) +6 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_chamelium_frames@hdmi-crc-multiple.html
* igt@kms_chamelium_hpd@dp-hpd-fast:
- shard-dg1: NOTRUN -> [SKIP][87] ([i915#11151] / [i915#7828])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@kms_chamelium_hpd@dp-hpd-fast.html
* igt@kms_chamelium_hpd@dp-hpd-storm-disable:
- shard-tglu: NOTRUN -> [SKIP][88] ([i915#11151] / [i915#7828]) +2 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html
* igt@kms_color@deep-color:
- shard-rkl: NOTRUN -> [SKIP][89] ([i915#12655] / [i915#3555])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_color@deep-color.html
* igt@kms_content_protection@content-type-change:
- shard-tglu-1: NOTRUN -> [SKIP][90] ([i915#15865])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-tglu-1: NOTRUN -> [SKIP][91] ([i915#15330] / [i915#3116] / [i915#3299]) +1 other test skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@legacy-hdcp14:
- shard-rkl: NOTRUN -> [SKIP][92] ([i915#15865]) +2 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_content_protection@legacy-hdcp14.html
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- shard-rkl: [PASS][93] -> [FAIL][94] ([i915#13566])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-128x42.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-128x42.html
* igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][95] ([i915#13566]) +1 other test fail
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-rkl: NOTRUN -> [SKIP][96] ([i915#3555]) +3 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [FAIL][97] ([i915#13566]) +1 other test fail
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-tglu: NOTRUN -> [SKIP][98] ([i915#3555])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-tglu-1: NOTRUN -> [SKIP][99] ([i915#13049]) +1 other test skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][100] ([i915#12358] / [i915#14152] / [i915#7882])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk8/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][101] ([i915#12358] / [i915#14152])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk8/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-tglu-1: NOTRUN -> [SKIP][102] ([i915#4103]) +1 other test skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-tglu-1: NOTRUN -> [SKIP][103] ([i915#9067])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-dg2: NOTRUN -> [SKIP][104] ([i915#4103])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
- shard-rkl: NOTRUN -> [SKIP][105] ([i915#4103])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-tglu-1: NOTRUN -> [SKIP][106] ([i915#9723])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_display_modes@extended-mode-basic:
- shard-rkl: NOTRUN -> [SKIP][107] ([i915#13691])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-rkl: NOTRUN -> [SKIP][108] ([i915#3555] / [i915#3804])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][109] ([i915#3804])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html
* igt@kms_dp_link_training@uhbr-sst:
- shard-tglu: NOTRUN -> [SKIP][110] ([i915#13748])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_dp_link_training@uhbr-sst.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#13707])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-dg2: NOTRUN -> [SKIP][112] ([i915#16361])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_dsc@dsc-fractional-bpp.html
- shard-rkl: NOTRUN -> [SKIP][113] ([i915#16361]) +3 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-output-formats-bigjoiner:
- shard-tglu-1: NOTRUN -> [SKIP][114] ([i915#16361]) +2 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner:
- shard-tglu: NOTRUN -> [SKIP][115] ([i915#16361])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][116] ([i915#9878])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk2/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_feature_discovery@display-3x:
- shard-tglu: NOTRUN -> [SKIP][117] ([i915#16081])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@dp-mst:
- shard-dg2: NOTRUN -> [SKIP][118] ([i915#9337])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_feature_discovery@dp-mst.html
- shard-rkl: NOTRUN -> [SKIP][119] ([i915#9337])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr1:
- shard-tglu-1: NOTRUN -> [SKIP][120] ([i915#658])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-tglu-1: NOTRUN -> [SKIP][121] ([i915#3637] / [i915#9934]) +4 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip@2x-plain-flip:
- shard-tglu: NOTRUN -> [SKIP][122] ([i915#3637] / [i915#9934]) +1 other test skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-dg2: NOTRUN -> [SKIP][123] ([i915#9934]) +1 other test skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html
- shard-rkl: NOTRUN -> [SKIP][124] ([i915#9934]) +5 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@blocking-wf_vblank@b-hdmi-a4:
- shard-dg1: [PASS][125] -> [FAIL][126] ([i915#14600]) +1 other test fail
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-17/igt@kms_flip@blocking-wf_vblank@b-hdmi-a4.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-17/igt@kms_flip@blocking-wf_vblank@b-hdmi-a4.html
* igt@kms_flip@flip-vs-fences:
- shard-dg2: NOTRUN -> [SKIP][127] ([i915#8381])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_flip@flip-vs-fences.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling:
- shard-tglu: NOTRUN -> [SKIP][128] ([i915#15643]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][129] ([i915#15643]) +3 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-p010-4tile-to-p016-4tile:
- shard-rkl: NOTRUN -> [SKIP][130] ([i915#15643]) +2 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_flip_scaled_crc@flip-p010-4tile-to-p016-4tile.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-dg1: NOTRUN -> [SKIP][131] +1 other test skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html
- shard-mtlp: NOTRUN -> [SKIP][132] ([i915#15991] / [i915#1825])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-mtlp-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][133] ([i915#1825]) +9 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen:
- shard-dg2: NOTRUN -> [SKIP][134] ([i915#15991] / [i915#5354])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-tglu-1: NOTRUN -> [SKIP][135] ([i915#15989]) +17 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-indfb-msflip-blt:
- shard-dg2: NOTRUN -> [SKIP][136] ([i915#15989]) +2 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-tglu: NOTRUN -> [SKIP][137] ([i915#15989]) +7 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-shrfb-pgflip-blt:
- shard-rkl: NOTRUN -> [SKIP][138] +80 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-pgflip-blt:
- shard-tglu-1: NOTRUN -> [SKIP][139] +78 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-shrfb-fliptrack-mmap-gtt:
- shard-glk: [PASS][140] -> [SKIP][141]
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-2p-shrfb-fliptrack-mmap-gtt.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk3/igt@kms_frontbuffer_tracking@fbchdr-2p-shrfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][142] ([i915#15102]) +5 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt:
- shard-glk10: NOTRUN -> [SKIP][143] +74 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-offscreen-pri-shrfb-draw-mmap-cpu:
- shard-tglu-1: NOTRUN -> [SKIP][144] ([i915#15102]) +27 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-offscreen-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-onoff:
- shard-glk11: NOTRUN -> [SKIP][145] +13 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk11/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-blt:
- shard-dg1: NOTRUN -> [SKIP][146] ([i915#15102])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-rkl: NOTRUN -> [SKIP][147] ([i915#15102]) +21 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4:
- shard-rkl: NOTRUN -> [SKIP][148] ([i915#5439])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4.html
* igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-render:
- shard-rkl: [PASS][149] -> [SKIP][150] ([i915#15989]) +8 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-1/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-render.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-3/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][151] ([i915#15991]) +8 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-draw-blt:
- shard-tglu: NOTRUN -> [SKIP][152] +35 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@hdr-farfromfence-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][153] ([i915#15989]) +21 other tests skip
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@hdr-farfromfence-mmap-gtt.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-tglu-1: NOTRUN -> [SKIP][154] ([i915#9766])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
- shard-rkl: NOTRUN -> [SKIP][155] ([i915#15102] / [i915#3023]) +17 other tests skip
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-tglu: NOTRUN -> [SKIP][156] ([i915#15102]) +18 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][157] ([i915#15990])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_hdmi_inject@inject-audio:
- shard-tglu: NOTRUN -> [SKIP][158] ([i915#13030])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_hdr@bpc-switch-dpms:
- shard-tglu: NOTRUN -> [SKIP][159] ([i915#3555] / [i915#8228])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_hdr@bpc-switch-dpms.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#3555] / [i915#8228])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_hdr@static-swap:
- shard-tglu-1: NOTRUN -> [SKIP][161] ([i915#3555] / [i915#8228])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_hdr@static-swap.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-rkl: NOTRUN -> [SKIP][162] ([i915#15458])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-rkl: NOTRUN -> [SKIP][163] ([i915#15459])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][164] ([i915#15458])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-tglu: NOTRUN -> [SKIP][165] ([i915#15638] / [i915#15722])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-tglu: NOTRUN -> [SKIP][166] ([i915#6301])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1:
- shard-glk: [PASS][167] -> [INCOMPLETE][168] ([i915#12756] / [i915#13409] / [i915#13476])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk4/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk8/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
* igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping:
- shard-tglu: NOTRUN -> [SKIP][169] ([i915#15709]) +2 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier:
- shard-tglu-1: NOTRUN -> [SKIP][170] ([i915#15709]) +1 other test skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
- shard-rkl: NOTRUN -> [SKIP][171] ([i915#15709]) +2 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-5:
- shard-rkl: NOTRUN -> [SKIP][172] ([i915#16386]) +1 other test skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-5.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
- shard-rkl: [PASS][173] -> [INCOMPLETE][174] ([i915#14412]) +1 other test incomplete
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
* igt@kms_plane_lowres@tiling-yf:
- shard-dg2: NOTRUN -> [SKIP][175] ([i915#3555] / [i915#8821])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_plane_lowres@tiling-yf.html
* igt@kms_plane_multiple@tiling-yf:
- shard-tglu: NOTRUN -> [SKIP][176] ([i915#14259])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-tglu-1: NOTRUN -> [SKIP][177] ([i915#6953])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b:
- shard-rkl: NOTRUN -> [SKIP][178] ([i915#15329]) +3 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
- shard-tglu: NOTRUN -> [SKIP][179] ([i915#15329]) +4 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d:
- shard-tglu-1: NOTRUN -> [SKIP][180] ([i915#15329]) +9 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-dg1: NOTRUN -> [SKIP][181] ([i915#12343] / [i915#5354])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc5-pageflip-negative:
- shard-rkl: NOTRUN -> [SKIP][182] ([i915#9685])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_pm_dc@dc5-pageflip-negative.html
* igt@kms_pm_dc@dc9-dpms:
- shard-tglu-1: NOTRUN -> [SKIP][183] ([i915#15739])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg1: [PASS][184] -> [SKIP][185] ([i915#15073])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-15/igt@kms_pm_rpm@dpms-lpsp.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-12/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-dg2: NOTRUN -> [SKIP][186] ([i915#15073])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [PASS][187] -> [SKIP][188] ([i915#15073]) +1 other test skip
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp-stress.html
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-dg2: [PASS][189] -> [SKIP][190] ([i915#15073])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-tglu-1: NOTRUN -> [SKIP][191] ([i915#15073])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-tglu: NOTRUN -> [SKIP][192] ([i915#15073])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_pm_rpm@package-g7:
- shard-rkl: NOTRUN -> [SKIP][193] ([i915#15403])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_pm_rpm@package-g7.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-tglu-1: NOTRUN -> [SKIP][194] ([i915#6524])
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_prime@d3hot:
- shard-rkl: NOTRUN -> [SKIP][195] ([i915#6524])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
- shard-glk: NOTRUN -> [SKIP][196] ([i915#11520]) +1 other test skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk2/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
- shard-tglu: NOTRUN -> [SKIP][197] ([i915#11520]) +1 other test skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
- shard-rkl: NOTRUN -> [SKIP][198] ([i915#11520]) +4 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf:
- shard-glk10: NOTRUN -> [SKIP][199] ([i915#11520]) +1 other test skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk10/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-tglu-1: NOTRUN -> [SKIP][200] ([i915#11520]) +6 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-p010:
- shard-dg1: NOTRUN -> [SKIP][201] ([i915#9683])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-14/igt@kms_psr2_su@page_flip-p010.html
- shard-mtlp: NOTRUN -> [SKIP][202] ([i915#4348])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-mtlp-5/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-pr-cursor-plane-move:
- shard-dg2: NOTRUN -> [SKIP][203] ([i915#1072] / [i915#9732]) +5 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_psr@fbc-pr-cursor-plane-move.html
* igt@kms_psr@fbc-psr2-primary-blt:
- shard-tglu-1: NOTRUN -> [SKIP][204] ([i915#9732]) +13 other tests skip
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_psr@fbc-psr2-primary-blt.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-rkl: NOTRUN -> [SKIP][205] ([i915#1072] / [i915#9732]) +20 other tests skip
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_psr@psr2-cursor-blt:
- shard-tglu: NOTRUN -> [SKIP][206] ([i915#9732]) +6 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@kms_psr@psr2-cursor-blt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-tglu: NOTRUN -> [SKIP][207] ([i915#15949])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-rkl: NOTRUN -> [SKIP][208] ([i915#15949])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@multiplane-rotation-cropping-top:
- shard-glk11: NOTRUN -> [INCOMPLETE][209] ([i915#15492] / [i915#16184])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk11/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
- shard-tglu: NOTRUN -> [SKIP][210] ([i915#5289])
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][211] ([i915#5289])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-tglu-1: NOTRUN -> [SKIP][212] ([i915#5289])
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-tglu-1: NOTRUN -> [SKIP][213] ([i915#3555])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: NOTRUN -> [SKIP][214] ([i915#8623])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][215] ([i915#12276]) +1 other test incomplete
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk5/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-glk10: NOTRUN -> [INCOMPLETE][216] ([i915#12276]) +1 other test incomplete
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk10/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vblank@ts-continuation-suspend@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [INCOMPLETE][217] ([i915#12276])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-3/igt@kms_vblank@ts-continuation-suspend@pipe-c-hdmi-a-2.html
* igt@kms_vrr@lobf:
- shard-tglu-1: NOTRUN -> [SKIP][218] ([i915#11920])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_vrr@lobf.html
* igt@kms_vrr@max-min:
- shard-tglu: NOTRUN -> [SKIP][219] ([i915#9906])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-5/igt@kms_vrr@max-min.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-tglu-1: NOTRUN -> [SKIP][220] ([i915#9906])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-rkl: NOTRUN -> [SKIP][221] ([i915#9906])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@perf_pmu@busy-double-start@ccs0:
- shard-mtlp: [PASS][222] -> [FAIL][223] ([i915#4349])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-mtlp-3/igt@perf_pmu@busy-double-start@ccs0.html
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-mtlp-8/igt@perf_pmu@busy-double-start@ccs0.html
* igt@perf_pmu@busy-double-start@vecs1:
- shard-dg2: [PASS][224] -> [FAIL][225] ([i915#4349]) +4 other tests fail
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@perf_pmu@busy-double-start@vecs1.html
* igt@perf_pmu@module-unload:
- shard-tglu: NOTRUN -> [ABORT][226] ([i915#15778])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-10/igt@perf_pmu@module-unload.html
* igt@perf_pmu@rc6-all-gts:
- shard-dg2: NOTRUN -> [SKIP][227] ([i915#8516])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@perf_pmu@rc6-all-gts.html
- shard-rkl: NOTRUN -> [SKIP][228] ([i915#8516])
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@perf_pmu@rc6-all-gts.html
* igt@prime_udl@share-import:
- shard-rkl: NOTRUN -> [SKIP][229] ([i915#16420])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-4/igt@prime_udl@share-import.html
* igt@prime_vgem@coherency-gtt:
- shard-dg2: NOTRUN -> [SKIP][230] ([i915#3708] / [i915#4077]) +1 other test skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@prime_vgem@coherency-gtt.html
- shard-rkl: NOTRUN -> [SKIP][231] ([i915#3708]) +1 other test skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@prime_vgem@coherency-gtt.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-tglu-1: NOTRUN -> [SKIP][232] ([i915#16066])
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-tglu-1/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
#### Possible fixes ####
* igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0:
- shard-dg2: [INCOMPLETE][233] ([i915#13356] / [i915#16348]) -> [PASS][234]
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-4/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-4/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html
* igt@gem_exec_gttfill@multigpu-basic:
- shard-dg2: [FAIL][235] -> [PASS][236]
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-7/igt@gem_exec_gttfill@multigpu-basic.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@gem_exec_gttfill@multigpu-basic.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-dg2: [FAIL][237] ([i915#16496]) -> [PASS][238] +1 other test pass
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-7/igt@gem_lmem_swapping@verify-ccs.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@gem_lmem_swapping@verify-ccs.html
* igt@i915_selftest@live@objects:
- shard-dg2: [DMESG-FAIL][239] -> [PASS][240]
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-7/igt@i915_selftest@live@objects.html
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@i915_selftest@live@objects.html
* igt@i915_suspend@forcewake:
- shard-rkl: [INCOMPLETE][241] ([i915#4817]) -> [PASS][242]
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-4/igt@i915_suspend@forcewake.html
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@i915_suspend@forcewake.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-2:
- shard-glk: [FAIL][243] ([i915#14888]) -> [PASS][244]
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk6/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-2.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk4/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-2.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-mtlp: [FAIL][245] ([i915#15733] / [i915#5138]) -> [PASS][246]
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
- shard-rkl: [INCOMPLETE][247] ([i915#15582]) -> [PASS][248]
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
* igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2:
- shard-rkl: [FAIL][249] ([i915#13566]) -> [PASS][250] +1 other test pass
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-rkl: [INCOMPLETE][251] ([i915#10056]) -> [PASS][252]
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-suspend.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbchdr-modesetfrombusy:
- shard-rkl: [SKIP][253] ([i915#15989]) -> [PASS][254] +10 other tests pass
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-5/igt@kms_frontbuffer_tracking@fbchdr-modesetfrombusy.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-1/igt@kms_frontbuffer_tracking@fbchdr-modesetfrombusy.html
* igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-glk: [SKIP][255] -> [PASS][256] +7 other tests pass
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk1/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk8/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_hdr@static-toggle:
- shard-rkl: [SKIP][257] ([i915#3555] / [i915#8228]) -> [PASS][258]
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-2/igt@kms_hdr@static-toggle.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-1/igt@kms_hdr@static-toggle.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-dg2: [SKIP][259] ([i915#15073]) -> [PASS][260]
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-6/igt@kms_pm_rpm@modeset-lpsp.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@system-suspend-idle:
- shard-dg2: [INCOMPLETE][261] ([i915#14419]) -> [PASS][262]
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-5/igt@kms_pm_rpm@system-suspend-idle.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-5/igt@kms_pm_rpm@system-suspend-idle.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
- shard-rkl: [INCOMPLETE][263] ([i915#12276]) -> [PASS][264]
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-3/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
* igt@perf_pmu@render-node-busy-idle@rcs0:
- shard-snb: [FAIL][265] ([i915#16492]) -> [PASS][266]
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-snb6/igt@perf_pmu@render-node-busy-idle@rcs0.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-snb4/igt@perf_pmu@render-node-busy-idle@rcs0.html
#### Warnings ####
* igt@asahi/asahi_get_params@get-params:
- shard-rkl: [SKIP][267] ([i915#14544] / [i915#16489]) -> [SKIP][268] ([i915#16489])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@asahi/asahi_get_params@get-params.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@asahi/asahi_get_params@get-params.html
* igt@gem_create@create-ext-cpu-access-sanity-check:
- shard-rkl: [SKIP][269] ([i915#14544] / [i915#6335]) -> [SKIP][270] ([i915#6335])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@gem_create@create-ext-cpu-access-sanity-check.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@gem_create@create-ext-cpu-access-sanity-check.html
* igt@gem_exec_reloc@basic-gtt-wc-noreloc:
- shard-rkl: [SKIP][271] ([i915#14544] / [i915#3281]) -> [SKIP][272] ([i915#3281]) +2 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html
* igt@gem_exec_reloc@basic-wc-active:
- shard-rkl: [SKIP][273] ([i915#3281]) -> [SKIP][274] ([i915#14544] / [i915#3281]) +3 other tests skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@gem_exec_reloc@basic-wc-active.html
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@gem_exec_reloc@basic-wc-active.html
* igt@gem_lmem_swapping@massive-random:
- shard-rkl: [SKIP][275] ([i915#4613]) -> [SKIP][276] ([i915#14544] / [i915#4613]) +1 other test skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@gem_lmem_swapping@massive-random.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@gem_lmem_swapping@massive-random.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-rkl: [SKIP][277] ([i915#14544] / [i915#4613]) -> [SKIP][278] ([i915#4613])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@gem_lmem_swapping@verify-random-ccs.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_readwrite@new-obj:
- shard-rkl: [SKIP][279] ([i915#14544] / [i915#3282]) -> [SKIP][280] ([i915#3282])
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@gem_readwrite@new-obj.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@gem_readwrite@new-obj.html
* igt@gem_tiled_pread_basic@basic:
- shard-rkl: [SKIP][281] ([i915#14544] / [i915#15656]) -> [SKIP][282] ([i915#15656])
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@gem_tiled_pread_basic@basic.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@gem_tiled_pread_basic@basic.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-rkl: [SKIP][283] ([i915#3297]) -> [SKIP][284] ([i915#14544] / [i915#3297])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@gem_userptr_blits@dmabuf-unsync.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gen9_exec_parse@bb-chained:
- shard-rkl: [SKIP][285] ([i915#2527]) -> [SKIP][286] ([i915#14544] / [i915#2527])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@gen9_exec_parse@bb-chained.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@gen9_exec_parse@bb-chained.html
* igt@i915_query@query-topology-known-pci-ids:
- shard-rkl: [SKIP][287] ([i915#14544] / [i915#16109]) -> [SKIP][288] ([i915#16109])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@i915_query@query-topology-known-pci-ids.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@i915_query@query-topology-known-pci-ids.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-270:
- shard-rkl: [SKIP][289] ([i915#14544] / [i915#5286]) -> [SKIP][290] ([i915#5286]) +1 other test skip
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: [SKIP][291] ([i915#5286]) -> [SKIP][292] ([i915#14544] / [i915#5286]) +2 other tests skip
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
- shard-rkl: [SKIP][293] ([i915#3828]) -> [SKIP][294] ([i915#14544] / [i915#3828])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs:
- shard-dg1: [SKIP][295] ([i915#6095]) -> [SKIP][296] ([i915#4423] / [i915#6095])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-13/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-18/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs:
- shard-rkl: [SKIP][297] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][298] ([i915#14098] / [i915#6095]) +3 other tests skip
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][299] ([i915#12313]) -> [SKIP][300] ([i915#12313] / [i915#14544])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][301] ([i915#12805]) -> [SKIP][302] ([i915#12805] / [i915#14544])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][303] ([i915#6095]) -> [SKIP][304] ([i915#14544] / [i915#6095]) +3 other tests skip
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-a-hdmi-a-2.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-c-hdmi-a-2:
- shard-rkl: [SKIP][305] ([i915#14098] / [i915#6095]) -> [SKIP][306] ([i915#14098] / [i915#14544] / [i915#6095]) +3 other tests skip
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-c-hdmi-a-2.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-c-hdmi-a-2.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-rkl: [SKIP][307] ([i915#11151] / [i915#7828]) -> [SKIP][308] ([i915#11151] / [i915#14544] / [i915#7828]) +2 other tests skip
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_chamelium_edid@hdmi-edid-read.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_frames@hdmi-crc-fast:
- shard-rkl: [SKIP][309] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][310] ([i915#11151] / [i915#7828]) +2 other tests skip
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_chamelium_frames@hdmi-crc-fast.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_chamelium_frames@hdmi-crc-fast.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- shard-dg1: [SKIP][311] ([i915#11151] / [i915#7828]) -> [SKIP][312] ([i915#11151] / [i915#4423] / [i915#7828]) +1 other test skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-12/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-16/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@kms_content_protection@atomic-dpms:
- shard-rkl: [SKIP][313] ([i915#14544] / [i915#15865]) -> [SKIP][314] ([i915#15865])
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_content_protection@atomic-dpms.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_content_protection@atomic-dpms.html
* igt@kms_cursor_crc@cursor-sliding-32x32:
- shard-rkl: [SKIP][315] ([i915#14544] / [i915#3555]) -> [SKIP][316] ([i915#3555])
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-32x32.html
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-32x32.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-rkl: [SKIP][317] -> [SKIP][318] ([i915#14544]) +24 other tests skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_dsc@dsc-with-formats-bigjoiner:
- shard-rkl: [SKIP][319] ([i915#14544] / [i915#16361]) -> [SKIP][320] ([i915#16361])
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_dsc@dsc-with-formats-bigjoiner.html
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_dsc@dsc-with-formats-bigjoiner.html
* igt@kms_feature_discovery@display-3x:
- shard-rkl: [SKIP][321] ([i915#16081]) -> [SKIP][322] ([i915#14544] / [i915#16081])
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_feature_discovery@display-3x.html
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_feature_discovery@display-3x.html
* igt@kms_flip@2x-flip-vs-rmfb-interruptible:
- shard-rkl: [SKIP][323] ([i915#14544] / [i915#9934]) -> [SKIP][324] ([i915#9934])
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend:
- shard-glk: [INCOMPLETE][325] ([i915#12314] / [i915#12745] / [i915#4839] / [i915#6113]) -> [INCOMPLETE][326] ([i915#12745] / [i915#4839] / [i915#6113])
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk5/igt@kms_flip@2x-flip-vs-suspend.html
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk1/igt@kms_flip@2x-flip-vs-suspend.html
- shard-rkl: [SKIP][327] ([i915#9934]) -> [SKIP][328] ([i915#14544] / [i915#9934])
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_flip@2x-flip-vs-suspend.html
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_flip@2x-flip-vs-suspend.html
* igt@kms_flip@2x-flip-vs-suspend@ac-hdmi-a1-hdmi-a2:
- shard-glk: [INCOMPLETE][329] ([i915#12314] / [i915#12745]) -> [INCOMPLETE][330] ([i915#12745])
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-glk5/igt@kms_flip@2x-flip-vs-suspend@ac-hdmi-a1-hdmi-a2.html
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-glk1/igt@kms_flip@2x-flip-vs-suspend@ac-hdmi-a1-hdmi-a2.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2:
- shard-rkl: [ABORT][331] ([i915#15132]) -> [INCOMPLETE][332] ([i915#16276] / [i915#6113]) +1 other test incomplete
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-1/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2.html
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-3/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-rkl: [SKIP][333] ([i915#14544] / [i915#15643]) -> [SKIP][334] ([i915#15643])
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-rkl: [SKIP][335] ([i915#15643]) -> [SKIP][336] ([i915#14544] / [i915#15643])
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_frontbuffer_tracking@fbchdr-tiling-4:
- shard-rkl: [SKIP][337] ([i915#14544] / [i915#5439]) -> [SKIP][338] ([i915#5439])
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-dg2: [SKIP][339] ([i915#10433] / [i915#15102]) -> [SKIP][340] ([i915#15102])
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-rkl: [SKIP][341] ([i915#15102] / [i915#3023]) -> [SKIP][342] ([i915#14544] / [i915#15102] / [i915#3023]) +5 other tests skip
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-dg1: [SKIP][343] -> [SKIP][344] ([i915#4423])
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
- shard-rkl: [SKIP][345] ([i915#15102]) -> [SKIP][346] ([i915#14544] / [i915#15102]) +7 other tests skip
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
* igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
- shard-dg1: [SKIP][347] ([i915#15990] / [i915#4423]) -> [SKIP][348] ([i915#15990])
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-17/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-17/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
- shard-rkl: [SKIP][349] ([i915#14544] / [i915#15102]) -> [SKIP][350] ([i915#15102]) +5 other tests skip
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
- shard-rkl: [SKIP][351] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][352] ([i915#15102] / [i915#3023]) +6 other tests skip
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-dg1: [SKIP][353] ([i915#15102] / [i915#4423]) -> [SKIP][354] ([i915#15102]) +1 other test skip
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-dg1-17/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-dg1-17/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-cur-indfb-move:
- shard-rkl: [SKIP][355] ([i915#14544]) -> [SKIP][356] +26 other tests skip
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-cur-indfb-move.html
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-cur-indfb-move.html
* igt@kms_hdr@brightness-with-hdr:
- shard-mtlp: [SKIP][357] ([i915#12713] / [i915#16490]) -> [SKIP][358] ([i915#1187] / [i915#12713] / [i915#16490])
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-mtlp-2/igt@kms_hdr@brightness-with-hdr.html
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-mtlp-1/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_hdr@invalid-hdr:
- shard-rkl: [SKIP][359] ([i915#14544] / [i915#3555] / [i915#8228]) -> [SKIP][360] ([i915#3555] / [i915#8228])
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_hdr@invalid-hdr.html
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_hdr@invalid-hdr.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-rkl: [SKIP][361] ([i915#14712]) -> [SKIP][362] ([i915#14544] / [i915#14712])
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping:
- shard-rkl: [SKIP][363] ([i915#15709]) -> [SKIP][364] ([i915#14544] / [i915#15709])
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping.html
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier:
- shard-rkl: [SKIP][365] ([i915#14544] / [i915#15709]) -> [SKIP][366] ([i915#15709]) +1 other test skip
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-rkl: [SKIP][367] ([i915#13958] / [i915#14544]) -> [SKIP][368] ([i915#13958])
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-4.html
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-rkl: [SKIP][369] ([i915#13958]) -> [SKIP][370] ([i915#13958] / [i915#14544])
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_plane_multiple@2x-tiling-none.html
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@tiling-yf:
- shard-rkl: [SKIP][371] ([i915#14259]) -> [SKIP][372] ([i915#14259] / [i915#14544])
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_plane_multiple@tiling-yf.html
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area:
- shard-rkl: [SKIP][373] ([i915#11520]) -> [SKIP][374] ([i915#11520] / [i915#14544])
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-rkl: [SKIP][375] ([i915#11520] / [i915#14544]) -> [SKIP][376] ([i915#11520]) +2 other tests skip
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr@fbc-psr2-sprite-mmap-cpu:
- shard-rkl: [SKIP][377] ([i915#1072] / [i915#9732]) -> [SKIP][378] ([i915#1072] / [i915#14544] / [i915#9732]) +3 other tests skip
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-3/igt@kms_psr@fbc-psr2-sprite-mmap-cpu.html
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-6/igt@kms_psr@fbc-psr2-sprite-mmap-cpu.html
* igt@kms_psr@psr-sprite-plane-move:
- shard-rkl: [SKIP][379] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][380] ([i915#1072] / [i915#9732]) +4 other tests skip
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@kms_psr@psr-sprite-plane-move.html
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@kms_psr@psr-sprite-plane-move.html
* igt@prime_vgem@basic-write:
- shard-rkl: [SKIP][381] ([i915#14544] / [i915#3291] / [i915#3708]) -> [SKIP][382] ([i915#3291] / [i915#3708])
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18712/shard-rkl-6/igt@prime_vgem@basic-write.html
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_169058v1/shard-rkl-2/igt@prime_vgem@basic-write.html
[i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527
[i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
[i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
[i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
[i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
[i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
[i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
[i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
[i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
[i915#13030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13030
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13409]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13409
[i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
[i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
[i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
[i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
[i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14412
[i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
[i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
[i915#14888]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14888
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
[i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
[i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
[i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
[i915#15492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15492
[i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
[i915#15638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15638
[i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
[i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656
[i915#15678]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15678
[i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
[i915#15722]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15722
[i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733
[i915#15739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15739
[i915#15778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15778
[i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
[i915#15944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15944
[i915#15949]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15949
[i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989
[i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990
[i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991
[i915#16066]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16066
[i915#16080]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16080
[i915#16081]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16081
[i915#16109]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16109
[i915#16166]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16166
[i915#16182]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16182
[i915#16184]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16184
[i915#16226]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16226
[i915#16276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16276
[i915#16348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16348
[i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361
[i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386
[i915#16420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16420
[i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471
[i915#16489]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16489
[i915#16490]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16490
[i915#16492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16492
[i915#16496]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16496
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
[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#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[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#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4348
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[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#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[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#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_18712 -> Patchwork_169058v1
CI-20190529: 20190529
CI_DRM_18712: e7cd62086ec5a70cefb8b8b00964096692bfab36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8981: 28416da6681a1afa167bdd73cdc934cb36d13133 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_169058v1: e7cd62086ec5a70cefb8b8b00964096692bfab36 @ 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_169058v1/index.html
[-- Attachment #2: Type: text/html, Size: 132230 bytes --]
^ permalink raw reply [flat|nested] 39+ messages in thread
end of thread, other threads:[~2026-06-24 10:46 UTC | newest]
Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 22:45 [PATCH v1 00/30] Comments applied to dp_link_caps Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 01/30] drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 02/30] drm/i915/dp: Add struct intel_dp_link_config Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 03/30] drm/i915/dp_link_caps: Introduce DP link capability module Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 04/30] drm/i915/dp_link_caps: Move common rate helpers to link caps Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 05/30] drm/i915/dp_link_caps: Move forced link param " Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 06/30] drm/i915/dp: Simplify querying of forced link parameters Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 07/30] drm/i915/dp_link_caps: Move forced and max link debugfs entries to link caps Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 08/30] drm/i915/dp_link_training: Use helpers to get forced link params Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 09/30] drm/i915/dp_link_caps: Move forced link params to link_caps Michał Grzelak
2026-06-23 22:45 ` [PATCH v1 10/30] drm/i915/dp_link_caps: Move link config helpers to link caps Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 11/30] drm/i915/dp_link_caps: Move link config tracking to link_caps Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 12/30] drm/i915/dp_link_caps: Rename helper updating the link configurations Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 13/30] drm/i915/dp: Factor out helper to get link rate capabilities Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 14/30] drm/i915/dp_link_caps: Pass supported link rates to link caps update Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 15/30] drm/i915/dp_link_caps: Add helper to print all supported link rates Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 16/30] drm/i915/dp_link_caps: Add helper to get the number of " Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 17/30] drm/i915/dp_link_caps: Add helper to get common rate index Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 18/30] drm/i915/dp_link_caps: Move tracking of common rates to link_caps struct Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 19/30] drm/i915/dp_link_caps: Track max common lane count in link_caps Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 20/30] drm/i915/dp_link_caps: Use max common lane count from link_caps Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 21/30] drm/i915/dp_link_caps: Add helpers to get max link limits Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 22/30] drm/i915/dp_link_caps: Add helpers to set " Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 23/30] drm/i915/dp_link_caps: Add helper to reset " Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 24/30] drm/i915/dp_link_caps: Add helper to reset link_caps state Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 25/30] drm/i915/dp_link_caps: Move max link limits to link_caps Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 26/30] drm/i915/dp_link_caps: Pass link_caps to static functions Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 27/30] drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 28/30] drm/i915/dp_link_caps: Pass link_caps to common rate helpers Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 29/30] drm/i915/dp_link_caps: s/lc/lce/ Michał Grzelak
2026-06-23 22:46 ` [PATCH v1 30/30] drm/i915/dp: return -EINVAL on failure Michał Grzelak
2026-06-23 23:09 ` ✗ CI.checkpatch: warning for Comments applied to dp_link_caps Patchwork
2026-06-23 23:10 ` ✓ CI.KUnit: success " Patchwork
2026-06-23 23:46 ` ✓ Xe.CI.BAT: " Patchwork
2026-06-24 0:37 ` ✓ i915.CI.BAT: " Patchwork
2026-06-24 5:22 ` ✓ Xe.CI.FULL: " Patchwork
2026-06-24 8:12 ` [PATCH v1 00/30] " Jani Nikula
2026-06-24 8:25 ` Michał Grzelak
2026-06-24 10:46 ` ✓ i915.CI.Full: success for " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.