linux-stable/drivers/gpu/drm/meson
Martin Blumenstingl d715ee6cbe drm/meson: Don't remove bridges which are created by other drivers
commit bd915ae73a upstream.

Stop calling drm_bridge_remove() for bridges allocated/managed by other
drivers in the remove paths of meson_encoder_{cvbs,dsi,hdmi}.
drm_bridge_remove() unregisters the bridge so it cannot be used
anymore. Doing so for bridges we don't own can lead to the video
pipeline not being able to come up after -EPROBE_DEFER of the VPU
because we're unregistering a bridge that's managed by another driver.
The other driver doesn't know that we have unregistered it's bridge
and on subsequent .probe() we're not able to find those bridges anymore
(since nobody re-creates them).

This fixes probe errors on Meson8b boards with the CVBS outputs enabled.

Fixes: 09847723c1 ("drm/meson: remove drm bridges at aggregate driver unbind time")
Fixes: 42dcf15f90 ("drm/meson: add DSI encoder")
Cc:  <stable@vger.kernel.org>
Reported-by: Steve Morvai <stevemorvai@hotmail.com>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Steve Morvai <stevemorvai@hotmail.com>
Link: https://lore.kernel.org/r/20240215220442.1343152-1-martin.blumenstingl@googlemail.com
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240215220442.1343152-1-martin.blumenstingl@googlemail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-03-01 13:34:58 +01:00
..
Kconfig drm/meson: add support for MIPI-DSI transceiver 2023-06-01 16:10:24 +02:00
Makefile drm/meson: add support for MIPI-DSI transceiver 2023-06-01 16:10:24 +02:00
meson_crtc.c
meson_crtc.h
meson_drv.c drm/meson: Convert to platform remove callback returning void 2023-06-08 09:04:11 -07:00
meson_drv.h drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
meson_dw_hdmi.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
meson_dw_hdmi.h
meson_dw_mipi_dsi.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
meson_dw_mipi_dsi.h drm/meson: add support for MIPI-DSI transceiver 2023-06-01 16:10:24 +02:00
meson_encoder_cvbs.c drm/meson: Don't remove bridges which are created by other drivers 2024-03-01 13:34:58 +01:00
meson_encoder_cvbs.h drm/meson: remove drm bridges at aggregate driver unbind time 2022-09-23 09:45:49 +00:00
meson_encoder_dsi.c drm/meson: Don't remove bridges which are created by other drivers 2024-03-01 13:34:58 +01:00
meson_encoder_dsi.h drm/meson: add DSI encoder 2023-06-01 16:10:23 +02:00
meson_encoder_hdmi.c drm/meson: Don't remove bridges which are created by other drivers 2024-03-01 13:34:58 +01:00
meson_encoder_hdmi.h drm/meson: remove drm bridges at aggregate driver unbind time 2022-09-23 09:45:49 +00:00
meson_osd_afbcd.c
meson_osd_afbcd.h
meson_overlay.c
meson_overlay.h
meson_plane.c drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
meson_plane.h
meson_rdma.c
meson_rdma.h
meson_registers.h drm/meson: venc: add ENCL encoder setup for MIPI-DSI output 2023-06-01 16:10:22 +02:00
meson_vclk.c
meson_vclk.h
meson_venc.c drm/meson: venc: include linux/bitfield.h 2023-06-02 15:47:52 +02:00
meson_venc.h drm/meson: venc: add ENCL encoder setup for MIPI-DSI output 2023-06-01 16:10:22 +02:00
meson_viu.c drm/meson: Reduce the FIFO lines held when AFBC is not used 2023-01-02 10:58:50 +01:00
meson_viu.h
meson_vpp.c drm/meson: fix 1px pink line on GXM when scaling video overlay 2023-03-06 09:42:01 +01:00
meson_vpp.h drm/meson: venc: add ENCL encoder setup for MIPI-DSI output 2023-06-01 16:10:22 +02:00