Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp189591pxj; Wed, 26 May 2021 20:09:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyViukF34axXarVTCKNreKlJhygo2eaVeAhyt0SjxOzKraj0AT0LDGSvGk2HMXPIyTZGHyk X-Received: by 2002:a17:907:724b:: with SMTP id ds11mr1506879ejc.108.1622084958466; Wed, 26 May 2021 20:09:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622084958; cv=none; d=google.com; s=arc-20160816; b=qo9ddrKBAadQEDGzeZLbZN2bdGCCaTMkVGE4ooapJZYoqm7Us68FxRDqosmYeU03Tn MmsNfEaG59C4kpFE3tAPqPSE6I45G2TDL6DzsD303wP3H7cUl+3GEiU2vUZvgYv+pNTe Z7PgowzSipIx5nH5zy2BK4bjiU2pPrE5w+iULc+D7oiMh6vKZYXpO9sApx+E6/H83o5j impgBBJrATs3AGYO3vW6XWcBqh9+i+9kYMZ67i6SH68r5pThpyWy4f9xiLM1ubPb7FnM gf2TM8qD2w8/5d/UTV1k9i1mklihYH/1WxOcY1WW7hXfLSK268+Dbemyqq8gmUR+7e5W Hs4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from:dmarc-filter :sender:dkim-signature; bh=wl02quHBTxudtWvZnM1Q03LAL3Jvf2lbvTCPghPkEsc=; b=H4Nuz++A+7NwuRZymTfsr2UY/gc6E7cNccGD1F87eF033XhX8c2ahhh4BLxTYRouBB 33wV324K99zFJ1nY38SwzhrZKOIMS4ph1Vq1U8oXtI5S1b7x+Nfn0+tvSrsdslUCad1E dPBcAQUjoVRMMz9MRAxRcvvBUCfPI3u1OlYDeZrcgnFmoSdAzE86n94ToQW8xngBoNQM IoRHlrM9PZqG536MVPeJCYFDa77EZMHhEJjg7+mj4tkItoKLggq79RBlF87/B++NofmA /ha6EtL3pmfTe92WBfDiYSaqXZ2os0EH73FVzrcCbWDP3xRoxLYeTX448nk5V8Y0DeIe /OPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=Bhifl05d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v3si827230edr.384.2021.05.26.20.08.42; Wed, 26 May 2021 20:09:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=Bhifl05d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233643AbhEZXvd (ORCPT + 99 others); Wed, 26 May 2021 19:51:33 -0400 Received: from m43-7.mailgun.net ([69.72.43.7]:35428 "EHLO m43-7.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232270AbhEZXvc (ORCPT ); Wed, 26 May 2021 19:51:32 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1622073000; h=Message-Id: Date: Subject: Cc: To: From: Sender; bh=wl02quHBTxudtWvZnM1Q03LAL3Jvf2lbvTCPghPkEsc=; b=Bhifl05dCx+m6y0GpvHQWK9kcYA5YC2jFHHpq99pn1VyvQT01s6JQAfcGdsILKM3GznFSkvb A6Gxp56QDsP2mqDhrVjGo/3PTm80qPG0wlItjdcCod3c/FzqIKsLCxQx9Ro2pq4vlhuta8YG s9JrgatSmdeNkW9YbvSWAIzyx1k= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n02.prod.us-west-2.postgun.com with SMTP id 60aedea77b9a7a2b6c92aaea (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Wed, 26 May 2021 23:49:59 GMT Sender: khsieh=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id C6997C4323A; Wed, 26 May 2021 23:49:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00,SPF_FAIL autolearn=no autolearn_force=no version=3.4.0 Received: from khsieh-linux1.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: khsieh) by smtp.codeaurora.org (Postfix) with ESMTPSA id 24ACAC433F1; Wed, 26 May 2021 23:49:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 24ACAC433F1 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=khsieh@codeaurora.org From: Kuogee Hsieh To: robdclark@gmail.com, sean@poorly.run, swboyd@chromium.org, vkoul@kernel.org, agross@kernel.org, bjorn.andersson@linaro.org Cc: abhinavk@codeaurora.org, aravindh@codeaurora.org, khsieh@codeaurora.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/msm/dp: keep aux channel up when power of dp phy Date: Wed, 26 May 2021 16:49:49 -0700 Message-Id: <1622072989-793-1-git-send-email-khsieh@codeaurora.org> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Aux channel is used to perform management function and should be running in parallel with main link. Therefore should only power down main link and keep aux channel running when power down phy. Signed-off-by: Kuogee Hsieh --- drivers/gpu/drm/msm/dp/dp_ctrl.c | 4 ---- drivers/phy/qualcomm/phy-qcom-qmp.c | 11 +++++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c b/drivers/gpu/drm/msm/dp/dp_ctrl.c index 5115c05..5f93c64 100644 --- a/drivers/gpu/drm/msm/dp/dp_ctrl.c +++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c @@ -1844,10 +1844,6 @@ int dp_ctrl_off_link_stream(struct dp_ctrl *dp_ctrl) phy_power_off(phy); - /* aux channel down, reinit phy */ - phy_exit(phy); - phy_init(phy); - DRM_DEBUG_DP("DP off link/stream done\n"); return ret; } diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index b122e63..567e32e 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -3214,12 +3214,19 @@ static int qcom_qmp_phy_power_off(struct phy *phy) { struct qmp_phy *qphy = phy_get_drvdata(phy); const struct qmp_phy_cfg *cfg = qphy->cfg; + u32 val; clk_disable_unprepare(qphy->pipe_clk); if (cfg->type == PHY_TYPE_DP) { - /* Assert DP PHY power down */ - writel(DP_PHY_PD_CTL_PSR_PWRDN, qphy->pcs + QSERDES_V3_DP_PHY_PD_CTL); + /* + * Assert DP PHY LANE_0_1, LANE_2_3, PSR power down + * keep aux channel up + */ + val = DP_PHY_PD_CTL_PWRDN | DP_PHY_PD_CTL_AUX_PWRDN | + DP_PHY_PD_CTL_PLL_PWRDN | DP_PHY_PD_CTL_DP_CLAMP_EN | + DP_PHY_PD_CTL_PSR_PWRDN; + writel(val, qphy->pcs + QSERDES_V3_DP_PHY_PD_CTL); } else { /* PHY reset */ if (!cfg->no_pcs_sw_reset) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project