linux-imx/drivers/gpu/drm/xlnx
Sean Anderson c6ad6096f9 drm: zynqmp_kms: Fix AUX bus not getting unregistered
[ Upstream commit 0743dafefd ]

drm_encoder_cleanup is responsible for calling drm_bridge_detach for
each bridge attached to the encoder. zynqmp_dp_bridge_detach is in turn
responsible for unregistering the AUX bus. However, we never ended up
calling drm_encoder_cleanup in the remove or error paths, so the AUX bus
would stick around after the rest of the driver had been removed.

I don't really understand why drm_mode_config_cleanup doesn't call
drm_encoder_cleanup for us. It will call destroy (which for
simple_encoder is drm_encoder_cleanup) on encoders in the mode_config's
encoder_list.

Should drm_encoder_cleanup get called before or after
drm_atomic_helper_shutdown?

Fixes: 2dfd045c84 ("drm: xlnx: zynqmp_dpsub: Register AUX bus at bridge attach time")
Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240503192922.2172314-2-sean.anderson@linux.dev
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-03 08:53:49 +02:00
..
Kconfig
Makefile
zynqmp_disp_regs.h
zynqmp_disp.c
zynqmp_disp.h
zynqmp_dp.c
zynqmp_dp.h
zynqmp_dpsub.c drm: zynqmp_dpsub: Fix an error handling path in zynqmp_dpsub_probe() 2024-08-03 08:53:49 +02:00
zynqmp_dpsub.h
zynqmp_kms.c drm: zynqmp_kms: Fix AUX bus not getting unregistered 2024-08-03 08:53:49 +02:00
zynqmp_kms.h