Currently the KMS and GPU parts of the msm driver are pretty much intertwined. It is impossible to register a KMS-only device and registering a GPU-only DRM device requires modifying the DT. Not to mention that binding the GPU-only device creates an interim platform devices, which complicates IOMMU setup.
Rework the driver: - Make it possible to disable KMS parts (if MDP4, MDP5 and DPU drivers are disabled). - Register GPU-only devices without an interim platform device. - Add module param that makes msm driver register GPU and KMS devices separately. Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@oss.qualcomm.com> --- Dmitry Baryshkov (7): drm/msm: move wq handling to KMS code drm/msm: move helper calls to msm_kms.c drm/msm: make it possible to disable KMS-related code. drm/msm: bail out late_init_minor() if it is not a GPU device drm/msm: rearrange symbol selection drm/msm: rework binding of Imageon GPUs drm/msm: enable separate binding of GPU and display devices drivers/gpu/drm/msm/Kconfig | 34 ++++-- drivers/gpu/drm/msm/Makefile | 16 +-- drivers/gpu/drm/msm/adreno/adreno_device.c | 39 ++----- drivers/gpu/drm/msm/dp/dp_debug.c | 4 + drivers/gpu/drm/msm/msm_debugfs.c | 97 ++++++++++------- drivers/gpu/drm/msm/msm_drv.c | 168 +++++++++++++++++++---------- drivers/gpu/drm/msm/msm_drv.h | 13 ++- drivers/gpu/drm/msm/msm_kms.c | 36 ++++++- drivers/gpu/drm/msm/msm_kms.h | 25 +++++ 9 files changed, 285 insertions(+), 147 deletions(-) --- base-commit: a4e1d05abd6847ba11edf46734efecec86a1fe2c change-id: 20250411-msm-gpu-split-2701e49e40f0 Best regards, -- Dmitry Baryshkov <dmitry.barysh...@oss.qualcomm.com>