intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/display/dp_mst: Add protection against 0 vcpi
@ 2025-11-13  4:39 Suraj Kandpal
  2025-11-13  5:30 ` ✓ i915.CI.BAT: success for " Patchwork
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Suraj Kandpal @ 2025-11-13  4:39 UTC (permalink / raw)
  To: dri-devel, intel-xe, intel-gfx
  Cc: ankit.k.nautiyal, arun.r.murthy, imre.deak, Suraj Kandpal

When releasing a timeslot there is a slight chance we may end up
with the wrong payload mask due to overflow if the delayed_destroy_work
ends up coming into play after a DP 2.1 monitor gets disconnected
which causes vcpi to become 0 then we try to make the payload =
~BIT(vcpi - 1) which is a negative shift.

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 64e5c176d5cc..3cf1eafcfcb5 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -4531,6 +4531,7 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_state *state,
 	struct drm_dp_mst_atomic_payload *payload;
 	struct drm_connector_state *old_conn_state, *new_conn_state;
 	bool update_payload = true;
+	int bit;
 
 	old_conn_state = drm_atomic_get_old_connector_state(state, port->connector);
 	if (!old_conn_state->crtc)
@@ -4572,7 +4573,8 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_state *state,
 	if (!payload->delete) {
 		payload->pbn = 0;
 		payload->delete = true;
-		topology_state->payload_mask &= ~BIT(payload->vcpi - 1);
+		bit = payload->vcpi ? payload->vcpi - 1 : 0;
+		topology_state->payload_mask &= ~BIT(bit);
 	}
 
 	return 0;
-- 
2.34.1


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

end of thread, other threads:[~2025-11-26 23:12 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-13  4:39 [PATCH] drm/display/dp_mst: Add protection against 0 vcpi Suraj Kandpal
2025-11-13  5:30 ` ✓ i915.CI.BAT: success for " Patchwork
2025-11-13  8:21 ` [PATCH] " Imre Deak
2025-11-13 16:24   ` Jani Nikula
2025-11-17  5:09     ` Kandpal, Suraj
2025-11-17 10:08       ` Imre Deak
2025-11-17 10:19         ` Jani Nikula
2025-11-17 10:41           ` Imre Deak
2025-11-19  7:38         ` Kandpal, Suraj
2025-11-19  9:15           ` Imre Deak
2025-11-19  9:26             ` Kandpal, Suraj
2025-11-13  8:25 ` Jani Nikula
2025-11-13  8:54   ` Kandpal, Suraj
2025-11-13 10:26     ` Jani Nikula
2025-11-13 16:10       ` Jani Nikula
2025-11-13  9:34 ` ✓ i915.CI.Full: success for " Patchwork
2025-11-19  9:46 ` [PATCH v2] " Suraj Kandpal
2025-11-21 17:33   ` Imre Deak
2025-11-26 23:11   ` Lyude Paul
2025-11-19 11:01 ` ✓ i915.CI.BAT: success for drm/display/dp_mst: Add protection against 0 vcpi (rev2) Patchwork
2025-11-19 13:02 ` ✓ i915.CI.Full: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).