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