]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
phy: qcom: qmp-combo: store DP phy power state
authorNeil Armstrong <neil.armstrong@linaro.org>
Thu, 7 Aug 2025 16:33:21 +0000 (18:33 +0200)
committerVinod Koul <vkoul@kernel.org>
Wed, 20 Aug 2025 16:49:08 +0000 (22:19 +0530)
Switching the PHY Mode requires the DisplayPort PHY to be powered off,
keep track of the DisplayPort phy power state.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on Lenovo Thinkpad T14S
Link: https://lore.kernel.org/r/20250807-topic-4ln_dp_respin-v4-3-43272d6eca92@oss.qualcomm.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/qualcomm/phy-qcom-qmp-combo.c

index 30749943f66280c3aa9e9673466f6f736d1adbc8..8395035754975808ee1b5b9c48d046a719e79e60 100644 (file)
@@ -1853,6 +1853,7 @@ struct qmp_combo {
        unsigned int dp_aux_cfg;
        struct phy_configure_opts_dp dp_opts;
        unsigned int dp_init_count;
+       bool dp_powered_on;
 
        struct clk_fixed_rate pipe_clk_fixed;
        struct clk_hw dp_link_hw;
@@ -3133,6 +3134,8 @@ static int qmp_combo_dp_power_on(struct phy *phy)
        /* Configure link rate, swing, etc. */
        cfg->configure_dp_phy(qmp);
 
+       qmp->dp_powered_on = true;
+
        mutex_unlock(&qmp->phy_mutex);
 
        return 0;
@@ -3147,6 +3150,8 @@ static int qmp_combo_dp_power_off(struct phy *phy)
        /* Assert DP PHY power down */
        writel(DP_PHY_PD_CTL_PSR_PWRDN, qmp->dp_dp_phy + QSERDES_DP_PHY_PD_CTL);
 
+       qmp->dp_powered_on = false;
+
        mutex_unlock(&qmp->phy_mutex);
 
        return 0;