ufshcd_host..._and_restore(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ufshcd_host_reset_and_restore β€” straight outta the Kernel API Manual ✨

okay so picture this: it's a kernel API manual page, it's giving very demure very mindful, and it's about to reset a whole host controller and put it back together again. bestie, let's get into it 🫢


🌸 NAME 🌸

ufshcd_host_reset_and_restore β€” literally resets the host controller and then restores it. that's the whole vibe. reset. restore. slay. πŸ’…


✨ SYNOPSIS ✨

int ufshcd_host_reset_and_restore (struct ufs_hba *hba );

one function, one pointer, one mission πŸŽ€


🫢 ARGUMENTS 🫢

  • hba β€” the per-adapter instance. that's your girl. she's the one getting reset and restored, no cap πŸ’–

πŸ’– DESCRIPTION πŸ’–

okay so real talk, this is the part you actually need to know πŸ‘€:

note that host controller reset may issue DME_RESET to local and remote (device) Uni-Pro stack and the attributes are reset to default state.

so yeah β€” the reset can fire off a DME_RESET at both the local Uni-Pro stack and the remote (device) one, and everything's attributes go back to default state. it's giving factory reset energy. it's giving "we're starting over, fresh face, new semester" 😭✨ the way that everything just goes back to defaults is honestly kind of iconic.


πŸŽ€ RETURN πŸŽ€

  • zero on success πŸŽ‰ β€” she ate, she's back, we love to see it
  • non-zero on failure πŸ’€ β€” not the vibe, something went sideways

πŸ”₯ SEE ALSO πŸ”₯

so this is the part where the page just gives you the entire extended friend group. buckle up bestie, we're meeting everyone πŸ¦‹

kernel file ./drivers/ufs/core/ufshcd.c β€” plus: ufshcd_enable_intr(9), ufshcd_disable_intr(9), ufshcd_print_trs_all(9), ufshcd_print_pwr_info(9), ufshcd_wait_for_register(9), ufshcd_get_intr_mask(9), ufshcd_get_ufs_version(9), ufshcd_is_device_present(9), ufshcd_get_tr_ocs(9), ufshcd_utrl_clear(9), ufshcd_utmrl_clear(9), ufshcd_get_lists_status(9), ufshcd_get_req_rsp(9), ufshcd_is_exception_event(9), ufshcd_reset_intr_aggr(9), ufshcd_config_intr_aggr(9), ufshcd_disable_intr_aggr(9), ufshcd_enable_run_stop_reg(9), ufshcd_hba_start(9), ufshcd_is_hba_active(9), ufshcd_pm_qos_init(9), ufshcd_pm_qos_exit(9), ufshcd_pm_qos_update(9), ufshcd_set_clk_freq(9), ufshcd_scale_clks(9), ufshcd_is_devfreq_scaling_required(9), ufshcd_pause_command_processing(9), ufshcd_resume_command_processing(9), ufshcd_scale_gear(9), ufshcd_devfreq_scale(9), ufshcd_hold(9), ufshcd_send_command(9), ufshcd_copy_sense_data(9), ufshcd_copy_query_response(9), ufshcd_hba_capabilities(9), ufshcd_ready_for_uic_cmd(9), ufshcd_get_upmcrs(9), ufshcd_dispatch_uic_cmd(9), ufshcd_wait_for_uic_cmd(9), __ufshcd_send_uic_cmd(9), ufshcd_send_uic_cmd(9), ufshcd_sgl_to_prdt(9), ufshcd_map_sg(9), ufshcd_prepare_req_desc_hdr(9), ufshcd_prepare_utp_scsi_cmd_upiu(9), ufshcd_prepare_utp_query_req_upiu(9), ufshcd_compose_devman_upiu(9), ufshcd_comp_scsi_upiu(9), ufshcd_upiu_wlun_to_scsi_wlun(9), ufshcd_queuecommand(9), ufshcd_dev_cmd_completion(9), ufshcd_exec_dev_cmd(9), ufshcd_init_query(9), ufshcd_query_flag(9), ufshcd_query_attr(9), ufshcd_query_attr_retry(9), ufshcd_query_attr_qword(9), ufshcd_query_descriptor_retry(9), ufshcd_read_desc_param(9), struct uc_string_id(9), ufshcd_read_string_desc(9), ufshcd_read_unit_desc_param(9), ufshcd_memory_alloc(9), ufshcd_host_memory_configure(9), ufshcd_dme_link_startup(9), ufshcd_dme_reset(9), ufshcd_dme_enable(9), ufshcd_dme_set_attr(9), ufshcd_dme_get_attr(9), ufshcd_dme_rmw(9), ufshcd_uic_pwr_ctrl(9), ufshcd_uic_tx_eqtr(9), ufshcd_send_bsg_uic_cmd(9), ufshcd_uic_change_pwr_mode(9), ufshcd_get_max_pwr_mode(9), ufshcd_dme_change_power_mode(9), ufshcd_change_power_mode(9), ufshcd_config_pwr_mode(9), ufshcd_complete_dev_init(9), ufshcd_make_hba_operational(9), ufshcd_hba_stop(9), ufshcd_hba_execute_hce(9), ufshcd_link_startup(9), ufshcd_verify_dev_init(9), ufshcd_setup_links(9), ufshcd_lu_init(9), ufshcd_sdev_init(9), ufshcd_change_queue_depth(9), ufshcd_sdev_configure(9), ufshcd_sdev_destroy(9), ufshcd_scsi_cmd_status(9), ufshcd_transfer_rsp_status(9), ufshcd_uic_cmd_compl(9), ufshcd_compl_one_cqe(9), __ufshcd_transfer_req_compl(9), ufshcd_mcq_compl_pending_transfer(9), ufshcd_transfer_req_compl(9), ufshcd_disable_ee(9), ufshcd_enable_ee(9), ufshcd_enable_auto_bkops(9), ufshcd_disable_auto_bkops(9), ufshcd_force_reset_auto_bkops(9), ufshcd_bkops_ctrl(9), ufshcd_exception_event_handler(9), ufshcd_quirk_dl_nac_errors(9), ufshcd_abort_all(9), ufshcd_err_handler(9), ufshcd_update_uic_error(9), ufshcd_check_errors(9), ufshcd_tmc_handler(9), ufshcd_handle_mcq_cq_events(9), ufshcd_sl_intr(9), ufshcd_intr(9), ufshcd_issue_tm_cmd(9), ufshcd_issue_devman_upiu_cmd(9), ufshcd_exec_raw_upiu_cmd(9), ufshcd_advanced_rpmb_req_handler(9), ufshcd_eh_device_reset_handler(9), ufshcd_try_to_abort_task(9), ufshcd_abort(9), ufshcd_process_probe_result(9), ufshcd_reset_and_restore(9), ufshcd_eh_host_reset_handler(9), ufshcd_get_max_icc_level(9), ufshcd_find_max_sup_active_icc_level(9), ufshcd_scsi_add_wlus(9), ufshcd_create_device_id(9), ufshcd_quirk_tune_host_pa_tactivate(9), ufshcd_quirk_override_pa_h8time(9), ufshcd_add_lus(9), ufshcd_get_op_mode(9), ufshcd_probe_hba(9), ufshcd_async_scan(9), ufshcd_set_dev_pwr_mode(9), ufshcd_suspend(9), ufshcd_resume(9), ufshcd_system_suspend(9), ufshcd_system_resume(9), ufshcd_runtime_suspend(9), ufshcd_runtime_resume(9), ufshcd_remove(9), ufshcd_set_dma_mask(9), ufshcd_devres_release(9), ufshcd_alloc_host(9), ufshcd_init(9).

like?? that's the whole group chat right there 😭 every single one of them matters, don't skip a single @, iykyk 🧚


and that's the page, bestie πŸ’– this lil masterpiece lives in ./drivers/ufs/core and it's dated October 2026 β€” so mark your calendars, screenshot it, send it to the group chat, because she's iconic and she said what she said πŸ‘‘β­πŸŒΈ

πŸ“¦ where this page comes from