* [PATCH 1/9] drm/dp: Rename and relocate AS SDP payload field masks
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 2/9] drm/dp: Clean up DPRX feature enumeration macros Ankit Nautiyal
` (11 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
The AS SDP payload field masks were misnamed and placed under the DPRX
feature enumeration list. These are not DPRX capability bits, but are
payload field masks for the Adaptive Sync SDP.
Relocate both masks next to the AS SDP definitions.
Update users to the corrected names. No functional change.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 4 ++--
include/drm/display/drm_dp.h | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 8631df908b07..0d15e813ba71 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5354,8 +5354,8 @@ int intel_dp_as_sdp_unpack(struct drm_dp_as_sdp *as_sdp,
if ((sdp->sdp_header.HB3 & 0x3F) != 9)
return -EINVAL;
- as_sdp->length = sdp->sdp_header.HB3 & DP_ADAPTIVE_SYNC_SDP_LENGTH;
- as_sdp->mode = sdp->db[0] & DP_ADAPTIVE_SYNC_SDP_OPERATION_MODE;
+ as_sdp->length = sdp->sdp_header.HB3 & DP_AS_SDP_LENGTH_MASK;
+ as_sdp->mode = sdp->db[0] & DP_AS_SDP_OPERATION_MODE_MASK;
as_sdp->vtotal = (sdp->db[2] << 8) | sdp->db[1];
as_sdp->target_rr = (u64)sdp->db[3] | ((u64)sdp->db[4] & 0x3);
as_sdp->target_rr_divider = sdp->db[4] & 0x20 ? true : false;
diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
index 8b15d3eeb716..4ea3b5b08a12 100644
--- a/include/drm/display/drm_dp.h
+++ b/include/drm/display/drm_dp.h
@@ -1204,8 +1204,6 @@
#define DP_DPRX_FEATURE_ENUMERATION_LIST_CONT_1 0x2214 /* 2.0 E11 */
# define DP_ADAPTIVE_SYNC_SDP_SUPPORTED (1 << 0)
-# define DP_ADAPTIVE_SYNC_SDP_OPERATION_MODE GENMASK(1, 0)
-# define DP_ADAPTIVE_SYNC_SDP_LENGTH GENMASK(5, 0)
# define DP_AS_SDP_FIRST_HALF_LINE_OR_3840_PIXEL_CYCLE_WINDOW_NOT_SUPPORTED (1 << 1)
# define DP_VSC_EXT_SDP_FRAMEWORK_VERSION_1_SUPPORTED (1 << 4)
@@ -1870,4 +1868,7 @@ enum operation_mode {
DP_AS_SDP_FAVT_TRR_REACHED = 0x03
};
+#define DP_AS_SDP_OPERATION_MODE_MASK GENMASK(1, 0)
+#define DP_AS_SDP_LENGTH_MASK GENMASK(5, 0)
+
#endif /* _DRM_DP_H_ */
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH 2/9] drm/dp: Clean up DPRX feature enumeration macros
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 1/9] drm/dp: Rename and relocate AS SDP payload field masks Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 3/9] drm/dp: Add bits for AS SDP FAVT Payload Fields Parsing support Ankit Nautiyal
` (10 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
Align the DP_DPRX feature enumeration macros for better readability and
consistency, and use the BIT() macro instead of open-coded shifts.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
include/drm/display/drm_dp.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
index 4ea3b5b08a12..49f0154eb93c 100644
--- a/include/drm/display/drm_dp.h
+++ b/include/drm/display/drm_dp.h
@@ -1202,10 +1202,10 @@
# define DP_DPRX_SLEEP_WAKE_TIMEOUT_PERIOD_80_MS 0x04
# define DP_DPRX_SLEEP_WAKE_TIMEOUT_PERIOD_100_MS 0x05
-#define DP_DPRX_FEATURE_ENUMERATION_LIST_CONT_1 0x2214 /* 2.0 E11 */
-# define DP_ADAPTIVE_SYNC_SDP_SUPPORTED (1 << 0)
-# define DP_AS_SDP_FIRST_HALF_LINE_OR_3840_PIXEL_CYCLE_WINDOW_NOT_SUPPORTED (1 << 1)
-# define DP_VSC_EXT_SDP_FRAMEWORK_VERSION_1_SUPPORTED (1 << 4)
+#define DP_DPRX_FEATURE_ENUMERATION_LIST_CONT_1 0x2214 /* 2.0 E11 */
+# define DP_ADAPTIVE_SYNC_SDP_SUPPORTED BIT(0)
+# define DP_AS_SDP_FIRST_HALF_LINE_OR_3840_PIXEL_CYCLE_WINDOW_NOT_SUPPORTED BIT(1)
+# define DP_VSC_EXT_SDP_FRAMEWORK_VERSION_1_SUPPORTED BIT(4)
#define DP_128B132B_SUPPORTED_LINK_RATES 0x2215 /* 2.0 */
# define DP_UHBR10 (1 << 0)
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH 3/9] drm/dp: Add bits for AS SDP FAVT Payload Fields Parsing support
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 1/9] drm/dp: Rename and relocate AS SDP payload field masks Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 2/9] drm/dp: Clean up DPRX feature enumeration macros Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 4/9] drm/dp: Add DPCD for configuring AS SDP for PR + VRR Ankit Nautiyal
` (9 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
DP v2.1 introduced support for sending AS SDP payload bytes for FAVT.
Add the relavant bits for the same.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
include/drm/display/drm_dp.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
index 49f0154eb93c..8d172863eba3 100644
--- a/include/drm/display/drm_dp.h
+++ b/include/drm/display/drm_dp.h
@@ -1205,6 +1205,7 @@
#define DP_DPRX_FEATURE_ENUMERATION_LIST_CONT_1 0x2214 /* 2.0 E11 */
# define DP_ADAPTIVE_SYNC_SDP_SUPPORTED BIT(0)
# define DP_AS_SDP_FIRST_HALF_LINE_OR_3840_PIXEL_CYCLE_WINDOW_NOT_SUPPORTED BIT(1)
+# define DP_AS_SDP_FAVT_PAYLOAD_FIELDS_PARSING_SUPPORTED BIT(2) /* 2.1 */
# define DP_VSC_EXT_SDP_FRAMEWORK_VERSION_1_SUPPORTED BIT(4)
#define DP_128B132B_SUPPORTED_LINK_RATES 0x2215 /* 2.0 */
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH 4/9] drm/dp: Add DPCD for configuring AS SDP for PR + VRR
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (2 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 3/9] drm/dp: Add bits for AS SDP FAVT Payload Fields Parsing support Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 5/9] drm/dp: Refactor AS SDP logging to use space-separated field names Ankit Nautiyal
` (8 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
Add additional DPCDs required to be configured to support VRR with Panel
Replay. These DPCDs are specifically required for configuring Adaptive Sync
SDP and are introduced in DP v2.1.
v2:
- Correct the shift for the bits. (Ville)
- Add DP_PR_ prefix for the PR-related fields.
v3:
- Use macro values in their shifted form to match the convention. (Ville)
v4:
- Add macro for the mask. (Ville)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
include/drm/display/drm_dp.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
index 8d172863eba3..829e4d98d61c 100644
--- a/include/drm/display/drm_dp.h
+++ b/include/drm/display/drm_dp.h
@@ -718,6 +718,12 @@
#define DP_EXTENDED_DPRX_SLEEP_WAKE_TIMEOUT_GRANT 0x119 /* 1.4a */
# define DP_DPRX_SLEEP_WAKE_TIMEOUT_PERIOD_GRANTED (1 << 0)
+#define PANEL_REPLAY_CONFIG3 0x11a /* DP 2.1 */
+# define DP_PR_AS_SDP_SETUP_TIME_MASK (3 << 6)
+# define DP_PR_AS_SDP_SETUP_TIME_T1 (0 << 6)
+# define DP_PR_AS_SDP_SETUP_TIME_DYNAMIC (1 << 6) /* DP 2.1 Table 2-227 */
+# define DP_PR_AS_SDP_SETUP_TIME_T2 (2 << 6)
+
#define DP_FEC_CONFIGURATION 0x120 /* 1.4 */
# define DP_FEC_READY (1 << 0)
# define DP_FEC_ERR_COUNT_SEL_MASK (7 << 1)
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH 5/9] drm/dp: Refactor AS SDP logging to use space-separated field names
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (3 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 4/9] drm/dp: Add DPCD for configuring AS SDP for PR + VRR Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-05-08 14:36 ` Ville Syrjälä
2026-04-28 7:44 ` [PATCH 6/9] drm/dp: Store coasting vtotal in struct drm_dp_as_sdp Ankit Nautiyal
` (7 subsequent siblings)
12 siblings, 1 reply; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
Replace underscores with spaces in AS SDP log field labels to be
consistent with the VSC SDP logging style.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index a697cc227e28..745559826cd9 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -3508,10 +3508,10 @@ void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp
drm_printf(p, "DP SDP: AS_SDP, revision %u, length %u\n",
as_sdp->revision, as_sdp->length);
drm_printf(p, " vtotal: %d\n", as_sdp->vtotal);
- drm_printf(p, " target_rr: %d\n", as_sdp->target_rr);
- drm_printf(p, " duration_incr_ms: %d\n", as_sdp->duration_incr_ms);
- drm_printf(p, " duration_decr_ms: %d\n", as_sdp->duration_decr_ms);
- drm_printf(p, " operation_mode: %d\n", as_sdp->mode);
+ drm_printf(p, " target rr: %d\n", as_sdp->target_rr);
+ drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
+ drm_printf(p, " duration decrease ms: %d\n", as_sdp->duration_decr_ms);
+ drm_printf(p, " operation mode: %d\n", as_sdp->mode);
}
EXPORT_SYMBOL(drm_dp_as_sdp_log);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH 5/9] drm/dp: Refactor AS SDP logging to use space-separated field names
2026-04-28 7:44 ` [PATCH 5/9] drm/dp: Refactor AS SDP logging to use space-separated field names Ankit Nautiyal
@ 2026-05-08 14:36 ` Ville Syrjälä
0 siblings, 0 replies; 17+ messages in thread
From: Ville Syrjälä @ 2026-05-08 14:36 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-gfx, intel-xe, dri-devel, jani.nikula
On Tue, Apr 28, 2026 at 01:14:53PM +0530, Ankit Nautiyal wrote:
> Replace underscores with spaces in AS SDP log field labels to be
> consistent with the VSC SDP logging style.
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/display/drm_dp_helper.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> index a697cc227e28..745559826cd9 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -3508,10 +3508,10 @@ void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp
> drm_printf(p, "DP SDP: AS_SDP, revision %u, length %u\n",
> as_sdp->revision, as_sdp->length);
> drm_printf(p, " vtotal: %d\n", as_sdp->vtotal);
> - drm_printf(p, " target_rr: %d\n", as_sdp->target_rr);
> - drm_printf(p, " duration_incr_ms: %d\n", as_sdp->duration_incr_ms);
> - drm_printf(p, " duration_decr_ms: %d\n", as_sdp->duration_decr_ms);
> - drm_printf(p, " operation_mode: %d\n", as_sdp->mode);
> + drm_printf(p, " target rr: %d\n", as_sdp->target_rr);
> + drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
> + drm_printf(p, " duration decrease ms: %d\n", as_sdp->duration_decr_ms);
> + drm_printf(p, " operation mode: %d\n", as_sdp->mode);
> }
> EXPORT_SYMBOL(drm_dp_as_sdp_log);
>
> --
> 2.45.2
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 6/9] drm/dp: Store coasting vtotal in struct drm_dp_as_sdp
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (4 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 5/9] drm/dp: Refactor AS SDP logging to use space-separated field names Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 7/9] drm/dp: Add a helper to get the SDP type as a string Ankit Nautiyal
` (6 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
Add new field in struct drm_dp_as_sdp to store coasting vtotal.
This is used by the sinks that support Panel Replay and Asynchronous
timing during PR Active to derive refresh rate, when AS SDP transmission
is stopped by the source.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 1 +
include/drm/display/drm_dp_helper.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index 745559826cd9..5f523d0514a5 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -3512,6 +3512,7 @@ void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp
drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
drm_printf(p, " duration decrease ms: %d\n", as_sdp->duration_decr_ms);
drm_printf(p, " operation mode: %d\n", as_sdp->mode);
+ drm_printf(p, " coasting vtotal: %d\n", as_sdp->coasting_vtotal);
}
EXPORT_SYMBOL(drm_dp_as_sdp_log);
diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
index 1d0acd58f486..8c2d77a032f0 100644
--- a/include/drm/display/drm_dp_helper.h
+++ b/include/drm/display/drm_dp_helper.h
@@ -126,6 +126,7 @@ struct drm_dp_as_sdp {
int duration_decr_ms;
bool target_rr_divider;
enum operation_mode mode;
+ int coasting_vtotal;
};
void drm_dp_as_sdp_log(struct drm_printer *p,
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH 7/9] drm/dp: Add a helper to get the SDP type as a string
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (5 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 6/9] drm/dp: Store coasting vtotal in struct drm_dp_as_sdp Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-05-08 14:38 ` Ville Syrjälä
2026-04-28 7:44 ` [PATCH 8/9] drm/dp: Add target_rr_divider field in AS SDP logging Ankit Nautiyal
` (5 subsequent siblings)
12 siblings, 1 reply; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
Introduce dp_sdp_type_get_name() to get the SDP type as a string.
Use this to log the SDP type based on the sdp_type fields of the
VSC and AS SDPs instead of the hardcoded strings.
v2: Modify the SDP names to match the DisplayPort Spec. (Ville)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 36 ++++++++++++++++++++++---
1 file changed, 32 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index 5f523d0514a5..654be04431ad 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -3487,10 +3487,38 @@ static const char *dp_content_type_get_name(enum dp_content_type content_type)
}
}
+static const char *dp_sdp_type_get_name(unsigned char type)
+{
+ switch (type) {
+ case DP_SDP_AUDIO_TIMESTAMP:
+ return "Audio_TimeStamp";
+ case DP_SDP_AUDIO_STREAM:
+ return "Audio_Stream";
+ case DP_SDP_EXTENSION:
+ return "Extension";
+ case DP_SDP_AUDIO_COPYMANAGEMENT:
+ return "Audio_CopyManagement";
+ case DP_SDP_ISRC:
+ return "ISRC";
+ case DP_SDP_VSC:
+ return "VSC";
+ case DP_SDP_PPS:
+ return "PPS";
+ case DP_SDP_VSC_EXT_VESA:
+ return "VSC_EXT_VESA";
+ case DP_SDP_VSC_EXT_CEA:
+ return "VSC_EXT_CEA";
+ case DP_SDP_ADAPTIVE_SYNC:
+ return "Adaptive-Sync";
+ default:
+ return "Unknown";
+ }
+}
+
void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc)
{
- drm_printf(p, "DP SDP: VSC, revision %u, length %u\n",
- vsc->revision, vsc->length);
+ drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
+ dp_sdp_type_get_name(vsc->sdp_type), vsc->revision, vsc->length);
drm_printf(p, " pixelformat: %s\n",
dp_pixelformat_get_name(vsc->pixelformat));
drm_printf(p, " colorimetry: %s\n",
@@ -3505,8 +3533,8 @@ EXPORT_SYMBOL(drm_dp_vsc_sdp_log);
void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp)
{
- drm_printf(p, "DP SDP: AS_SDP, revision %u, length %u\n",
- as_sdp->revision, as_sdp->length);
+ drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
+ dp_sdp_type_get_name(as_sdp->sdp_type), as_sdp->revision, as_sdp->length);
drm_printf(p, " vtotal: %d\n", as_sdp->vtotal);
drm_printf(p, " target rr: %d\n", as_sdp->target_rr);
drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH 7/9] drm/dp: Add a helper to get the SDP type as a string
2026-04-28 7:44 ` [PATCH 7/9] drm/dp: Add a helper to get the SDP type as a string Ankit Nautiyal
@ 2026-05-08 14:38 ` Ville Syrjälä
0 siblings, 0 replies; 17+ messages in thread
From: Ville Syrjälä @ 2026-05-08 14:38 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-gfx, intel-xe, dri-devel, jani.nikula
On Tue, Apr 28, 2026 at 01:14:55PM +0530, Ankit Nautiyal wrote:
> Introduce dp_sdp_type_get_name() to get the SDP type as a string.
> Use this to log the SDP type based on the sdp_type fields of the
> VSC and AS SDPs instead of the hardcoded strings.
>
> v2: Modify the SDP names to match the DisplayPort Spec. (Ville)
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/display/drm_dp_helper.c | 36 ++++++++++++++++++++++---
> 1 file changed, 32 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> index 5f523d0514a5..654be04431ad 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -3487,10 +3487,38 @@ static const char *dp_content_type_get_name(enum dp_content_type content_type)
> }
> }
>
> +static const char *dp_sdp_type_get_name(unsigned char type)
> +{
> + switch (type) {
> + case DP_SDP_AUDIO_TIMESTAMP:
> + return "Audio_TimeStamp";
> + case DP_SDP_AUDIO_STREAM:
> + return "Audio_Stream";
> + case DP_SDP_EXTENSION:
> + return "Extension";
> + case DP_SDP_AUDIO_COPYMANAGEMENT:
> + return "Audio_CopyManagement";
> + case DP_SDP_ISRC:
> + return "ISRC";
> + case DP_SDP_VSC:
> + return "VSC";
> + case DP_SDP_PPS:
> + return "PPS";
> + case DP_SDP_VSC_EXT_VESA:
> + return "VSC_EXT_VESA";
> + case DP_SDP_VSC_EXT_CEA:
> + return "VSC_EXT_CEA";
> + case DP_SDP_ADAPTIVE_SYNC:
> + return "Adaptive-Sync";
> + default:
> + return "Unknown";
> + }
> +}
> +
> void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc)
> {
> - drm_printf(p, "DP SDP: VSC, revision %u, length %u\n",
> - vsc->revision, vsc->length);
> + drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
> + dp_sdp_type_get_name(vsc->sdp_type), vsc->revision, vsc->length);
> drm_printf(p, " pixelformat: %s\n",
> dp_pixelformat_get_name(vsc->pixelformat));
> drm_printf(p, " colorimetry: %s\n",
> @@ -3505,8 +3533,8 @@ EXPORT_SYMBOL(drm_dp_vsc_sdp_log);
>
> void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp)
> {
> - drm_printf(p, "DP SDP: AS_SDP, revision %u, length %u\n",
> - as_sdp->revision, as_sdp->length);
> + drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
> + dp_sdp_type_get_name(as_sdp->sdp_type), as_sdp->revision, as_sdp->length);
> drm_printf(p, " vtotal: %d\n", as_sdp->vtotal);
> drm_printf(p, " target rr: %d\n", as_sdp->target_rr);
> drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
> --
> 2.45.2
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 8/9] drm/dp: Add target_rr_divider field in AS SDP logging
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (6 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 7/9] drm/dp: Add a helper to get the SDP type as a string Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 7:44 ` [PATCH 9/9] drm/dp: Use drm_printf_indent for DP " Ankit Nautiyal
` (4 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
The field target_rr_divider is missing from the AS SDP logging.
Add it and print the divider value (1.001 or 1.000) as per the DP 2.1 spec.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index 654be04431ad..fc550b48fd85 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -3540,6 +3540,8 @@ void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp
drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
drm_printf(p, " duration decrease ms: %d\n", as_sdp->duration_decr_ms);
drm_printf(p, " operation mode: %d\n", as_sdp->mode);
+ drm_printf(p, " target rr divider: %s\n",
+ as_sdp->target_rr_divider ? "1.001" : "1.000");
drm_printf(p, " coasting vtotal: %d\n", as_sdp->coasting_vtotal);
}
EXPORT_SYMBOL(drm_dp_as_sdp_log);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH 9/9] drm/dp: Use drm_printf_indent for DP SDP logging
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (7 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 8/9] drm/dp: Add target_rr_divider field in AS SDP logging Ankit Nautiyal
@ 2026-04-28 7:44 ` Ankit Nautiyal
2026-04-28 10:17 ` Jani Nikula
2026-04-28 8:31 ` ✓ CI.KUnit: success for AS SDP cleanups and additions for Panel Replay + VRR (rev2) Patchwork
` (3 subsequent siblings)
12 siblings, 1 reply; 17+ messages in thread
From: Ankit Nautiyal @ 2026-04-28 7:44 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel; +Cc: ville.syrjala, jani.nikula, Ankit Nautiyal
Currently the DP SDP log helpers use spaces for indentation. Switch to
tabs for indentation and use drm_printf_indent to keep the format
strings readable.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 36 +++++++++++++------------
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index fc550b48fd85..4bf7b783ac39 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -3519,15 +3519,16 @@ void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc)
{
drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
dp_sdp_type_get_name(vsc->sdp_type), vsc->revision, vsc->length);
- drm_printf(p, " pixelformat: %s\n",
- dp_pixelformat_get_name(vsc->pixelformat));
- drm_printf(p, " colorimetry: %s\n",
- dp_colorimetry_get_name(vsc->pixelformat, vsc->colorimetry));
- drm_printf(p, " bpc: %u\n", vsc->bpc);
- drm_printf(p, " dynamic range: %s\n",
- dp_dynamic_range_get_name(vsc->dynamic_range));
- drm_printf(p, " content type: %s\n",
- dp_content_type_get_name(vsc->content_type));
+
+ drm_printf_indent(p, 1, "pixelformat: %s\n",
+ dp_pixelformat_get_name(vsc->pixelformat));
+ drm_printf_indent(p, 1, "colorimetry: %s\n",
+ dp_colorimetry_get_name(vsc->pixelformat, vsc->colorimetry));
+ drm_printf_indent(p, 1, "bpc: %u\n", vsc->bpc);
+ drm_printf_indent(p, 1, "dynamic range: %s\n",
+ dp_dynamic_range_get_name(vsc->dynamic_range));
+ drm_printf_indent(p, 1, "content type: %s\n",
+ dp_content_type_get_name(vsc->content_type));
}
EXPORT_SYMBOL(drm_dp_vsc_sdp_log);
@@ -3535,14 +3536,15 @@ void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp
{
drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
dp_sdp_type_get_name(as_sdp->sdp_type), as_sdp->revision, as_sdp->length);
- drm_printf(p, " vtotal: %d\n", as_sdp->vtotal);
- drm_printf(p, " target rr: %d\n", as_sdp->target_rr);
- drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
- drm_printf(p, " duration decrease ms: %d\n", as_sdp->duration_decr_ms);
- drm_printf(p, " operation mode: %d\n", as_sdp->mode);
- drm_printf(p, " target rr divider: %s\n",
- as_sdp->target_rr_divider ? "1.001" : "1.000");
- drm_printf(p, " coasting vtotal: %d\n", as_sdp->coasting_vtotal);
+
+ drm_printf_indent(p, 1, "vtotal: %d\n", as_sdp->vtotal);
+ drm_printf_indent(p, 1, "target rr: %d\n", as_sdp->target_rr);
+ drm_printf_indent(p, 1, "duration increase ms: %d\n", as_sdp->duration_incr_ms);
+ drm_printf_indent(p, 1, "duration decrease ms: %d\n", as_sdp->duration_decr_ms);
+ drm_printf_indent(p, 1, "operation mode: %d\n", as_sdp->mode);
+ drm_printf_indent(p, 1, "target rr divider: %s\n",
+ as_sdp->target_rr_divider ? "1.001" : "1.000");
+ drm_printf_indent(p, 1, "coasting vtotal: %d\n", as_sdp->coasting_vtotal);
}
EXPORT_SYMBOL(drm_dp_as_sdp_log);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH 9/9] drm/dp: Use drm_printf_indent for DP SDP logging
2026-04-28 7:44 ` [PATCH 9/9] drm/dp: Use drm_printf_indent for DP " Ankit Nautiyal
@ 2026-04-28 10:17 ` Jani Nikula
0 siblings, 0 replies; 17+ messages in thread
From: Jani Nikula @ 2026-04-28 10:17 UTC (permalink / raw)
To: Ankit Nautiyal, intel-gfx, intel-xe, dri-devel
Cc: ville.syrjala, Ankit Nautiyal
On Tue, 28 Apr 2026, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> Currently the DP SDP log helpers use spaces for indentation. Switch to
> tabs for indentation and use drm_printf_indent to keep the format
> strings readable.
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/display/drm_dp_helper.c | 36 +++++++++++++------------
> 1 file changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> index fc550b48fd85..4bf7b783ac39 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -3519,15 +3519,16 @@ void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc)
> {
> drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
> dp_sdp_type_get_name(vsc->sdp_type), vsc->revision, vsc->length);
> - drm_printf(p, " pixelformat: %s\n",
> - dp_pixelformat_get_name(vsc->pixelformat));
> - drm_printf(p, " colorimetry: %s\n",
> - dp_colorimetry_get_name(vsc->pixelformat, vsc->colorimetry));
> - drm_printf(p, " bpc: %u\n", vsc->bpc);
> - drm_printf(p, " dynamic range: %s\n",
> - dp_dynamic_range_get_name(vsc->dynamic_range));
> - drm_printf(p, " content type: %s\n",
> - dp_content_type_get_name(vsc->content_type));
> +
> + drm_printf_indent(p, 1, "pixelformat: %s\n",
> + dp_pixelformat_get_name(vsc->pixelformat));
> + drm_printf_indent(p, 1, "colorimetry: %s\n",
> + dp_colorimetry_get_name(vsc->pixelformat, vsc->colorimetry));
> + drm_printf_indent(p, 1, "bpc: %u\n", vsc->bpc);
> + drm_printf_indent(p, 1, "dynamic range: %s\n",
> + dp_dynamic_range_get_name(vsc->dynamic_range));
> + drm_printf_indent(p, 1, "content type: %s\n",
> + dp_content_type_get_name(vsc->content_type));
> }
> EXPORT_SYMBOL(drm_dp_vsc_sdp_log);
>
> @@ -3535,14 +3536,15 @@ void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp
> {
> drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
> dp_sdp_type_get_name(as_sdp->sdp_type), as_sdp->revision, as_sdp->length);
> - drm_printf(p, " vtotal: %d\n", as_sdp->vtotal);
> - drm_printf(p, " target rr: %d\n", as_sdp->target_rr);
> - drm_printf(p, " duration increase ms: %d\n", as_sdp->duration_incr_ms);
> - drm_printf(p, " duration decrease ms: %d\n", as_sdp->duration_decr_ms);
> - drm_printf(p, " operation mode: %d\n", as_sdp->mode);
> - drm_printf(p, " target rr divider: %s\n",
> - as_sdp->target_rr_divider ? "1.001" : "1.000");
> - drm_printf(p, " coasting vtotal: %d\n", as_sdp->coasting_vtotal);
> +
> + drm_printf_indent(p, 1, "vtotal: %d\n", as_sdp->vtotal);
> + drm_printf_indent(p, 1, "target rr: %d\n", as_sdp->target_rr);
> + drm_printf_indent(p, 1, "duration increase ms: %d\n", as_sdp->duration_incr_ms);
> + drm_printf_indent(p, 1, "duration decrease ms: %d\n", as_sdp->duration_decr_ms);
> + drm_printf_indent(p, 1, "operation mode: %d\n", as_sdp->mode);
> + drm_printf_indent(p, 1, "target rr divider: %s\n",
> + as_sdp->target_rr_divider ? "1.001" : "1.000");
> + drm_printf_indent(p, 1, "coasting vtotal: %d\n", as_sdp->coasting_vtotal);
> }
> EXPORT_SYMBOL(drm_dp_as_sdp_log);
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 17+ messages in thread
* ✓ CI.KUnit: success for AS SDP cleanups and additions for Panel Replay + VRR (rev2)
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (8 preceding siblings ...)
2026-04-28 7:44 ` [PATCH 9/9] drm/dp: Use drm_printf_indent for DP " Ankit Nautiyal
@ 2026-04-28 8:31 ` Patchwork
2026-04-28 9:28 ` ✓ Xe.CI.BAT: " Patchwork
` (2 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-04-28 8:31 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe
== Series Details ==
Series: AS SDP cleanups and additions for Panel Replay + VRR (rev2)
URL : https://patchwork.freedesktop.org/series/165419/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[08:28:44] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:28:51] 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
[08:29:53] Starting KUnit Kernel (1/1)...
[08:29:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:29:53] ================== guc_buf (11 subtests) ===================
[08:29:53] [PASSED] test_smallest
[08:29:53] [PASSED] test_largest
[08:29:53] [PASSED] test_granular
[08:29:53] [PASSED] test_unique
[08:29:53] [PASSED] test_overlap
[08:29:53] [PASSED] test_reusable
[08:29:53] [PASSED] test_too_big
[08:29:53] [PASSED] test_flush
[08:29:53] [PASSED] test_lookup
[08:29:53] [PASSED] test_data
[08:29:53] [PASSED] test_class
[08:29:53] ===================== [PASSED] guc_buf =====================
[08:29:53] =================== guc_dbm (7 subtests) ===================
[08:29:53] [PASSED] test_empty
[08:29:53] [PASSED] test_default
[08:29:53] ======================== test_size ========================
[08:29:53] [PASSED] 4
[08:29:53] [PASSED] 8
[08:29:53] [PASSED] 32
[08:29:53] [PASSED] 256
[08:29:53] ==================== [PASSED] test_size ====================
[08:29:53] ======================= test_reuse ========================
[08:29:53] [PASSED] 4
[08:29:53] [PASSED] 8
[08:29:53] [PASSED] 32
[08:29:53] [PASSED] 256
[08:29:53] =================== [PASSED] test_reuse ====================
[08:29:53] =================== test_range_overlap ====================
[08:29:53] [PASSED] 4
[08:29:53] [PASSED] 8
[08:29:53] [PASSED] 32
[08:29:53] [PASSED] 256
[08:29:53] =============== [PASSED] test_range_overlap ================
[08:29:53] =================== test_range_compact ====================
[08:29:53] [PASSED] 4
[08:29:53] [PASSED] 8
[08:29:53] [PASSED] 32
[08:29:53] [PASSED] 256
[08:29:53] =============== [PASSED] test_range_compact ================
[08:29:53] ==================== test_range_spare =====================
[08:29:53] [PASSED] 4
[08:29:53] [PASSED] 8
[08:29:53] [PASSED] 32
[08:29:53] [PASSED] 256
[08:29:53] ================ [PASSED] test_range_spare =================
[08:29:53] ===================== [PASSED] guc_dbm =====================
[08:29:53] =================== guc_idm (6 subtests) ===================
[08:29:53] [PASSED] bad_init
[08:29:53] [PASSED] no_init
[08:29:53] [PASSED] init_fini
[08:29:53] [PASSED] check_used
[08:29:53] [PASSED] check_quota
[08:29:53] [PASSED] check_all
[08:29:53] ===================== [PASSED] guc_idm =====================
[08:29:53] ================== no_relay (3 subtests) ===================
[08:29:53] [PASSED] xe_drops_guc2pf_if_not_ready
[08:29:53] [PASSED] xe_drops_guc2vf_if_not_ready
[08:29:53] [PASSED] xe_rejects_send_if_not_ready
[08:29:53] ==================== [PASSED] no_relay =====================
[08:29:53] ================== pf_relay (14 subtests) ==================
[08:29:53] [PASSED] pf_rejects_guc2pf_too_short
[08:29:53] [PASSED] pf_rejects_guc2pf_too_long
[08:29:53] [PASSED] pf_rejects_guc2pf_no_payload
[08:29:53] [PASSED] pf_fails_no_payload
[08:29:53] [PASSED] pf_fails_bad_origin
[08:29:53] [PASSED] pf_fails_bad_type
[08:29:53] [PASSED] pf_txn_reports_error
[08:29:53] [PASSED] pf_txn_sends_pf2guc
[08:29:53] [PASSED] pf_sends_pf2guc
[08:29:53] [SKIPPED] pf_loopback_nop
[08:29:53] [SKIPPED] pf_loopback_echo
[08:29:53] [SKIPPED] pf_loopback_fail
[08:29:53] [SKIPPED] pf_loopback_busy
[08:29:53] [SKIPPED] pf_loopback_retry
[08:29:53] ==================== [PASSED] pf_relay =====================
[08:29:53] ================== vf_relay (3 subtests) ===================
[08:29:53] [PASSED] vf_rejects_guc2vf_too_short
[08:29:53] [PASSED] vf_rejects_guc2vf_too_long
[08:29:53] [PASSED] vf_rejects_guc2vf_no_payload
[08:29:53] ==================== [PASSED] vf_relay =====================
[08:29:53] ================ pf_gt_config (9 subtests) =================
[08:29:53] [PASSED] fair_contexts_1vf
[08:29:53] [PASSED] fair_doorbells_1vf
[08:29:53] [PASSED] fair_ggtt_1vf
[08:29:53] ====================== fair_vram_1vf ======================
[08:29:53] [PASSED] 3.50 GiB
[08:29:53] [PASSED] 11.5 GiB
[08:29:53] [PASSED] 15.5 GiB
[08:29:53] [PASSED] 31.5 GiB
[08:29:53] [PASSED] 63.5 GiB
[08:29:53] [PASSED] 1.91 GiB
[08:29:53] ================== [PASSED] fair_vram_1vf ==================
[08:29:53] ================ fair_vram_1vf_admin_only =================
[08:29:53] [PASSED] 3.50 GiB
[08:29:53] [PASSED] 11.5 GiB
[08:29:53] [PASSED] 15.5 GiB
[08:29:53] [PASSED] 31.5 GiB
[08:29:53] [PASSED] 63.5 GiB
[08:29:53] [PASSED] 1.91 GiB
[08:29:53] ============ [PASSED] fair_vram_1vf_admin_only =============
[08:29:53] ====================== fair_contexts ======================
[08:29:53] [PASSED] 1 VF
[08:29:53] [PASSED] 2 VFs
[08:29:53] [PASSED] 3 VFs
[08:29:53] [PASSED] 4 VFs
[08:29:53] [PASSED] 5 VFs
[08:29:53] [PASSED] 6 VFs
[08:29:53] [PASSED] 7 VFs
[08:29:53] [PASSED] 8 VFs
[08:29:53] [PASSED] 9 VFs
[08:29:53] [PASSED] 10 VFs
[08:29:53] [PASSED] 11 VFs
[08:29:53] [PASSED] 12 VFs
[08:29:53] [PASSED] 13 VFs
[08:29:53] [PASSED] 14 VFs
[08:29:53] [PASSED] 15 VFs
[08:29:53] [PASSED] 16 VFs
[08:29:53] [PASSED] 17 VFs
[08:29:53] [PASSED] 18 VFs
[08:29:53] [PASSED] 19 VFs
[08:29:53] [PASSED] 20 VFs
[08:29:53] [PASSED] 21 VFs
[08:29:53] [PASSED] 22 VFs
[08:29:53] [PASSED] 23 VFs
[08:29:53] [PASSED] 24 VFs
[08:29:53] [PASSED] 25 VFs
[08:29:53] [PASSED] 26 VFs
[08:29:53] [PASSED] 27 VFs
[08:29:53] [PASSED] 28 VFs
[08:29:53] [PASSED] 29 VFs
[08:29:53] [PASSED] 30 VFs
[08:29:53] [PASSED] 31 VFs
[08:29:53] [PASSED] 32 VFs
[08:29:53] [PASSED] 33 VFs
[08:29:53] [PASSED] 34 VFs
[08:29:53] [PASSED] 35 VFs
[08:29:53] [PASSED] 36 VFs
[08:29:53] [PASSED] 37 VFs
[08:29:53] [PASSED] 38 VFs
[08:29:53] [PASSED] 39 VFs
[08:29:53] [PASSED] 40 VFs
[08:29:53] [PASSED] 41 VFs
[08:29:53] [PASSED] 42 VFs
[08:29:53] [PASSED] 43 VFs
[08:29:53] [PASSED] 44 VFs
[08:29:53] [PASSED] 45 VFs
[08:29:53] [PASSED] 46 VFs
[08:29:53] [PASSED] 47 VFs
[08:29:53] [PASSED] 48 VFs
[08:29:53] [PASSED] 49 VFs
[08:29:53] [PASSED] 50 VFs
[08:29:53] [PASSED] 51 VFs
[08:29:53] [PASSED] 52 VFs
[08:29:53] [PASSED] 53 VFs
[08:29:53] [PASSED] 54 VFs
[08:29:53] [PASSED] 55 VFs
[08:29:53] [PASSED] 56 VFs
[08:29:53] [PASSED] 57 VFs
[08:29:53] [PASSED] 58 VFs
[08:29:53] [PASSED] 59 VFs
[08:29:53] [PASSED] 60 VFs
[08:29:53] [PASSED] 61 VFs
[08:29:53] [PASSED] 62 VFs
[08:29:53] [PASSED] 63 VFs
[08:29:53] ================== [PASSED] fair_contexts ==================
[08:29:53] ===================== fair_doorbells ======================
[08:29:53] [PASSED] 1 VF
[08:29:53] [PASSED] 2 VFs
[08:29:53] [PASSED] 3 VFs
[08:29:53] [PASSED] 4 VFs
[08:29:53] [PASSED] 5 VFs
[08:29:53] [PASSED] 6 VFs
[08:29:53] [PASSED] 7 VFs
[08:29:53] [PASSED] 8 VFs
[08:29:53] [PASSED] 9 VFs
[08:29:53] [PASSED] 10 VFs
[08:29:53] [PASSED] 11 VFs
[08:29:53] [PASSED] 12 VFs
[08:29:53] [PASSED] 13 VFs
[08:29:53] [PASSED] 14 VFs
[08:29:53] [PASSED] 15 VFs
[08:29:53] [PASSED] 16 VFs
[08:29:53] [PASSED] 17 VFs
[08:29:53] [PASSED] 18 VFs
[08:29:53] [PASSED] 19 VFs
[08:29:53] [PASSED] 20 VFs
[08:29:53] [PASSED] 21 VFs
[08:29:53] [PASSED] 22 VFs
[08:29:53] [PASSED] 23 VFs
[08:29:53] [PASSED] 24 VFs
[08:29:53] [PASSED] 25 VFs
[08:29:53] [PASSED] 26 VFs
[08:29:53] [PASSED] 27 VFs
[08:29:53] [PASSED] 28 VFs
[08:29:53] [PASSED] 29 VFs
[08:29:53] [PASSED] 30 VFs
[08:29:53] [PASSED] 31 VFs
[08:29:53] [PASSED] 32 VFs
[08:29:53] [PASSED] 33 VFs
[08:29:53] [PASSED] 34 VFs
[08:29:53] [PASSED] 35 VFs
[08:29:53] [PASSED] 36 VFs
[08:29:53] [PASSED] 37 VFs
[08:29:53] [PASSED] 38 VFs
[08:29:53] [PASSED] 39 VFs
[08:29:53] [PASSED] 40 VFs
[08:29:53] [PASSED] 41 VFs
[08:29:53] [PASSED] 42 VFs
[08:29:53] [PASSED] 43 VFs
[08:29:53] [PASSED] 44 VFs
[08:29:53] [PASSED] 45 VFs
[08:29:53] [PASSED] 46 VFs
[08:29:53] [PASSED] 47 VFs
[08:29:53] [PASSED] 48 VFs
[08:29:53] [PASSED] 49 VFs
[08:29:53] [PASSED] 50 VFs
[08:29:53] [PASSED] 51 VFs
[08:29:53] [PASSED] 52 VFs
[08:29:53] [PASSED] 53 VFs
[08:29:53] [PASSED] 54 VFs
[08:29:53] [PASSED] 55 VFs
[08:29:53] [PASSED] 56 VFs
[08:29:53] [PASSED] 57 VFs
[08:29:53] [PASSED] 58 VFs
[08:29:53] [PASSED] 59 VFs
[08:29:53] [PASSED] 60 VFs
[08:29:53] [PASSED] 61 VFs
[08:29:53] [PASSED] 62 VFs
[08:29:53] [PASSED] 63 VFs
[08:29:53] ================= [PASSED] fair_doorbells ==================
[08:29:53] ======================== fair_ggtt ========================
[08:29:53] [PASSED] 1 VF
[08:29:53] [PASSED] 2 VFs
[08:29:53] [PASSED] 3 VFs
[08:29:53] [PASSED] 4 VFs
[08:29:53] [PASSED] 5 VFs
[08:29:53] [PASSED] 6 VFs
[08:29:53] [PASSED] 7 VFs
[08:29:53] [PASSED] 8 VFs
[08:29:53] [PASSED] 9 VFs
[08:29:53] [PASSED] 10 VFs
[08:29:53] [PASSED] 11 VFs
[08:29:53] [PASSED] 12 VFs
[08:29:53] [PASSED] 13 VFs
[08:29:53] [PASSED] 14 VFs
[08:29:53] [PASSED] 15 VFs
[08:29:53] [PASSED] 16 VFs
[08:29:53] [PASSED] 17 VFs
[08:29:53] [PASSED] 18 VFs
[08:29:53] [PASSED] 19 VFs
[08:29:53] [PASSED] 20 VFs
[08:29:53] [PASSED] 21 VFs
[08:29:53] [PASSED] 22 VFs
[08:29:53] [PASSED] 23 VFs
[08:29:53] [PASSED] 24 VFs
[08:29:53] [PASSED] 25 VFs
[08:29:53] [PASSED] 26 VFs
[08:29:53] [PASSED] 27 VFs
[08:29:53] [PASSED] 28 VFs
[08:29:53] [PASSED] 29 VFs
[08:29:53] [PASSED] 30 VFs
[08:29:53] [PASSED] 31 VFs
[08:29:53] [PASSED] 32 VFs
[08:29:53] [PASSED] 33 VFs
[08:29:53] [PASSED] 34 VFs
[08:29:53] [PASSED] 35 VFs
[08:29:53] [PASSED] 36 VFs
[08:29:53] [PASSED] 37 VFs
[08:29:53] [PASSED] 38 VFs
[08:29:53] [PASSED] 39 VFs
[08:29:53] [PASSED] 40 VFs
[08:29:53] [PASSED] 41 VFs
[08:29:53] [PASSED] 42 VFs
[08:29:53] [PASSED] 43 VFs
[08:29:53] [PASSED] 44 VFs
[08:29:53] [PASSED] 45 VFs
[08:29:53] [PASSED] 46 VFs
[08:29:53] [PASSED] 47 VFs
[08:29:53] [PASSED] 48 VFs
[08:29:53] [PASSED] 49 VFs
[08:29:53] [PASSED] 50 VFs
[08:29:53] [PASSED] 51 VFs
[08:29:53] [PASSED] 52 VFs
[08:29:53] [PASSED] 53 VFs
[08:29:53] [PASSED] 54 VFs
[08:29:53] [PASSED] 55 VFs
[08:29:53] [PASSED] 56 VFs
[08:29:53] [PASSED] 57 VFs
[08:29:53] [PASSED] 58 VFs
[08:29:53] [PASSED] 59 VFs
[08:29:53] [PASSED] 60 VFs
[08:29:53] [PASSED] 61 VFs
[08:29:53] [PASSED] 62 VFs
[08:29:53] [PASSED] 63 VFs
[08:29:53] ==================== [PASSED] fair_ggtt ====================
[08:29:53] ======================== fair_vram ========================
[08:29:53] [PASSED] 1 VF
[08:29:53] [PASSED] 2 VFs
[08:29:53] [PASSED] 3 VFs
[08:29:53] [PASSED] 4 VFs
[08:29:53] [PASSED] 5 VFs
[08:29:53] [PASSED] 6 VFs
[08:29:53] [PASSED] 7 VFs
[08:29:53] [PASSED] 8 VFs
[08:29:53] [PASSED] 9 VFs
[08:29:53] [PASSED] 10 VFs
[08:29:53] [PASSED] 11 VFs
[08:29:53] [PASSED] 12 VFs
[08:29:53] [PASSED] 13 VFs
[08:29:53] [PASSED] 14 VFs
[08:29:53] [PASSED] 15 VFs
[08:29:53] [PASSED] 16 VFs
[08:29:53] [PASSED] 17 VFs
[08:29:53] [PASSED] 18 VFs
[08:29:53] [PASSED] 19 VFs
[08:29:53] [PASSED] 20 VFs
[08:29:53] [PASSED] 21 VFs
[08:29:53] [PASSED] 22 VFs
[08:29:53] [PASSED] 23 VFs
[08:29:53] [PASSED] 24 VFs
[08:29:53] [PASSED] 25 VFs
[08:29:53] [PASSED] 26 VFs
[08:29:53] [PASSED] 27 VFs
[08:29:53] [PASSED] 28 VFs
[08:29:53] [PASSED] 29 VFs
[08:29:53] [PASSED] 30 VFs
[08:29:53] [PASSED] 31 VFs
[08:29:53] [PASSED] 32 VFs
[08:29:53] [PASSED] 33 VFs
[08:29:53] [PASSED] 34 VFs
[08:29:53] [PASSED] 35 VFs
[08:29:53] [PASSED] 36 VFs
[08:29:53] [PASSED] 37 VFs
[08:29:53] [PASSED] 38 VFs
[08:29:53] [PASSED] 39 VFs
[08:29:53] [PASSED] 40 VFs
[08:29:53] [PASSED] 41 VFs
[08:29:53] [PASSED] 42 VFs
[08:29:53] [PASSED] 43 VFs
[08:29:53] [PASSED] 44 VFs
[08:29:54] [PASSED] 45 VFs
[08:29:54] [PASSED] 46 VFs
[08:29:54] [PASSED] 47 VFs
[08:29:54] [PASSED] 48 VFs
[08:29:54] [PASSED] 49 VFs
[08:29:54] [PASSED] 50 VFs
[08:29:54] [PASSED] 51 VFs
[08:29:54] [PASSED] 52 VFs
[08:29:54] [PASSED] 53 VFs
[08:29:54] [PASSED] 54 VFs
[08:29:54] [PASSED] 55 VFs
[08:29:54] [PASSED] 56 VFs
[08:29:54] [PASSED] 57 VFs
[08:29:54] [PASSED] 58 VFs
[08:29:54] [PASSED] 59 VFs
[08:29:54] [PASSED] 60 VFs
[08:29:54] [PASSED] 61 VFs
[08:29:54] [PASSED] 62 VFs
[08:29:54] [PASSED] 63 VFs
[08:29:54] ==================== [PASSED] fair_vram ====================
[08:29:54] ================== [PASSED] pf_gt_config ===================
[08:29:54] ===================== lmtt (1 subtest) =====================
[08:29:54] ======================== test_ops =========================
[08:29:54] [PASSED] 2-level
[08:29:54] [PASSED] multi-level
[08:29:54] ==================== [PASSED] test_ops =====================
[08:29:54] ====================== [PASSED] lmtt =======================
[08:29:54] ================= pf_service (11 subtests) =================
[08:29:54] [PASSED] pf_negotiate_any
[08:29:54] [PASSED] pf_negotiate_base_match
[08:29:54] [PASSED] pf_negotiate_base_newer
[08:29:54] [PASSED] pf_negotiate_base_next
[08:29:54] [SKIPPED] pf_negotiate_base_older
[08:29:54] [PASSED] pf_negotiate_base_prev
[08:29:54] [PASSED] pf_negotiate_latest_match
[08:29:54] [PASSED] pf_negotiate_latest_newer
[08:29:54] [PASSED] pf_negotiate_latest_next
[08:29:54] [SKIPPED] pf_negotiate_latest_older
[08:29:54] [SKIPPED] pf_negotiate_latest_prev
[08:29:54] =================== [PASSED] pf_service ====================
[08:29:54] ================= xe_guc_g2g (2 subtests) ==================
[08:29:54] ============== xe_live_guc_g2g_kunit_default ==============
[08:29:54] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[08:29:54] ============== xe_live_guc_g2g_kunit_allmem ===============
[08:29:54] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[08:29:54] =================== [SKIPPED] xe_guc_g2g ===================
[08:29:54] =================== xe_mocs (2 subtests) ===================
[08:29:54] ================ xe_live_mocs_kernel_kunit ================
[08:29:54] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[08:29:54] ================ xe_live_mocs_reset_kunit =================
[08:29:54] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[08:29:54] ==================== [SKIPPED] xe_mocs =====================
[08:29:54] ================= xe_migrate (2 subtests) ==================
[08:29:54] ================= xe_migrate_sanity_kunit =================
[08:29:54] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[08:29:54] ================== xe_validate_ccs_kunit ==================
[08:29:54] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[08:29:54] =================== [SKIPPED] xe_migrate ===================
[08:29:54] ================== xe_dma_buf (1 subtest) ==================
[08:29:54] ==================== xe_dma_buf_kunit =====================
[08:29:54] ================ [SKIPPED] xe_dma_buf_kunit ================
[08:29:54] =================== [SKIPPED] xe_dma_buf ===================
[08:29:54] ================= xe_bo_shrink (1 subtest) =================
[08:29:54] =================== xe_bo_shrink_kunit ====================
[08:29:54] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[08:29:54] ================== [SKIPPED] xe_bo_shrink ==================
[08:29:54] ==================== xe_bo (2 subtests) ====================
[08:29:54] ================== xe_ccs_migrate_kunit ===================
[08:29:54] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[08:29:54] ==================== xe_bo_evict_kunit ====================
[08:29:54] =============== [SKIPPED] xe_bo_evict_kunit ================
[08:29:54] ===================== [SKIPPED] xe_bo ======================
[08:29:54] ==================== args (13 subtests) ====================
[08:29:54] [PASSED] count_args_test
[08:29:54] [PASSED] call_args_example
[08:29:54] [PASSED] call_args_test
[08:29:54] [PASSED] drop_first_arg_example
[08:29:54] [PASSED] drop_first_arg_test
[08:29:54] [PASSED] first_arg_example
[08:29:54] [PASSED] first_arg_test
[08:29:54] [PASSED] last_arg_example
[08:29:54] [PASSED] last_arg_test
[08:29:54] [PASSED] pick_arg_example
[08:29:54] [PASSED] if_args_example
[08:29:54] [PASSED] if_args_test
[08:29:54] [PASSED] sep_comma_example
[08:29:54] ====================== [PASSED] args =======================
[08:29:54] =================== xe_pci (3 subtests) ====================
[08:29:54] ==================== check_graphics_ip ====================
[08:29:54] [PASSED] 12.00 Xe_LP
[08:29:54] [PASSED] 12.10 Xe_LP+
[08:29:54] [PASSED] 12.55 Xe_HPG
[08:29:54] [PASSED] 12.60 Xe_HPC
[08:29:54] [PASSED] 12.70 Xe_LPG
[08:29:54] [PASSED] 12.71 Xe_LPG
[08:29:54] [PASSED] 12.74 Xe_LPG+
[08:29:54] [PASSED] 20.01 Xe2_HPG
[08:29:54] [PASSED] 20.02 Xe2_HPG
[08:29:54] [PASSED] 20.04 Xe2_LPG
[08:29:54] [PASSED] 30.00 Xe3_LPG
[08:29:54] [PASSED] 30.01 Xe3_LPG
[08:29:54] [PASSED] 30.03 Xe3_LPG
[08:29:54] [PASSED] 30.04 Xe3_LPG
[08:29:54] [PASSED] 30.05 Xe3_LPG
[08:29:54] [PASSED] 35.10 Xe3p_LPG
[08:29:54] [PASSED] 35.11 Xe3p_XPC
[08:29:54] ================ [PASSED] check_graphics_ip ================
[08:29:54] ===================== check_media_ip ======================
[08:29:54] [PASSED] 12.00 Xe_M
[08:29:54] [PASSED] 12.55 Xe_HPM
[08:29:54] [PASSED] 13.00 Xe_LPM+
[08:29:54] [PASSED] 13.01 Xe2_HPM
[08:29:54] [PASSED] 20.00 Xe2_LPM
[08:29:54] [PASSED] 30.00 Xe3_LPM
[08:29:54] [PASSED] 30.02 Xe3_LPM
[08:29:54] [PASSED] 35.00 Xe3p_LPM
[08:29:54] [PASSED] 35.03 Xe3p_HPM
[08:29:54] ================= [PASSED] check_media_ip ==================
[08:29:54] =================== check_platform_desc ===================
[08:29:54] [PASSED] 0x9A60 (TIGERLAKE)
[08:29:54] [PASSED] 0x9A68 (TIGERLAKE)
[08:29:54] [PASSED] 0x9A70 (TIGERLAKE)
[08:29:54] [PASSED] 0x9A40 (TIGERLAKE)
[08:29:54] [PASSED] 0x9A49 (TIGERLAKE)
[08:29:54] [PASSED] 0x9A59 (TIGERLAKE)
[08:29:54] [PASSED] 0x9A78 (TIGERLAKE)
[08:29:54] [PASSED] 0x9AC0 (TIGERLAKE)
[08:29:54] [PASSED] 0x9AC9 (TIGERLAKE)
[08:29:54] [PASSED] 0x9AD9 (TIGERLAKE)
[08:29:54] [PASSED] 0x9AF8 (TIGERLAKE)
[08:29:54] [PASSED] 0x4C80 (ROCKETLAKE)
[08:29:54] [PASSED] 0x4C8A (ROCKETLAKE)
[08:29:54] [PASSED] 0x4C8B (ROCKETLAKE)
[08:29:54] [PASSED] 0x4C8C (ROCKETLAKE)
[08:29:54] [PASSED] 0x4C90 (ROCKETLAKE)
[08:29:54] [PASSED] 0x4C9A (ROCKETLAKE)
[08:29:54] [PASSED] 0x4680 (ALDERLAKE_S)
[08:29:54] [PASSED] 0x4682 (ALDERLAKE_S)
[08:29:54] [PASSED] 0x4688 (ALDERLAKE_S)
[08:29:54] [PASSED] 0x468A (ALDERLAKE_S)
[08:29:54] [PASSED] 0x468B (ALDERLAKE_S)
[08:29:54] [PASSED] 0x4690 (ALDERLAKE_S)
[08:29:54] [PASSED] 0x4692 (ALDERLAKE_S)
[08:29:54] [PASSED] 0x4693 (ALDERLAKE_S)
[08:29:54] [PASSED] 0x46A0 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46A1 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46A2 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46A3 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46A6 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46A8 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46AA (ALDERLAKE_P)
[08:29:54] [PASSED] 0x462A (ALDERLAKE_P)
[08:29:54] [PASSED] 0x4626 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x4628 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46B0 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46B1 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46B2 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46B3 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46C0 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46C1 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46C2 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46C3 (ALDERLAKE_P)
[08:29:54] [PASSED] 0x46D0 (ALDERLAKE_N)
[08:29:54] [PASSED] 0x46D1 (ALDERLAKE_N)
[08:29:54] [PASSED] 0x46D2 (ALDERLAKE_N)
[08:29:54] [PASSED] 0x46D3 (ALDERLAKE_N)
[08:29:54] [PASSED] 0x46D4 (ALDERLAKE_N)
[08:29:54] [PASSED] 0xA721 (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7A1 (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7A9 (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7AC (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7AD (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA720 (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7A0 (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7A8 (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7AA (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA7AB (ALDERLAKE_P)
[08:29:54] [PASSED] 0xA780 (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA781 (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA782 (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA783 (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA788 (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA789 (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA78A (ALDERLAKE_S)
[08:29:54] [PASSED] 0xA78B (ALDERLAKE_S)
[08:29:54] [PASSED] 0x4905 (DG1)
[08:29:54] [PASSED] 0x4906 (DG1)
[08:29:54] [PASSED] 0x4907 (DG1)
[08:29:54] [PASSED] 0x4908 (DG1)
[08:29:54] [PASSED] 0x4909 (DG1)
[08:29:54] [PASSED] 0x56C0 (DG2)
[08:29:54] [PASSED] 0x56C2 (DG2)
[08:29:54] [PASSED] 0x56C1 (DG2)
[08:29:54] [PASSED] 0x7D51 (METEORLAKE)
[08:29:54] [PASSED] 0x7DD1 (METEORLAKE)
[08:29:54] [PASSED] 0x7D41 (METEORLAKE)
[08:29:54] [PASSED] 0x7D67 (METEORLAKE)
[08:29:54] [PASSED] 0xB640 (METEORLAKE)
[08:29:54] [PASSED] 0x56A0 (DG2)
[08:29:54] [PASSED] 0x56A1 (DG2)
[08:29:54] [PASSED] 0x56A2 (DG2)
[08:29:54] [PASSED] 0x56BE (DG2)
[08:29:54] [PASSED] 0x56BF (DG2)
[08:29:54] [PASSED] 0x5690 (DG2)
[08:29:54] [PASSED] 0x5691 (DG2)
[08:29:54] [PASSED] 0x5692 (DG2)
[08:29:54] [PASSED] 0x56A5 (DG2)
[08:29:54] [PASSED] 0x56A6 (DG2)
[08:29:54] [PASSED] 0x56B0 (DG2)
[08:29:54] [PASSED] 0x56B1 (DG2)
[08:29:54] [PASSED] 0x56BA (DG2)
[08:29:54] [PASSED] 0x56BB (DG2)
[08:29:54] [PASSED] 0x56BC (DG2)
[08:29:54] [PASSED] 0x56BD (DG2)
[08:29:54] [PASSED] 0x5693 (DG2)
[08:29:54] [PASSED] 0x5694 (DG2)
[08:29:54] [PASSED] 0x5695 (DG2)
[08:29:54] [PASSED] 0x56A3 (DG2)
[08:29:54] [PASSED] 0x56A4 (DG2)
[08:29:54] [PASSED] 0x56B2 (DG2)
[08:29:54] [PASSED] 0x56B3 (DG2)
[08:29:54] [PASSED] 0x5696 (DG2)
[08:29:54] [PASSED] 0x5697 (DG2)
[08:29:54] [PASSED] 0xB69 (PVC)
[08:29:54] [PASSED] 0xB6E (PVC)
[08:29:54] [PASSED] 0xBD4 (PVC)
[08:29:54] [PASSED] 0xBD5 (PVC)
[08:29:54] [PASSED] 0xBD6 (PVC)
[08:29:54] [PASSED] 0xBD7 (PVC)
[08:29:54] [PASSED] 0xBD8 (PVC)
[08:29:54] [PASSED] 0xBD9 (PVC)
[08:29:54] [PASSED] 0xBDA (PVC)
[08:29:54] [PASSED] 0xBDB (PVC)
[08:29:54] [PASSED] 0xBE0 (PVC)
[08:29:54] [PASSED] 0xBE1 (PVC)
[08:29:54] [PASSED] 0xBE5 (PVC)
[08:29:54] [PASSED] 0x7D40 (METEORLAKE)
[08:29:54] [PASSED] 0x7D45 (METEORLAKE)
[08:29:54] [PASSED] 0x7D55 (METEORLAKE)
[08:29:54] [PASSED] 0x7D60 (METEORLAKE)
[08:29:54] [PASSED] 0x7DD5 (METEORLAKE)
[08:29:54] [PASSED] 0x6420 (LUNARLAKE)
[08:29:54] [PASSED] 0x64A0 (LUNARLAKE)
[08:29:54] [PASSED] 0x64B0 (LUNARLAKE)
[08:29:54] [PASSED] 0xE202 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE209 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE20B (BATTLEMAGE)
[08:29:54] [PASSED] 0xE20C (BATTLEMAGE)
[08:29:54] [PASSED] 0xE20D (BATTLEMAGE)
[08:29:54] [PASSED] 0xE210 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE211 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE212 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE216 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE220 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE221 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE222 (BATTLEMAGE)
[08:29:54] [PASSED] 0xE223 (BATTLEMAGE)
[08:29:54] [PASSED] 0xB080 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB081 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB082 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB083 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB084 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB085 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB086 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB087 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB08F (PANTHERLAKE)
[08:29:54] [PASSED] 0xB090 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB0A0 (PANTHERLAKE)
[08:29:54] [PASSED] 0xB0B0 (PANTHERLAKE)
[08:29:54] [PASSED] 0xFD80 (PANTHERLAKE)
[08:29:54] [PASSED] 0xFD81 (PANTHERLAKE)
[08:29:54] [PASSED] 0xD740 (NOVALAKE_S)
[08:29:54] [PASSED] 0xD741 (NOVALAKE_S)
[08:29:54] [PASSED] 0xD742 (NOVALAKE_S)
[08:29:54] [PASSED] 0xD743 (NOVALAKE_S)
[08:29:54] [PASSED] 0xD744 (NOVALAKE_S)
[08:29:54] [PASSED] 0xD745 (NOVALAKE_S)
[08:29:54] [PASSED] 0x674C (CRESCENTISLAND)
[08:29:54] [PASSED] 0xD750 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD751 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD752 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD753 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD754 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD755 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD756 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD757 (NOVALAKE_P)
[08:29:54] [PASSED] 0xD75F (NOVALAKE_P)
[08:29:54] =============== [PASSED] check_platform_desc ===============
[08:29:54] ===================== [PASSED] xe_pci ======================
[08:29:54] =================== xe_rtp (2 subtests) ====================
[08:29:54] =============== xe_rtp_process_to_sr_tests ================
[08:29:54] [PASSED] coalesce-same-reg
[08:29:54] [PASSED] no-match-no-add
[08:29:54] [PASSED] match-or
[08:29:54] [PASSED] match-or-xfail
[08:29:54] [PASSED] no-match-no-add-multiple-rules
[08:29:54] [PASSED] two-regs-two-entries
[08:29:54] [PASSED] clr-one-set-other
[08:29:54] [PASSED] set-field
[08:29:54] [PASSED] conflict-duplicate
[08:29:54] [PASSED] conflict-not-disjoint
[08:29:54] [PASSED] conflict-reg-type
[08:29:54] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[08:29:54] ================== xe_rtp_process_tests ===================
[08:29:54] [PASSED] active1
[08:29:54] [PASSED] active2
[08:29:54] [PASSED] active-inactive
[08:29:54] [PASSED] inactive-active
[08:29:54] [PASSED] inactive-1st_or_active-inactive
[08:29:54] [PASSED] inactive-2nd_or_active-inactive
[08:29:54] [PASSED] inactive-last_or_active-inactive
[08:29:54] [PASSED] inactive-no_or_active-inactive
[08:29:54] ============== [PASSED] xe_rtp_process_tests ===============
[08:29:54] ===================== [PASSED] xe_rtp ======================
[08:29:54] ==================== xe_wa (1 subtest) =====================
[08:29:54] ======================== xe_wa_gt =========================
[08:29:54] [PASSED] TIGERLAKE B0
[08:29:54] [PASSED] DG1 A0
[08:29:54] [PASSED] DG1 B0
[08:29:54] [PASSED] ALDERLAKE_S A0
[08:29:54] [PASSED] ALDERLAKE_S B0
[08:29:54] [PASSED] ALDERLAKE_S C0
[08:29:54] [PASSED] ALDERLAKE_S D0
[08:29:54] [PASSED] ALDERLAKE_P A0
[08:29:54] [PASSED] ALDERLAKE_P B0
[08:29:54] [PASSED] ALDERLAKE_P C0
[08:29:54] [PASSED] ALDERLAKE_S RPLS D0
[08:29:54] [PASSED] ALDERLAKE_P RPLU E0
[08:29:54] [PASSED] DG2 G10 C0
[08:29:54] [PASSED] DG2 G11 B1
[08:29:54] [PASSED] DG2 G12 A1
[08:29:54] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:29:54] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:29:54] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[08:29:54] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[08:29:54] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[08:29:54] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[08:29:54] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[08:29:54] ==================== [PASSED] xe_wa_gt =====================
[08:29:54] ====================== [PASSED] xe_wa ======================
[08:29:54] ============================================================
[08:29:54] Testing complete. Ran 597 tests: passed: 579, skipped: 18
[08:29:54] Elapsed time: 69.466s total, 7.150s configuring, 61.142s building, 1.139s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[08:29:54] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:29:57] 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
[08:30:44] Starting KUnit Kernel (1/1)...
[08:30:44] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:30:44] ============ drm_test_pick_cmdline (2 subtests) ============
[08:30:44] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[08:30:44] =============== drm_test_pick_cmdline_named ===============
[08:30:44] [PASSED] NTSC
[08:30:44] [PASSED] NTSC-J
[08:30:44] [PASSED] PAL
[08:30:44] [PASSED] PAL-M
[08:30:44] =========== [PASSED] drm_test_pick_cmdline_named ===========
[08:30:44] ============== [PASSED] drm_test_pick_cmdline ==============
[08:30:44] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[08:30:44] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[08:30:44] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[08:30:44] =========== drm_validate_clone_mode (2 subtests) ===========
[08:30:44] ============== drm_test_check_in_clone_mode ===============
[08:30:44] [PASSED] in_clone_mode
[08:30:44] [PASSED] not_in_clone_mode
[08:30:44] ========== [PASSED] drm_test_check_in_clone_mode ===========
[08:30:44] =============== drm_test_check_valid_clones ===============
[08:30:44] [PASSED] not_in_clone_mode
[08:30:44] [PASSED] valid_clone
[08:30:44] [PASSED] invalid_clone
[08:30:44] =========== [PASSED] drm_test_check_valid_clones ===========
[08:30:44] ============= [PASSED] drm_validate_clone_mode =============
[08:30:44] ============= drm_validate_modeset (1 subtest) =============
[08:30:44] [PASSED] drm_test_check_connector_changed_modeset
[08:30:44] ============== [PASSED] drm_validate_modeset ===============
[08:30:44] ====== drm_test_bridge_get_current_state (2 subtests) ======
[08:30:44] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[08:30:44] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[08:30:44] ======== [PASSED] drm_test_bridge_get_current_state ========
[08:30:44] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[08:30:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[08:30:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[08:30:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[08:30:44] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[08:30:44] ============== drm_bridge_alloc (2 subtests) ===============
[08:30:44] [PASSED] drm_test_drm_bridge_alloc_basic
[08:30:44] [PASSED] drm_test_drm_bridge_alloc_get_put
[08:30:44] ================ [PASSED] drm_bridge_alloc =================
[08:30:44] ============= drm_cmdline_parser (40 subtests) =============
[08:30:44] [PASSED] drm_test_cmdline_force_d_only
[08:30:44] [PASSED] drm_test_cmdline_force_D_only_dvi
[08:30:44] [PASSED] drm_test_cmdline_force_D_only_hdmi
[08:30:44] [PASSED] drm_test_cmdline_force_D_only_not_digital
[08:30:44] [PASSED] drm_test_cmdline_force_e_only
[08:30:44] [PASSED] drm_test_cmdline_res
[08:30:44] [PASSED] drm_test_cmdline_res_vesa
[08:30:44] [PASSED] drm_test_cmdline_res_vesa_rblank
[08:30:44] [PASSED] drm_test_cmdline_res_rblank
[08:30:44] [PASSED] drm_test_cmdline_res_bpp
[08:30:44] [PASSED] drm_test_cmdline_res_refresh
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[08:30:44] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[08:30:44] [PASSED] drm_test_cmdline_res_margins_force_on
[08:30:44] [PASSED] drm_test_cmdline_res_vesa_margins
[08:30:44] [PASSED] drm_test_cmdline_name
[08:30:44] [PASSED] drm_test_cmdline_name_bpp
[08:30:44] [PASSED] drm_test_cmdline_name_option
[08:30:44] [PASSED] drm_test_cmdline_name_bpp_option
[08:30:44] [PASSED] drm_test_cmdline_rotate_0
[08:30:44] [PASSED] drm_test_cmdline_rotate_90
[08:30:44] [PASSED] drm_test_cmdline_rotate_180
[08:30:44] [PASSED] drm_test_cmdline_rotate_270
[08:30:44] [PASSED] drm_test_cmdline_hmirror
[08:30:44] [PASSED] drm_test_cmdline_vmirror
[08:30:44] [PASSED] drm_test_cmdline_margin_options
[08:30:44] [PASSED] drm_test_cmdline_multiple_options
[08:30:44] [PASSED] drm_test_cmdline_bpp_extra_and_option
[08:30:44] [PASSED] drm_test_cmdline_extra_and_option
[08:30:44] [PASSED] drm_test_cmdline_freestanding_options
[08:30:44] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[08:30:44] [PASSED] drm_test_cmdline_panel_orientation
[08:30:44] ================ drm_test_cmdline_invalid =================
[08:30:44] [PASSED] margin_only
[08:30:44] [PASSED] interlace_only
[08:30:44] [PASSED] res_missing_x
[08:30:44] [PASSED] res_missing_y
[08:30:44] [PASSED] res_bad_y
[08:30:44] [PASSED] res_missing_y_bpp
[08:30:44] [PASSED] res_bad_bpp
[08:30:44] [PASSED] res_bad_refresh
[08:30:44] [PASSED] res_bpp_refresh_force_on_off
[08:30:44] [PASSED] res_invalid_mode
[08:30:44] [PASSED] res_bpp_wrong_place_mode
[08:30:44] [PASSED] name_bpp_refresh
[08:30:44] [PASSED] name_refresh
[08:30:44] [PASSED] name_refresh_wrong_mode
[08:30:44] [PASSED] name_refresh_invalid_mode
[08:30:44] [PASSED] rotate_multiple
[08:30:44] [PASSED] rotate_invalid_val
[08:30:44] [PASSED] rotate_truncated
[08:30:44] [PASSED] invalid_option
[08:30:44] [PASSED] invalid_tv_option
[08:30:44] [PASSED] truncated_tv_option
[08:30:44] ============ [PASSED] drm_test_cmdline_invalid =============
[08:30:44] =============== drm_test_cmdline_tv_options ===============
[08:30:44] [PASSED] NTSC
[08:30:44] [PASSED] NTSC_443
[08:30:44] [PASSED] NTSC_J
[08:30:44] [PASSED] PAL
[08:30:44] [PASSED] PAL_M
[08:30:44] [PASSED] PAL_N
[08:30:44] [PASSED] SECAM
[08:30:44] [PASSED] MONO_525
[08:30:44] [PASSED] MONO_625
[08:30:44] =========== [PASSED] drm_test_cmdline_tv_options ===========
[08:30:44] =============== [PASSED] drm_cmdline_parser ================
[08:30:44] ========== drmm_connector_hdmi_init (20 subtests) ==========
[08:30:44] [PASSED] drm_test_connector_hdmi_init_valid
[08:30:44] [PASSED] drm_test_connector_hdmi_init_bpc_8
[08:30:44] [PASSED] drm_test_connector_hdmi_init_bpc_10
[08:30:44] [PASSED] drm_test_connector_hdmi_init_bpc_12
[08:30:44] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[08:30:44] [PASSED] drm_test_connector_hdmi_init_bpc_null
[08:30:44] [PASSED] drm_test_connector_hdmi_init_formats_empty
[08:30:44] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[08:30:44] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[08:30:44] [PASSED] supported_formats=0x9 yuv420_allowed=1
[08:30:44] [PASSED] supported_formats=0x9 yuv420_allowed=0
[08:30:44] [PASSED] supported_formats=0x5 yuv420_allowed=1
[08:30:44] [PASSED] supported_formats=0x5 yuv420_allowed=0
[08:30:44] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[08:30:44] [PASSED] drm_test_connector_hdmi_init_null_ddc
[08:30:44] [PASSED] drm_test_connector_hdmi_init_null_product
[08:30:44] [PASSED] drm_test_connector_hdmi_init_null_vendor
[08:30:44] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[08:30:44] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[08:30:44] [PASSED] drm_test_connector_hdmi_init_product_valid
[08:30:44] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[08:30:44] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[08:30:44] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[08:30:44] ========= drm_test_connector_hdmi_init_type_valid =========
[08:30:44] [PASSED] HDMI-A
[08:30:44] [PASSED] HDMI-B
[08:30:44] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[08:30:44] ======== drm_test_connector_hdmi_init_type_invalid ========
[08:30:44] [PASSED] Unknown
[08:30:44] [PASSED] VGA
[08:30:44] [PASSED] DVI-I
[08:30:44] [PASSED] DVI-D
[08:30:44] [PASSED] DVI-A
[08:30:44] [PASSED] Composite
[08:30:44] [PASSED] SVIDEO
[08:30:44] [PASSED] LVDS
[08:30:44] [PASSED] Component
[08:30:44] [PASSED] DIN
[08:30:44] [PASSED] DP
[08:30:44] [PASSED] TV
[08:30:44] [PASSED] eDP
[08:30:44] [PASSED] Virtual
[08:30:44] [PASSED] DSI
[08:30:44] [PASSED] DPI
[08:30:44] [PASSED] Writeback
[08:30:44] [PASSED] SPI
[08:30:44] [PASSED] USB
[08:30:44] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[08:30:44] ============ [PASSED] drmm_connector_hdmi_init =============
[08:30:44] ============= drmm_connector_init (3 subtests) =============
[08:30:44] [PASSED] drm_test_drmm_connector_init
[08:30:44] [PASSED] drm_test_drmm_connector_init_null_ddc
[08:30:44] ========= drm_test_drmm_connector_init_type_valid =========
[08:30:44] [PASSED] Unknown
[08:30:44] [PASSED] VGA
[08:30:44] [PASSED] DVI-I
[08:30:44] [PASSED] DVI-D
[08:30:44] [PASSED] DVI-A
[08:30:44] [PASSED] Composite
[08:30:44] [PASSED] SVIDEO
[08:30:44] [PASSED] LVDS
[08:30:44] [PASSED] Component
[08:30:44] [PASSED] DIN
[08:30:44] [PASSED] DP
[08:30:44] [PASSED] HDMI-A
[08:30:44] [PASSED] HDMI-B
[08:30:44] [PASSED] TV
[08:30:44] [PASSED] eDP
[08:30:44] [PASSED] Virtual
[08:30:44] [PASSED] DSI
[08:30:44] [PASSED] DPI
[08:30:44] [PASSED] Writeback
[08:30:44] [PASSED] SPI
[08:30:44] [PASSED] USB
[08:30:44] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[08:30:44] =============== [PASSED] drmm_connector_init ===============
[08:30:44] ========= drm_connector_dynamic_init (6 subtests) ==========
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_init
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_init_properties
[08:30:44] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[08:30:44] [PASSED] Unknown
[08:30:44] [PASSED] VGA
[08:30:44] [PASSED] DVI-I
[08:30:44] [PASSED] DVI-D
[08:30:44] [PASSED] DVI-A
[08:30:44] [PASSED] Composite
[08:30:44] [PASSED] SVIDEO
[08:30:44] [PASSED] LVDS
[08:30:44] [PASSED] Component
[08:30:44] [PASSED] DIN
[08:30:44] [PASSED] DP
[08:30:44] [PASSED] HDMI-A
[08:30:44] [PASSED] HDMI-B
[08:30:44] [PASSED] TV
[08:30:44] [PASSED] eDP
[08:30:44] [PASSED] Virtual
[08:30:44] [PASSED] DSI
[08:30:44] [PASSED] DPI
[08:30:44] [PASSED] Writeback
[08:30:44] [PASSED] SPI
[08:30:44] [PASSED] USB
[08:30:44] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[08:30:44] ======== drm_test_drm_connector_dynamic_init_name =========
[08:30:44] [PASSED] Unknown
[08:30:44] [PASSED] VGA
[08:30:44] [PASSED] DVI-I
[08:30:44] [PASSED] DVI-D
[08:30:44] [PASSED] DVI-A
[08:30:44] [PASSED] Composite
[08:30:44] [PASSED] SVIDEO
[08:30:44] [PASSED] LVDS
[08:30:44] [PASSED] Component
[08:30:44] [PASSED] DIN
[08:30:44] [PASSED] DP
[08:30:44] [PASSED] HDMI-A
[08:30:44] [PASSED] HDMI-B
[08:30:44] [PASSED] TV
[08:30:44] [PASSED] eDP
[08:30:44] [PASSED] Virtual
[08:30:44] [PASSED] DSI
[08:30:44] [PASSED] DPI
[08:30:44] [PASSED] Writeback
[08:30:44] [PASSED] SPI
[08:30:44] [PASSED] USB
[08:30:44] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[08:30:44] =========== [PASSED] drm_connector_dynamic_init ============
[08:30:44] ==== drm_connector_dynamic_register_early (4 subtests) =====
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[08:30:44] ====== [PASSED] drm_connector_dynamic_register_early =======
[08:30:44] ======= drm_connector_dynamic_register (7 subtests) ========
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[08:30:44] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[08:30:44] ========= [PASSED] drm_connector_dynamic_register ==========
[08:30:44] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[08:30:44] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[08:30:44] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[08:30:44] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[08:30:44] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[08:30:44] ========== drm_test_get_tv_mode_from_name_valid ===========
[08:30:44] [PASSED] NTSC
[08:30:44] [PASSED] NTSC-443
[08:30:44] [PASSED] NTSC-J
[08:30:44] [PASSED] PAL
[08:30:44] [PASSED] PAL-M
[08:30:44] [PASSED] PAL-N
[08:30:44] [PASSED] SECAM
[08:30:44] [PASSED] Mono
[08:30:44] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[08:30:44] [PASSED] drm_test_get_tv_mode_from_name_truncated
[08:30:44] ============ [PASSED] drm_get_tv_mode_from_name ============
[08:30:44] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[08:30:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[08:30:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[08:30:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[08:30:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[08:30:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[08:30:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[08:30:44] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[08:30:44] [PASSED] VIC 96
[08:30:44] [PASSED] VIC 97
[08:30:44] [PASSED] VIC 101
[08:30:44] [PASSED] VIC 102
[08:30:44] [PASSED] VIC 106
[08:30:44] [PASSED] VIC 107
[08:30:44] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[08:30:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[08:30:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[08:30:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[08:30:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[08:30:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[08:30:44] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[08:30:44] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[08:30:44] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[08:30:44] [PASSED] Automatic
[08:30:44] [PASSED] Full
[08:30:44] [PASSED] Limited 16:235
[08:30:44] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[08:30:44] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[08:30:44] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[08:30:44] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[08:30:44] === drm_test_drm_hdmi_connector_get_output_format_name ====
[08:30:44] [PASSED] RGB
[08:30:44] [PASSED] YUV 4:2:0
[08:30:44] [PASSED] YUV 4:2:2
[08:30:44] [PASSED] YUV 4:4:4
[08:30:44] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[08:30:44] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[08:30:44] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[08:30:44] ============= drm_damage_helper (21 subtests) ==============
[08:30:44] [PASSED] drm_test_damage_iter_no_damage
[08:30:44] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[08:30:44] [PASSED] drm_test_damage_iter_no_damage_src_moved
[08:30:44] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[08:30:44] [PASSED] drm_test_damage_iter_no_damage_not_visible
[08:30:44] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[08:30:44] [PASSED] drm_test_damage_iter_no_damage_no_fb
[08:30:44] [PASSED] drm_test_damage_iter_simple_damage
[08:30:44] [PASSED] drm_test_damage_iter_single_damage
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_outside_src
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_src_moved
[08:30:44] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[08:30:44] [PASSED] drm_test_damage_iter_damage
[08:30:44] [PASSED] drm_test_damage_iter_damage_one_intersect
[08:30:44] [PASSED] drm_test_damage_iter_damage_one_outside
[08:30:44] [PASSED] drm_test_damage_iter_damage_src_moved
[08:30:44] [PASSED] drm_test_damage_iter_damage_not_visible
[08:30:44] ================ [PASSED] drm_damage_helper ================
[08:30:44] ============== drm_dp_mst_helper (3 subtests) ==============
[08:30:44] ============== drm_test_dp_mst_calc_pbn_mode ==============
[08:30:44] [PASSED] Clock 154000 BPP 30 DSC disabled
[08:30:44] [PASSED] Clock 234000 BPP 30 DSC disabled
[08:30:44] [PASSED] Clock 297000 BPP 24 DSC disabled
[08:30:44] [PASSED] Clock 332880 BPP 24 DSC enabled
[08:30:44] [PASSED] Clock 324540 BPP 24 DSC enabled
[08:30:44] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[08:30:44] ============== drm_test_dp_mst_calc_pbn_div ===============
[08:30:44] [PASSED] Link rate 2000000 lane count 4
[08:30:44] [PASSED] Link rate 2000000 lane count 2
[08:30:44] [PASSED] Link rate 2000000 lane count 1
[08:30:44] [PASSED] Link rate 1350000 lane count 4
[08:30:44] [PASSED] Link rate 1350000 lane count 2
[08:30:44] [PASSED] Link rate 1350000 lane count 1
[08:30:44] [PASSED] Link rate 1000000 lane count 4
[08:30:44] [PASSED] Link rate 1000000 lane count 2
[08:30:44] [PASSED] Link rate 1000000 lane count 1
[08:30:44] [PASSED] Link rate 810000 lane count 4
[08:30:44] [PASSED] Link rate 810000 lane count 2
[08:30:44] [PASSED] Link rate 810000 lane count 1
[08:30:44] [PASSED] Link rate 540000 lane count 4
[08:30:44] [PASSED] Link rate 540000 lane count 2
[08:30:44] [PASSED] Link rate 540000 lane count 1
[08:30:44] [PASSED] Link rate 270000 lane count 4
[08:30:44] [PASSED] Link rate 270000 lane count 2
[08:30:44] [PASSED] Link rate 270000 lane count 1
[08:30:44] [PASSED] Link rate 162000 lane count 4
[08:30:44] [PASSED] Link rate 162000 lane count 2
[08:30:44] [PASSED] Link rate 162000 lane count 1
[08:30:44] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[08:30:44] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[08:30:44] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[08:30:44] [PASSED] DP_POWER_UP_PHY with port number
[08:30:44] [PASSED] DP_POWER_DOWN_PHY with port number
[08:30:44] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[08:30:44] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[08:30:44] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[08:30:44] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[08:30:44] [PASSED] DP_QUERY_PAYLOAD with port number
[08:30:44] [PASSED] DP_QUERY_PAYLOAD with VCPI
[08:30:44] [PASSED] DP_REMOTE_DPCD_READ with port number
[08:30:44] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[08:30:44] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[08:30:44] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[08:30:44] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[08:30:44] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[08:30:44] [PASSED] DP_REMOTE_I2C_READ with port number
[08:30:44] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[08:30:44] [PASSED] DP_REMOTE_I2C_READ with transactions array
[08:30:44] [PASSED] DP_REMOTE_I2C_WRITE with port number
[08:30:44] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[08:30:44] [PASSED] DP_REMOTE_I2C_WRITE with data array
[08:30:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[08:30:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[08:30:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[08:30:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[08:30:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[08:30:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[08:30:44] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[08:30:44] ================ [PASSED] drm_dp_mst_helper ================
[08:30:44] ================== drm_exec (7 subtests) ===================
[08:30:44] [PASSED] sanitycheck
[08:30:44] [PASSED] test_lock
[08:30:44] [PASSED] test_lock_unlock
[08:30:44] [PASSED] test_duplicates
[08:30:44] [PASSED] test_prepare
[08:30:44] [PASSED] test_prepare_array
[08:30:44] [PASSED] test_multiple_loops
[08:30:44] ==================== [PASSED] drm_exec =====================
[08:30:44] =========== drm_format_helper_test (17 subtests) ===========
[08:30:44] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[08:30:44] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[08:30:44] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[08:30:44] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[08:30:44] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[08:30:44] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[08:30:44] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[08:30:44] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[08:30:44] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[08:30:44] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[08:30:44] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[08:30:44] ============== drm_test_fb_xrgb8888_to_mono ===============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[08:30:44] ==================== drm_test_fb_swab =====================
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ================ [PASSED] drm_test_fb_swab =================
[08:30:44] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[08:30:44] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[08:30:44] [PASSED] single_pixel_source_buffer
[08:30:44] [PASSED] single_pixel_clip_rectangle
[08:30:44] [PASSED] well_known_colors
[08:30:44] [PASSED] destination_pitch
[08:30:44] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[08:30:44] ================= drm_test_fb_clip_offset =================
[08:30:44] [PASSED] pass through
[08:30:44] [PASSED] horizontal offset
[08:30:44] [PASSED] vertical offset
[08:30:44] [PASSED] horizontal and vertical offset
[08:30:44] [PASSED] horizontal offset (custom pitch)
[08:30:44] [PASSED] vertical offset (custom pitch)
[08:30:44] [PASSED] horizontal and vertical offset (custom pitch)
[08:30:44] ============= [PASSED] drm_test_fb_clip_offset =============
[08:30:44] =================== drm_test_fb_memcpy ====================
[08:30:44] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[08:30:44] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[08:30:44] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[08:30:44] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[08:30:44] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[08:30:44] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[08:30:44] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[08:30:44] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[08:30:44] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[08:30:44] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[08:30:44] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[08:30:44] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[08:30:44] =============== [PASSED] drm_test_fb_memcpy ================
[08:30:44] ============= [PASSED] drm_format_helper_test ==============
[08:30:44] ================= drm_format (18 subtests) =================
[08:30:44] [PASSED] drm_test_format_block_width_invalid
[08:30:44] [PASSED] drm_test_format_block_width_one_plane
[08:30:44] [PASSED] drm_test_format_block_width_two_plane
[08:30:44] [PASSED] drm_test_format_block_width_three_plane
[08:30:44] [PASSED] drm_test_format_block_width_tiled
[08:30:44] [PASSED] drm_test_format_block_height_invalid
[08:30:44] [PASSED] drm_test_format_block_height_one_plane
[08:30:44] [PASSED] drm_test_format_block_height_two_plane
[08:30:44] [PASSED] drm_test_format_block_height_three_plane
[08:30:44] [PASSED] drm_test_format_block_height_tiled
[08:30:44] [PASSED] drm_test_format_min_pitch_invalid
[08:30:44] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[08:30:44] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[08:30:44] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[08:30:44] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[08:30:44] [PASSED] drm_test_format_min_pitch_two_plane
[08:30:44] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[08:30:44] [PASSED] drm_test_format_min_pitch_tiled
[08:30:44] =================== [PASSED] drm_format ====================
[08:30:44] ============== drm_framebuffer (10 subtests) ===============
[08:30:44] ========== drm_test_framebuffer_check_src_coords ==========
[08:30:44] [PASSED] Success: source fits into fb
[08:30:44] [PASSED] Fail: overflowing fb with x-axis coordinate
[08:30:44] [PASSED] Fail: overflowing fb with y-axis coordinate
[08:30:44] [PASSED] Fail: overflowing fb with source width
[08:30:44] [PASSED] Fail: overflowing fb with source height
[08:30:44] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[08:30:44] [PASSED] drm_test_framebuffer_cleanup
[08:30:44] =============== drm_test_framebuffer_create ===============
[08:30:44] [PASSED] ABGR8888 normal sizes
[08:30:44] [PASSED] ABGR8888 max sizes
[08:30:44] [PASSED] ABGR8888 pitch greater than min required
[08:30:44] [PASSED] ABGR8888 pitch less than min required
[08:30:44] [PASSED] ABGR8888 Invalid width
[08:30:44] [PASSED] ABGR8888 Invalid buffer handle
[08:30:44] [PASSED] No pixel format
[08:30:44] [PASSED] ABGR8888 Width 0
[08:30:44] [PASSED] ABGR8888 Height 0
[08:30:44] [PASSED] ABGR8888 Out of bound height * pitch combination
[08:30:44] [PASSED] ABGR8888 Large buffer offset
[08:30:44] [PASSED] ABGR8888 Buffer offset for inexistent plane
[08:30:44] [PASSED] ABGR8888 Invalid flag
[08:30:44] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[08:30:44] [PASSED] ABGR8888 Valid buffer modifier
[08:30:44] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[08:30:44] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] NV12 Normal sizes
[08:30:44] [PASSED] NV12 Max sizes
[08:30:44] [PASSED] NV12 Invalid pitch
[08:30:44] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[08:30:44] [PASSED] NV12 different modifier per-plane
[08:30:44] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[08:30:44] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] NV12 Modifier for inexistent plane
[08:30:44] [PASSED] NV12 Handle for inexistent plane
[08:30:44] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[08:30:44] [PASSED] YVU420 Normal sizes
[08:30:44] [PASSED] YVU420 Max sizes
[08:30:44] [PASSED] YVU420 Invalid pitch
[08:30:44] [PASSED] YVU420 Different pitches
[08:30:44] [PASSED] YVU420 Different buffer offsets/pitches
[08:30:44] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[08:30:44] [PASSED] YVU420 Valid modifier
[08:30:44] [PASSED] YVU420 Different modifiers per plane
[08:30:44] [PASSED] YVU420 Modifier for inexistent plane
[08:30:44] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[08:30:44] [PASSED] X0L2 Normal sizes
[08:30:44] [PASSED] X0L2 Max sizes
[08:30:44] [PASSED] X0L2 Invalid pitch
[08:30:44] [PASSED] X0L2 Pitch greater than minimum required
[08:30:44] [PASSED] X0L2 Handle for inexistent plane
[08:30:44] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[08:30:44] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[08:30:44] [PASSED] X0L2 Valid modifier
[08:30:44] [PASSED] X0L2 Modifier for inexistent plane
[08:30:44] =========== [PASSED] drm_test_framebuffer_create ===========
[08:30:44] [PASSED] drm_test_framebuffer_free
[08:30:44] [PASSED] drm_test_framebuffer_init
[08:30:44] [PASSED] drm_test_framebuffer_init_bad_format
[08:30:44] [PASSED] drm_test_framebuffer_init_dev_mismatch
[08:30:44] [PASSED] drm_test_framebuffer_lookup
[08:30:44] [PASSED] drm_test_framebuffer_lookup_inexistent
[08:30:44] [PASSED] drm_test_framebuffer_modifiers_not_supported
[08:30:44] ================= [PASSED] drm_framebuffer =================
[08:30:44] ================ drm_gem_shmem (8 subtests) ================
[08:30:44] [PASSED] drm_gem_shmem_test_obj_create
[08:30:44] [PASSED] drm_gem_shmem_test_obj_create_private
[08:30:44] [PASSED] drm_gem_shmem_test_pin_pages
[08:30:44] [PASSED] drm_gem_shmem_test_vmap
[08:30:44] [PASSED] drm_gem_shmem_test_get_sg_table
[08:30:44] [PASSED] drm_gem_shmem_test_get_pages_sgt
[08:30:44] [PASSED] drm_gem_shmem_test_madvise
[08:30:44] [PASSED] drm_gem_shmem_test_purge
[08:30:44] ================== [PASSED] drm_gem_shmem ==================
[08:30:44] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[08:30:44] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[08:30:44] [PASSED] Automatic
[08:30:44] [PASSED] Full
[08:30:44] [PASSED] Limited 16:235
[08:30:44] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[08:30:44] [PASSED] drm_test_check_disable_connector
[08:30:44] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[08:30:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[08:30:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[08:30:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[08:30:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[08:30:44] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[08:30:44] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[08:30:44] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[08:30:44] [PASSED] drm_test_check_output_bpc_dvi
[08:30:44] [PASSED] drm_test_check_output_bpc_format_vic_1
[08:30:44] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[08:30:44] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[08:30:44] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[08:30:44] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[08:30:44] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[08:30:44] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[08:30:44] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[08:30:44] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[08:30:44] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[08:30:44] [PASSED] drm_test_check_broadcast_rgb_value
[08:30:44] [PASSED] drm_test_check_bpc_8_value
[08:30:44] [PASSED] drm_test_check_bpc_10_value
[08:30:44] [PASSED] drm_test_check_bpc_12_value
[08:30:44] [PASSED] drm_test_check_format_value
[08:30:44] [PASSED] drm_test_check_tmds_char_value
[08:30:44] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[08:30:44] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[08:30:44] [PASSED] drm_test_check_mode_valid
[08:30:44] [PASSED] drm_test_check_mode_valid_reject
[08:30:44] [PASSED] drm_test_check_mode_valid_reject_rate
[08:30:44] [PASSED] drm_test_check_mode_valid_reject_max_clock
[08:30:44] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[08:30:44] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[08:30:44] [PASSED] drm_test_check_infoframes
[08:30:44] [PASSED] drm_test_check_reject_avi_infoframe
[08:30:44] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[08:30:44] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[08:30:44] [PASSED] drm_test_check_reject_audio_infoframe
[08:30:44] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[08:30:44] ================= drm_managed (2 subtests) =================
[08:30:44] [PASSED] drm_test_managed_release_action
[08:30:44] [PASSED] drm_test_managed_run_action
[08:30:44] =================== [PASSED] drm_managed ===================
[08:30:44] =================== drm_mm (6 subtests) ====================
[08:30:44] [PASSED] drm_test_mm_init
[08:30:44] [PASSED] drm_test_mm_debug
[08:30:44] [PASSED] drm_test_mm_align32
[08:30:44] [PASSED] drm_test_mm_align64
[08:30:44] [PASSED] drm_test_mm_lowest
[08:30:44] [PASSED] drm_test_mm_highest
[08:30:44] ===================== [PASSED] drm_mm ======================
[08:30:44] ============= drm_modes_analog_tv (5 subtests) =============
[08:30:44] [PASSED] drm_test_modes_analog_tv_mono_576i
[08:30:44] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[08:30:44] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[08:30:44] [PASSED] drm_test_modes_analog_tv_pal_576i
[08:30:44] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[08:30:44] =============== [PASSED] drm_modes_analog_tv ===============
[08:30:44] ============== drm_plane_helper (2 subtests) ===============
[08:30:44] =============== drm_test_check_plane_state ================
[08:30:44] [PASSED] clipping_simple
[08:30:44] [PASSED] clipping_rotate_reflect
[08:30:44] [PASSED] positioning_simple
[08:30:44] [PASSED] upscaling
[08:30:44] [PASSED] downscaling
[08:30:44] [PASSED] rounding1
[08:30:44] [PASSED] rounding2
[08:30:44] [PASSED] rounding3
[08:30:44] [PASSED] rounding4
[08:30:44] =========== [PASSED] drm_test_check_plane_state ============
[08:30:44] =========== drm_test_check_invalid_plane_state ============
[08:30:44] [PASSED] positioning_invalid
[08:30:44] [PASSED] upscaling_invalid
[08:30:44] [PASSED] downscaling_invalid
[08:30:44] ======= [PASSED] drm_test_check_invalid_plane_state ========
[08:30:44] ================ [PASSED] drm_plane_helper =================
[08:30:44] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[08:30:44] ====== drm_test_connector_helper_tv_get_modes_check =======
[08:30:44] [PASSED] None
[08:30:44] [PASSED] PAL
[08:30:44] [PASSED] NTSC
[08:30:44] [PASSED] Both, NTSC Default
[08:30:44] [PASSED] Both, PAL Default
[08:30:44] [PASSED] Both, NTSC Default, with PAL on command-line
[08:30:44] [PASSED] Both, PAL Default, with NTSC on command-line
[08:30:44] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[08:30:44] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[08:30:44] ================== drm_rect (9 subtests) ===================
[08:30:44] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[08:30:44] [PASSED] drm_test_rect_clip_scaled_not_clipped
[08:30:44] [PASSED] drm_test_rect_clip_scaled_clipped
[08:30:44] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[08:30:44] ================= drm_test_rect_intersect =================
[08:30:44] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[08:30:44] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[08:30:44] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[08:30:44] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[08:30:44] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[08:30:44] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[08:30:44] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[08:30:44] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[08:30:44] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[08:30:44] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[08:30:44] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[08:30:44] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[08:30:44] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[08:30:44] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[08:30:44] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[08:30:44] ============= [PASSED] drm_test_rect_intersect =============
[08:30:44] ================ drm_test_rect_calc_hscale ================
[08:30:44] [PASSED] normal use
[08:30:44] [PASSED] out of max range
[08:30:44] [PASSED] out of min range
[08:30:44] [PASSED] zero dst
[08:30:44] [PASSED] negative src
[08:30:44] [PASSED] negative dst
[08:30:44] ============ [PASSED] drm_test_rect_calc_hscale ============
[08:30:44] ================ drm_test_rect_calc_vscale ================
[08:30:44] [PASSED] normal use
[08:30:44] [PASSED] out of max range
[08:30:44] [PASSED] out of min range
[08:30:44] [PASSED] zero dst
[08:30:44] [PASSED] negative src
[08:30:44] [PASSED] negative dst
[08:30:44] ============ [PASSED] drm_test_rect_calc_vscale ============
[08:30:44] ================== drm_test_rect_rotate ===================
[08:30:44] [PASSED] reflect-x
[08:30:44] [PASSED] reflect-y
[08:30:44] [PASSED] rotate-0
[08:30:44] [PASSED] rotate-90
[08:30:44] [PASSED] rotate-180
[08:30:44] [PASSED] rotate-270
[08:30:44] ============== [PASSED] drm_test_rect_rotate ===============
[08:30:44] ================ drm_test_rect_rotate_inv =================
[08:30:44] [PASSED] reflect-x
[08:30:44] [PASSED] reflect-y
[08:30:44] [PASSED] rotate-0
[08:30:44] [PASSED] rotate-90
[08:30:44] [PASSED] rotate-180
[08:30:44] [PASSED] rotate-270
[08:30:44] ============ [PASSED] drm_test_rect_rotate_inv =============
[08:30:44] ==================== [PASSED] drm_rect =====================
[08:30:44] ============ drm_sysfb_modeset_test (1 subtest) ============
[08:30:44] ============ drm_test_sysfb_build_fourcc_list =============
[08:30:44] [PASSED] no native formats
[08:30:44] [PASSED] XRGB8888 as native format
[08:30:44] [PASSED] remove duplicates
[08:30:44] [PASSED] convert alpha formats
[08:30:44] [PASSED] random formats
[08:30:44] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[08:30:44] ============= [PASSED] drm_sysfb_modeset_test ==============
[08:30:44] ================== drm_fixp (2 subtests) ===================
[08:30:44] [PASSED] drm_test_int2fixp
[08:30:44] [PASSED] drm_test_sm2fixp
[08:30:44] ==================== [PASSED] drm_fixp =====================
[08:30:44] ============================================================
[08:30:44] Testing complete. Ran 621 tests: passed: 621
[08:30:44] Elapsed time: 50.307s total, 2.710s configuring, 47.330s building, 0.253s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[08:30:44] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:30:47] 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
[08:31:03] Starting KUnit Kernel (1/1)...
[08:31:03] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:31:03] ================= ttm_device (5 subtests) ==================
[08:31:03] [PASSED] ttm_device_init_basic
[08:31:03] [PASSED] ttm_device_init_multiple
[08:31:03] [PASSED] ttm_device_fini_basic
[08:31:03] [PASSED] ttm_device_init_no_vma_man
[08:31:03] ================== ttm_device_init_pools ==================
[08:31:03] [PASSED] No DMA allocations, no DMA32 required
[08:31:03] [PASSED] DMA allocations, DMA32 required
[08:31:03] [PASSED] No DMA allocations, DMA32 required
[08:31:03] [PASSED] DMA allocations, no DMA32 required
[08:31:03] ============== [PASSED] ttm_device_init_pools ==============
[08:31:03] =================== [PASSED] ttm_device ====================
[08:31:03] ================== ttm_pool (8 subtests) ===================
[08:31:03] ================== ttm_pool_alloc_basic ===================
[08:31:03] [PASSED] One page
[08:31:03] [PASSED] More than one page
[08:31:03] [PASSED] Above the allocation limit
[08:31:03] [PASSED] One page, with coherent DMA mappings enabled
[08:31:03] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[08:31:03] ============== [PASSED] ttm_pool_alloc_basic ===============
[08:31:03] ============== ttm_pool_alloc_basic_dma_addr ==============
[08:31:03] [PASSED] One page
[08:31:03] [PASSED] More than one page
[08:31:03] [PASSED] Above the allocation limit
[08:31:03] [PASSED] One page, with coherent DMA mappings enabled
[08:31:03] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[08:31:03] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[08:31:03] [PASSED] ttm_pool_alloc_order_caching_match
[08:31:03] [PASSED] ttm_pool_alloc_caching_mismatch
[08:31:03] [PASSED] ttm_pool_alloc_order_mismatch
[08:31:03] [PASSED] ttm_pool_free_dma_alloc
[08:31:03] [PASSED] ttm_pool_free_no_dma_alloc
[08:31:03] [PASSED] ttm_pool_fini_basic
[08:31:03] ==================== [PASSED] ttm_pool =====================
[08:31:03] ================ ttm_resource (8 subtests) =================
[08:31:03] ================= ttm_resource_init_basic =================
[08:31:03] [PASSED] Init resource in TTM_PL_SYSTEM
[08:31:03] [PASSED] Init resource in TTM_PL_VRAM
[08:31:03] [PASSED] Init resource in a private placement
[08:31:03] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[08:31:03] ============= [PASSED] ttm_resource_init_basic =============
[08:31:03] [PASSED] ttm_resource_init_pinned
[08:31:03] [PASSED] ttm_resource_fini_basic
[08:31:03] [PASSED] ttm_resource_manager_init_basic
[08:31:03] [PASSED] ttm_resource_manager_usage_basic
[08:31:03] [PASSED] ttm_resource_manager_set_used_basic
[08:31:03] [PASSED] ttm_sys_man_alloc_basic
[08:31:03] [PASSED] ttm_sys_man_free_basic
[08:31:03] ================== [PASSED] ttm_resource ===================
[08:31:03] =================== ttm_tt (15 subtests) ===================
[08:31:03] ==================== ttm_tt_init_basic ====================
[08:31:03] [PASSED] Page-aligned size
[08:31:03] [PASSED] Extra pages requested
[08:31:03] ================ [PASSED] ttm_tt_init_basic ================
[08:31:03] [PASSED] ttm_tt_init_misaligned
[08:31:03] [PASSED] ttm_tt_fini_basic
[08:31:03] [PASSED] ttm_tt_fini_sg
[08:31:03] [PASSED] ttm_tt_fini_shmem
[08:31:03] [PASSED] ttm_tt_create_basic
[08:31:03] [PASSED] ttm_tt_create_invalid_bo_type
[08:31:03] [PASSED] ttm_tt_create_ttm_exists
[08:31:03] [PASSED] ttm_tt_create_failed
[08:31:03] [PASSED] ttm_tt_destroy_basic
[08:31:03] [PASSED] ttm_tt_populate_null_ttm
[08:31:03] [PASSED] ttm_tt_populate_populated_ttm
[08:31:03] [PASSED] ttm_tt_unpopulate_basic
[08:31:03] [PASSED] ttm_tt_unpopulate_empty_ttm
[08:31:03] [PASSED] ttm_tt_swapin_basic
[08:31:03] ===================== [PASSED] ttm_tt ======================
[08:31:03] =================== ttm_bo (14 subtests) ===================
[08:31:03] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[08:31:03] [PASSED] Cannot be interrupted and sleeps
[08:31:03] [PASSED] Cannot be interrupted, locks straight away
[08:31:03] [PASSED] Can be interrupted, sleeps
[08:31:03] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[08:31:03] [PASSED] ttm_bo_reserve_locked_no_sleep
[08:31:03] [PASSED] ttm_bo_reserve_no_wait_ticket
[08:31:03] [PASSED] ttm_bo_reserve_double_resv
[08:31:03] [PASSED] ttm_bo_reserve_interrupted
[08:31:03] [PASSED] ttm_bo_reserve_deadlock
[08:31:03] [PASSED] ttm_bo_unreserve_basic
[08:31:03] [PASSED] ttm_bo_unreserve_pinned
[08:31:03] [PASSED] ttm_bo_unreserve_bulk
[08:31:03] [PASSED] ttm_bo_fini_basic
[08:31:03] [PASSED] ttm_bo_fini_shared_resv
[08:31:03] [PASSED] ttm_bo_pin_basic
[08:31:03] [PASSED] ttm_bo_pin_unpin_resource
[08:31:03] [PASSED] ttm_bo_multiple_pin_one_unpin
[08:31:03] ===================== [PASSED] ttm_bo ======================
[08:31:03] ============== ttm_bo_validate (22 subtests) ===============
[08:31:03] ============== ttm_bo_init_reserved_sys_man ===============
[08:31:03] [PASSED] Buffer object for userspace
[08:31:03] [PASSED] Kernel buffer object
[08:31:03] [PASSED] Shared buffer object
[08:31:03] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[08:31:03] ============== ttm_bo_init_reserved_mock_man ==============
[08:31:03] [PASSED] Buffer object for userspace
[08:31:03] [PASSED] Kernel buffer object
[08:31:03] [PASSED] Shared buffer object
[08:31:03] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[08:31:03] [PASSED] ttm_bo_init_reserved_resv
[08:31:03] ================== ttm_bo_validate_basic ==================
[08:31:03] [PASSED] Buffer object for userspace
[08:31:03] [PASSED] Kernel buffer object
[08:31:03] [PASSED] Shared buffer object
[08:31:03] ============== [PASSED] ttm_bo_validate_basic ==============
[08:31:03] [PASSED] ttm_bo_validate_invalid_placement
[08:31:03] ============= ttm_bo_validate_same_placement ==============
[08:31:03] [PASSED] System manager
[08:31:03] [PASSED] VRAM manager
[08:31:03] ========= [PASSED] ttm_bo_validate_same_placement ==========
[08:31:03] [PASSED] ttm_bo_validate_failed_alloc
[08:31:03] [PASSED] ttm_bo_validate_pinned
[08:31:03] [PASSED] ttm_bo_validate_busy_placement
[08:31:03] ================ ttm_bo_validate_multihop =================
[08:31:03] [PASSED] Buffer object for userspace
[08:31:03] [PASSED] Kernel buffer object
[08:31:03] [PASSED] Shared buffer object
[08:31:03] ============ [PASSED] ttm_bo_validate_multihop =============
[08:31:03] ========== ttm_bo_validate_no_placement_signaled ==========
[08:31:03] [PASSED] Buffer object in system domain, no page vector
[08:31:03] [PASSED] Buffer object in system domain with an existing page vector
[08:31:03] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[08:31:03] ======== ttm_bo_validate_no_placement_not_signaled ========
[08:31:03] [PASSED] Buffer object for userspace
[08:31:03] [PASSED] Kernel buffer object
[08:31:03] [PASSED] Shared buffer object
[08:31:03] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[08:31:03] [PASSED] ttm_bo_validate_move_fence_signaled
[08:31:03] ========= ttm_bo_validate_move_fence_not_signaled =========
[08:31:03] [PASSED] Waits for GPU
[08:31:03] [PASSED] Tries to lock straight away
[08:31:03] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[08:31:03] [PASSED] ttm_bo_validate_swapout
[08:31:03] [PASSED] ttm_bo_validate_happy_evict
[08:31:03] [PASSED] ttm_bo_validate_all_pinned_evict
[08:31:03] [PASSED] ttm_bo_validate_allowed_only_evict
[08:31:03] [PASSED] ttm_bo_validate_deleted_evict
[08:31:03] [PASSED] ttm_bo_validate_busy_domain_evict
[08:31:03] [PASSED] ttm_bo_validate_evict_gutting
[08:31:03] [PASSED] ttm_bo_validate_recrusive_evict
[08:31:03] ================= [PASSED] ttm_bo_validate =================
[08:31:03] ============================================================
[08:31:03] Testing complete. Ran 102 tests: passed: 102
[08:31:03] Elapsed time: 18.680s total, 2.682s configuring, 15.782s building, 0.199s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 17+ messages in thread* ✓ Xe.CI.BAT: success for AS SDP cleanups and additions for Panel Replay + VRR (rev2)
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (9 preceding siblings ...)
2026-04-28 8:31 ` ✓ CI.KUnit: success for AS SDP cleanups and additions for Panel Replay + VRR (rev2) Patchwork
@ 2026-04-28 9:28 ` Patchwork
2026-04-28 17:34 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-05-11 14:21 ` [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Nautiyal, Ankit K
12 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-04-28 9:28 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 2009 bytes --]
== Series Details ==
Series: AS SDP cleanups and additions for Panel Replay + VRR (rev2)
URL : https://patchwork.freedesktop.org/series/165419/
State : success
== Summary ==
CI Bug Log - changes from xe-4944-aea2c496abcf55b647c14fe720bfc4ea555aac6a_BAT -> xe-pw-165419v2_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-165419v2_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#7483])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4944-aea2c496abcf55b647c14fe720bfc4ea555aac6a/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165419v2/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html
#### Possible fixes ####
* igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1:
- bat-adlp-7: [DMESG-WARN][3] ([Intel XE#7483]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4944-aea2c496abcf55b647c14fe720bfc4ea555aac6a/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165419v2/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html
[Intel XE#7483]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7483
Build changes
-------------
* Linux: xe-4944-aea2c496abcf55b647c14fe720bfc4ea555aac6a -> xe-pw-165419v2
IGT_8874: 4568b2c141ab630c34f8eb2b9afab8cbf8f3ce9e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4944-aea2c496abcf55b647c14fe720bfc4ea555aac6a: aea2c496abcf55b647c14fe720bfc4ea555aac6a
xe-pw-165419v2: 165419v2
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165419v2/index.html
[-- Attachment #2: Type: text/html, Size: 2672 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread* ✗ Xe.CI.FULL: failure for AS SDP cleanups and additions for Panel Replay + VRR (rev2)
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (10 preceding siblings ...)
2026-04-28 9:28 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-04-28 17:34 ` Patchwork
2026-05-11 14:21 ` [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Nautiyal, Ankit K
12 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-04-28 17:34 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 390 bytes --]
== Series Details ==
Series: AS SDP cleanups and additions for Panel Replay + VRR (rev2)
URL : https://patchwork.freedesktop.org/series/165419/
State : failure
== Summary ==
ERROR: The runconfig 'xe-4944-aea2c496abcf55b647c14fe720bfc4ea555aac6a_FULL' does not exist in the database
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165419v2/index.html
[-- Attachment #2: Type: text/html, Size: 955 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR
2026-04-28 7:44 [PATCH 0/9] AS SDP cleanups and additions for Panel Replay + VRR Ankit Nautiyal
` (11 preceding siblings ...)
2026-04-28 17:34 ` ✗ Xe.CI.FULL: failure " Patchwork
@ 2026-05-11 14:21 ` Nautiyal, Ankit K
12 siblings, 0 replies; 17+ messages in thread
From: Nautiyal, Ankit K @ 2026-05-11 14:21 UTC (permalink / raw)
To: intel-gfx, intel-xe, dri-devel
Cc: ville.syrjala, jani.nikula, Kandpal, Suraj
On 4/28/2026 1:14 PM, Ankit Nautiyal wrote:
> This is a subset of patches separated from the series at
> https://patchwork.freedesktop.org/series/164512/ for merging.
>
> These are drm-core (drm/dp) patches that clean up and extend the
> Adaptive Sync SDP definitions and helpers in preparation for
> Panel Replay + VRR support.
>
> Rev2:
> - Refactor SDP logging to use space-separated field and
> drm_printf_indent. (Ville, Jani)
>
> Ankit Nautiyal (9):
> drm/dp: Rename and relocate AS SDP payload field masks
> drm/dp: Clean up DPRX feature enumeration macros
> drm/dp: Add bits for AS SDP FAVT Payload Fields Parsing support
> drm/dp: Add DPCD for configuring AS SDP for PR + VRR
> drm/dp: Refactor AS SDP logging to use space-separated field names
> drm/dp: Store coasting vtotal in struct drm_dp_as_sdp
> drm/dp: Add a helper to get the SDP type as a string
> drm/dp: Add target_rr_divider field in AS SDP logging
> drm/dp: Use drm_printf_indent for DP SDP logging
Thanks Ville and Jani for the reviews. Thanks Suraj to merge these into
drm-misc.
Regards,
Ankit
>
> drivers/gpu/drm/display/drm_dp_helper.c | 69 ++++++++++++++++++-------
> drivers/gpu/drm/i915/display/intel_dp.c | 4 +-
> include/drm/display/drm_dp.h | 20 ++++---
> include/drm/display/drm_dp_helper.h | 1 +
> 4 files changed, 68 insertions(+), 26 deletions(-)
>
^ permalink raw reply [flat|nested] 17+ messages in thread