drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR
The current ELD handling takes the internal connector ELD buffer and shares it to the I2S and AHB sub-driver. But with DRM_BRIDGE_ATTACH_NO_CONNECTOR, the connector is created elsewhere (or not), and an eventual connector is known only if the bridge chain up to a connector is enabled. The current dw-hdmi code gets the current connector from atomic_enable() so use the already stored connector pointer and replace the buffer pointer with a callback returning the current connector ELD buffer. Since a connector is not always available, either pass an empty ELD to the alsa HDMI driver or don't call snd_pcm_hw_constraint_eld() in AHB driver. Reported-by:Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by:
Neil Armstrong <narmstrong@baylibre.com> [narmstrong: fixed typo in commit log] Acked-by:
Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20211029135947.3022875-1-narmstrong@baylibre.com
Showing
- drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c 7 additions, 3 deletionsdrivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
- drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h 2 additions, 2 deletionsdrivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h
- drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c 8 additions, 1 deletiondrivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 10 additions, 2 deletionsdrivers/gpu/drm/bridge/synopsys/dw-hdmi.c
Loading
Please register or sign in to comment