mbox series

[00/10] Fix DSI host idx detection on HW revision clash

Message ID 20230211115110.1462920-1-konrad.dybcio@linaro.org
Headers show
Series Fix DSI host idx detection on HW revision clash | expand

Message

Konrad Dybcio Feb. 11, 2023, 11:51 a.m. UTC
Some DSI host versions are implemented on multiple SoCs which use
vastly different register maps. This messes with our current
assumptions of being able to map {dsi0, dsi1} to {reg0, reg1}.
Solve that by adding a way of specifying multiple sets of base
registers and try comparing them against the register specified in DT
until we find a match.

This removes the need for the QCM2290-specific compatible which was
used in the SM6115 DT (which uses DSIv2.4.1, just like SC7180).
The series also takes care of that.

Tested on SM6115P Lenovo Tab P11 and SM8350 PDX215

Konrad Dybcio (10):
  dt-bindings: display/msm: dsi-controller-main: Fix deprecated QCM2290
    compatible
  drm/msm/dsi: Turn msm_dsi_config::io_start into a 2d array
  drm/msm/dsi: Zero-terminate msm_dsi_config::io_start
  drm/msm/dsi: dsi_host: Fix DSI index detection when version clash
    occurs
  drm/msm/dsi: dsi_cfg: Deduplicate identical structs
  drm/msm/dsi: dsi_cfg: Merge SC7180 config into SDM845
  drm/msm/dsi: Switch the QCM2290-specific compatible to index
    autodetection
  drm/msm/dsi: Remove custom DSI config handling
  dt-bindings: display/msm: dsi-controller-main: Add SM6115
  arm64: dts: qcom: sm6115: Use the correct DSI compatible

 .../display/msm/dsi-controller-main.yaml      |   4 +-
 arch/arm64/boot/dts/qcom/sm6115.dtsi          |   2 +-
 drivers/gpu/drm/msm/dsi/dsi.c                 |   6 +-
 drivers/gpu/drm/msm/dsi/dsi_cfg.c             | 162 +++++++-----------
 drivers/gpu/drm/msm/dsi/dsi_cfg.h             |   8 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c            |  16 +-
 6 files changed, 79 insertions(+), 119 deletions(-)