Lines Matching refs:clk_scaling

1136 		memcpy(&new_pwr_info, &hba->clk_scaling.saved_pwr_info.info,  in ufshcd_scale_gear()
1142 if (hba->pwr_info.gear_tx > hba->clk_scaling.min_gear || in ufshcd_scale_gear()
1143 hba->pwr_info.gear_rx > hba->clk_scaling.min_gear) { in ufshcd_scale_gear()
1145 memcpy(&hba->clk_scaling.saved_pwr_info.info, in ufshcd_scale_gear()
1150 new_pwr_info.gear_tx = hba->clk_scaling.min_gear; in ufshcd_scale_gear()
1151 new_pwr_info.gear_rx = hba->clk_scaling.min_gear; in ufshcd_scale_gear()
1177 if (!hba->clk_scaling.is_allowed || in ufshcd_clock_scaling_prepare()
1256 clk_scaling.suspend_work); in ufshcd_clk_scaling_suspend_work()
1260 if (hba->clk_scaling.active_reqs || hba->clk_scaling.is_suspended) { in ufshcd_clk_scaling_suspend_work()
1264 hba->clk_scaling.is_suspended = true; in ufshcd_clk_scaling_suspend_work()
1273 clk_scaling.resume_work); in ufshcd_clk_scaling_resume_work()
1277 if (!hba->clk_scaling.is_suspended) { in ufshcd_clk_scaling_resume_work()
1281 hba->clk_scaling.is_suspended = false; in ufshcd_clk_scaling_resume_work()
1312 if (!hba->clk_scaling.active_reqs) in ufshcd_devfreq_target()
1344 queue_work(hba->clk_scaling.workq, in ufshcd_devfreq_target()
1345 &hba->clk_scaling.suspend_work); in ufshcd_devfreq_target()
1373 struct ufs_clk_scaling *scaling = &hba->clk_scaling; in ufshcd_devfreq_get_dev_status()
1474 hba->clk_scaling.window_start_t = 0; in __ufshcd_suspend_clkscaling()
1483 cancel_work_sync(&hba->clk_scaling.suspend_work); in ufshcd_suspend_clkscaling()
1484 cancel_work_sync(&hba->clk_scaling.resume_work); in ufshcd_suspend_clkscaling()
1487 if (!hba->clk_scaling.is_suspended) { in ufshcd_suspend_clkscaling()
1489 hba->clk_scaling.is_suspended = true; in ufshcd_suspend_clkscaling()
1503 if (hba->clk_scaling.is_suspended) { in ufshcd_resume_clkscaling()
1505 hba->clk_scaling.is_suspended = false; in ufshcd_resume_clkscaling()
1518 return snprintf(buf, PAGE_SIZE, "%d\n", hba->clk_scaling.is_enabled); in ufshcd_clkscale_enable_show()
1538 if (value == hba->clk_scaling.is_enabled) in ufshcd_clkscale_enable_store()
1544 hba->clk_scaling.is_enabled = value; in ufshcd_clkscale_enable_store()
1565 hba->clk_scaling.enable_attr.show = ufshcd_clkscale_enable_show; in ufshcd_init_clk_scaling_sysfs()
1566 hba->clk_scaling.enable_attr.store = ufshcd_clkscale_enable_store; in ufshcd_init_clk_scaling_sysfs()
1567 sysfs_attr_init(&hba->clk_scaling.enable_attr.attr); in ufshcd_init_clk_scaling_sysfs()
1568 hba->clk_scaling.enable_attr.attr.name = "clkscale_enable"; in ufshcd_init_clk_scaling_sysfs()
1569 hba->clk_scaling.enable_attr.attr.mode = 0644; in ufshcd_init_clk_scaling_sysfs()
1570 if (device_create_file(hba->dev, &hba->clk_scaling.enable_attr)) in ufshcd_init_clk_scaling_sysfs()
1576 if (hba->clk_scaling.enable_attr.attr.name) in ufshcd_remove_clk_scaling_sysfs()
1577 device_remove_file(hba->dev, &hba->clk_scaling.enable_attr); in ufshcd_remove_clk_scaling_sysfs()
1587 if (!hba->clk_scaling.min_gear) in ufshcd_init_clk_scaling()
1588 hba->clk_scaling.min_gear = UFS_HS_G1; in ufshcd_init_clk_scaling()
1590 INIT_WORK(&hba->clk_scaling.suspend_work, in ufshcd_init_clk_scaling()
1592 INIT_WORK(&hba->clk_scaling.resume_work, in ufshcd_init_clk_scaling()
1597 hba->clk_scaling.workq = create_singlethread_workqueue(wq_name); in ufshcd_init_clk_scaling()
1599 hba->clk_scaling.is_initialized = true; in ufshcd_init_clk_scaling()
1604 if (!hba->clk_scaling.is_initialized) in ufshcd_exit_clk_scaling()
1608 destroy_workqueue(hba->clk_scaling.workq); in ufshcd_exit_clk_scaling()
1610 hba->clk_scaling.is_initialized = false; in ufshcd_exit_clk_scaling()
1977 if (!hba->clk_scaling.active_reqs++) in ufshcd_clk_scaling_start_busy()
1980 if (!hba->clk_scaling.is_enabled || hba->pm_op_in_progress) { in ufshcd_clk_scaling_start_busy()
1986 queue_work(hba->clk_scaling.workq, in ufshcd_clk_scaling_start_busy()
1987 &hba->clk_scaling.resume_work); in ufshcd_clk_scaling_start_busy()
1989 if (!hba->clk_scaling.window_start_t) { in ufshcd_clk_scaling_start_busy()
1990 hba->clk_scaling.window_start_t = curr_t; in ufshcd_clk_scaling_start_busy()
1991 hba->clk_scaling.tot_busy_t = 0; in ufshcd_clk_scaling_start_busy()
1992 hba->clk_scaling.is_busy_started = false; in ufshcd_clk_scaling_start_busy()
1995 if (!hba->clk_scaling.is_busy_started) { in ufshcd_clk_scaling_start_busy()
1996 hba->clk_scaling.busy_start_t = curr_t; in ufshcd_clk_scaling_start_busy()
1997 hba->clk_scaling.is_busy_started = true; in ufshcd_clk_scaling_start_busy()
2004 struct ufs_clk_scaling *scaling = &hba->clk_scaling; in ufshcd_clk_scaling_update_busy()
2011 hba->clk_scaling.active_reqs--; in ufshcd_clk_scaling_update_busy()
5879 hba->clk_scaling.is_allowed = allow; in ufshcd_clk_scaling_allow()
5886 if (hba->clk_scaling.is_enabled) in ufshcd_clk_scaling_suspend()
5891 if (hba->clk_scaling.is_enabled) in ufshcd_clk_scaling_suspend()
5921 hba->clk_scaling.is_enabled) in ufshcd_err_handling_prepare()
7847 memcpy(&hba->clk_scaling.saved_pwr_info.info, in ufshcd_add_lus()
7850 hba->clk_scaling.saved_pwr_info.is_valid = true; in ufshcd_add_lus()
7851 hba->clk_scaling.is_allowed = true; in ufshcd_add_lus()
7857 hba->clk_scaling.is_enabled = true; in ufshcd_add_lus()