Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH v2 0/7] drm/msm/mdp4: rework LVDS/LCDC panel support
@ 2025-02-20 11:14 Dmitry Baryshkov
  2025-02-20 11:14 ` [PATCH v2 1/7] dt-bindings: display: msm: mdp4: add LCDC clock and PLL source Dmitry Baryshkov
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Dmitry Baryshkov @ 2025-02-20 11:14 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Sean Paul, Marijn Suijten,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel

The LCDC controller uses pixel clock provided by the multimedia clock
controller (mmcc) instead of using LVDS PHY clock directly. Link LVDS
clocks properly, taking MMCC into account.

MDP4 uses custom code to handle LVDS panel. It predates handling
EPROBE_DEFER, it tries to work when the panel device is not available,
etc. Switch MDP4 LCDC code to use drm_panel_bridge/drm_bridge_connector
to follow contemporary DRM practices.

---
Changes in v2:
- Rebase on top of msm-next.
- Upgrade LVDS clock code to use clock providers and parent_data
- Use LVDS clock from the MMCC instead of using LVDS PHY directly
- Link to v1: https://lore.kernel.org/r/20220616090321.433249-1-dmitry.baryshkov@linaro.org

---
Dmitry Baryshkov (7):
      dt-bindings: display: msm: mdp4: add LCDC clock and PLL source
      drm/msm/mdp4: drop mpd4_lvds_pll_init stub
      drm/msm/mdp4: register the LVDS PLL as a clock provider
      drm/msm/mdp4: use parent_data for LVDS PLL
      drm/msm/mdp4: move move_valid callback to lcdc_encoder
      drm/msm/mdp4: switch LVDS to use drm_bridge/_connector
      arm: dts: qcom: apq8064: link LVDS clocks

 .../devicetree/bindings/display/msm/mdp4.yaml      |   9 +-
 arch/arm/boot/dts/qcom/qcom-apq8064.dtsi           |  16 ++-
 drivers/gpu/drm/msm/Makefile                       |   1 -
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c           |  34 ++++--
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h           |  16 +--
 drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c  |  55 +++++-----
 .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c    | 121 ---------------------
 drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c      |  28 ++---
 8 files changed, 86 insertions(+), 194 deletions(-)
---
base-commit: 402fdf7dbdc47d0186c4ad4fb1467a05f017bc0f
change-id: 20240317-fd-mdp4-lvds-e317f86fd99c

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-02-25 13:56 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-20 11:14 [PATCH v2 0/7] drm/msm/mdp4: rework LVDS/LCDC panel support Dmitry Baryshkov
2025-02-20 11:14 ` [PATCH v2 1/7] dt-bindings: display: msm: mdp4: add LCDC clock and PLL source Dmitry Baryshkov
2025-02-21 23:11   ` Rob Herring (Arm)
2025-02-20 11:14 ` [PATCH v2 2/7] drm/msm/mdp4: drop mpd4_lvds_pll_init stub Dmitry Baryshkov
2025-02-20 14:16   ` Konrad Dybcio
2025-02-20 11:14 ` [PATCH v2 3/7] drm/msm/mdp4: register the LVDS PLL as a clock provider Dmitry Baryshkov
2025-02-25 13:55   ` Konrad Dybcio
2025-02-20 11:14 ` [PATCH v2 4/7] drm/msm/mdp4: use parent_data for LVDS PLL Dmitry Baryshkov
2025-02-20 14:17   ` Konrad Dybcio
2025-02-20 15:09     ` Dmitry Baryshkov
2025-02-20 11:14 ` [PATCH v2 5/7] drm/msm/mdp4: move move_valid callback to lcdc_encoder Dmitry Baryshkov
2025-02-20 14:19   ` Konrad Dybcio
2025-02-20 11:14 ` [PATCH v2 6/7] drm/msm/mdp4: switch LVDS to use drm_bridge/_connector Dmitry Baryshkov
2025-02-20 11:14 ` [PATCH v2 7/7] arm: dts: qcom: apq8064: link LVDS clocks Dmitry Baryshkov
2025-02-20 15:17   ` Konrad Dybcio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox