• subhashj@codeaurora.org's avatar
    scsi: ufs: don't suspend clock scaling during clock gating · 401f1e44
    subhashj@codeaurora.org authored
    Currently we are suspending clock scaling during clock gating which doesn't
    allow us to have clock gating timeout lower than clock scaling polling
    window. If clock gating timeout is smaller than the clock scaling polling
    window then we will mostly suspend the clock scaling before clock scaling
    polling window expires and we might get stuck in same state (scaled down
    or scaled up) for quite a long time. And for this reason, we have clock
    gating timeout (150ms) greater than clock scaling polling window (100ms).
    
    We would like to have aggressive clock gating timeout even lower than the
    clock scaling polling window hence this change is decoupling the clock
    scaling suspend/resume from clock gate/ungate. We will not suspend the
    clock scaling as part of clock gating instead clock scaling context will
    schedule scaling suspend work if there are no more pending transfer
    requests.
    Signed-off-by: default avatarSubhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    401f1e44
ufshcd.c 212 KB