Lines Matching refs:hba

89 	struct ufs_hba *hba = dev_get_drvdata(dev);
90 struct ufs_dev_info *dev_info = &hba->dev_info;
100 (!(hba->caps & UFSHCD_CAP_DEEPSLEEP) ||
104 spin_lock_irqsave(hba->host->host_lock, flags);
106 hba->rpm_lvl = value;
108 hba->spm_lvl = value;
109 spin_unlock_irqrestore(hba->host->host_lock, flags);
116 struct ufs_hba *hba = dev_get_drvdata(dev);
118 return sysfs_emit(buf, "%d\n", hba->rpm_lvl);
130 struct ufs_hba *hba = dev_get_drvdata(dev);
133 ufs_pm_lvl_states[hba->rpm_lvl].dev_state));
139 struct ufs_hba *hba = dev_get_drvdata(dev);
142 ufs_pm_lvl_states[hba->rpm_lvl].link_state));
148 struct ufs_hba *hba = dev_get_drvdata(dev);
150 return sysfs_emit(buf, "%d\n", hba->spm_lvl);
162 struct ufs_hba *hba = dev_get_drvdata(dev);
165 ufs_pm_lvl_states[hba->spm_lvl].dev_state));
171 struct ufs_hba *hba = dev_get_drvdata(dev);
174 ufs_pm_lvl_states[hba->spm_lvl].link_state));
206 struct ufs_hba *hba = dev_get_drvdata(dev);
208 if (!ufshcd_is_auto_hibern8_supported(hba))
211 down(&hba->host_sem);
212 if (!ufshcd_is_user_access_allowed(hba)) {
217 pm_runtime_get_sync(hba->dev);
218 ufshcd_hold(hba);
219 ahit = ufshcd_readl(hba, REG_AUTO_HIBERNATE_IDLE_TIMER);
220 ufshcd_release(hba);
221 pm_runtime_put_sync(hba->dev);
226 up(&hba->host_sem);
234 struct ufs_hba *hba = dev_get_drvdata(dev);
238 if (!ufshcd_is_auto_hibern8_supported(hba))
247 down(&hba->host_sem);
248 if (!ufshcd_is_user_access_allowed(hba)) {
253 ufshcd_auto_hibern8_update(hba, ufshcd_us_to_ahit(timer));
256 up(&hba->host_sem);
263 struct ufs_hba *hba = dev_get_drvdata(dev);
265 return sysfs_emit(buf, "%d\n", hba->dev_info.wb_enabled);
271 struct ufs_hba *hba = dev_get_drvdata(dev);
275 if (!ufshcd_is_wb_allowed(hba) || (ufshcd_is_clkscaling_supported(hba)
276 && ufshcd_enable_wb_if_scaling_up(hba))) {
291 down(&hba->host_sem);
292 if (!ufshcd_is_user_access_allowed(hba)) {
297 ufshcd_rpm_get_sync(hba);
298 res = ufshcd_wb_toggle(hba, wb_enable);
299 ufshcd_rpm_put_sync(hba);
301 up(&hba->host_sem);
308 struct ufs_hba *hba = dev_get_drvdata(dev);
310 return sysfs_emit(buf, "%d\n", hba->dev_info.rtc_update_period);
316 struct ufs_hba *hba = dev_get_drvdata(dev);
323 if (!hba->dev_info.rtc_update_period && ms > 0)
326 hba->dev_info.rtc_update_period = ms;
329 schedule_delayed_work(&hba->ufs_rtc_update_work,
330 msecs_to_jiffies(hba->dev_info.rtc_update_period));
338 struct ufs_hba *hba = dev_get_drvdata(dev);
340 return sysfs_emit(buf, "%d\n", hba->dev_info.wb_buf_flush_enabled);
347 struct ufs_hba *hba = dev_get_drvdata(dev);
351 if (!ufshcd_is_wb_buf_flush_allowed(hba)) {
362 down(&hba->host_sem);
363 if (!ufshcd_is_user_access_allowed(hba)) {
368 ufshcd_rpm_get_sync(hba);
369 res = ufshcd_wb_toggle_buf_flush(hba, enable_wb_buf_flush);
370 ufshcd_rpm_put_sync(hba);
373 up(&hba->host_sem);
381 struct ufs_hba *hba = dev_get_drvdata(dev);
383 return sysfs_emit(buf, "%u\n", hba->vps->wb_flush_threshold);
390 struct ufs_hba *hba = dev_get_drvdata(dev);
403 hba->vps->wb_flush_threshold = wb_flush_threshold;
421 struct ufs_hba *hba = dev_get_drvdata(dev);
423 return sysfs_emit(buf, "%d\n", hba->pm_qos_enabled);
441 struct ufs_hba *hba = dev_get_drvdata(dev);
448 ufshcd_pm_qos_init(hba);
450 ufshcd_pm_qos_exit(hba);
491 struct ufs_hba *hba = dev_get_drvdata(dev);
493 return sysfs_emit(buf, "%d\n", ufshcd_is_clkscaling_supported(hba));
499 struct ufs_hba *hba = dev_get_drvdata(dev);
501 return sysfs_emit(buf, "%d\n", ufshcd_is_wb_allowed(hba));
525 struct ufs_hba *hba = dev_get_drvdata(dev);
527 return sysfs_emit(buf, "%d\n", hba->monitor.enabled);
534 struct ufs_hba *hba = dev_get_drvdata(dev);
541 spin_lock_irqsave(hba->host->host_lock, flags);
542 if (value == hba->monitor.enabled)
546 memset(&hba->monitor, 0, sizeof(hba->monitor));
548 hba->monitor.enabled = true;
549 hba->monitor.enabled_ts = ktime_get();
553 spin_unlock_irqrestore(hba->host->host_lock, flags);
560 struct ufs_hba *hba = dev_get_drvdata(dev);
562 return sysfs_emit(buf, "%lu\n", hba->monitor.chunk_size);
569 struct ufs_hba *hba = dev_get_drvdata(dev);
575 spin_lock_irqsave(hba->host->host_lock, flags);
577 if (!hba->monitor.enabled)
578 hba->monitor.chunk_size = value;
579 spin_unlock_irqrestore(hba->host->host_lock, flags);
586 struct ufs_hba *hba = dev_get_drvdata(dev);
588 return sysfs_emit(buf, "%lu\n", hba->monitor.nr_sec_rw[READ]);
594 struct ufs_hba *hba = dev_get_drvdata(dev);
597 ktime_to_us(hba->monitor.total_busy[READ]));
603 struct ufs_hba *hba = dev_get_drvdata(dev);
605 return sysfs_emit(buf, "%lu\n", hba->monitor.nr_req[READ]);
612 struct ufs_hba *hba = dev_get_drvdata(dev);
613 struct ufs_hba_monitor *m = &hba->monitor;
623 struct ufs_hba *hba = dev_get_drvdata(dev);
626 ktime_to_us(hba->monitor.lat_max[READ]));
633 struct ufs_hba *hba = dev_get_drvdata(dev);
636 ktime_to_us(hba->monitor.lat_min[READ]));
643 struct ufs_hba *hba = dev_get_drvdata(dev);
646 ktime_to_us(hba->monitor.lat_sum[READ]));
653 struct ufs_hba *hba = dev_get_drvdata(dev);
655 return sysfs_emit(buf, "%lu\n", hba->monitor.nr_sec_rw[WRITE]);
661 struct ufs_hba *hba = dev_get_drvdata(dev);
664 ktime_to_us(hba->monitor.total_busy[WRITE]));
670 struct ufs_hba *hba = dev_get_drvdata(dev);
672 return sysfs_emit(buf, "%lu\n", hba->monitor.nr_req[WRITE]);
679 struct ufs_hba *hba = dev_get_drvdata(dev);
680 struct ufs_hba_monitor *m = &hba->monitor;
690 struct ufs_hba *hba = dev_get_drvdata(dev);
693 ktime_to_us(hba->monitor.lat_max[WRITE]));
700 struct ufs_hba *hba = dev_get_drvdata(dev);
703 ktime_to_us(hba->monitor.lat_min[WRITE]));
710 struct ufs_hba *hba = dev_get_drvdata(dev);
713 ktime_to_us(hba->monitor.lat_sum[WRITE]));
761 struct ufs_hba *hba = dev_get_drvdata(dev);
763 return sysfs_emit(buf, "%u\n", hba->pwr_info.lane_rx);
769 struct ufs_hba *hba = dev_get_drvdata(dev);
771 return sysfs_emit(buf, "%s\n", ufs_pa_pwr_mode_to_string(hba->pwr_info.pwr_rx));
777 struct ufs_hba *hba = dev_get_drvdata(dev);
779 return sysfs_emit(buf, "%s\n", ufs_hs_gear_rate_to_string(hba->pwr_info.hs_rate));
785 struct ufs_hba *hba = dev_get_drvdata(dev);
787 return sysfs_emit(buf, "%s\n", hba->pwr_info.hs_rate ?
788 ufs_hs_gear_to_string(hba->pwr_info.gear_rx) :
789 ufs_pwm_gear_to_string(hba->pwr_info.gear_rx));
795 struct ufs_hba *hba = dev_get_drvdata(dev);
797 return sysfs_emit(buf, "%s\n", ufshcd_ufs_dev_pwr_mode_to_string(hba->curr_dev_pwr_mode));
803 struct ufs_hba *hba = dev_get_drvdata(dev);
805 return sysfs_emit(buf, "%s\n", ufshcd_uic_link_state_to_string(hba->uic_link_state));
830 static ssize_t ufs_sysfs_read_desc_param(struct ufs_hba *hba,
843 down(&hba->host_sem);
844 if (!ufshcd_is_user_access_allowed(hba)) {
849 ufshcd_rpm_get_sync(hba);
850 ret = ufshcd_read_desc_param(hba, desc_id, desc_index,
852 ufshcd_rpm_put_sync(hba);
877 up(&hba->host_sem);
885 struct ufs_hba *hba = dev_get_drvdata(dev); \
886 return ufs_sysfs_read_desc_param(hba, QUERY_DESC_IDN_##_duname, \
1098 struct ufs_hba *hba = dev_get_drvdata(dev); \
1099 return ufs_sysfs_read_desc_param(hba, QUERY_DESC_IDN_POWER, 0, \
1215 struct ufs_hba *hba = dev_get_drvdata(dev); \
1220 down(&hba->host_sem); \
1221 if (!ufshcd_is_user_access_allowed(hba)) { \
1222 up(&hba->host_sem); \
1227 up(&hba->host_sem); \
1230 ufshcd_rpm_get_sync(hba); \
1231 ret = ufshcd_query_descriptor_retry(hba, \
1241 ret = ufshcd_read_string_desc(hba, index, &desc_buf, \
1247 ufshcd_rpm_put_sync(hba); \
1249 up(&hba->host_sem); \
1287 struct ufs_hba *hba = dev_get_drvdata(dev); \
1289 down(&hba->host_sem); \
1290 if (!ufshcd_is_user_access_allowed(hba)) { \
1291 up(&hba->host_sem); \
1295 index = ufshcd_wb_get_query_index(hba); \
1296 ufshcd_rpm_get_sync(hba); \
1297 ret = ufshcd_query_flag(hba, UPIU_QUERY_OPCODE_READ_FLAG, \
1299 ufshcd_rpm_put_sync(hba); \
1306 up(&hba->host_sem); \
1353 struct ufs_hba *hba = dev_get_drvdata(dev); \
1358 down(&hba->host_sem); \
1359 if (!ufshcd_is_user_access_allowed(hba)) { \
1360 up(&hba->host_sem); \
1364 index = ufshcd_wb_get_query_index(hba); \
1365 ufshcd_rpm_get_sync(hba); \
1366 ret = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, \
1368 ufshcd_rpm_put_sync(hba); \
1375 up(&hba->host_sem); \
1452 struct ufs_hba *hba = shost_priv(sdev->host); \
1454 if (!ufs_is_valid_unit_desc_lun(&hba->dev_info, lun)) \
1456 return ufs_sysfs_read_desc_param(hba, QUERY_DESC_IDN_##_duname, \
1527 struct ufs_hba *hba = shost_priv(sdev->host);
1531 down(&hba->host_sem);
1532 if (!ufshcd_is_user_access_allowed(hba)) {
1537 ufshcd_rpm_get_sync(hba);
1538 ret = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR,
1540 ufshcd_rpm_put_sync(hba);
1549 up(&hba->host_sem);