[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org>
Date: Thu, 27 Feb 2025 04:25:08 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Rob Clark <robdclark@...il.com>,
Abhinav Kumar <quic_abhinavk@...cinc.com>, Sean Paul <sean@...rly.run>,
Marijn Suijten <marijn.suijten@...ainline.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, dri-devel@...ts.freedesktop.org,
freedreno@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: [PATCH v3 0/7] drm/msm/mdp4: rework LVDS/LCDC panel support
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 v3:
- Fixed commit message to explain that DT name is used in addition to
the global system table lookup (Konrad).
- Link to v2: https://lore.kernel.org/r/20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org
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: 66054467b223f366fc463bb69aa7dcd050986e62
change-id: 20240317-fd-mdp4-lvds-e317f86fd99c
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Powered by blists - more mailing lists