[PATCH 0/7] drm/msm: rework the ties between KMS and GPU parts of the driver

From: Dmitry Baryshkov
Date: Sun Apr 13 2025 - 12:33:47 EST


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.baryshkov@xxxxxxxxxxxxxxxx>
---
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.baryshkov@xxxxxxxxxxxxxxxx>