clk_scaling 1080 drivers/scsi/ufs/ufshcd.c memcpy(&new_pwr_info, &hba->clk_scaling.saved_pwr_info.info, clk_scaling 1089 drivers/scsi/ufs/ufshcd.c memcpy(&hba->clk_scaling.saved_pwr_info.info, clk_scaling 1190 drivers/scsi/ufs/ufshcd.c clk_scaling.suspend_work); clk_scaling 1194 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.active_reqs || hba->clk_scaling.is_suspended) { clk_scaling 1198 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_suspended = true; clk_scaling 1207 drivers/scsi/ufs/ufshcd.c clk_scaling.resume_work); clk_scaling 1211 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.is_suspended) { clk_scaling 1215 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_suspended = false; clk_scaling 1241 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.active_reqs) clk_scaling 1267 drivers/scsi/ufs/ufshcd.c queue_work(hba->clk_scaling.workq, clk_scaling 1268 drivers/scsi/ufs/ufshcd.c &hba->clk_scaling.suspend_work); clk_scaling 1278 drivers/scsi/ufs/ufshcd.c struct ufs_clk_scaling *scaling = &hba->clk_scaling; clk_scaling 1373 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.window_start_t = 0; clk_scaling 1386 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.is_suspended) { clk_scaling 1388 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_suspended = true; clk_scaling 1405 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.is_suspended) { clk_scaling 1407 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_suspended = false; clk_scaling 1420 drivers/scsi/ufs/ufshcd.c return snprintf(buf, PAGE_SIZE, "%d\n", hba->clk_scaling.is_allowed); clk_scaling 1434 drivers/scsi/ufs/ufshcd.c if (value == hba->clk_scaling.is_allowed) clk_scaling 1440 drivers/scsi/ufs/ufshcd.c cancel_work_sync(&hba->clk_scaling.suspend_work); clk_scaling 1441 drivers/scsi/ufs/ufshcd.c cancel_work_sync(&hba->clk_scaling.resume_work); clk_scaling 1443 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_allowed = value; clk_scaling 1463 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.enable_attr.show = ufshcd_clkscale_enable_show; clk_scaling 1464 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.enable_attr.store = ufshcd_clkscale_enable_store; clk_scaling 1465 drivers/scsi/ufs/ufshcd.c sysfs_attr_init(&hba->clk_scaling.enable_attr.attr); clk_scaling 1466 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.enable_attr.attr.name = "clkscale_enable"; clk_scaling 1467 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.enable_attr.attr.mode = 0644; clk_scaling 1468 drivers/scsi/ufs/ufshcd.c if (device_create_file(hba->dev, &hba->clk_scaling.enable_attr)) clk_scaling 1765 drivers/scsi/ufs/ufshcd.c INIT_WORK(&hba->clk_scaling.suspend_work, clk_scaling 1767 drivers/scsi/ufs/ufshcd.c INIT_WORK(&hba->clk_scaling.resume_work, clk_scaling 1772 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.workq = create_singlethread_workqueue(wq_name); clk_scaling 1782 drivers/scsi/ufs/ufshcd.c destroy_workqueue(hba->clk_scaling.workq); clk_scaling 1840 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.active_reqs++) clk_scaling 1843 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.is_allowed || hba->pm_op_in_progress) clk_scaling 1847 drivers/scsi/ufs/ufshcd.c queue_work(hba->clk_scaling.workq, clk_scaling 1848 drivers/scsi/ufs/ufshcd.c &hba->clk_scaling.resume_work); clk_scaling 1850 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.window_start_t) { clk_scaling 1851 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.window_start_t = jiffies; clk_scaling 1852 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.tot_busy_t = 0; clk_scaling 1853 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_busy_started = false; clk_scaling 1856 drivers/scsi/ufs/ufshcd.c if (!hba->clk_scaling.is_busy_started) { clk_scaling 1857 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.busy_start_t = ktime_get(); clk_scaling 1858 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_busy_started = true; clk_scaling 1864 drivers/scsi/ufs/ufshcd.c struct ufs_clk_scaling *scaling = &hba->clk_scaling; clk_scaling 4857 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.active_reqs--; clk_scaling 6965 drivers/scsi/ufs/ufshcd.c memcpy(&hba->clk_scaling.saved_pwr_info.info, clk_scaling 6968 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.saved_pwr_info.is_valid = true; clk_scaling 6974 drivers/scsi/ufs/ufshcd.c hba->clk_scaling.is_allowed = true; clk_scaling 7778 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.is_allowed) { clk_scaling 7779 drivers/scsi/ufs/ufshcd.c cancel_work_sync(&hba->clk_scaling.suspend_work); clk_scaling 7780 drivers/scsi/ufs/ufshcd.c cancel_work_sync(&hba->clk_scaling.resume_work); clk_scaling 7859 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.is_allowed) clk_scaling 7870 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.is_allowed) clk_scaling 7956 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.is_allowed) clk_scaling 7975 drivers/scsi/ufs/ufshcd.c if (hba->clk_scaling.is_allowed) clk_scaling 8190 drivers/scsi/ufs/ufshcd.c device_remove_file(hba->dev, &hba->clk_scaling.enable_attr); clk_scaling 724 drivers/scsi/ufs/ufshcd.h struct ufs_clk_scaling clk_scaling;