Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4707433pxb; Tue, 28 Sep 2021 02:09:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzxx4iVwSgbIE1KLDaU5ViViY3BQyYe+tahegbjjSRiXx2e5zgQ2E7XQ6WX3lxqfQp1WBd2 X-Received: by 2002:a63:7c4e:: with SMTP id l14mr3581202pgn.389.1632820184410; Tue, 28 Sep 2021 02:09:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632820184; cv=none; d=google.com; s=arc-20160816; b=0nrv7p2uRSAk7qxm2OMGLk4PCLe4zKGF+HdCiJJooeEd0gdMsscPvomI5c6eH59v6L wcPOOZ9aHklnCghCk6Xbrr2h6BQ89awUvOfBuTf1F3csWTfhlx8Ju4+lLEu5PEuIFk2I 2mIbdWpNtQxXb086h1Q4k5QWxyKzgBIhovACIW/Yr4B/sHXa10zRckY+fc5qeKAIGo1L ES1bsnvPSeS7I28xFr8nwA7HyYHEj7vak02qToAEibEvHdC/q1FfzYaSJ5fS4soeZICC caxfF464nUFA0OydQRP4kwqyuuRQxONMM5BMQPx+qbLHONiCNJZoIzgSTD8WWCmSb9Vh l6qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:references:in-reply-to :message-id:date:subject:cc:to:from:dmarc-filter:sender :dkim-signature; bh=LC1CDaf9KsUSVcMN5EyFnJjnyIeffZTnWvVRfkHFxgA=; b=Crf7sr/Q5A1l1eeUzo/3NkroudIHwGBsMYQiX0Ffiapjf7UX//L0/7WqFSp6y9TS5T XE3YJZlsuSWhgdGHceYQB9DdU4F1rNclDDkDVPLhmSzTC18v8Yvre8thnYm/RT2Sh3OX Bs5XE5NGAMNWoNlpxNswcXm0ByNIA+7GX7OU197/6JDk0ZMRgSd4u9zigsSOPhqLQMlH OUjZNLFZuaw5FdUKvhDe/iIJGh9HIDEK4YuNW1hXW405J8NOeQEaEnsbu+MVoFDRTkqY NQT3qGRz+25VmG11paKBb3fBhKHmN+FYI6nE4p94mUqZnkgJAtFILIUXeq6/In2eSZ48 vWiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=p2oKVxqR; 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 c19si25156097pls.309.2021.09.28.02.09.31; Tue, 28 Sep 2021 02:09:44 -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=p2oKVxqR; 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 S239886AbhI1JIs (ORCPT + 99 others); Tue, 28 Sep 2021 05:08:48 -0400 Received: from m43-7.mailgun.net ([69.72.43.7]:14946 "EHLO m43-7.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239793AbhI1JIq (ORCPT ); Tue, 28 Sep 2021 05:08:46 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1632820027; h=References: In-Reply-To: References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=LC1CDaf9KsUSVcMN5EyFnJjnyIeffZTnWvVRfkHFxgA=; b=p2oKVxqRIvCfCkGfOFjyr6Q+jyFpe16mBt8PhC4fMMS5V0BIMqxysVlVSZ4zPSt1DMKP/yFk cA8U3DvjwZ0AYQ3qJLIzJTGGNiIi/VccLLh9yxYlZUh+1yEwMialmziFqJnQbDwwK2x8bA3u 83Oa6hYU3o3+DKENV23g2N3V6yI= 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-n07.prod.us-east-1.postgun.com with SMTP id 6152db171abbf21d341825d2 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Tue, 28 Sep 2021 09:06:31 GMT Sender: nguyenb=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 523E4C4338F; Tue, 28 Sep 2021 09:06:30 +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 stor-berry.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: nguyenb) by smtp.codeaurora.org (Postfix) with ESMTPSA id 5A346C43619; Tue, 28 Sep 2021 09:06:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org 5A346C43619 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=codeaurora.org From: "Bao D. Nguyen" To: cang@codeaurora.org, asutoshd@codeaurora.org, martin.petersen@oracle.com, linux-scsi@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, "Bao D . Nguyen" , Andy Gross , Bjorn Andersson , Alim Akhtar , Avri Altman , "James E.J. Bottomley" , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2 2/2] scsi: ufs-qcom: enter and exit hibern8 during clock scaling Date: Tue, 28 Sep 2021 02:06:13 -0700 Message-Id: <212b7aaf6d834c4a8c682fdac4a59b84013ed573.1632818942.git.nguyenb@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: In-Reply-To: References: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Asutosh Das Qualcomm controller needs to be in hibern8 before scaling clocks. This change puts the controller in hibern8 state before scaling and brings it out after scaling of clocks. Signed-off-by: Asutosh Das Signed-off-by: Bao D. Nguyen --- drivers/scsi/ufs/ufs-qcom.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 92d4c61..92f5bb4 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -1212,24 +1212,34 @@ static int ufs_qcom_clk_scale_notify(struct ufs_hba *hba, int err = 0; if (status == PRE_CHANGE) { + err = ufshcd_uic_hibern8_enter(hba); + if (err) + return err; if (scale_up) err = ufs_qcom_clk_scale_up_pre_change(hba); else err = ufs_qcom_clk_scale_down_pre_change(hba); + if (err) + ufshcd_uic_hibern8_exit(hba); + } else { if (scale_up) err = ufs_qcom_clk_scale_up_post_change(hba); else err = ufs_qcom_clk_scale_down_post_change(hba); - if (err || !dev_req_params) + + if (err || !dev_req_params) { + ufshcd_uic_hibern8_exit(hba); goto out; + } ufs_qcom_cfg_timers(hba, dev_req_params->gear_rx, dev_req_params->pwr_rx, dev_req_params->hs_rate, false); + ufshcd_uic_hibern8_exit(hba); } out: -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project