[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-scsi
Subject:    [PATCH v8 0/3] Three changes related with UFS clock scaling
From:       Can Guo <cang () codeaurora ! org>
Date:       2020-12-30 11:29:33
Message-ID: 1609327777-20520-1-git-send-email-cang () codeaurora ! org
[Download RAW message or body]

This series is made based on 5.10/scsi-fixes branch.

Current devfreq framework allows sysfs nodes like governor, min_freq and max_freq to \
be changed even after devfreq device is suspended. Meanwhile, \
devfreq_suspend_device() cannot/wouldn't synchronize clock scaling which has already \
been invoked through devfreq sysfs nodes menitioned above. It means that clock \
scaling invoked through these devfreq sysfs nodes can happen at any time regardless \
of the state of UFS host and/or device. We need to control and synchronize clock \
scaling in this scenario.

The 1st change allows contexts to prevent clock scaling from being invoked through \
devfreq sysfs nodes. The 2nd change is just a code cleanup for clk_scaling/gating \
initialization routine. The 3rd change reverts one old change which can be covered by \
the 1st change. For branches which do not have this change yet, it can be ignored.

Change since v7:
- Slightly updated the 1st change: changed the up_write() before ufshcd_wb_ctrl() to \
downgrade_write() in ufshcd_devfreq_scale(),  so that ufshcd_wb_ctrl() is called with \
clk_scale_lock held, this is to make sure race condition won't happen to \
ufshcd_wb_ctrl().

Change since v6:
- Updated the 2nd change

Change since v5:
- Reomved the code change in ufshcd_shutdown() since it is not quite relevant with \
this fix

Change since v4:
- Updated some comment lines as requested by Stanley

Change since v3:
- Slightly updated the 1st change

Change since v2:
- Split the 1st change to two changes, which become the 1st change and the 3rd change

Change since v1:
- Updated the 2nd change

Can Guo (3):
  scsi: ufs: Protect some contexts from unexpected clock scaling
  scsi: ufs: Refactor ufshcd_init/exit_clk_scaling/gating()
  scsi: ufs: Revert "Make sure clk scaling happens only when HBA is
    runtime ACTIVE"

 drivers/scsi/ufs/ufshcd.c | 216 ++++++++++++++++++++++++++--------------------
 drivers/scsi/ufs/ufshcd.h |  10 ++-
 2 files changed, 132 insertions(+), 94 deletions(-)

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation \
Collaborative Project.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic