On Wed, Mar 25, 2020 at 12:29 PM Asutosh Das <asutoshd@xxxxxxxxxxxxxx> wrote: > > Currently, the frequency that devfreq provides the > driver to set always leads the clocks to be scaled up. > Hence, round the clock-rate to the nearest frequency > before deciding to scale. > > Also update the devfreq statistics of current frequency. > > Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx> This change appears to cause issues for the Lenovo Miix 630, as identified by git bisect. On 5.6-final, My boot log looks normal. On 5.7-rc7, the Lenovo Miix 630 rarely boots, usually stuck in some kind of infinite printk loop. If I disable some of the UFS logging, I can capture this from the logs, as soon as UFS inits - [ 4.353860] ufshcd-qcom 1da4000.ufshc: ufshcd_intr: Unhandled interrupt 0x00000000 [ 4.359605] ufshcd-qcom 1da4000.ufshc: ufshcd_intr: Unhandled interrupt 0x00000000 [ 4.365412] ufshcd-qcom 1da4000.ufshc: ufshcd_check_errors: saved_err 0x4 saved_uic_err 0x2 [ 4.371121] ufshcd-qcom 1da4000.ufshc: hba->ufs_version = 0x210, hba->capabilities = 0x1587001f [ 4.376846] ufshcd-qcom 1da4000.ufshc: hba->outstanding_reqs = 0x100000, hba->outstanding_tasks = 0x0 [ 4.382636] ufshcd-qcom 1da4000.ufshc: last_hibern8_exit_tstamp at 0 us, hibern8_exit_cnt = 0 [ 4.388368] ufshcd-qcom 1da4000.ufshc: No record of pa_err [ 4.394001] ufshcd-qcom 1da4000.ufshc: dl_err[0] = 0x80000001 at 3873626 us [ 4.399577] ufshcd-qcom 1da4000.ufshc: No record of nl_err [ 4.405053] ufshcd-qcom 1da4000.ufshc: No record of tl_err [ 4.410464] ufshcd-qcom 1da4000.ufshc: No record of dme_err [ 4.415747] ufshcd-qcom 1da4000.ufshc: No record of auto_hibern8_err [ 4.420950] ufshcd-qcom 1da4000.ufshc: No record of fatal_err [ 4.426013] ufshcd-qcom 1da4000.ufshc: No record of link_startup_fail [ 4.430950] ufshcd-qcom 1da4000.ufshc: No record of resume_fail [ 4.435786] ufshcd-qcom 1da4000.ufshc: No record of suspend_fail [ 4.440538] ufshcd-qcom 1da4000.ufshc: dev_reset[0] = 0x0 at 3031009 us [ 4.445199] ufshcd-qcom 1da4000.ufshc: No record of host_reset [ 4.449750] ufshcd-qcom 1da4000.ufshc: No record of task_abort [ 4.454214] ufshcd-qcom 1da4000.ufshc: clk: core_clk, rate: 50000000 [ 4.458590] ufshcd-qcom 1da4000.ufshc: clk: core_clk_unipro, rate: 37500000 I don't understand how this change is breaking things, but it clearly is for me. What kind of additional data would be useful to get to the bottom of this?