Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting
@ 2026-09-22  9:26 Xiao Lu
  2026-09-22  9:26 ` [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Xiao Lu @ 2026-09-22  9:26 UTC (permalink / raw)
  To: intel-gfx
  Cc: dri-devel, jani.nikula, joonas.lahtinen, rodrigo.vivi,
	tvrtko.ursulin, lyude, David.Francis, Xiao Lu

v2: Send the two related patches together as a series, as requested
by Jani. No code changes from v1.

This series fixes two related issues in MST payload bandwidth
accounting that together caused 4K@60Hz to fail alongside two
1080p@60Hz displays in a 3-display MST daisy-chain topology
(PS8650 hub -> ViewSonic VP2468 x2 -> Lenovo Pro 27UD-10).

Patch 1 fixes the PBN value passed in the ALLOCATE_PAYLOAD sideband
request. The driver was using a TU-aligned PBN (e.g. 537) instead of
the actual video stream bandwidth (e.g. 496 for 1080p@59.94Hz),
inflating the requested PBN and causing -ENOSPC failures for
configurations that should fit within the available link bandwidth.

Patch 2 tracks the allocated_pbn returned in the ALLOCATE_PAYLOAD
reply, and uses it alongside @pbn for bandwidth limit checks. This
ensures that any per-hop capacity constraints from intermediate MST
branches are correctly reflected in the source-side bandwidth check.

Xiao Lu (2):
  drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
  drm/dp/mst: track allocated_pbn from ALLOCATE_PAYLOAD reply

 drivers/gpu/drm/display/drm_dp_mst_topology.c | 24 ++++++++++++++----
 drivers/gpu/drm/i915/display/intel_dp_mst.c   | 24 +++++++++++------
 include/drm/display/drm_dp_mst_helper.h       | 10 +++++++
 3 files changed, 46 insertions(+), 12 deletions(-)

-- 
2.43.0

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

* [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
  2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
@ 2026-09-22  9:26 ` Xiao Lu
  2026-09-22  9:35   ` sashiko-bot
  2026-09-22  9:26 ` [PATCH v2 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Xiao Lu @ 2026-09-22  9:26 UTC (permalink / raw)
  To: intel-gfx
  Cc: dri-devel, jani.nikula, joonas.lahtinen, rodrigo.vivi,
	tvrtko.ursulin, lyude, David.Francis, Xiao Lu

When computing the number of time slots for an MST stream,
intel_dp_mtp_tu_compute_config() was passing the TU-aligned PBN value
to drm_dp_atomic_find_time_slots() instead of the actual video
bandwidth PBN.

The aligned PBN is computed by rounding up the raw video bandwidth to
the nearest TU boundary and aligning to the hardware TU granularity
(4 / lane_count). This inflated PBN is then used as the requested PBN
in the ALLOCATE_PAYLOAD sideband message, causing the MST core's
bandwidth check in drm_dp_mst_atomic_check_port_bw_limit() to
incorrectly reject configurations that should fit within the available
link bandwidth.

Per DP v2.1b Section 2.6.4.1, the PBN in an ALLOCATE_PAYLOAD request
represents the video stream bandwidth and is independent of the source
TX link rate. The same video stream should result in the same PBN value
regardless of the link rate used on the source side. Passing the
TU-aligned PBN violates this requirement, as it incorporates link-rate-
specific TU granularity into the payload bandwidth value.

This was observed in a 3-display MST daisy-chain topology (PS8650 MST
hub → ViewSonic VP2468 × 2 → Lenovo Pro 27UD-10) where switching
Lenovo to 4K@60Hz failed with -ENOSPC despite the actual video
bandwidth fitting within the DFP link capacity. The inflated PBN of
the VP2468 streams (537 instead of the correct 532 for 1920x1080@60Hz)
consumed excess slots, leaving insufficient room for the 4K@60Hz stream.

Fix this by separating raw_pbn (the actual video bandwidth used for
payload allocation and ALLOCATE_PAYLOAD) from the aligned pbn (used
only for TU hardware programming). Pass raw_pbn to
drm_dp_atomic_find_time_slots() so that bandwidth accounting in the
MST core reflects the true stream requirements.

Depends-on: <20260908132844.2309047-1-xiaolu.xie@intel.com>
  ("drm/dp/mst: track allocated_pbn from ALLOCATE_PAYLOAD reply")

The companion patch above tracks the allocated_pbn returned in the
ALLOCATE_PAYLOAD reply from the branch device. Together with this fix,
the correct raw_pbn is used as the requested PBN in the
ALLOCATE_PAYLOAD request, and the allocated_pbn from the reply is used
for bandwidth limit checks. This pairing ensures that both the request
and the check accurately reflect the actual video stream bandwidth
and any per-hop capacity constraints along the MST path.

Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 33 +++++++++++++++------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 0c362784a..31e846aad 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -350,6 +350,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 		if (is_mst) {
 			int remote_bw_overhead;
 			int remote_tu;
+			int raw_pbn;
 			fixed20_12 pbn;
 
 			remote_bw_overhead = intel_dp_mst_bw_overhead(crtc_state,
@@ -369,9 +370,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 			 * crtc_state->dp_m_n.tu), provided that the driver doesn't
 			 * enable SSC on the corresponding link.
 			 */
-			pbn.full = dfixed_const(intel_dp_mst_calc_pbn(adjusted_mode->crtc_clock,
-								      link_bpp_x16,
-								      remote_bw_overhead));
+			raw_pbn = intel_dp_mst_calc_pbn(adjusted_mode->crtc_clock,
+							 link_bpp_x16,
+							 remote_bw_overhead);
+			pbn.full = dfixed_const(raw_pbn);
 			remote_tu = DIV_ROUND_UP(pbn.full, mst_state->pbn_div.full);
 
 			/*
@@ -384,11 +386,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 			remote_tu = ALIGN(remote_tu, 4 / crtc_state->lane_count);
 
 			/*
-			 * Also align PBNs accordingly, since MST core will derive its
-			 * own copy of TU from the PBN in drm_dp_atomic_find_time_slots().
-			 * The above comment about the difference between the PBN
-			 * allocated for the whole path and the TUs allocated for the
-			 * first branch device's link also applies here.
+			 * Keep the PBN corresponding to the aligned hardware TU separate
+			 * from raw_pbn. The aligned value describes the TU granularity of
+			 * the first downstream branch link; raw_pbn is the video bandwidth
+			 * value passed to the MST payload allocator and ALLOCATE_PAYLOAD.
 			 */
 			pbn.full = remote_tu * mst_state->pbn_div.full;
 
@@ -397,7 +398,21 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 
 			slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr,
 							      connector->mst.port,
-							      dfixed_trunc(pbn));
+							      raw_pbn);
+
+			drm_dbg_kms(display->drm,
+				    "MST TU %s pipe %c: clock=%d lanes=%d bpp=%d link_bpp=%d fec=%d\n",
+				    connector->base.name,
+				    pipe_name(to_intel_crtc(crtc_state->uapi.crtc)->pipe),
+				    crtc_state->port_clock, crtc_state->lane_count,
+				    fxp_q4_to_int(bpp_x16), fxp_q4_to_int(link_bpp_x16),
+				    crtc_state->fec_enable);
+			drm_dbg_kms(display->drm,
+				    "MST TU %s: overhead=%d raw_pbn=%d pbn=%d pbn_div=%d tu=%d slots=%d full_pbn=%d\n",
+				    connector->base.name,
+				    remote_bw_overhead, raw_pbn,
+				    dfixed_trunc(pbn), dfixed_trunc(mst_state->pbn_div),
+				    remote_tu, slots, connector->mst.port->full_pbn);
 
 			/* TODO: Check this already in drm_dp_atomic_find_time_slots(). */
 			if (slots > mst_state->total_avail_slots)
-- 
2.43.0


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

* [PATCH v2 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply
  2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
  2026-09-22  9:26 ` [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
@ 2026-09-22  9:26 ` Xiao Lu
  2026-09-22  9:41   ` sashiko-bot
  2026-09-22  9:35 ` [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Jani Nikula
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Xiao Lu @ 2026-09-22  9:26 UTC (permalink / raw)
  To: intel-gfx
  Cc: dri-devel, jani.nikula, joonas.lahtinen, rodrigo.vivi,
	tvrtko.ursulin, lyude, David.Francis, Xiao Lu

The DP MST ALLOCATE_PAYLOAD sideband message returns the payload bandwidth actually allocated by the branch in the allocated_pbn field of the down-reply. That value may differ from the requested PBN when an intermediate branch applies its own constraints, so the source should keep track of it instead of only relying on the local request.

Store the allocated_pbn returned by the ALLOCATE_PAYLOAD down-reply sideband message and use the larger of requested PBN and allocated PBN for the MST bandwidth limit checks. Also carry the value across dependent atomic commits and clear it when releasing the payload, matching the lifetime of the remote allocation state.

Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 19 ++++++++++++++-----
 include/drm/display/drm_dp_mst_helper.h       | 10 ++++++++++
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 7ce9e2127..b0e4cf845 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -3120,6 +3120,7 @@ drm_dp_get_last_connected_port_and_mstb(struct drm_dp_mst_topology_mgr *mgr,
 
 static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
 				   struct drm_dp_mst_port *port,
+				   struct drm_dp_mst_atomic_payload *payload,
 				   int id,
 				   int pbn)
 {
@@ -3166,10 +3167,14 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
 	 */
 	ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
 	if (ret > 0) {
-		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
+		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK) {
 			ret = -EINVAL;
-		else
+		} else {
+			if (payload)
+				payload->allocated_pbn =
+					txmsg->reply.u.allocate_payload.allocated_pbn;
 			ret = 0;
+		}
 	}
 	kfree(txmsg);
 fail_put:
@@ -3285,7 +3290,7 @@ static int drm_dp_create_payload_to_remote(struct drm_dp_mst_topology_mgr *mgr,
 	if (!port)
 		return -EIO;
 
-	ret = drm_dp_payload_send_msg(mgr, port, payload->vcpi, payload->pbn);
+	ret = drm_dp_payload_send_msg(mgr, port, payload, payload->vcpi, payload->pbn);
 	drm_dp_mst_topology_put_port(port);
 	return ret;
 }
@@ -3298,7 +3303,7 @@ static void drm_dp_destroy_payload_at_remote_and_dfp(struct drm_dp_mst_topology_
 
 	/* it's okay for these to fail */
 	if (payload->payload_allocation_status == DRM_DP_MST_PAYLOAD_ALLOCATION_REMOTE) {
-		drm_dp_payload_send_msg(mgr, payload->port, payload->vcpi, 0);
+		drm_dp_payload_send_msg(mgr, payload->port, NULL, payload->vcpi, 0);
 		payload->payload_allocation_status = DRM_DP_MST_PAYLOAD_ALLOCATION_DFP;
 	}
 
@@ -4495,6 +4500,8 @@ int drm_dp_atomic_find_time_slots(struct drm_atomic_commit *state,
 	}
 	payload->time_slots = req_slots;
 	payload->pbn = pbn;
+	/* Clear allocated_pbn so it is re-populated from the next ALLOCATE_PAYLOAD reply. */
+	payload->allocated_pbn = 0;
 
 	return req_slots;
 }
@@ -4575,6 +4582,7 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_commit *state,
 	drm_dbg_atomic(mgr->dev, "[MST PORT:%p] TU %d -> 0\n", port, payload->time_slots);
 	if (!payload->delete) {
 		payload->pbn = 0;
+		payload->allocated_pbn = 0;
 		payload->delete = true;
 		if (payload->vcpi > 0)
 			topology_state->payload_mask &= ~BIT(payload->vcpi - 1);
@@ -4670,6 +4678,7 @@ void drm_dp_mst_atomic_wait_for_dependencies(struct drm_atomic_commit *state)
 			new_payload = drm_atomic_get_mst_payload_state(new_mst_state,
 								       old_payload->port);
 			new_payload->vc_start_slot = old_payload->vc_start_slot;
+			new_payload->allocated_pbn = old_payload->allocated_pbn;
 			new_payload->payload_allocation_status =
 							old_payload->payload_allocation_status;
 		}
@@ -5352,7 +5361,7 @@ drm_dp_mst_atomic_check_port_bw_limit(struct drm_dp_mst_port *port,
 			return -EINVAL;
 		}
 
-		pbn_used = payload->pbn;
+		pbn_used = max(payload->pbn, payload->allocated_pbn);
 	} else {
 		pbn_used = drm_dp_mst_atomic_check_mstb_bw_limit(port->mstb,
 								 state,
diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h
index 27658bfb5..1a9430a62 100644
--- a/include/drm/display/drm_dp_mst_helper.h
+++ b/include/drm/display/drm_dp_mst_helper.h
@@ -572,6 +572,16 @@ struct drm_dp_mst_atomic_payload {
 	int time_slots;
 	/** @pbn: The payload bandwidth for this payload */
 	int pbn;
+	/**
+	 * @allocated_pbn: The payload bandwidth actually confirmed by the
+	 * branch device in the ALLOCATE_PAYLOAD reply. Each MST branch along
+	 * the path overrides this field to the maximum of the requested and
+	 * its own constrained value, so the value received by the source
+	 * reflects the tightest bottleneck along the entire path.
+	 * Used instead of @pbn for bandwidth limit checks so that the source
+	 * accounts for any per-hop adjustments made by intermediate branches.
+	 */
+	int allocated_pbn;
 
 	/** @delete: Whether or not we intend to delete this payload during this atomic commit */
 	bool delete : 1;
-- 
2.43.0


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

* Re: [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting
  2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
  2026-09-22  9:26 ` [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
  2026-09-22  9:26 ` [PATCH v2 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
@ 2026-09-22  9:35 ` Jani Nikula
  2026-09-22 12:30 ` ✓ i915.CI.BAT: success for " Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Jani Nikula @ 2026-09-22  9:35 UTC (permalink / raw)
  To: Xiao Lu, intel-gfx
  Cc: dri-devel, joonas.lahtinen, rodrigo.vivi, tvrtko.ursulin, lyude,
	David.Francis, Xiao Lu

On Tue, 22 Sep 2026, Xiao Lu <xiaolu.xie@intel.com> wrote:
> v2: Send the two related patches together as a series, as requested
> by Jani. No code changes from v1.

I bounced this series to intel-xe@lists.freedesktop.org as well, since
the display code is shared with xe, and we want to run xe CI on it too.

MAINTAINERS should indicate this. For future reference, please send
Intel display patches to both intel-xe and intel-gfx mailing lists.

Thanks,
Jani.

>
> This series fixes two related issues in MST payload bandwidth
> accounting that together caused 4K@60Hz to fail alongside two
> 1080p@60Hz displays in a 3-display MST daisy-chain topology
> (PS8650 hub -> ViewSonic VP2468 x2 -> Lenovo Pro 27UD-10).
>
> Patch 1 fixes the PBN value passed in the ALLOCATE_PAYLOAD sideband
> request. The driver was using a TU-aligned PBN (e.g. 537) instead of
> the actual video stream bandwidth (e.g. 496 for 1080p@59.94Hz),
> inflating the requested PBN and causing -ENOSPC failures for
> configurations that should fit within the available link bandwidth.
>
> Patch 2 tracks the allocated_pbn returned in the ALLOCATE_PAYLOAD
> reply, and uses it alongside @pbn for bandwidth limit checks. This
> ensures that any per-hop capacity constraints from intermediate MST
> branches are correctly reflected in the source-side bandwidth check.
>
> Xiao Lu (2):
>   drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
>   drm/dp/mst: track allocated_pbn from ALLOCATE_PAYLOAD reply
>
>  drivers/gpu/drm/display/drm_dp_mst_topology.c | 24 ++++++++++++++----
>  drivers/gpu/drm/i915/display/intel_dp_mst.c   | 24 +++++++++++------
>  include/drm/display/drm_dp_mst_helper.h       | 10 +++++++
>  3 files changed, 46 insertions(+), 12 deletions(-)

-- 
Jani Nikula, Intel

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

* Re: [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
  2026-09-22  9:26 ` [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
@ 2026-09-22  9:35   ` sashiko-bot
  0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-09-22  9:35 UTC (permalink / raw)
  To: Xiao Lu; +Cc: dri-devel, intel-gfx

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm/i915/dp: Timeslot accounting mismatch and WARN_ON due to unaligned slots
--

commit 42ac7363ce1083ef4680462acc3e4eec1ddf8e96
Author: Xiao Lu <xiaolu.xie@intel.com>
Subject: drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth

This commit modifies intel_dp_mtp_tu_compute_config() to separate the actual
video bandwidth (raw_pbn) from the aligned PBN used for hardware TU
programming. It passes raw_pbn to drm_dp_atomic_find_time_slots() so that the
MST core allocates payload bandwidth reflecting true stream requirements rather
than incorporating link-rate-specific TU granularity.

> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 0c362784afe4a..31e846aadcf6c 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
[ ... ]
> @@ -397,7 +398,21 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
>  
>  			slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr,
>  							      connector->mst.port,
> -							      dfixed_trunc(pbn));
> +							      raw_pbn);

[Severity: High]
Does this cause a timeslot accounting mismatch and a kernel warning?

By passing raw_pbn to drm_dp_atomic_find_time_slots() in
intel_dp_mtp_tu_compute_config(), the function calculates and returns an
unaligned VCPI timeslot allocation. However, the Intel TX hardware requires
timeslots to be aligned (e.g., to a 4-slot boundary for a 1-lane link).

Because the returned slots is unaligned, it diverges from the hardware-aligned
dp_m_n.tu. This leads to two issues:

1. The boundary check immediately following this call:

    if (slots > mst_state->total_avail_slots)
        slots = -EINVAL;

incorrectly uses the unaligned slots value rather than checking the final
aligned remote_tu that is actually programmed into the hardware. This might
bypass the availability check for streams that exceed link capacity when
aligned.

2. The assertion further down in the function:

    drm_WARN_ON(display->drm, slots != crtc_state->dp_m_n.tu);

will falsely and reliably trigger a kernel stack trace on any successful
modeset where alignment padding was applied (like on a 1-lane or 2-lane link
where 4 / lane_count alignment changes the raw TU count).

Additionally, this mismatch between the downstream branch device's DPCD
payload table (receiving the unaligned VCPI slot count) and the Intel TX
(transmitting the padded TU count) violates Bspec synchronization requirements
and risks payload corruption.

> +
> +			drm_dbg_kms(display->drm,
> +				    "MST TU %s pipe %c: clock=%d lanes=%d bpp=%d link_bpp=%d fec=%d\n",
> +				    connector->base.name,
> +				    pipe_name(to_intel_crtc(crtc_state->uapi.crtc)->pipe),
> +				    crtc_state->port_clock, crtc_state->lane_count,
> +				    fxp_q4_to_int(bpp_x16), fxp_q4_to_int(link_bpp_x16),
> +				    crtc_state->fec_enable);
> +			drm_dbg_kms(display->drm,
> +				    "MST TU %s: overhead=%d raw_pbn=%d pbn=%d pbn_div=%d tu=%d slots=%d full_pbn=%d\n",
> +				    connector->base.name,
> +				    remote_bw_overhead, raw_pbn,
> +				    dfixed_trunc(pbn), dfixed_trunc(mst_state->pbn_div),
> +				    remote_tu, slots, connector->mst.port->full_pbn);
>  
>  			/* TODO: Check this already in drm_dp_atomic_find_time_slots(). */
>  			if (slots > mst_state->total_avail_slots)

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260922092647.2263962-1-xiaolu.xie@intel.com?part=1

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

* Re: [PATCH v2 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply
  2026-09-22  9:26 ` [PATCH v2 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
@ 2026-09-22  9:41   ` sashiko-bot
  0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-09-22  9:41 UTC (permalink / raw)
  To: Xiao Lu; +Cc: intel-gfx, dri-devel

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] drm/dp_mst: Data race and logical flaw in allocated_pbn causes spurious -ENOSPC
- [High] drm/dp_mst: Unvalidated allocated_pbn from device causes permanent DoS
--

commit 4a7c9a56c428ab20bf4027cd5c4e8a720688111a
Author: Xiao Lu <xiaolu.xie@intel.com>

drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply

This commit stores the allocated_pbn returned by the ALLOCATE_PAYLOAD
down-reply sideband message. It uses the larger of requested PBN and
allocated PBN for the MST bandwidth limit checks, carrying the value across
dependent atomic commits.

> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> index 7ce9e212770ad..b0e4cf8458eda 100644
> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> @@ -3166,10 +3167,14 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
>  	 */
>  	ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
>  	if (ret > 0) {
> -		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
> +		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK) {
>  			ret = -EINVAL;
> -		else
> +		} else {
> +			if (payload)
> +				payload->allocated_pbn =
> +					txmsg->reply.u.allocate_payload.allocated_pbn;

[Severity: High]
Is it safe to write to the active atomic state payload from an asynchronous
worker here without modeset locks?

If drm_dp_add_payload_part2() locklessly mutates allocated_pbn concurrently
with drm_dp_mst_duplicate_state(), could this result in a data race?

[Severity: High]
Is this untrusted 16-bit value from the branch device saved into the payload
state here without bounds checking?

If a malicious or malfunctioning branch device replies to the
ALLOCATE_PAYLOAD message with a spoofed allocated_pbn value (e.g., 65535),
could it be stored directly without validation?

>  			ret = 0;
> +		}
>  	}
>  	kfree(txmsg);
>  fail_put:
[ ... ]
> @@ -4670,6 +4678,7 @@ void drm_dp_mst_atomic_wait_for_dependencies(struct drm_atomic_commit *state)
>  			new_payload = drm_atomic_get_mst_payload_state(new_mst_state,
>  								       old_payload->port);
>  			new_payload->vc_start_slot = old_payload->vc_start_slot;
> +			new_payload->allocated_pbn = old_payload->allocated_pbn;

[Severity: High]
Could this unconditional restore overwrite the 0 set by
drm_dp_atomic_find_time_slots() during the atomic check phase?

If it does, could it inflate the perceived bandwidth for concurrent checks?

>  			new_payload->payload_allocation_status =
>  							old_payload->payload_allocation_status;
>  		}
[ ... ]
> @@ -5352,7 +5361,7 @@ drm_dp_mst_atomic_check_port_bw_limit(struct drm_dp_mst_port *port,
>  			return -EINVAL;
>  		}
>  
> -		pbn_used = payload->pbn;
> +		pbn_used = max(payload->pbn, payload->allocated_pbn);

[Severity: High]
Does evaluating this max() with a potentially stale or artificially inflated
value concurrently produce incorrect bandwidth checks?

If so, could it cause spurious -ENOSPC failures in bandwidth validation,
causing display configurations to fail randomly?

Also, if a maliciously huge value was evaluated here, could it force
pbn_used > port->full_pbn, failing the check?

Since the topology check iterates over all payloads, could this permanently
prevent any future display configurations on this topology?

>  	} else {
>  		pbn_used = drm_dp_mst_atomic_check_mstb_bw_limit(port->mstb,

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260922092647.2263962-1-xiaolu.xie@intel.com?part=2

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

* ✓ i915.CI.BAT: success for drm/dp/mst: fix MST payload PBN accounting
  2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
                   ` (2 preceding siblings ...)
  2026-09-22  9:35 ` [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Jani Nikula
@ 2026-09-22 12:30 ` Patchwork
  2026-09-22 23:22 ` ✗ i915.CI.Full: failure " Patchwork
  2026-09-24  9:43 ` [PATCH v3 0/2] drm/i915/dp: Fix MST " Xiao Lu
  5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2026-09-22 12:30 UTC (permalink / raw)
  To: Xiao Lu; +Cc: intel-gfx

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

== Series Details ==

Series: drm/dp/mst: fix MST payload PBN accounting
URL   : https://patchwork.freedesktop.org/series/174696/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_19199 -> Patchwork_174696v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (39 -> 38)
------------------------------

  Missing    (1): bat-dg2-13 


Changes
-------

  No changes found


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

  * Linux: CI_DRM_19199 -> Patchwork_174696v1

  CI-20190529: 20190529
  CI_DRM_19199: b372dd4fe9fba280fd4aef02e14a024bfbeffdc8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_9107: bba540a799a5f1a3c7ddc3a2b864678241377773 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_174696v1: b372dd4fe9fba280fd4aef02e14a024bfbeffdc8 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for drm/dp/mst: fix MST payload PBN accounting
  2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
                   ` (3 preceding siblings ...)
  2026-09-22 12:30 ` ✓ i915.CI.BAT: success for " Patchwork
@ 2026-09-22 23:22 ` Patchwork
  2026-09-24  9:43 ` [PATCH v3 0/2] drm/i915/dp: Fix MST " Xiao Lu
  5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2026-09-22 23:22 UTC (permalink / raw)
  To: Xiao Lu; +Cc: intel-gfx

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

== Series Details ==

Series: drm/dp/mst: fix MST payload PBN accounting
URL   : https://patchwork.freedesktop.org/series/174696/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_19199_full -> Patchwork_174696v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_174696v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_174696v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_174696v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_flip@modeset-vs-vblank-race:
    - shard-dg2:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-3/igt@kms_flip@modeset-vs-vblank-race.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-4/igt@kms_flip@modeset-vs-vblank-race.html

  * igt@kms_flip@modeset-vs-vblank-race@a-hdmi-a1:
    - shard-dg2:          NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-4/igt@kms_flip@modeset-vs-vblank-race@a-hdmi-a1.html

  * igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery:
    - shard-dg1:          NOTRUN -> [ABORT][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html

  
#### Warnings ####

  * igt@kms_atomic@plane-primary-legacy:
    - shard-snb:          [FAIL][5] ([i915#17126]) -> [FAIL][6] +1 other test fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-snb4/igt@kms_atomic@plane-primary-legacy.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb4/igt@kms_atomic@plane-primary-legacy.html

  * igt@kms_pm_dc@dc5-dpms-suspend-resume:
    - shard-dg2:          [FAIL][7] ([i915#16479]) -> [FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-6/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-7/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
    - shard-rkl:          [FAIL][9] ([i915#16479]) -> [FAIL][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-7/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-4/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
    - shard-tglu:         [FAIL][11] ([i915#16479]) -> [FAIL][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-tglu-9/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-4/igt@kms_pm_dc@dc5-dpms-suspend-resume.html

  
New tests
---------

  New tests have been introduced between CI_DRM_19199_full and Patchwork_174696v1_full:

### New IGT tests (8) ###

  * igt@gen9_exec_parse:
    - Statuses : 1 incomplete(s)
    - Exec time: [0.0] s

  * igt@gen9_exec_parse@fbc-2p-primscrn-spr-indfb-draw-render:
    - Statuses :
    - Exec time: [None] s

  * igt@gen9_exec_parse@flip-vs-absolute-wf_vblank:
    - Statuses :
    - Exec time: [None] s

  * igt@gen9_exec_parse@load:
    - Statuses :
    - Exec time: [None] s

  * igt@gen9_exec_parse@psr-2p-primscrn-spr-indfb-draw-blt:
    - Statuses :
    - Exec time: [None] s

  * igt@gen9_exec_parse@reset:
    - Statuses :
    - Exec time: [None] s

  * igt@gen9_exec_parse@wait-any-snapshot:
    - Statuses :
    - Exec time: [None] s

  * igt@gen9_exec_parse@y-tiled-ccs-to-y-tiled-ccs:
    - Statuses :
    - Exec time: [None] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-dg1:          NOTRUN -> [SKIP][13] ([i915#8411])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@gem_basic@multigpu-create-close:
    - shard-tglu-1:       NOTRUN -> [SKIP][14] ([i915#7697])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@gem_basic@multigpu-create-close.html

  * igt@gem_ccs@block-copy-compressed:
    - shard-rkl:          NOTRUN -> [SKIP][15] ([i915#3555] / [i915#9323]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@gem_ccs@block-copy-compressed.html

  * igt@gem_ccs@block-multicopy-inplace:
    - shard-tglu:         NOTRUN -> [SKIP][16] ([i915#3555] / [i915#9323])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@gem_ccs@block-multicopy-inplace.html

  * igt@gem_ccs@ctrl-surf-copy-new-ctx:
    - shard-dg1:          NOTRUN -> [SKIP][17] ([i915#9323])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_ccs@ctrl-surf-copy-new-ctx.html

  * igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][18] ([i915#13356] / [i915#16348])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-6/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html

  * igt@gem_close_race@multigpu-basic-process:
    - shard-tglu:         NOTRUN -> [SKIP][19] ([i915#7697]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@gem_close_race@multigpu-basic-process.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-tglu:         NOTRUN -> [SKIP][20] ([i915#6335])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_ctx_persistence@engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][21] ([i915#1099]) +3 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb4/igt@gem_ctx_persistence@engines-mixed.html

  * igt@gem_ctx_persistence@heartbeat-many:
    - shard-mtlp:         NOTRUN -> [SKIP][22] ([i915#8555])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@gem_ctx_persistence@heartbeat-many.html

  * igt@gem_ctx_sseu@engines:
    - shard-dg1:          NOTRUN -> [SKIP][23] ([i915#280])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_ctx_sseu@engines.html

  * igt@gem_eio@in-flight-suspend:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][24] ([i915#13356] / [i915#13390])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk11/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_balancer@bonded-false-hang:
    - shard-dg1:          NOTRUN -> [SKIP][25] ([i915#4812])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@gem_exec_balancer@bonded-false-hang.html

  * igt@gem_exec_balancer@noheartbeat:
    - shard-dg1:          NOTRUN -> [SKIP][26] ([i915#8555])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gem_exec_balancer@noheartbeat.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-rkl:          NOTRUN -> [SKIP][27] ([i915#4525]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-tglu:         NOTRUN -> [SKIP][28] ([i915#4525])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_capture@capture-invisible:
    - shard-glk10:        NOTRUN -> [SKIP][29] ([i915#6334]) +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk10/igt@gem_exec_capture@capture-invisible.html

  * igt@gem_exec_capture@capture-invisible@smem0:
    - shard-tglu:         NOTRUN -> [SKIP][30] ([i915#6334]) +1 other test skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@gem_exec_capture@capture-invisible@smem0.html

  * igt@gem_exec_capture@capture@vecs0-lmem0:
    - shard-dg1:          NOTRUN -> [FAIL][31] ([i915#16904]) +2 other tests fail
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gem_exec_capture@capture@vecs0-lmem0.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-dg1:          NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_reloc@basic-gtt-wc-noreloc:
    - shard-dg1:          NOTRUN -> [SKIP][33] ([i915#3281]) +4 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html

  * igt@gem_exec_reloc@basic-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][34] ([i915#3281])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@gem_exec_reloc@basic-wc.html

  * igt@gem_exec_reloc@basic-write-read:
    - shard-rkl:          NOTRUN -> [SKIP][35] ([i915#3281]) +5 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@gem_exec_reloc@basic-write-read.html

  * igt@gem_exec_suspend@basic-s0@lmem0:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][36] ([i915#13356])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-1/igt@gem_exec_suspend@basic-s0@lmem0.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-rkl:          [PASS][37] -> [INCOMPLETE][38] ([i915#13356]) +1 other test incomplete
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-8/igt@gem_exec_suspend@basic-s3.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-3/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_fence_thrash@bo-write-verify-threaded-none:
    - shard-dg1:          NOTRUN -> [SKIP][39] ([i915#4860]) +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gem_fence_thrash@bo-write-verify-threaded-none.html

  * igt@gem_lmem_swapping@heavy-random:
    - shard-glk:          NOTRUN -> [SKIP][40] ([i915#4613]) +2 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk1/igt@gem_lmem_swapping@heavy-random.html

  * igt@gem_lmem_swapping@heavy-verify-random-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][41] ([i915#4613]) +2 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
    - shard-tglu:         NOTRUN -> [SKIP][42] ([i915#4613]) +4 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@gem_lmem_swapping@heavy-verify-random-ccs.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-tglu-1:       NOTRUN -> [SKIP][43] ([i915#4613])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_media_vme:
    - shard-dg1:          NOTRUN -> [SKIP][44] ([i915#284])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@gem_media_vme.html

  * igt@gem_mmap_gtt@hang-user:
    - shard-mtlp:         NOTRUN -> [SKIP][45] ([i915#4077]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@gem_mmap_gtt@hang-user.html

  * igt@gem_mmap_wc@write-read:
    - shard-dg1:          NOTRUN -> [SKIP][46] ([i915#4083])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gem_mmap_wc@write-read.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
    - shard-dg1:          NOTRUN -> [SKIP][47] ([i915#3282]) +6 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html

  * igt@gem_pxp@fail-invalid-protected-context:
    - shard-dg1:          NOTRUN -> [SKIP][48] ([i915#4270])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gem_pxp@fail-invalid-protected-context.html

  * igt@gem_set_tiling_vs_blt@untiled-to-tiled:
    - shard-rkl:          NOTRUN -> [SKIP][49] ([i915#8411])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-rkl:          NOTRUN -> [SKIP][50] ([i915#3282]) +3 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@gem_set_tiling_vs_pwrite.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-dg1:          NOTRUN -> [SKIP][51] ([i915#4885])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_tiling_max_stride:
    - shard-dg1:          NOTRUN -> [SKIP][52] ([i915#4077]) +8 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gem_tiling_max_stride.html

  * igt@gem_unfence_active_buffers:
    - shard-dg1:          NOTRUN -> [SKIP][53] ([i915#4879])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_unfence_active_buffers.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-rkl:          NOTRUN -> [SKIP][54] ([i915#3297]) +4 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-tglu:         NOTRUN -> [SKIP][55] ([i915#3297]) +2 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-dg1:          NOTRUN -> [SKIP][56] ([i915#3297] / [i915#4880])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-dg1:          NOTRUN -> [SKIP][57] ([i915#3297])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-15/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gen9_exec_parse (NEW):
    - shard-snb:          NOTRUN -> [INCOMPLETE][58] ([i915#16545])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb7/igt@gen9_exec_parse.html

  * igt@gen9_exec_parse@basic-rejected-ctx-param:
    - shard-dg1:          NOTRUN -> [SKIP][59] ([i915#2527])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@gen9_exec_parse@basic-rejected-ctx-param.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-rkl:          NOTRUN -> [SKIP][60] ([i915#2527]) +3 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@bb-start-param:
    - shard-tglu-1:       NOTRUN -> [SKIP][61] ([i915#2527] / [i915#2856]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@gen9_exec_parse@bb-start-param.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-tglu:         NOTRUN -> [SKIP][62] ([i915#2527] / [i915#2856]) +4 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@i915_drm_fdinfo@busy@rcs0:
    - shard-dg1:          NOTRUN -> [SKIP][63] ([i915#14073]) +11 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@i915_drm_fdinfo@busy@rcs0.html

  * igt@i915_module_load@fault-injection:
    - shard-dg1:          NOTRUN -> [ABORT][64] ([i915#11814] / [i915#15481]) +1 other test abort
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@i915_module_load@fault-injection.html

  * igt@i915_module_load@fault-injection@i915_driver_mmio_probe:
    - shard-dg1:          NOTRUN -> [INCOMPLETE][65] ([i915#15481])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@i915_module_load@fault-injection@i915_driver_mmio_probe.html

  * igt@i915_module_load@fault-injection@intel_connector_register:
    - shard-snb:          NOTRUN -> [ABORT][66] ([i915#15342]) +1 other test abort
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb7/igt@i915_module_load@fault-injection@intel_connector_register.html

  * igt@i915_module_load@fault-injection@intel_guc_ct_init:
    - shard-snb:          NOTRUN -> [SKIP][67] +198 other tests skip
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb7/igt@i915_module_load@fault-injection@intel_guc_ct_init.html

  * igt@i915_module_load@resize-bar:
    - shard-rkl:          NOTRUN -> [SKIP][68] ([i915#6412])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-tglu:         NOTRUN -> [SKIP][69] ([i915#8399])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@i915_pm_freq_api@freq-reset-multiple.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-dg1:          NOTRUN -> [SKIP][70] ([i915#16080] / [i915#16166])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-tglu-1:       NOTRUN -> [SKIP][71] ([i915#14498])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_pm_rps@engine-order:
    - shard-glk:          [PASS][72] -> [FAIL][73] ([i915#14896])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk8/igt@i915_pm_rps@engine-order.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk5/igt@i915_pm_rps@engine-order.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          NOTRUN -> [TIMEOUT][74] ([i915#16162])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb7/igt@i915_pm_rps@reset.html

  * igt@i915_pm_sseu@full-enable:
    - shard-tglu:         NOTRUN -> [SKIP][75] ([i915#4387])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@i915_pm_sseu@full-enable.html

  * igt@i915_query@query-topology-known-pci-ids:
    - shard-rkl:          NOTRUN -> [SKIP][76] ([i915#16109])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@i915_query@query-topology-known-pci-ids.html

  * igt@i915_query@query-topology-unsupported:
    - shard-tglu-1:       NOTRUN -> [SKIP][77] ([i915#16079])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@i915_query@query-topology-unsupported.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-rkl:          NOTRUN -> [ABORT][78] ([i915#15131])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@i915_suspend@basic-s3-without-i915.html
    - shard-tglu:         NOTRUN -> [INCOMPLETE][79] ([i915#4817] / [i915#7443])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@i915_suspend@basic-s3-without-i915.html

  * igt@intel_hwmon@hwmon-write:
    - shard-tglu:         NOTRUN -> [SKIP][80] ([i915#7707])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@intel_hwmon@hwmon-write.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-tglu:         NOTRUN -> [SKIP][81] ([i915#9531])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
    - shard-tglu:         NOTRUN -> [SKIP][82] ([i915#1769] / [i915#3555])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-tglu-1:       NOTRUN -> [SKIP][83] ([i915#5286]) +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
    - shard-tglu:         NOTRUN -> [SKIP][84] ([i915#5286]) +6 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-rkl:          NOTRUN -> [SKIP][85] ([i915#5286]) +4 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][86] ([i915#4538] / [i915#5286]) +2 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-16bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][87] ([i915#3638]) +1 other test skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@kms_big_fb@linear-16bpp-rotate-90.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-dg1:          NOTRUN -> [SKIP][88] ([i915#3828]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][89] ([i915#3638]) +2 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-180:
    - shard-mtlp:         NOTRUN -> [SKIP][90]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-mtlp:         NOTRUN -> [SKIP][91] ([i915#6187])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-dg1:          NOTRUN -> [SKIP][92] ([i915#4538]) +4 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][93] ([i915#6095]) +216 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4.html

  * igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][94] ([i915#6095]) +69 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][95] ([i915#12313]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][96] ([i915#6095]) +34 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][97] ([i915#10307] / [i915#10434] / [i915#6095])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-4/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][98] ([i915#10307] / [i915#6095]) +58 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1:
    - shard-glk11:        NOTRUN -> [SKIP][99] +51 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk11/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][100] ([i915#14098] / [i915#6095]) +32 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][101] ([i915#6095]) +11 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][102] ([i915#12313])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-b-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][103] ([i915#6095]) +51 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-rkl:          NOTRUN -> [SKIP][104] ([i915#3742])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_cdclk@mode-transition-all-outputs.html
    - shard-tglu:         NOTRUN -> [SKIP][105] ([i915#3742])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#13781]) +3 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-4/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1.html

  * igt@kms_chamelium_audio@dp-audio:
    - shard-tglu:         NOTRUN -> [SKIP][107] ([i915#11151] / [i915#7828]) +10 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_chamelium_audio@dp-audio.html

  * igt@kms_chamelium_color_pipeline@plane-ctm3x4:
    - shard-tglu-1:       NOTRUN -> [SKIP][108] ([i915#16471])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_chamelium_color_pipeline@plane-ctm3x4.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4:
    - shard-rkl:          NOTRUN -> [SKIP][109] ([i915#16471])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d:
    - shard-tglu:         NOTRUN -> [SKIP][110] ([i915#16471])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html

  * igt@kms_chamelium_edid@dp-edid-resolution-list:
    - shard-dg1:          NOTRUN -> [SKIP][111] ([i915#11151] / [i915#7828]) +4 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_chamelium_edid@dp-edid-resolution-list.html

  * igt@kms_chamelium_edid@vga-edid-read:
    - shard-mtlp:         NOTRUN -> [SKIP][112] ([i915#11151] / [i915#7828])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_chamelium_edid@vga-edid-read.html

  * igt@kms_chamelium_frames@hdmi-crc-multiple:
    - shard-rkl:          NOTRUN -> [SKIP][113] ([i915#11151] / [i915#7828]) +4 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_chamelium_frames@hdmi-crc-multiple.html

  * igt@kms_chamelium_hpd@dp-hpd-storm-disable:
    - shard-tglu-1:       NOTRUN -> [SKIP][114] ([i915#11151] / [i915#7828]) +3 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html

  * igt@kms_color@deep-color:
    - shard-dg1:          NOTRUN -> [SKIP][115] ([i915#12655] / [i915#3555])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_color@deep-color.html

  * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lut1d@pipe-b-plane-0:
    - shard-tglu:         NOTRUN -> [FAIL][116] ([i915#17116]) +25 other tests fail
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lut1d@pipe-b-plane-0.html

  * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim-lut1d:
    - shard-rkl:          NOTRUN -> [FAIL][117] ([i915#17116]) +19 other tests fail
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim-lut1d.html

  * igt@kms_color_pipeline@plane-lut1d-post-ctm3x4@pipe-d-plane-5:
    - shard-tglu-1:       NOTRUN -> [SKIP][118] ([i915#16990]) +15 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_color_pipeline@plane-lut1d-post-ctm3x4@pipe-d-plane-5.html

  * igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4@pipe-a-plane-6:
    - shard-tglu:         NOTRUN -> [SKIP][119] ([i915#16990]) +15 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4@pipe-a-plane-6.html

  * igt@kms_content_protection@atomic-dpms-hdcp14:
    - shard-tglu-1:       NOTRUN -> [SKIP][120] ([i915#15865]) +1 other test skip
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_content_protection@atomic-dpms-hdcp14.html

  * igt@kms_content_protection@atomic-hdcp14:
    - shard-tglu:         NOTRUN -> [SKIP][121] ([i915#15865]) +3 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_content_protection@atomic-hdcp14.html

  * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
    - shard-tglu:         NOTRUN -> [SKIP][122] ([i915#15330])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg1:          NOTRUN -> [SKIP][123] ([i915#15330] / [i915#3299])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-rkl:          NOTRUN -> [SKIP][124] ([i915#15330])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          NOTRUN -> [SKIP][125] ([i915#15865])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@type1:
    - shard-rkl:          NOTRUN -> [SKIP][126] ([i915#15865]) +1 other test skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-rkl:          NOTRUN -> [SKIP][127] ([i915#3555])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][128] ([i915#13049]) +1 other test skip
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42:
    - shard-rkl:          [PASS][129] -> [FAIL][130] ([i915#13566]) +3 other tests fail
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-128x42.html
    - shard-tglu:         [PASS][131] -> [FAIL][132] ([i915#13566]) +1 other test fail
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-tglu-10/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-7/igt@kms_cursor_crc@cursor-onscreen-128x42.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-tglu-1:       NOTRUN -> [FAIL][133] ([i915#13566]) +1 other test fail
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][134] ([i915#13566])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#3555]) +4 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-dg1:          NOTRUN -> [SKIP][136] ([i915#13049])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#13049]) +1 other test skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][138] ([i915#4103])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-mtlp:         NOTRUN -> [SKIP][139] ([i915#16119] / [i915#4213])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-dg1:          NOTRUN -> [SKIP][140] ([i915#4103])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-rkl:          NOTRUN -> [SKIP][141] ([i915#4103])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
    - shard-tglu:         NOTRUN -> [SKIP][142] ([i915#4103])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-tglu-1:       NOTRUN -> [SKIP][143] ([i915#9723])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-rkl:          NOTRUN -> [SKIP][144] ([i915#9723])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

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

  * igt@kms_dp_aux_dev@basic:
    - shard-tglu:         NOTRUN -> [SKIP][146] ([i915#1257])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_dp_aux_dev@basic.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-dg1:          NOTRUN -> [SKIP][147] ([i915#13748])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-tglu:         NOTRUN -> [SKIP][148] ([i915#16867])
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dsc@dsc-basic-ultrajoiner:
    - shard-dg1:          NOTRUN -> [SKIP][149] ([i915#16361]) +3 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_dsc@dsc-basic-ultrajoiner.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-tglu-1:       NOTRUN -> [SKIP][150] ([i915#16361]) +1 other test skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_dsc@dsc-with-formats:
    - shard-tglu:         NOTRUN -> [SKIP][151] ([i915#16361]) +3 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_dsc@dsc-with-output-formats-bigjoiner:
    - shard-rkl:          NOTRUN -> [SKIP][152] ([i915#16361]) +1 other test skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][153] ([i915#13356] / [i915#9878])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk6/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_fbcon_fbt@psr:
    - shard-rkl:          NOTRUN -> [SKIP][154] ([i915#16680])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_fbcon_fbt@psr.html
    - shard-tglu:         NOTRUN -> [SKIP][155] ([i915#16680])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_fbcon_fbt@psr.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-tglu-1:       NOTRUN -> [SKIP][156] ([i915#16680])
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_fbcon_fbt@psr-suspend.html
    - shard-mtlp:         NOTRUN -> [ABORT][157] ([i915#17026])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@chamelium:
    - shard-tglu:         NOTRUN -> [SKIP][158] ([i915#2065])
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_feature_discovery@chamelium.html
    - shard-rkl:          NOTRUN -> [SKIP][159] ([i915#16084])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-2x:
    - shard-tglu:         NOTRUN -> [SKIP][160] ([i915#16081])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@dsc:
    - shard-tglu:         NOTRUN -> [SKIP][161] ([i915#16600])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_feature_discovery@dsc.html

  * igt@kms_feature_discovery@psr2:
    - shard-tglu:         NOTRUN -> [SKIP][162] ([i915#658])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-panning:
    - shard-tglu-1:       NOTRUN -> [SKIP][163] ([i915#3637] / [i915#9934]) +3 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_flip@2x-flip-vs-panning.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][164] ([i915#12745] / [i915#13356] / [i915#4839])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk10/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][165] ([i915#12745] / [i915#13356])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk10/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-rkl:          NOTRUN -> [SKIP][166] ([i915#9934]) +5 other tests skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-plain-flip-interruptible:
    - shard-tglu:         NOTRUN -> [SKIP][167] ([i915#3637] / [i915#9934]) +8 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_flip@2x-plain-flip-interruptible.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
    - shard-dg1:          NOTRUN -> [SKIP][168] ([i915#9934]) +1 other test skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-tglu:         NOTRUN -> [SKIP][169] ([i915#15643]) +1 other test skip
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-dg1:          NOTRUN -> [SKIP][170] ([i915#15643]) +1 other test skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][171] ([i915#15643]) +2 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-rkl:          NOTRUN -> [SKIP][172] ([i915#15643]) +1 other test skip
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling:
    - shard-glk10:        NOTRUN -> [SKIP][173] +117 other tests skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk10/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling.html

  * igt@kms_force_connector_basic@force-edid:
    - shard-mtlp:         [PASS][174] -> [SKIP][175] ([i915#15672])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-mtlp-3/igt@kms_force_connector_basic@force-edid.html
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-1/igt@kms_force_connector_basic@force-edid.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff:
    - shard-mtlp:         NOTRUN -> [SKIP][176] ([i915#15991] / [i915#1825])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][177] ([i915#1825]) +4 other tests skip
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][178] ([i915#10056] / [i915#13356] / [i915#16593])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk10/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][179] ([i915#5439])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][180] ([i915#5439])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][181] ([i915#15989]) +2 other tests skip
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][182] ([i915#15990]) +15 other tests skip
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-glk:          [PASS][183] -> [SKIP][184] +24 other tests skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk5/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-shrfb-pgflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][185] +57 other tests skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-plflip-blt:
    - shard-tglu:         NOTRUN -> [SKIP][186] +125 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render:
    - shard-rkl:          NOTRUN -> [SKIP][187] ([i915#15989]) +10 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-4:
    - shard-tglu-1:       NOTRUN -> [SKIP][188] ([i915#5439])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][189] ([i915#15104] / [i915#15990])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][190] ([i915#15990] / [i915#8708]) +11 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-dg1:          NOTRUN -> [SKIP][191] ([i915#5439])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-suspend:
    - shard-dg1:          NOTRUN -> [SKIP][192] ([i915#15102]) +12 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsrhdr-suspend.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][193] ([i915#15989]) +5 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@hdr-2p-rte:
    - shard-tglu-1:       NOTRUN -> [SKIP][194] +43 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-2p-rte.html

  * igt@kms_frontbuffer_tracking@hdr-indfb-scaledprimary:
    - shard-tglu:         NOTRUN -> [SKIP][195] ([i915#15989]) +25 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_frontbuffer_tracking@hdr-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@hdr-modesetfrombusy:
    - shard-tglu-1:       NOTRUN -> [SKIP][196] ([i915#15989]) +11 other tests skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-modesetfrombusy.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][197] ([i915#15990] / [i915#8708]) +1 other test skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
    - shard-tglu:         NOTRUN -> [SKIP][198] ([i915#15102]) +59 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-tglu-1:       NOTRUN -> [SKIP][199] ([i915#15102]) +23 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-spr-indfb-move:
    - shard-rkl:          NOTRUN -> [SKIP][200] ([i915#15102]) +29 other tests skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-indfb-draw-pwrite:
    - shard-mtlp:         NOTRUN -> [SKIP][201] ([i915#15991]) +1 other test skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][202] +37 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_hdmi_audio_bw@audio-bw-hblank160:
    - shard-snb:          NOTRUN -> [FAIL][203] ([i915#17104])
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb7/igt@kms_hdmi_audio_bw@audio-bw-hblank160.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-tglu-1:       NOTRUN -> [SKIP][204] ([i915#3555] / [i915#8228]) +1 other test skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][205] ([i915#3555] / [i915#8228])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][206] ([i915#13688])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][207] ([i915#15458])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-dg1:          NOTRUN -> [SKIP][208] ([i915#15638] / [i915#15722])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][209] ([i915#6301])
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping:
    - shard-rkl:          NOTRUN -> [SKIP][210] ([i915#15709]) +2 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier:
    - shard-dg1:          NOTRUN -> [SKIP][211] ([i915#15709]) +2 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier:
    - shard-glk:          NOTRUN -> [SKIP][212] +290 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier:
    - shard-tglu:         NOTRUN -> [SKIP][213] ([i915#15709]) +5 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping:
    - shard-tglu-1:       NOTRUN -> [SKIP][214] ([i915#15709]) +1 other test skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-x-tiled-modifier@pipe-a-plane-7:
    - shard-tglu:         NOTRUN -> [SKIP][215] ([i915#16386]) +3 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-a-plane-7.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-7:
    - shard-tglu-1:       NOTRUN -> [SKIP][216] ([i915#16386]) +1 other test skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-7.html

  * igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7:
    - shard-dg1:          NOTRUN -> [SKIP][217] ([i915#16386]) +1 other test skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7.html

  * igt@kms_plane@plane-panning-bottom-right-suspend:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][218] ([i915#13026] / [i915#13356]) +1 other test incomplete
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk11/igt@kms_plane@plane-panning-bottom-right-suspend.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-tglu:         NOTRUN -> [SKIP][219] ([i915#13958])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-dg1:          NOTRUN -> [SKIP][220] ([i915#13958])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-tglu:         NOTRUN -> [SKIP][221] ([i915#14259])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
    - shard-rkl:          NOTRUN -> [SKIP][222] ([i915#15329]) +7 other tests skip
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-tglu-1:       NOTRUN -> [SKIP][223] ([i915#12343] / [i915#9812])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][224] ([i915#12343] / [i915#9812]) +1 other test skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_dc@dc5-pageflip-negative:
    - shard-tglu-1:       NOTRUN -> [SKIP][225] ([i915#9685])
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_pm_dc@dc5-pageflip-negative.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-tglu:         NOTRUN -> [SKIP][226] ([i915#3828])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-dg1:          NOTRUN -> [SKIP][227] ([i915#15073])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-19/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          [PASS][228] -> [SKIP][229] ([i915#15073]) +1 other test skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg2:          [PASS][230] -> [SKIP][231] ([i915#15073]) +1 other test skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-3/igt@kms_pm_rpm@modeset-non-lpsp.html
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp.html
    - shard-dg1:          [PASS][232] -> [SKIP][233] ([i915#15073]) +1 other test skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg1-12/igt@kms_pm_rpm@modeset-non-lpsp.html
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-14/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-tglu-1:       NOTRUN -> [SKIP][234] ([i915#15073])
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@package-g7:
    - shard-dg1:          NOTRUN -> [SKIP][235] ([i915#15403])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_pm_rpm@package-g7.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-dg2:          [PASS][236] -> [INCOMPLETE][237] ([i915#14419])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-6/igt@kms_pm_rpm@system-suspend-idle.html
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-7/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-dg1:          NOTRUN -> [SKIP][238] ([i915#6524])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][239] ([i915#11520]) +4 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk6/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-glk10:        NOTRUN -> [SKIP][240] ([i915#11520]) +2 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk10/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
    - shard-rkl:          NOTRUN -> [SKIP][241] ([i915#11520]) +5 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
    - shard-snb:          NOTRUN -> [SKIP][242] ([i915#11520]) +4 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-snb4/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
    - shard-glk11:        NOTRUN -> [SKIP][243] ([i915#11520]) +2 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk11/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-tglu:         NOTRUN -> [SKIP][244] ([i915#11520]) +8 other tests skip
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-dg1:          NOTRUN -> [SKIP][245] ([i915#11520]) +3 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-tglu-1:       NOTRUN -> [SKIP][246] ([i915#11520]) +3 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-tglu:         NOTRUN -> [SKIP][247] ([i915#9683])
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-tglu-1:       NOTRUN -> [SKIP][248] ([i915#9683])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@pr-cursor-plane-onoff:
    - shard-dg1:          NOTRUN -> [SKIP][249] ([i915#1072] / [i915#9732]) +11 other tests skip
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_psr@pr-cursor-plane-onoff.html

  * igt@kms_psr@psr-sprite-blt:
    - shard-tglu:         NOTRUN -> [SKIP][250] ([i915#9732]) +24 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_psr@psr-sprite-blt.html

  * igt@kms_psr@psr2-cursor-blt:
    - shard-rkl:          NOTRUN -> [SKIP][251] ([i915#1072] / [i915#9732]) +13 other tests skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_psr@psr2-cursor-blt.html

  * igt@kms_psr@psr2-sprite-mmap-gtt:
    - shard-tglu-1:       NOTRUN -> [SKIP][252] ([i915#9732]) +8 other tests skip
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_psr@psr2-sprite-mmap-gtt.html
    - shard-mtlp:         NOTRUN -> [SKIP][253] ([i915#4077] / [i915#9688]) +1 other test skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_psr@psr2-sprite-mmap-gtt.html

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-glk:          NOTRUN -> [INCOMPLETE][254] ([i915#15492] / [i915#16184])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk2/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg1:          NOTRUN -> [SKIP][255] ([i915#5289])
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-tglu:         NOTRUN -> [SKIP][256] ([i915#5289])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_scaling_modes@scaling-mode-full:
    - shard-tglu:         NOTRUN -> [SKIP][257] ([i915#3555]) +8 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-10/igt@kms_scaling_modes@scaling-mode-full.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-tglu:         NOTRUN -> [SKIP][258] ([i915#8623]) +1 other test skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-2/igt@kms_tiled_display@basic-test-pattern.html

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

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [INCOMPLETE][260] ([i915#12276] / [i915#13356]) +1 other test incomplete
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk4/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
    - shard-rkl:          [PASS][261] -> [INCOMPLETE][262] ([i915#12276]) +1 other test incomplete
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-7/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-4/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html

  * igt@kms_vrr@flipline:
    - shard-tglu-1:       NOTRUN -> [SKIP][263] ([i915#3555]) +1 other test skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-1/igt@kms_vrr@flipline.html

  * igt@kms_vrr@max-min:
    - shard-dg1:          NOTRUN -> [SKIP][264] ([i915#9906])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@kms_vrr@max-min.html

  * igt@kms_vrr@negative-basic:
    - shard-rkl:          NOTRUN -> [SKIP][265] ([i915#3555] / [i915#9906])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_vrr@negative-basic.html
    - shard-tglu:         NOTRUN -> [SKIP][266] ([i915#3555] / [i915#9906])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-tglu-8/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-rkl:          NOTRUN -> [SKIP][267] ([i915#9906])
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-8/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-dg1:          NOTRUN -> [SKIP][268] ([i915#2433])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-18/igt@perf@unprivileged-single-ctx-counters.html

  * igt@prime_vgem@basic-fence-mmap:
    - shard-dg1:          NOTRUN -> [SKIP][269] ([i915#3708] / [i915#4077])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-17/igt@prime_vgem@basic-fence-mmap.html

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

  * igt@prime_vgem@coherency-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][271] ([i915#3708])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@prime_vgem@coherency-gtt.html

  
#### Possible fixes ####

  * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0:
    - shard-dg2:          [INCOMPLETE][272] ([i915#13356] / [i915#16348]) -> [PASS][273]
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-1/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-6/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-rkl:          [INCOMPLETE][274] ([i915#13356]) -> [PASS][275] +1 other test pass
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-3/igt@gem_exec_suspend@basic-s0.html
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-2/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s0@smem:
    - shard-dg2:          [INCOMPLETE][276] ([i915#13356]) -> [PASS][277]
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-3/igt@gem_exec_suspend@basic-s0@smem.html
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-1/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@gem_softpin@noreloc-s3:
    - shard-glk:          [INCOMPLETE][278] ([i915#13356] / [i915#13809] / [i915#16193]) -> [PASS][279]
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk8/igt@gem_softpin@noreloc-s3.html
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk4/igt@gem_softpin@noreloc-s3.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-rkl:          [FAIL][280] ([i915#15662]) -> [PASS][281]
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-mtlp:         [FAIL][282] ([i915#15733] / [i915#5138]) -> [PASS][283]
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-glk:          [DMESG-WARN][284] ([i915#118]) -> [PASS][285]
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2:
    - shard-rkl:          [FAIL][286] ([i915#13566]) -> [PASS][287] +3 other tests pass
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-7/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2:
    - shard-rkl:          [INCOMPLETE][288] ([i915#16276] / [i915#6113]) -> [PASS][289] +1 other test pass
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-3/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2.html
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-7/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-shrfb-fliptrack-mmap-gtt:
    - shard-glk:          [SKIP][290] -> [PASS][291] +4 other tests pass
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk4/igt@kms_frontbuffer_tracking@fbchdr-2p-shrfb-fliptrack-mmap-gtt.html
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-render:
    - shard-rkl:          [SKIP][292] ([i915#15989]) -> [PASS][293] +5 other tests pass
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-7/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-render.html
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery:
    - shard-glk:          [INCOMPLETE][294] ([i915#13356]) -> [PASS][295]
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk6/igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery.html
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk1/igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery.html

  * igt@kms_hdmi_inject@inject-4k:
    - shard-mtlp:         [SKIP][296] ([i915#15725]) -> [PASS][297]
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-mtlp-1/igt@kms_hdmi_inject@inject-4k.html
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-mtlp-4/igt@kms_hdmi_inject@inject-4k.html

  * igt@kms_hdr@static-swap:
    - shard-rkl:          [SKIP][298] ([i915#16644] / [i915#3555] / [i915#8228]) -> [PASS][299]
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-7/igt@kms_hdr@static-swap.html
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-1/igt@kms_hdr@static-swap.html

  * igt@kms_pipe_stress@stress-xrgb8888-ytiled:
    - shard-glk:          [DMESG-FAIL][300] ([i915#118]) -> [PASS][301]
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk9/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk2/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          [SKIP][302] ([i915#15073]) -> [PASS][303]
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-rkl-8/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-rkl-3/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-dg1:          [SKIP][304] ([i915#15073]) -> [PASS][305]
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg1-18/igt@kms_pm_rpm@modeset-lpsp.html
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-15/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-dg2:          [SKIP][306] ([i915#15073]) -> [PASS][307] +2 other tests pass
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg2-8/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_vblank@ts-continuation-dpms-rpm:
    - shard-dg1:          [DMESG-WARN][308] ([i915#4423]) -> [PASS][309] +2 other tests pass
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg1-15/igt@kms_vblank@ts-continuation-dpms-rpm.html
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-16/igt@kms_vblank@ts-continuation-dpms-rpm.html

  
#### Warnings ####

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-glk:          [INCOMPLETE][310] ([i915#12745] / [i915#13356] / [i915#4839]) -> [INCOMPLETE][311] ([i915#12745] / [i915#13356] / [i915#4839] / [i915#6113]) +1 other test incomplete
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-glk9/igt@kms_flip@flip-vs-suspend-interruptible.html
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-glk2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-dg1:          [SKIP][312] ([i915#15459] / [i915#4423]) -> [SKIP][313] ([i915#15459])
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg1-18/igt@kms_joiner@basic-force-big-joiner.html
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-15/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg1:          [SKIP][314] ([i915#3828]) -> [SKIP][315] ([i915#9340])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19199/shard-dg1-15/igt@kms_pm_lpsp@kms-lpsp.html
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_174696v1/shard-dg1-16/igt@kms_pm_lpsp@kms-lpsp.html

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

  [i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118
  [i915#11814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11814
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13390]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13390
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13688
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
  [i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14896]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14896
  [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
  [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
  [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
  [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
  [i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342
  [i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
  [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
  [i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
  [i915#15481]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15481
  [i915#15492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15492
  [i915#15638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15638
  [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
  [i915#15662]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15662
  [i915#15672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15672
  [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
  [i915#15722]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15722
  [i915#15725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15725
  [i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733
  [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
  [i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989
  [i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990
  [i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991
  [i915#16079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16079
  [i915#16080]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16080
  [i915#16081]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16081
  [i915#16084]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16084
  [i915#16109]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16109
  [i915#16119]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16119
  [i915#16162]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16162
  [i915#16166]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16166
  [i915#16184]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16184
  [i915#16193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16193
  [i915#16276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16276
  [i915#16348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16348
  [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361
  [i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386
  [i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471
  [i915#16479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16479
  [i915#16545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16545
  [i915#16593]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16593
  [i915#16600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16600
  [i915#16644]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16644
  [i915#16680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16680
  [i915#16867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16867
  [i915#16904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16904
  [i915#16990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16990
  [i915#17026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17026
  [i915#17104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17104
  [i915#17116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17116
  [i915#17126]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17126
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065
  [i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
  [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6187
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * Linux: CI_DRM_19199 -> Patchwork_174696v1

  CI-20190529: 20190529
  CI_DRM_19199: b372dd4fe9fba280fd4aef02e14a024bfbeffdc8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_9107: bba540a799a5f1a3c7ddc3a2b864678241377773 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_174696v1: b372dd4fe9fba280fd4aef02e14a024bfbeffdc8 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* [PATCH v3 0/2] drm/i915/dp: Fix MST PBN accounting
  2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
                   ` (4 preceding siblings ...)
  2026-09-22 23:22 ` ✗ i915.CI.Full: failure " Patchwork
@ 2026-09-24  9:43 ` Xiao Lu
  2026-09-24  9:43   ` [PATCH v3 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
  2026-09-24  9:43   ` [PATCH v3 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
  5 siblings, 2 replies; 13+ messages in thread
From: Xiao Lu @ 2026-09-24  9:43 UTC (permalink / raw)
  To: intel-gfx
  Cc: intel-xe, dri-devel, linux-kernel, jani.nikula, rodrigo.vivi,
	joonas.lahtinen, tursulin, airlied, simona, maarten.lankhorst,
	mripard, tzimmermann, Xiao Lu

Use the raw video PBN in ALLOCATE_PAYLOAD requests while keeping the
TU-aligned PBN for source hardware programming. Also track the PBN
actually allocated by downstream branches and use it in later bandwidth
checks.

The series was tested with a three-display PS8650 MST daisy chain.

Changes in v3:
- Preserve allocated_pbn when recalculating an active payload; clear it
  only when releasing the payload.
- Patch 1 is unchanged.

Xiao Lu (2):
  drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video
    bandwidth
  drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply

 drivers/gpu/drm/display/drm_dp_mst_topology.c | 17 +++++++---
 drivers/gpu/drm/i915/display/intel_dp_mst.c   | 33 ++++++++++++++-----
 include/drm/display/drm_dp_mst_helper.h       | 10 ++++++
 3 files changed, 46 insertions(+), 14 deletions(-)

-- 
2.43.0


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

* [PATCH v3 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
  2026-09-24  9:43 ` [PATCH v3 0/2] drm/i915/dp: Fix MST " Xiao Lu
@ 2026-09-24  9:43   ` Xiao Lu
  2026-09-24  9:51     ` sashiko-bot
  2026-09-24  9:43   ` [PATCH v3 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
  1 sibling, 1 reply; 13+ messages in thread
From: Xiao Lu @ 2026-09-24  9:43 UTC (permalink / raw)
  To: intel-gfx
  Cc: intel-xe, dri-devel, linux-kernel, jani.nikula, rodrigo.vivi,
	joonas.lahtinen, tursulin, airlied, simona, maarten.lankhorst,
	mripard, tzimmermann, Xiao Lu

When computing the number of time slots for an MST stream,
intel_dp_mtp_tu_compute_config() was passing the TU-aligned PBN value
to drm_dp_atomic_find_time_slots() instead of the actual video
bandwidth PBN.

The aligned PBN is computed by rounding up the raw video bandwidth to
the nearest TU boundary and aligning to the hardware TU granularity
(4 / lane_count). This inflated PBN is then used as the requested PBN
in the ALLOCATE_PAYLOAD sideband message, causing the MST core's
bandwidth check in drm_dp_mst_atomic_check_port_bw_limit() to
incorrectly reject configurations that should fit within the available
link bandwidth.

Per DP v2.1b Section 2.6.4.1, the PBN in an ALLOCATE_PAYLOAD request
represents the video stream bandwidth and is independent of the source
TX link rate. The same video stream should result in the same PBN value
regardless of the link rate used on the source side. Passing the
TU-aligned PBN violates this requirement, as it incorporates link-rate-
specific TU granularity into the payload bandwidth value.

This was observed in a 3-display MST daisy-chain topology (PS8650 MST
hub → ViewSonic VP2468 × 2 → Lenovo Pro 27UD-10) where switching
Lenovo to 4K@60Hz failed with -ENOSPC despite the actual video
bandwidth fitting within the DFP link capacity. The inflated PBN of
the VP2468 streams (537 instead of the correct 532 for 1920x1080@60Hz)
consumed excess slots, leaving insufficient room for the 4K@60Hz stream.

Fix this by separating raw_pbn (the actual video bandwidth used for
payload allocation and ALLOCATE_PAYLOAD) from the aligned pbn (used
only for TU hardware programming). Pass raw_pbn to
drm_dp_atomic_find_time_slots() so that bandwidth accounting in the
MST core reflects the true stream requirements.

Depends-on: <20260908132844.2309047-1-xiaolu.xie@intel.com>
  ("drm/dp/mst: track allocated_pbn from ALLOCATE_PAYLOAD reply")

The companion patch above tracks the allocated_pbn returned in the
ALLOCATE_PAYLOAD reply from the branch device. Together with this fix,
the correct raw_pbn is used as the requested PBN in the
ALLOCATE_PAYLOAD request, and the allocated_pbn from the reply is used
for bandwidth limit checks. This pairing ensures that both the request
and the check accurately reflect the actual video stream bandwidth
and any per-hop capacity constraints along the MST path.

Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 33 +++++++++++++++------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 0c362784a..31e846aad 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -350,6 +350,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 		if (is_mst) {
 			int remote_bw_overhead;
 			int remote_tu;
+			int raw_pbn;
 			fixed20_12 pbn;
 
 			remote_bw_overhead = intel_dp_mst_bw_overhead(crtc_state,
@@ -369,9 +370,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 			 * crtc_state->dp_m_n.tu), provided that the driver doesn't
 			 * enable SSC on the corresponding link.
 			 */
-			pbn.full = dfixed_const(intel_dp_mst_calc_pbn(adjusted_mode->crtc_clock,
-								      link_bpp_x16,
-								      remote_bw_overhead));
+			raw_pbn = intel_dp_mst_calc_pbn(adjusted_mode->crtc_clock,
+							 link_bpp_x16,
+							 remote_bw_overhead);
+			pbn.full = dfixed_const(raw_pbn);
 			remote_tu = DIV_ROUND_UP(pbn.full, mst_state->pbn_div.full);
 
 			/*
@@ -384,11 +386,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 			remote_tu = ALIGN(remote_tu, 4 / crtc_state->lane_count);
 
 			/*
-			 * Also align PBNs accordingly, since MST core will derive its
-			 * own copy of TU from the PBN in drm_dp_atomic_find_time_slots().
-			 * The above comment about the difference between the PBN
-			 * allocated for the whole path and the TUs allocated for the
-			 * first branch device's link also applies here.
+			 * Keep the PBN corresponding to the aligned hardware TU separate
+			 * from raw_pbn. The aligned value describes the TU granularity of
+			 * the first downstream branch link; raw_pbn is the video bandwidth
+			 * value passed to the MST payload allocator and ALLOCATE_PAYLOAD.
 			 */
 			pbn.full = remote_tu * mst_state->pbn_div.full;
 
@@ -397,7 +398,21 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 
 			slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr,
 							      connector->mst.port,
-							      dfixed_trunc(pbn));
+							      raw_pbn);
+
+			drm_dbg_kms(display->drm,
+				    "MST TU %s pipe %c: clock=%d lanes=%d bpp=%d link_bpp=%d fec=%d\n",
+				    connector->base.name,
+				    pipe_name(to_intel_crtc(crtc_state->uapi.crtc)->pipe),
+				    crtc_state->port_clock, crtc_state->lane_count,
+				    fxp_q4_to_int(bpp_x16), fxp_q4_to_int(link_bpp_x16),
+				    crtc_state->fec_enable);
+			drm_dbg_kms(display->drm,
+				    "MST TU %s: overhead=%d raw_pbn=%d pbn=%d pbn_div=%d tu=%d slots=%d full_pbn=%d\n",
+				    connector->base.name,
+				    remote_bw_overhead, raw_pbn,
+				    dfixed_trunc(pbn), dfixed_trunc(mst_state->pbn_div),
+				    remote_tu, slots, connector->mst.port->full_pbn);
 
 			/* TODO: Check this already in drm_dp_atomic_find_time_slots(). */
 			if (slots > mst_state->total_avail_slots)
-- 
2.43.0


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

* [PATCH v3 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply
  2026-09-24  9:43 ` [PATCH v3 0/2] drm/i915/dp: Fix MST " Xiao Lu
  2026-09-24  9:43   ` [PATCH v3 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
@ 2026-09-24  9:43   ` Xiao Lu
  2026-09-24  9:57     ` sashiko-bot
  1 sibling, 1 reply; 13+ messages in thread
From: Xiao Lu @ 2026-09-24  9:43 UTC (permalink / raw)
  To: intel-gfx
  Cc: intel-xe, dri-devel, linux-kernel, jani.nikula, rodrigo.vivi,
	joonas.lahtinen, tursulin, airlied, simona, maarten.lankhorst,
	mripard, tzimmermann, Xiao Lu

The ALLOCATE_PAYLOAD reply may report a larger PBN than requested
when an intermediate branch applies its own constraints.

Store the reported PBN and use the larger of requested and allocated
PBN for bandwidth checks. Preserve it when recalculating time slots,
since clearing it there makes the next atomic check underestimate
active payloads. Clear it only when releasing the payload.

Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 17 ++++++++++++-----
 include/drm/display/drm_dp_mst_helper.h       | 10 ++++++++++
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 7ce9e2127..86a42c5e2 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -3120,6 +3120,7 @@ drm_dp_get_last_connected_port_and_mstb(struct drm_dp_mst_topology_mgr *mgr,
 
 static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
 				   struct drm_dp_mst_port *port,
+				   struct drm_dp_mst_atomic_payload *payload,
 				   int id,
 				   int pbn)
 {
@@ -3166,10 +3167,14 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
 	 */
 	ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
 	if (ret > 0) {
-		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
+		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK) {
 			ret = -EINVAL;
-		else
+		} else {
+			if (payload)
+				payload->allocated_pbn =
+					txmsg->reply.u.allocate_payload.allocated_pbn;
 			ret = 0;
+		}
 	}
 	kfree(txmsg);
 fail_put:
@@ -3285,7 +3290,7 @@ static int drm_dp_create_payload_to_remote(struct drm_dp_mst_topology_mgr *mgr,
 	if (!port)
 		return -EIO;
 
-	ret = drm_dp_payload_send_msg(mgr, port, payload->vcpi, payload->pbn);
+	ret = drm_dp_payload_send_msg(mgr, port, payload, payload->vcpi, payload->pbn);
 	drm_dp_mst_topology_put_port(port);
 	return ret;
 }
@@ -3298,7 +3303,7 @@ static void drm_dp_destroy_payload_at_remote_and_dfp(struct drm_dp_mst_topology_
 
 	/* it's okay for these to fail */
 	if (payload->payload_allocation_status == DRM_DP_MST_PAYLOAD_ALLOCATION_REMOTE) {
-		drm_dp_payload_send_msg(mgr, payload->port, payload->vcpi, 0);
+		drm_dp_payload_send_msg(mgr, payload->port, NULL, payload->vcpi, 0);
 		payload->payload_allocation_status = DRM_DP_MST_PAYLOAD_ALLOCATION_DFP;
 	}
 
@@ -4575,6 +4580,7 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_commit *state,
 	drm_dbg_atomic(mgr->dev, "[MST PORT:%p] TU %d -> 0\n", port, payload->time_slots);
 	if (!payload->delete) {
 		payload->pbn = 0;
+		payload->allocated_pbn = 0;
 		payload->delete = true;
 		if (payload->vcpi > 0)
 			topology_state->payload_mask &= ~BIT(payload->vcpi - 1);
@@ -4670,6 +4676,7 @@ void drm_dp_mst_atomic_wait_for_dependencies(struct drm_atomic_commit *state)
 			new_payload = drm_atomic_get_mst_payload_state(new_mst_state,
 								       old_payload->port);
 			new_payload->vc_start_slot = old_payload->vc_start_slot;
+			new_payload->allocated_pbn = old_payload->allocated_pbn;
 			new_payload->payload_allocation_status =
 							old_payload->payload_allocation_status;
 		}
@@ -5352,7 +5359,7 @@ drm_dp_mst_atomic_check_port_bw_limit(struct drm_dp_mst_port *port,
 			return -EINVAL;
 		}
 
-		pbn_used = payload->pbn;
+		pbn_used = max(payload->pbn, payload->allocated_pbn);
 	} else {
 		pbn_used = drm_dp_mst_atomic_check_mstb_bw_limit(port->mstb,
 								 state,
diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h
index 27658bfb5..1a9430a62 100644
--- a/include/drm/display/drm_dp_mst_helper.h
+++ b/include/drm/display/drm_dp_mst_helper.h
@@ -572,6 +572,16 @@ struct drm_dp_mst_atomic_payload {
 	int time_slots;
 	/** @pbn: The payload bandwidth for this payload */
 	int pbn;
+	/**
+	 * @allocated_pbn: The payload bandwidth actually confirmed by the
+	 * branch device in the ALLOCATE_PAYLOAD reply. Each MST branch along
+	 * the path overrides this field to the maximum of the requested and
+	 * its own constrained value, so the value received by the source
+	 * reflects the tightest bottleneck along the entire path.
+	 * Used instead of @pbn for bandwidth limit checks so that the source
+	 * accounts for any per-hop adjustments made by intermediate branches.
+	 */
+	int allocated_pbn;
 
 	/** @delete: Whether or not we intend to delete this payload during this atomic commit */
 	bool delete : 1;
-- 
2.43.0


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

* Re: [PATCH v3 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
  2026-09-24  9:43   ` [PATCH v3 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
@ 2026-09-24  9:51     ` sashiko-bot
  0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-09-24  9:51 UTC (permalink / raw)
  To: Xiao Lu; +Cc: dri-devel, intel-xe, intel-gfx

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm/i915/dp: DP MST VCPI timeslot mismatch and WARN_ON trigger
--

commit 2b87b995c0537aad3132b5f2622d64dea6c8fb7c
Author: Xiao Lu <xiaolu.xie@intel.com>

drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth
    
This commit updates intel_dp_mtp_tu_compute_config() to separate the raw
video bandwidth PBN from the aligned hardware TU PBN. The raw PBN is now
passed to drm_dp_atomic_find_time_slots() to fix payload allocation
rejections.

> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 6a869d0f6ffc0..4d088282df781 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c

[ ... ]

> @@ -397,7 +398,21 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
>  
>  			slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr,
>  							      connector->mst.port,
> -							      dfixed_trunc(pbn));
> +							      raw_pbn);

[Severity: High]
Does this cause a mismatch in the programmed VCPI payload size?

By passing the unaligned raw_pbn here, the DRM core calculates an unaligned
VCPI timeslot allocation that is programmed into the downstream branch
device. 

Since the i915 hardware transmitter still expects the lane-count aligned
remote_tu, the source hardware and branch device will now have mismatched
payload sizes. Can this mismatch break DP MST frame synchronization and
cause data drops or display corruption?

Additionally, this mismatch appears to deterministically trigger an existing
validation warning later in intel_dp_mtp_tu_compute_config():

	if (slots >= 0) {
		drm_WARN_ON(display->drm, slots != crtc_state->dp_m_n.tu);
		break;
	}

Will this unconditionally fire during modesets where the required timeslots
are not a multiple of the lane count?

> +
> +			drm_dbg_kms(display->drm,
> +				    "MST TU %s pipe %c: clock=%d lanes=%d bpp=%d link_bpp=%d fec=%d\n",
> +				    connector->base.name,
> +				    pipe_name(to_intel_crtc(crtc_state->uapi.crtc)->pipe),
> +				    crtc_state->port_clock, crtc_state->lane_count,
> +				    fxp_q4_to_int(bpp_x16), fxp_q4_to_int(link_bpp_x16),
> +				    crtc_state->fec_enable);
> +			drm_dbg_kms(display->drm,
> +				    "MST TU %s: overhead=%d raw_pbn=%d pbn=%d pbn_div=%d tu=%d slots=%d full_pbn=%d\n",
> +				    connector->base.name,
> +				    remote_bw_overhead, raw_pbn,
> +				    dfixed_trunc(pbn), dfixed_trunc(mst_state->pbn_div),
> +				    remote_tu, slots, connector->mst.port->full_pbn);
>  
>  			/* TODO: Check this already in drm_dp_atomic_find_time_slots(). */
>  			if (slots > mst_state->total_avail_slots)

[Severity: High]
Does this limit check accurately reflect the required slots?

This check now validates the unaligned slots. Because the source hardware
uses remote_tu (which is aligned and thus potentially larger), could the
hardware's aligned timeslots exceed the physical 64-slot limit even if
the unaligned slots pass this check?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260924094316.822211-1-xiaolu.xie@intel.com?part=1

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

* Re: [PATCH v3 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply
  2026-09-24  9:43   ` [PATCH v3 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
@ 2026-09-24  9:57     ` sashiko-bot
  0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-09-24  9:57 UTC (permalink / raw)
  To: Xiao Lu; +Cc: intel-xe, dri-devel, intel-gfx

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] drm/dp_mst: data race on allocated_pbn can bypass bandwidth limits
- [Medium] drm/dp_mst: bandwidth check fails on shrinking payloads due to stale allocated_pbn
--

commit d52065aed1fa389dfd394c9d3cae48a882973e04
Author: Xiao Lu <xiaolu.xie@intel.com>

drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply

This commit stores the reported PBN from an ALLOCATE_PAYLOAD reply. It uses
the larger of the requested and allocated PBN for bandwidth checks to account
for constraints applied by intermediate branches along the path.

> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> index 7ce9e212770ad..86a42c5e2debb 100644
> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c

[ ... ]

> @@ -3166,10 +3167,14 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
>  	 */
>  	ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
>  	if (ret > 0) {
> -		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
> +		if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK) {
>  			ret = -EINVAL;
> -		else
> +		} else {
> +			if (payload)
> +				payload->allocated_pbn =
> +					txmsg->reply.u.allocate_payload.allocated_pbn;

[Severity: High]
Can this lockless write to payload->allocated_pbn race with an atomic check?

If a non-blocking atomic commit is executing asynchronously, it receives the
ALLOCATE_PAYLOAD reply and drm_dp_payload_send_msg() updates allocated_pbn
without locks. Concurrently, if userspace initiates a new atomic check,
drm_dp_mst_duplicate_state() will copy the payload struct via kmemdup().

Could this result in the atomic check reading a torn or stale value when
evaluating max(payload->pbn, payload->allocated_pbn) in
drm_dp_mst_atomic_check_port_bw_limit(), potentially bypassing bandwidth
constraints?

>  			ret = 0;
> +		}
>  	}
>  	kfree(txmsg);
>  fail_put:

[ ... ]

> @@ -4575,6 +4580,7 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_commit *state,
>  	drm_dbg_atomic(mgr->dev, "[MST PORT:%p] TU %d -> 0\n", port, payload->time_slots);
>  	if (!payload->delete) {
>  		payload->pbn = 0;
> +		payload->allocated_pbn = 0;

[Severity: Medium]
Does this properly handle payloads that shrink in size?

Since payload->allocated_pbn is only cleared here when releasing the payload
entirely (during a full deletion), what happens if a commit simply shrinks an
existing payload (for example, switching to a smaller display mode on the
same CRTC)?

In that scenario, drm_dp_atomic_release_time_slots() skips active CRTCs,
meaning allocated_pbn remains at its old, larger value. When the new
bandwidth is checked, max(payload->pbn, payload->allocated_pbn) in
drm_dp_mst_atomic_check_port_bw_limit() would yield the old larger value,
which could falsely prevent the freed bandwidth from being reallocated to
other displays.

>  		payload->delete = true;
>  		if (payload->vcpi > 0)
>  			topology_state->payload_mask &= ~BIT(payload->vcpi - 1);

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260924094316.822211-1-xiaolu.xie@intel.com?part=2

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

end of thread, other threads:[~2026-09-24  9:58 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-22  9:26 [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Xiao Lu
2026-09-22  9:26 ` [PATCH v2 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
2026-09-22  9:35   ` sashiko-bot
2026-09-22  9:26 ` [PATCH v2 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
2026-09-22  9:41   ` sashiko-bot
2026-09-22  9:35 ` [PATCH v2 0/2] drm/dp/mst: fix MST payload PBN accounting Jani Nikula
2026-09-22 12:30 ` ✓ i915.CI.BAT: success for " Patchwork
2026-09-22 23:22 ` ✗ i915.CI.Full: failure " Patchwork
2026-09-24  9:43 ` [PATCH v3 0/2] drm/i915/dp: Fix MST " Xiao Lu
2026-09-24  9:43   ` [PATCH v3 1/2] drm/i915/dp: fix PBN in ALLOCATE_PAYLOAD request to use actual video bandwidth Xiao Lu
2026-09-24  9:51     ` sashiko-bot
2026-09-24  9:43   ` [PATCH v3 2/2] drm/dp_mst: Track allocated_pbn from ALLOCATE_PAYLOAD down-reply Xiao Lu
2026-09-24  9:57     ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox