Lines Matching refs:ufs_hba
97 int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len,
222 static irqreturn_t ufshcd_tmc_handler(struct ufs_hba *hba);
224 static int ufshcd_reset_and_restore(struct ufs_hba *hba);
226 static int ufshcd_clear_tm_cmd(struct ufs_hba *hba, int tag);
227 static void ufshcd_hba_exit(struct ufs_hba *hba);
228 static int ufshcd_probe_hba(struct ufs_hba *hba, bool async);
229 static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on);
230 static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba);
231 static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba);
232 static int ufshcd_host_reset_and_restore(struct ufs_hba *hba);
233 static void ufshcd_resume_clkscaling(struct ufs_hba *hba);
234 static void ufshcd_suspend_clkscaling(struct ufs_hba *hba);
235 static void __ufshcd_suspend_clkscaling(struct ufs_hba *hba);
236 static int ufshcd_scale_clks(struct ufs_hba *hba, bool scale_up);
238 static int ufshcd_change_power_mode(struct ufs_hba *hba,
240 static void ufshcd_schedule_eh_work(struct ufs_hba *hba);
241 static int ufshcd_setup_hba_vreg(struct ufs_hba *hba, bool on);
242 static int ufshcd_setup_vreg(struct ufs_hba *hba, bool on);
243 static inline int ufshcd_config_vreg_hpm(struct ufs_hba *hba,
245 static int ufshcd_try_to_abort_task(struct ufs_hba *hba, int tag);
246 static int ufshcd_wb_buf_flush_enable(struct ufs_hba *hba);
247 static int ufshcd_wb_buf_flush_disable(struct ufs_hba *hba);
248 static int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable);
249 static int ufshcd_wb_toggle_flush_during_h8(struct ufs_hba *hba, bool set);
250 static inline void ufshcd_wb_toggle_flush(struct ufs_hba *hba, bool enable);
252 static inline bool ufshcd_valid_tag(struct ufs_hba *hba, int tag)
257 static inline void ufshcd_enable_irq(struct ufs_hba *hba)
265 static inline void ufshcd_disable_irq(struct ufs_hba *hba)
273 static inline void ufshcd_wb_config(struct ufs_hba *hba)
293 static void ufshcd_scsi_unblock_requests(struct ufs_hba *hba)
299 static void ufshcd_scsi_block_requests(struct ufs_hba *hba)
305 static void ufshcd_add_cmd_upiu_trace(struct ufs_hba *hba, unsigned int tag,
313 static void ufshcd_add_query_upiu_trace(struct ufs_hba *hba, unsigned int tag,
321 static void ufshcd_add_tm_upiu_trace(struct ufs_hba *hba, unsigned int tag,
330 static void ufshcd_add_uic_command_trace(struct ufs_hba *hba,
350 static void ufshcd_add_command_trace(struct ufs_hba *hba,
389 static void ufshcd_print_clk_freqs(struct ufs_hba *hba)
405 static void ufshcd_print_err_hist(struct ufs_hba *hba,
426 static void ufshcd_print_host_regs(struct ufs_hba *hba)
451 void ufshcd_print_trs(struct ufs_hba *hba, unsigned long bitmap, bool pr_prdt)
495 static void ufshcd_print_tmrs(struct ufs_hba *hba, unsigned long bitmap)
507 static void ufshcd_print_host_state(struct ufs_hba *hba)
548 static void ufshcd_print_pwr_info(struct ufs_hba *hba)
593 int ufshcd_wait_for_register(struct ufs_hba *hba, u32 reg, u32 mask,
621 static inline u32 ufshcd_get_intr_mask(struct ufs_hba *hba)
648 static inline u32 ufshcd_get_ufs_version(struct ufs_hba *hba)
663 static inline bool ufshcd_is_device_present(struct ufs_hba *hba)
686 static inline void ufshcd_utrl_clear(struct ufs_hba *hba, u32 pos)
700 static inline void ufshcd_utmrl_clear(struct ufs_hba *hba, u32 pos)
713 static inline void ufshcd_outstanding_req_clear(struct ufs_hba *hba, int tag)
736 static inline int ufshcd_get_uic_cmd_result(struct ufs_hba *hba)
749 static inline u32 ufshcd_get_dme_attr_val(struct ufs_hba *hba)
811 ufshcd_reset_intr_aggr(struct ufs_hba *hba)
825 ufshcd_config_intr_aggr(struct ufs_hba *hba, u8 cnt, u8 tmout)
837 static inline void ufshcd_disable_intr_aggr(struct ufs_hba *hba)
848 static void ufshcd_enable_run_stop_reg(struct ufs_hba *hba)
860 static inline void ufshcd_hba_start(struct ufs_hba *hba)
876 static inline bool ufshcd_is_hba_active(struct ufs_hba *hba)
882 u32 ufshcd_get_local_unipro_ver(struct ufs_hba *hba)
893 static bool ufshcd_is_unipro_pa_params_tuning_req(struct ufs_hba *hba)
918 static int ufshcd_set_clk_freq(struct ufs_hba *hba, bool scale_up)
981 static int ufshcd_scale_clks(struct ufs_hba *hba, bool scale_up)
1012 static bool ufshcd_is_devfreq_scaling_required(struct ufs_hba *hba,
1038 static int ufshcd_wait_for_doorbell_clr(struct ufs_hba *hba,
1106 static int ufshcd_scale_gear(struct ufs_hba *hba, bool scale_up)
1143 static int ufshcd_clock_scaling_prepare(struct ufs_hba *hba)
1162 static void ufshcd_clock_scaling_unprepare(struct ufs_hba *hba)
1177 static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up)
1225 struct ufs_hba *hba = container_of(work, struct ufs_hba,
1242 struct ufs_hba *hba = container_of(work, struct ufs_hba,
1261 struct ufs_hba *hba = dev_get_drvdata(dev);
1332 static bool ufshcd_any_tag_in_use(struct ufs_hba *hba)
1344 struct ufs_hba *hba = dev_get_drvdata(dev);
1389 static int ufshcd_devfreq_init(struct ufs_hba *hba)
1424 static void ufshcd_devfreq_remove(struct ufs_hba *hba)
1440 static void __ufshcd_suspend_clkscaling(struct ufs_hba *hba)
1450 static void ufshcd_suspend_clkscaling(struct ufs_hba *hba)
1469 static void ufshcd_resume_clkscaling(struct ufs_hba *hba)
1491 struct ufs_hba *hba = dev_get_drvdata(dev);
1499 struct ufs_hba *hba = dev_get_drvdata(dev);
1534 static void ufshcd_clkscaling_init_sysfs(struct ufs_hba *hba)
1549 struct ufs_hba *hba = container_of(work, struct ufs_hba,
1589 int ufshcd_hold(struct ufs_hba *hba, bool async)
1676 struct ufs_hba *hba = container_of(work, struct ufs_hba,
1744 static void __ufshcd_release(struct ufs_hba *hba)
1765 void ufshcd_release(struct ufs_hba *hba)
1778 struct ufs_hba *hba = dev_get_drvdata(dev);
1786 struct ufs_hba *hba = dev_get_drvdata(dev);
1801 struct ufs_hba *hba = dev_get_drvdata(dev);
1809 struct ufs_hba *hba = dev_get_drvdata(dev);
1833 static void ufshcd_init_clk_scaling(struct ufs_hba *hba)
1852 static void ufshcd_exit_clk_scaling(struct ufs_hba *hba)
1861 static void ufshcd_init_clk_gating(struct ufs_hba *hba)
1898 static void ufshcd_exit_clk_gating(struct ufs_hba *hba)
1910 static void ufshcd_clk_scaling_start_busy(struct ufs_hba *hba)
1940 static void ufshcd_clk_scaling_update_busy(struct ufs_hba *hba)
1960 void ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag)
2001 int ufshcd_copy_query_response(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
2039 static inline int ufshcd_hba_capabilities(struct ufs_hba *hba)
2064 static inline bool ufshcd_ready_for_uic_cmd(struct ufs_hba *hba)
2079 static inline u8 ufshcd_get_upmcrs(struct ufs_hba *hba)
2092 ufshcd_dispatch_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
2119 ufshcd_wait_for_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
2158 __ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd,
2183 int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
2211 static int ufshcd_map_sg(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
2257 static void ufshcd_enable_intr(struct ufs_hba *hba, u32 intrs)
2277 static void ufshcd_disable_intr(struct ufs_hba *hba, u32 intrs)
2383 static void ufshcd_prepare_utp_query_req_upiu(struct ufs_hba *hba,
2438 static int ufshcd_compose_devman_upiu(struct ufs_hba *hba,
2467 static int ufshcd_comp_scsi_upiu(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
2500 static void ufshcd_init_lrb(struct ufs_hba *hba, struct ufshcd_lrb *lrb, int i)
2531 struct ufs_hba *hba;
2634 static int ufshcd_compose_dev_cmd(struct ufs_hba *hba,
2650 ufshcd_clear_cmd(struct ufs_hba *hba, int tag)
2673 ufshcd_check_query_response(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
2689 ufshcd_dev_cmd_completion(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
2726 static int ufshcd_wait_for_dev_cmd(struct ufs_hba *hba,
2774 static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,
2841 static inline void ufshcd_init_query(struct ufs_hba *hba,
2855 static int ufshcd_query_flag_retry(struct ufs_hba *hba,
2888 int ufshcd_query_flag(struct ufs_hba *hba, enum query_opcode opcode,
2957 int ufshcd_query_attr(struct ufs_hba *hba, enum query_opcode opcode,
3023 static int ufshcd_query_attr_retry(struct ufs_hba *hba,
3047 static int __ufshcd_query_descriptor(struct ufs_hba *hba,
3125 int ufshcd_query_descriptor_retry(struct ufs_hba *hba,
3150 void ufshcd_map_desc_id_to_length(struct ufs_hba *hba, enum desc_idn desc_id,
3161 static void ufshcd_update_desc_length(struct ufs_hba *hba,
3186 int ufshcd_read_desc_param(struct ufs_hba *hba,
3295 int ufshcd_read_string_desc(struct ufs_hba *hba, u8 desc_index,
3374 static inline int ufshcd_read_unit_desc_param(struct ufs_hba *hba,
3391 static int ufshcd_get_ref_clk_gating_wait(struct ufs_hba *hba)
3429 static int ufshcd_memory_alloc(struct ufs_hba *hba)
3511 static void ufshcd_host_memory_configure(struct ufs_hba *hba)
3572 static int ufshcd_dme_link_startup(struct ufs_hba *hba)
3594 static int ufshcd_dme_reset(struct ufs_hba *hba)
3617 static int ufshcd_dme_enable(struct ufs_hba *hba)
3632 static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba)
3673 int ufshcd_dme_set_attr(struct ufs_hba *hba, u32 attr_sel,
3717 int ufshcd_dme_get_attr(struct ufs_hba *hba, u32 attr_sel,
3798 static int ufshcd_uic_pwr_ctrl(struct ufs_hba *hba, struct uic_command *cmd)
3889 static int ufshcd_uic_change_pwr_mode(struct ufs_hba *hba, u8 mode)
3915 int ufshcd_link_recovery(struct ufs_hba *hba)
3944 static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
3967 int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)
3994 void ufshcd_auto_hibern8_update(struct ufs_hba *hba, u32 ahit)
4019 void ufshcd_auto_hibern8_enable(struct ufs_hba *hba)
4036 static void ufshcd_init_pwr_info(struct ufs_hba *hba)
4051 static int ufshcd_get_max_pwr_mode(struct ufs_hba *hba)
4110 static int ufshcd_change_power_mode(struct ufs_hba *hba,
4203 int ufshcd_config_pwr_mode(struct ufs_hba *hba,
4227 static int ufshcd_complete_dev_init(struct ufs_hba *hba)
4278 int ufshcd_make_hba_operational(struct ufs_hba *hba)
4328 static inline void ufshcd_hba_stop(struct ufs_hba *hba)
4358 static int ufshcd_hba_execute_hce(struct ufs_hba *hba)
4407 int ufshcd_hba_enable(struct ufs_hba *hba)
4434 static int ufshcd_disable_tx_lcc(struct ufs_hba *hba, bool peer)
4465 static inline int ufshcd_disable_device_tx_lcc(struct ufs_hba *hba)
4485 static int ufshcd_link_startup(struct ufs_hba *hba)
4576 static int ufshcd_verify_dev_init(struct ufs_hba *hba)
4613 struct ufs_hba *hba;
4649 static int ufshcd_get_lu_wp(struct ufs_hba *hba,
4680 static inline void ufshcd_get_lu_power_on_wp_status(struct ufs_hba *hba,
4702 struct ufs_hba *hba;
4737 struct ufs_hba *hba = shost_priv(sdev->host);
4750 struct ufs_hba *hba = shost_priv(sdev->host);
4771 struct ufs_hba *hba;
4827 ufshcd_transfer_rsp_status(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
4938 static irqreturn_t ufshcd_uic_cmd_compl(struct ufs_hba *hba, u32 intr_status)
4970 static void __ufshcd_transfer_req_compl(struct ufs_hba *hba,
5018 static irqreturn_t ufshcd_transfer_req_compl(struct ufs_hba *hba)
5055 static int ufshcd_disable_ee(struct ufs_hba *hba, u16 mask)
5083 static int ufshcd_enable_ee(struct ufs_hba *hba, u16 mask)
5112 static int ufshcd_enable_auto_bkops(struct ufs_hba *hba)
5151 static int ufshcd_disable_auto_bkops(struct ufs_hba *hba)
5194 static void ufshcd_force_reset_auto_bkops(struct ufs_hba *hba)
5209 static inline int ufshcd_get_bkops_status(struct ufs_hba *hba, u32 *status)
5231 static int ufshcd_bkops_ctrl(struct ufs_hba *hba,
5267 static int ufshcd_urgent_bkops(struct ufs_hba *hba)
5272 static inline int ufshcd_get_ee_status(struct ufs_hba *hba, u32 *status)
5278 static void ufshcd_bkops_exception_event_handler(struct ufs_hba *hba)
5315 static int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable)
5347 static int ufshcd_wb_toggle_flush_during_h8(struct ufs_hba *hba, bool set)
5363 static inline void ufshcd_wb_toggle_flush(struct ufs_hba *hba, bool enable)
5372 static int ufshcd_wb_buf_flush_enable(struct ufs_hba *hba)
5394 static int ufshcd_wb_buf_flush_disable(struct ufs_hba *hba)
5417 static bool ufshcd_wb_presrv_usrspc_keep_vcc_on(struct ufs_hba *hba,
5446 static bool ufshcd_wb_need_flush(struct ufs_hba *hba)
5486 struct ufs_hba *hba = container_of(to_delayed_work(work),
5487 struct ufs_hba,
5508 struct ufs_hba *hba;
5511 hba = container_of(work, struct ufs_hba, eeh_work);
5541 static void ufshcd_complete_requests(struct ufs_hba *hba)
5554 static bool ufshcd_quirk_dl_nac_errors(struct ufs_hba *hba)
5619 static inline bool ufshcd_is_saved_err_fatal(struct ufs_hba *hba)
5626 static inline void ufshcd_schedule_eh_work(struct ufs_hba *hba)
5639 static void ufshcd_err_handling_prepare(struct ufs_hba *hba)
5668 static void ufshcd_err_handling_unprepare(struct ufs_hba *hba)
5676 static inline bool ufshcd_err_handling_should_stop(struct ufs_hba *hba)
5684 static void ufshcd_recover_pm_error(struct ufs_hba *hba)
5712 static inline void ufshcd_recover_pm_error(struct ufs_hba *hba)
5717 static bool ufshcd_is_pwr_mode_restore_needed(struct ufs_hba *hba)
5739 struct ufs_hba *hba;
5747 hba = container_of(work, struct ufs_hba, eh_work);
5937 static irqreturn_t ufshcd_update_uic_error(struct ufs_hba *hba)
6021 static bool ufshcd_is_auto_hibern8_error(struct ufs_hba *hba,
6047 static irqreturn_t ufshcd_check_errors(struct ufs_hba *hba)
6115 static irqreturn_t ufshcd_tmc_handler(struct ufs_hba *hba)
6144 static irqreturn_t ufshcd_sl_intr(struct ufs_hba *hba, u32 intr_status)
6181 struct ufs_hba *hba = __hba;
6220 static int ufshcd_clear_tm_cmd(struct ufs_hba *hba, int tag)
6241 static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba,
6323 static int ufshcd_issue_tm_cmd(struct ufs_hba *hba, int lun_id, int task_id,
6376 static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
6498 int ufshcd_exec_raw_upiu_cmd(struct ufs_hba *hba,
6564 struct ufs_hba *hba;
6605 static void ufshcd_set_req_abort_skip(struct ufs_hba *hba, unsigned long bitmap)
6628 static int ufshcd_try_to_abort_task(struct ufs_hba *hba, int tag)
6705 struct ufs_hba *hba;
6809 static int ufshcd_host_reset_and_restore(struct ufs_hba *hba)
6852 static int ufshcd_reset_and_restore(struct ufs_hba *hba)
6903 struct ufs_hba *hba;
6977 static u32 ufshcd_find_max_sup_active_icc_level(struct ufs_hba *hba,
7011 static void ufshcd_set_active_icc_lvl(struct ufs_hba *hba)
7083 static int ufshcd_scsi_add_wlus(struct ufs_hba *hba)
7123 static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
7193 void ufshcd_fixup_dev_quirks(struct ufs_hba *hba, struct ufs_dev_fix *fixups)
7212 static void ufs_fixup_device_setup(struct ufs_hba *hba)
7221 static int ufs_get_device_desc(struct ufs_hba *hba)
7278 static void ufs_put_device_desc(struct ufs_hba *hba)
7297 static int ufshcd_tune_pa_tactivate(struct ufs_hba *hba)
7332 static int ufshcd_tune_pa_hibern8time(struct ufs_hba *hba)
7374 static int ufshcd_quirk_tune_host_pa_tactivate(struct ufs_hba *hba)
7433 static void ufshcd_tune_unipro_params(struct ufs_hba *hba)
7450 static void ufshcd_clear_dbg_ufs_stats(struct ufs_hba *hba)
7457 static int ufshcd_device_geo_params_init(struct ufs_hba *hba)
7508 void ufshcd_parse_dev_ref_clk_freq(struct ufs_hba *hba, struct clk *refclk)
7522 static int ufshcd_set_dev_ref_clk(struct ufs_hba *hba)
7556 static int ufshcd_device_params_init(struct ufs_hba *hba)
7597 static int ufshcd_add_lus(struct ufs_hba *hba)
7630 ufshcd_send_request_sense(struct ufs_hba *hba, struct scsi_device *sdp);
7632 static int ufshcd_clear_ua_wlun(struct ufs_hba *hba, u8 wlun)
7667 static int ufshcd_clear_ua_wluns(struct ufs_hba *hba)
7693 static int ufshcd_probe_hba(struct ufs_hba *hba, bool async)
7786 struct ufs_hba *hba = (struct ufs_hba *)data;
7876 static inline int ufshcd_config_vreg_lpm(struct ufs_hba *hba,
7882 static inline int ufshcd_config_vreg_hpm(struct ufs_hba *hba,
7964 static int ufshcd_setup_vreg(struct ufs_hba *hba, bool on)
7989 static int ufshcd_setup_hba_vreg(struct ufs_hba *hba, bool on)
8013 static int ufshcd_init_vreg(struct ufs_hba *hba)
8030 static int ufshcd_init_hba_vreg(struct ufs_hba *hba)
8040 static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on)
8108 static int ufshcd_init_clocks(struct ufs_hba *hba)
8155 static int ufshcd_variant_hba_init(struct ufs_hba *hba)
8176 static void ufshcd_variant_hba_exit(struct ufs_hba *hba)
8186 static int ufshcd_hba_init(struct ufs_hba *hba)
8238 static void ufshcd_hba_exit(struct ufs_hba *hba)
8255 ufshcd_send_request_sense(struct ufs_hba *hba, struct scsi_device *sdp)
8292 static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
8357 static int ufshcd_link_state_transition(struct ufs_hba *hba,
8411 static void ufshcd_vreg_set_lpm(struct ufs_hba *hba)
8461 static int ufshcd_vreg_set_hpm(struct ufs_hba *hba)
8489 static void ufshcd_hba_vreg_set_lpm(struct ufs_hba *hba)
8495 static void ufshcd_hba_vreg_set_hpm(struct ufs_hba *hba)
8517 static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
8678 static int ufshcd_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
8795 int ufshcd_system_suspend(struct ufs_hba *hba)
8845 int ufshcd_system_resume(struct ufs_hba *hba)
8879 int ufshcd_runtime_suspend(struct ufs_hba *hba)
8920 int ufshcd_runtime_resume(struct ufs_hba *hba)
8940 int ufshcd_runtime_idle(struct ufs_hba *hba)
8954 int ufshcd_shutdown(struct ufs_hba *hba)
8980 void ufshcd_remove(struct ufs_hba *hba)
9005 void ufshcd_dealloc_host(struct ufs_hba *hba)
9019 static int ufshcd_set_dma_mask(struct ufs_hba *hba)
9034 int ufshcd_alloc_host(struct device *dev, struct ufs_hba **hba_handle)
9037 struct ufs_hba *hba;
9048 sizeof(struct ufs_hba));
9086 int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)