RE: [PATCH 2/4] scsi: ufs: Move a clock scaling check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> Move a check related to clock scaling into ufshcd_devfreq_scale(). This
> patch prepares for adding a second ufshcd_clock_scaling_prepare()
> caller.
A caller for ufshcd_clock_scaling_prepare() in which clk_scaling is not allowed ?

Thanks,
Avri

> 
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
> ---
>  drivers/scsi/ufs/ufshcd.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index a3fecbb403d3..3c83f4049031 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -1223,8 +1223,7 @@ static int ufshcd_clock_scaling_prepare(struct
> ufs_hba *hba)
>         ufshcd_scsi_block_requests(hba);
>         down_write(&hba->clk_scaling_lock);
> 
> -       if (!hba->clk_scaling.is_allowed ||
> -           ufshcd_wait_for_doorbell_clr(hba, DOORBELL_CLR_TOUT_US)) {
> +       if (ufshcd_wait_for_doorbell_clr(hba, DOORBELL_CLR_TOUT_US)) {
>                 ret = -EBUSY;
>                 up_write(&hba->clk_scaling_lock);
>                 ufshcd_scsi_unblock_requests(hba);
> @@ -1262,10 +1261,18 @@ static int ufshcd_devfreq_scale(struct ufs_hba
> *hba, bool scale_up)
>         int ret = 0;
>         bool is_writelock = true;
> 
> +       if (!hba->clk_scaling.is_allowed)
> +               return -EBUSY;
> +
>         ret = ufshcd_clock_scaling_prepare(hba);
>         if (ret)
>                 return ret;
> 
> +       if (!hba->clk_scaling.is_allowed) {
> +               ret = -EBUSY;
> +               goto out_unprepare;
> +       }
> +
>         /* scale down the gear before scaling down clocks */
>         if (!scale_up) {
>                 ret = ufshcd_scale_gear(hba, false);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux