From: hongwus@codeaurora.org
To: Can Guo <cang@codeaurora.org>
Cc: asutoshd@codeaurora.org, nguyenb@codeaurora.org,
rnayak@codeaurora.org, sh425.lee@samsung.com,
linux-scsi@vger.kernel.org, kernel-team@android.com,
saravanak@google.com, salyzyn@google.com,
Alim Akhtar <alim.akhtar@samsung.com>,
Avri Altman <avri.altman@wdc.com>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Stanley Chu <stanley.chu@mediatek.com>,
Bean Huo <beanhuo@micron.com>,
Bart Van Assche <bvanassche@acm.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 1/9] scsi: ufs: Add checks before setting clk-gating states
Date: Thu, 23 Jul 2020 10:45:04 +0800 [thread overview]
Message-ID: <d36e8ab21277f5d478d34cb3f8be13f4@codeaurora.org> (raw)
In-Reply-To: <1595471649-25675-2-git-send-email-cang@codeaurora.org>
On 2020-07-23 10:34, Can Guo wrote:
> Clock gating features can be turned on/off selectively which means its
> state information is only important if it is enabled. This change makes
> sure that we only look at state of clk-gating if it is enabled.
>
> Signed-off-by: Can Guo <cang@codeaurora.org>
> Reviewed-by: Avri Altman <avri.altman@wdc.com>
> ---
> drivers/scsi/ufs/ufshcd.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index cdff7e5..99bd3e4 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -1839,6 +1839,8 @@ static void ufshcd_init_clk_gating(struct ufs_hba
> *hba)
> if (!ufshcd_is_clkgating_allowed(hba))
> return;
>
> + hba->clk_gating.state = CLKS_ON;
> +
> hba->clk_gating.delay_ms = 150;
> INIT_DELAYED_WORK(&hba->clk_gating.gate_work, ufshcd_gate_work);
> INIT_WORK(&hba->clk_gating.ungate_work, ufshcd_ungate_work);
> @@ -2541,7 +2543,8 @@ static int ufshcd_queuecommand(struct Scsi_Host
> *host, struct scsi_cmnd *cmd)
> err = SCSI_MLQUEUE_HOST_BUSY;
> goto out;
> }
> - WARN_ON(hba->clk_gating.state != CLKS_ON);
> + WARN_ON(ufshcd_is_clkgating_allowed(hba) &&
> + (hba->clk_gating.state != CLKS_ON));
>
> lrbp = &hba->lrb[tag];
>
> @@ -8315,8 +8318,11 @@ static int ufshcd_suspend(struct ufs_hba *hba,
> enum ufs_pm_op pm_op)
> /* If link is active, device ref_clk can't be switched off */
> __ufshcd_setup_clocks(hba, false, true);
>
> - hba->clk_gating.state = CLKS_OFF;
> - trace_ufshcd_clk_gating(dev_name(hba->dev), hba->clk_gating.state);
> + if (ufshcd_is_clkgating_allowed(hba)) {
> + hba->clk_gating.state = CLKS_OFF;
> + trace_ufshcd_clk_gating(dev_name(hba->dev),
> + hba->clk_gating.state);
> + }
>
> /* Put the host controller in low power mode if possible */
> ufshcd_hba_vreg_set_lpm(hba);
> @@ -8456,6 +8462,11 @@ static int ufshcd_resume(struct ufs_hba *hba,
> enum ufs_pm_op pm_op)
> if (hba->clk_scaling.is_allowed)
> ufshcd_suspend_clkscaling(hba);
> ufshcd_setup_clocks(hba, false);
> + if (ufshcd_is_clkgating_allowed(hba)) {
> + hba->clk_gating.state = CLKS_OFF;
> + trace_ufshcd_clk_gating(dev_name(hba->dev),
> + hba->clk_gating.state);
> + }
> out:
> hba->pm_op_in_progress = 0;
> if (ret)
Reviewed-by: Hongwu Su <hongwus@codeaurora.org>
next prev parent reply other threads:[~2020-07-23 2:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-23 2:33 [PATCH v5 0/9] Fix up and simplify error recovery mechanism Can Guo
2020-07-23 2:34 ` [PATCH v5 1/9] scsi: ufs: Add checks before setting clk-gating states Can Guo
2020-07-23 2:45 ` hongwus [this message]
2020-07-23 2:34 ` [PATCH v5 2/9] scsi: ufs: Fix imbalanced scsi_block_reqs_cnt caused by ufshcd_hold() Can Guo
2020-07-23 3:20 ` hongwus
2020-07-23 2:34 ` [PATCH v5 3/9] ufs: ufs-qcom: Fix race conditions caused by func ufs_qcom_testbus_config Can Guo
2020-07-23 3:38 ` hongwus
2020-07-23 2:34 ` [PATCH v5 4/9] scsi: ufs-qcom: Fix schedule while atomic error in ufs_qcom_dump_dbg_regs Can Guo
2020-07-23 2:34 ` [PATCH v5 5/9] scsi: ufs: Add some debug infos to ufshcd_print_host_state Can Guo
2020-07-23 2:34 ` [PATCH v5 6/9] scsi: ufs: Fix concurrency of error handler and other error recovery paths Can Guo
2020-07-23 2:34 ` [PATCH v5 7/9] scsi: ufs: Recover hba runtime PM error in error handler Can Guo
2020-07-23 2:34 ` [PATCH v5 8/9] scsi: ufs: Move dumps in IRQ handler to " Can Guo
2020-07-23 2:34 ` [PATCH v5 9/9] scsi: ufs: Fix a racing problem btw error handler and runtime PM ops Can Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d36e8ab21277f5d478d34cb3f8be13f4@codeaurora.org \
--to=hongwus@codeaurora.org \
--cc=alim.akhtar@samsung.com \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=cang@codeaurora.org \
--cc=jejb@linux.ibm.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=nguyenb@codeaurora.org \
--cc=rnayak@codeaurora.org \
--cc=salyzyn@google.com \
--cc=saravanak@google.com \
--cc=sh425.lee@samsung.com \
--cc=stanley.chu@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).