I noticed that commit 8a3b4c17f863 ("drm/msm/dp: employ bridge mechanism for display enable and disable") conflicts with the panel-edp (panel bridge) support. Both bridges will try to attach directly to the drm encoder itself. I started writing lengthy letter describing what is broken and how it should be fixed. Then at some point I stopped and quickly coded this RFC (which is compile-tested only). Comments and tests (on both DP and eDP setups) are more than welcome. The following changes since commit 6ed95285382d6f90a3c3a11d5806a5eb7db715c3: drm/msm/a5xx: Fix missing CP_PROTECT for SMMU on A540 (2021-12-17 15:09:46 -0800) are available in the Git repository at: https://git.linaro.org/people/dmitry.baryshkov/kernel.git msm-dp-bridges for you to fetch changes up to 7eff304d50ba520e9193a293a8e42bbd9d7aa0e1: drm/msm/dp: stop carying about the connector type (2022-01-07 04:56:06 +0300) ---------------------------------------------------------------- Dmitry Baryshkov (7): drm/msm/dp: fix panel bridge attachment drm/msm/dp: support attaching bridges to the DP encoder drm/msm/dp: replace dp_connector with drm_bridge_connector drm/msm/dp: remove extra wrappers and public functions drm/msm/dp: remove unused stubs drm/msm/dp: remove dp_display_en/disable prototypes and data argument drm/msm/dp: stop carying about the connector type drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/dp/dp_display.c | 263 ++++++++++++++++++++++++++---------- drivers/gpu/drm/msm/dp/dp_display.h | 5 +- drivers/gpu/drm/msm/dp/dp_drm.c | 250 ---------------------------------- drivers/gpu/drm/msm/dp/dp_parser.c | 28 ++-- drivers/gpu/drm/msm/dp/dp_parser.h | 4 +- drivers/gpu/drm/msm/msm_drv.h | 32 +---- 7 files changed, 203 insertions(+), 380 deletions(-) delete mode 100644 drivers/gpu/drm/msm/dp/dp_drm.c