[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