Message ID | 20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com |
---|---|
Headers | show |
Series | drm/msm/mdp4: rework LVDS/LCDC panel support | expand |
On Fri, 25 Apr 2025 12:51:50 +0300, Dmitry Baryshkov wrote: > 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. > > [...] Applied, thanks! [1/7] dt-bindings: display: msm: mdp4: add LCDC clock and PLL source https://gitlab.freedesktop.org/lumag/msm/-/commit/2f1d131147aa [2/7] drm/msm/mdp4: drop mpd4_lvds_pll_init stub https://gitlab.freedesktop.org/lumag/msm/-/commit/f6720d64d8eb [3/7] drm/msm/mdp4: register the LVDS PLL as a clock provider https://gitlab.freedesktop.org/lumag/msm/-/commit/9c2f63da6a70 [4/7] drm/msm/mdp4: use parent_data for LVDS PLL https://gitlab.freedesktop.org/lumag/msm/-/commit/b641bf534cf4 [5/7] drm/msm/mdp4: move move_valid callback to lcdc_encoder https://gitlab.freedesktop.org/lumag/msm/-/commit/f26b80359bc7 [6/7] drm/msm/mdp4: switch LVDS to use drm_bridge/_connector https://gitlab.freedesktop.org/lumag/msm/-/commit/9b565edc44b6 Best regards,
On Fri, 25 Apr 2025 12:51:50 +0300, Dmitry Baryshkov wrote: > 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. > > [...] Applied, thanks! [7/7] arm: dts: qcom: apq8064: link LVDS clocks commit: d8dc4889afc92bd8757fcab607b734c684fce167 Best regards,
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. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> --- Changes in v4: - Retained compatibility with older DT by reusing PLL as LCDC clock (Abhinav) - Link to v3: https://lore.kernel.org/r/20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org 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 | 50 ++++----- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 121 --------------------- drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c | 51 ++++++--- 8 files changed, 105 insertions(+), 193 deletions(-) --- base-commit: 52beceed7049f2b4dc65ed0cc84b673bf804b679 change-id: 20240317-fd-mdp4-lvds-e317f86fd99c Best regards,