drm/msm/dsi/dsi_phy_10nm: Fix missing initial VCO rateDriver unconditionally saves current state on first init indsi_pll_10nm_init(), but does not save the VCO rate, only some of thedivider regis
drm/msm/dsi/dsi_phy_10nm: Fix missing initial VCO rateDriver unconditionally saves current state on first init indsi_pll_10nm_init(), but does not save the VCO rate, only some of thedivider registers. The state is then restored during probe/enable viamsm_dsi_phy_enable() -> msm_dsi_phy_pll_restore_state() ->dsi_10nm_pll_restore_state().Restoring calls dsi_pll_10nm_vco_set_rate() withpll_10nm->vco_current_rate=0, which basically overwrites existing rate ofVCO and messes with clock hierarchy, by setting frequency to 0 to clocktree. This makes anyway little sense - VCO rate was not saved, soshould not be restored.If PLL was not configured configure it to minimum rate to avoid glitchesand configuring entire in clock hierarchy to 0 Hz.Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>Link: https://lore.kernel.org/r/sz4kbwy5nwsebgf64ia7uq4ee7wbsa5uy3xmlqwcstsbntzcov@ew3dcyjdzmi2/Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Fixes: a4ccc37693a2 ("drm/msm/dsi_pll_10nm: restore VCO rate duringReviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>Patchwork: https://patchwork.freedesktop.org/patch/654796/Link: https://lore.kernel.org/r/20250520111325.92352-2-krzysztof.kozlowski@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
show more ...
drm/msm/dsi: add DSI PHY configuration on SA8775PThe SA8775P SoC uses the 5nm (v4.2) DSI PHY driver withdifferent enable regulator load.Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
drm/msm/dsi: add DSI PHY configuration on SA8775PThe SA8775P SoC uses the 5nm (v4.2) DSI PHY driver withdifferent enable regulator load.Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>Reviewed-by: Dmitry Baryshkov <lumag@kernel.org>Patchwork: https://patchwork.freedesktop.org/patch/649842/Link: https://lore.kernel.org/r/20250424062431.2040692-5-quic_amakhija@quicinc.comSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drm/msm/dsi/phy: add configuration for SAR2130PQualcomm SAR2130P requires slightly different setup for the DSI PHY. Itis a 5nm PHY (like SM8450), so supplies are the same, but the rest ofthe conf
drm/msm/dsi/phy: add configuration for SAR2130PQualcomm SAR2130P requires slightly different setup for the DSI PHY. Itis a 5nm PHY (like SM8450), so supplies are the same, but the rest ofthe configuration is the same as SM8550 DSI PHY.Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/649257/Link: https://lore.kernel.org/r/20250418-sar2130p-display-v5-7-442c905cb3a4@oss.qualcomm.comSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drm/msm/dsi/phy: Define PHY_CMN_CLK_CFG[01] bitfields and simplify savingAdd bitfields for PHY_CMN_CLK_CFG0 and PHY_CMN_CLK_CFG1 registers toavoid hard-coding bit masks and shifts and make the cod
drm/msm/dsi/phy: Define PHY_CMN_CLK_CFG[01] bitfields and simplify savingAdd bitfields for PHY_CMN_CLK_CFG0 and PHY_CMN_CLK_CFG1 registers toavoid hard-coding bit masks and shifts and make the code a bit morereadable.Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/638324/Link: https://lore.kernel.org/r/20250219-drm-msm-phy-pll-cfg-reg-v5-2-d28973fa513a@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi/phy: Use dsi_pll_cmn_clk_cfg1_update() when registering PLLNewly added dsi_pll_cmn_clk_cfg1_update() wrapper protects concurrentupdates to PHY_CMN_CLK_CFG1 register between driver and
drm/msm/dsi/phy: Use dsi_pll_cmn_clk_cfg1_update() when registering PLLNewly added dsi_pll_cmn_clk_cfg1_update() wrapper protects concurrentupdates to PHY_CMN_CLK_CFG1 register between driver and Common ClockFramework. pll_7nm_register() still used in one place previousreadl+writel, which can be simplified with this new wrapper.This is purely for readability and simplification and should have nofunctional impact, because the code touched here is before clock isregistered via CCF, so there is no concurrency issue.Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/638323/Link: https://lore.kernel.org/r/20250219-drm-msm-phy-pll-cfg-reg-v5-1-d28973fa513a@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi/phy: Program clock inverters in correct registerSince SM8250 all downstream sources program clock inverters inPLL_CLOCK_INVERTERS_1 register and leave the PLL_CLOCK_INVERTERS asreset
drm/msm/dsi/phy: Program clock inverters in correct registerSince SM8250 all downstream sources program clock inverters inPLL_CLOCK_INVERTERS_1 register and leave the PLL_CLOCK_INVERTERS asreset value (0x0). The most recent Hardware Programming Guide for 3 nm,4 nm, 5 nm and 7 nm PHYs also mention PLL_CLOCK_INVERTERS_1.Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Fixes: 1ef7c99d145c ("drm/msm/dsi: add support for 7nm DSI PHY/PLL")Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reported-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/634489/Link: https://lore.kernel.org/r/20250129115504.40080-1-krzysztof.kozlowski@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi/phy: Use the header with clock IDsUse the header with clock IDs to bind the interface between driver andDTS.Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Review
drm/msm/dsi/phy: Use the header with clock IDsUse the header with clock IDs to bind the interface between driver andDTS.Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/634149/Link: https://lore.kernel.org/r/20250127132105.107138-2-krzysztof.kozlowski@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi/phy: Do not overwite PHY_CMN_CLK_CFG1 when choosing bitclk sourcePHY_CMN_CLK_CFG1 register has four fields being used in the driver: DSIclock divider, source of bitclk and two for enab
drm/msm/dsi/phy: Do not overwite PHY_CMN_CLK_CFG1 when choosing bitclk sourcePHY_CMN_CLK_CFG1 register has four fields being used in the driver: DSIclock divider, source of bitclk and two for enabling the DSI PHY PLLclocks.dsi_7nm_set_usecase() sets only the source of bitclk, so should leaveall other bits untouched. Use newly introduceddsi_pll_cmn_clk_cfg1_update() to update respective bits withoutoverwriting the rest.While shuffling the code, define and use PHY_CMN_CLK_CFG1 bitfields tomake the code more readable and obvious.Fixes: 1ef7c99d145c ("drm/msm/dsi: add support for 7nm DSI PHY/PLL")Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/637380/Link: https://lore.kernel.org/r/20250214-drm-msm-phy-pll-cfg-reg-v3-3-0943b850722c@linaro.orgSigned-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG1 against clock driverPHY_CMN_CLK_CFG1 register is updated by the PHY driver and by a muxclock from Common Clock Framework:devm_clk_hw_register_mux_parent_
drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG1 against clock driverPHY_CMN_CLK_CFG1 register is updated by the PHY driver and by a muxclock from Common Clock Framework:devm_clk_hw_register_mux_parent_hws(). There could be a path leading toconcurrent and conflicting updates between PHY driver and clockframework, e.g. changing the mux and enabling PLL clocks.Add dedicated spinlock to be sure all PHY_CMN_CLK_CFG1 updates aresynchronized.While shuffling the code, define and use PHY_CMN_CLK_CFG1 bitfields tomake the code more readable and obvious.Fixes: 1ef7c99d145c ("drm/msm/dsi: add support for 7nm DSI PHY/PLL")Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/637378/Link: https://lore.kernel.org/r/20250214-drm-msm-phy-pll-cfg-reg-v3-2-0943b850722c@linaro.orgSigned-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG0 updated from driver sidePHY_CMN_CLK_CFG0 register is updated by the PHY driver and by twodivider clocks from Common Clock Framework:devm_clk_hw_register_
drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG0 updated from driver sidePHY_CMN_CLK_CFG0 register is updated by the PHY driver and by twodivider clocks from Common Clock Framework:devm_clk_hw_register_divider_parent_hw(). Concurrent access by theclocks side is protected with spinlock, however driver's side inrestoring state is not. Restoring state is called frommsm_dsi_phy_enable(), so there could be a path leading to concurrent andconflicting updates with clock framework.Add missing lock usage on the PHY driver side, encapsulated in its ownfunction so the code will be still readable.While shuffling the code, define and use PHY_CMN_CLK_CFG0 bitfields tomake the code more readable and obvious.Fixes: 1ef7c99d145c ("drm/msm/dsi: add support for 7nm DSI PHY/PLL")Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/637376/Link: https://lore.kernel.org/r/20250214-drm-msm-phy-pll-cfg-reg-v3-1-0943b850722c@linaro.orgSigned-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drm/msm/dsi: Add dsi phy support for SM6150Add phy configuration for SM6150Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Li Liu <quic_lliu6@quicinc.com>Signed-off-by
drm/msm/dsi: Add dsi phy support for SM6150Add phy configuration for SM6150Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Li Liu <quic_lliu6@quicinc.com>Signed-off-by: Fange Zhang <quic_fangez@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/628009/Link: https://lore.kernel.org/r/20241210-add-display-support-for-qcs615-platform-v4-6-2d875a67602d@quicinc.comSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: correct programming sequence for SM8350 / SM8450According to the display-drivers, 5nm DSI PLL (v4.2, v4.3) havedifferent boundaries for pll_clock_inverters programming. Follow theven
drm/msm/dsi: correct programming sequence for SM8350 / SM8450According to the display-drivers, 5nm DSI PLL (v4.2, v4.3) havedifferent boundaries for pll_clock_inverters programming. Follow thevendor code and use correct values.Fixes: 2f9ae4e395ed ("drm/msm/dsi: add support for DSI-PHY on SM8350 and SM8450")Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/606947/Link: https://lore.kernel.org/r/20240804-sm8350-fixes-v1-3-1149dd8399fe@linaro.org
drm/msm/dsi: Add phy configuration for MSM8937Add phy configuration for 28nm dsi phy found on MSM8937 SoC. Onlydifference from existing msm8916 configuration is number of phyand io_start addresse
drm/msm/dsi: Add phy configuration for MSM8937Add phy configuration for 28nm dsi phy found on MSM8937 SoC. Onlydifference from existing msm8916 configuration is number of phyand io_start addresses.Signed-off-by: Daniil Titov <daniilt971@gmail.com>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Barnabás Czémán <trabarni@gmail.com>Patchwork: https://patchwork.freedesktop.org/patch/600518/Link: https://lore.kernel.org/r/20240623-dsi-v2-4-a0ca70fb4846@gmail.comSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: Remove dsi_phy_write_[un]delay()These are dummy wrappers that do literally nothing interesting.Remove them.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitr
drm/msm/dsi: Remove dsi_phy_write_[un]delay()These are dummy wrappers that do literally nothing interesting.Remove them.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/590703/Link: https://lore.kernel.org/r/20240423-topic-msm_cleanup-v1-2-b30f39f43b90@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: Remove dsi_phy_read/write()These are dummy wrappers that do literally nothing interesting.Remove them.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitry Bar
drm/msm/dsi: Remove dsi_phy_read/write()These are dummy wrappers that do literally nothing interesting.Remove them.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/590700/Link: https://lore.kernel.org/r/20240423-topic-msm_cleanup-v1-1-b30f39f43b90@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm: Drop msm_read/writelTotally useless.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Andrew Halaney <ahalaney@redhat.com>Patchwork: https://patchwork.freedesktop.org
drm/msm: Drop msm_read/writelTotally useless.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Andrew Halaney <ahalaney@redhat.com>Patchwork: https://patchwork.freedesktop.org/patch/588804/Link: https://lore.kernel.org/r/20240410-topic-msm_rw-v1-1-e1fede9ffaba@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Merge remote-tracking branch 'drm-misc/drm-misc-next' into msm-nextBackmerge drm-misc-next to pick up some dependencies for drm/msmpatches, in particular:https://patchwork.freedesktop.org/patch/
Merge remote-tracking branch 'drm-misc/drm-misc-next' into msm-nextBackmerge drm-misc-next to pick up some dependencies for drm/msmpatches, in particular:https://patchwork.freedesktop.org/patch/570219/?series=127251&rev=1https://patchwork.freedesktop.org/series/123411/Signed-off-by: Rob Clark <robdclark@chromium.org>
drm/msm: dsi: add support for DSI-PHY on SM8650Add DSI PHY support for the SM8650 platform.Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Neil Armstrong <neil.armstron
drm/msm: dsi: add support for DSI-PHY on SM8650Add DSI PHY support for the SM8650 platform.Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/564976/Link: https://lore.kernel.org/r/20231030-topic-sm8650-upstream-mdss-v2-7-43f1887c82b8@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: Enable runtime PMSome devices power the DSI PHY/PLL through a power rail that we modelas a GENPD. Enable runtime PM to make it suspendable.Signed-off-by: Konrad Dybcio <konrad.dybci
drm/msm/dsi: Enable runtime PMSome devices power the DSI PHY/PLL through a power rail that we modelas a GENPD. Enable runtime PM to make it suspendable.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/543352/Link: https://lore.kernel.org/r/20230620-topic-dsiphy_rpm-v2-2-a11a751f34f0@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaksThis helper has been introduced to avoid programmer errors (missing_put calls leading to dangling refcnt) when using pm_runtime_ge
drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaksThis helper has been introduced to avoid programmer errors (missing_put calls leading to dangling refcnt) when using pm_runtime_get, use it.While at it, start checking the return value.Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Fixes: 5c8290284402 ("drm/msm/dsi: Split PHY drivers to separate files")Patchwork: https://patchwork.freedesktop.org/patch/543350/Link: https://lore.kernel.org/r/20230620-topic-dsiphy_rpm-v2-1-a11a751f34f0@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: use the correct VREG_CTRL_1 value for 4nm cphyUse the same value as the downstream driver. This change is needed for CPHYmode to work correctly.Fixes: 8b034e677111 ("drm/msm/dsi: ad
drm/msm/dsi: use the correct VREG_CTRL_1 value for 4nm cphyUse the same value as the downstream driver. This change is needed for CPHYmode to work correctly.Fixes: 8b034e677111 ("drm/msm/dsi: add support for DSI-PHY on SM8550")Signed-off-by: Jonathan Marek <jonathan@marek.ca>Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Patchwork: https://patchwork.freedesktop.org/patch/566987/Link: https://lore.kernel.org/r/20231110000216.29979-1-jonathan@marek.caSigned-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drm/msm/dsi: Reuse QCM2290 14nm DSI PHY configuration for SM6125SM6125 features only a single PHY (despite a secondary PHY PLL sourcebeing available to the disp_cc_mdss_pclk0_clk_src clock), and d
drm/msm/dsi: Reuse QCM2290 14nm DSI PHY configuration for SM6125SM6125 features only a single PHY (despite a secondary PHY PLL sourcebeing available to the disp_cc_mdss_pclk0_clk_src clock), and downstreamsources for this "trinket" SoC do not define the typical "vcca"regulator to be available nor used. This, including the register offsetis identical to QCM2290, whose config struct can trivially be reused.Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>Patchwork: https://patchwork.freedesktop.org/patch/548980/Link: https://lore.kernel.org/r/20230723-sm6125-dpu-v4-13-a3f287dd6c07@somainline.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: Drop unused regulators from QCM2290 14nm DSI PHY configThe regulator setup was likely copied from other SoCs by mistake. Justlike SM6125 the DSI PHY on this platform is not getting p
drm/msm/dsi: Drop unused regulators from QCM2290 14nm DSI PHY configThe regulator setup was likely copied from other SoCs by mistake. Justlike SM6125 the DSI PHY on this platform is not getting power from aregulator but from the MX power domain.Fixes: 572e9fd6d14a ("drm/msm/dsi: Add phy configuration for QCM2290")Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>Patchwork: https://patchwork.freedesktop.org/patch/548959/Link: https://lore.kernel.org/r/20230723-sm6125-dpu-v4-1-a3f287dd6c07@somainline.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: Add phy configuration for MSM8226MSM8226 uses a modified PLL lock sequence compared to MSM8974, which isbased on the function dsi_pll_enable_seq_m in the msm-3.10 kernel.Worth notin
drm/msm/dsi: Add phy configuration for MSM8226MSM8226 uses a modified PLL lock sequence compared to MSM8974, which isbased on the function dsi_pll_enable_seq_m in the msm-3.10 kernel.Worth noting that the msm-3.10 downstream kernel also will try othersequences in case this one doesn't work, but during testing it has shownthat the _m sequence succeeds first time also: .pll_enable_seqs[0] = dsi_pll_enable_seq_m, .pll_enable_seqs[1] = dsi_pll_enable_seq_m, .pll_enable_seqs[2] = dsi_pll_enable_seq_d, .pll_enable_seqs[3] = dsi_pll_enable_seq_d, .pll_enable_seqs[4] = dsi_pll_enable_seq_f1, .pll_enable_seqs[5] = dsi_pll_enable_seq_c, .pll_enable_seqs[6] = dsi_pll_enable_seq_e,We may need to expand this in the future.Signed-off-by: Luca Weiss <luca@z3ntu.xyz>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Patchwork: https://patchwork.freedesktop.org/patch/540618/Link: https://lore.kernel.org/r/20230308-msm8226-mdp-v3-6-b6284145d67a@z3ntu.xyzSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rateIf the dispcc uses CLK_OPS_PARENT_ENABLE (e.g. on QCM2290), CCF can tryenabling VCO before the rate has been programmed. This can c
drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rateIf the dispcc uses CLK_OPS_PARENT_ENABLE (e.g. on QCM2290), CCF can tryenabling VCO before the rate has been programmed. This can cause clocklockups and/or other boot issues. Program the VCO to the minimal PLLrate if the read rate is 0 Hz.Cc: Konrad Dybcio <konrad.dybcio@linaro.org>Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>Reported-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>Fixes: f079f6d999cb ("drm/msm/dsi: Add PHY/PLL for 8x96")Patchwork: https://patchwork.freedesktop.org/patch/534813/Link: https://lore.kernel.org/r/20230501011257.3460103-1-dmitry.baryshkov@linaro.orgSigned-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
123456