Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] DRM atomic_disable zeroes the SDP slot allocator bitmap without invalidating the audio subsystem's active SDP slot (audio_sdp_nr), causing cross-subsystem races and hardware state corruption. --
--- Patch [16]: [PATCH v6 16/16] drm/bridge: synopsys: dw-dp: Add audio support --- commit 9b3a7d6fa62f20557e06c0ea7d9cc504eddb75d9 Author: Sebastian Reichel <[email protected]> drm/bridge: synopsys: dw-dp: Add audio support Implement audio support for the Synopsys DesignWare DisplayPort controller. > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c > b/drivers/gpu/drm/bridge/synopsys/dw-dp.c > index 44a13b5d62d39..c7d6f63b5e9a1 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c [ ... ] > @@ -1886,6 +1924,212 @@ static void dw_dp_bridge_oob_notify(struct drm_bridge > *bridge, [ ... ] > +static void dw_dp_audio_unprepare(struct drm_bridge *bridge, > + struct drm_connector *connector) > +{ > + struct dw_dp *dp = bridge_to_dp(bridge); > + > + if (dp->audio_sdp_nr >= 0) { > + dw_dp_clear_sdp(dp, dp->audio_sdp_nr); > + dp->audio_sdp_nr = -1; > + } [Severity: High] Does this leave dp->audio_sdp_nr dangling if the display is disabled while audio is active? Looking at dw_dp_bridge_atomic_disable(), the SDP allocation bitmap is bulk-cleared without resetting the audio subsystem's active SDP slot: drivers/gpu/drm/bridge/synopsys/dw-dp.c:dw_dp_bridge_atomic_disable() { ... scoped_guard(mutex, &dp->sdp_lock) bitmap_zero(dp->sdp_reg_bank, SDP_REG_BANK_SIZE); ... } If userspace triggers a display disable, dw_dp_bridge_atomic_disable() zeroes the bitmap without resetting dp->audio_sdp_nr. When the display is re-enabled, dw_dp_bridge_atomic_enable() might allocate that same slot for a video SDP. If userspace later stops the audio stream, dw_dp_audio_unprepare() would see the stale dp->audio_sdp_nr and clear the hardware registers for the newly allocated video SDP. -- Sashiko AI review ยท https://sashiko.dev/#/patchset/20260724-synopsys-dw-dp-improvements-v6-0-041d99a19...@collabora.com?part=16
