STRUCT HL_RESET_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct hl_reset_info(9) πŸŽ€

okay so bestie, welcome to the kernel API manual page for struct hl_reset_info(9) β€” yes, the manual name is folded in right here near the top like a little bookmark, and we are about to go through every single field with zero facts dropped. it’s giving β€œreset info central,” and honestly? iconic. πŸ’…βœ¨

✨ NAME ✨

struct hl_reset_info β€” holds current device reset information. lowkey the little struct that keeps all the reset tea. πŸ΅πŸ‘‘

πŸ¦‹ SYNOPSIS πŸ¦‹

struct hl_reset_info {
    spinlock_t lock;
    u32 compute_reset_cnt;
    u32 hard_reset_cnt;
    u32 hard_reset_schedule_flags;
    u8 in_reset;
    u8 in_compute_reset;
    u8 needs_reset;
    u8 hard_reset_pending;
    u8 curr_reset_cause;
    u8 prev_reset_trigger;
    u8 reset_trigger_repeated;
    u8 skip_reset_on_timeout;
    u8 watchdog_active;
};

🧩 Members 🧩

  • lock β€” lock to protect critical reset flows. literally the bouncer for the reset party. πŸ”
  • compute_reset_cnt β€” number of compute resets since the driver was loaded. counting era, fr fr. πŸ”’
  • hard_reset_cnt β€” number of hard resets since the driver was loaded. the hard-reset receipts. 🧾
  • hard_reset_schedule_flags β€” hard reset is scheduled to after current compute reset, and here we hold the hard reset flags. scheduling queen behavior. πŸ—“οΈ
  • in_reset β€” is device in reset flow. yep, this is the vibe check for β€œare we resetting?” πŸŒ€
  • in_compute_reset β€” Device is currently in reset but not in hard-reset. so it’s a soft-ish reset moment, not the hard one. 🫧
  • needs_reset β€” true if reset_on_lockup is false and device should be reset due to lockup. lockup said β€œreset me,” and this field is the note. πŸ’€
  • hard_reset_pending β€” is there a hard reset work pending. pending like an unread text, but for hard reset work. πŸ“²
  • curr_reset_cause β€” saves an enumerated reset cause when a hard reset is triggered, and cleared after it is shared with preboot. so it remembers why, then clears once preboot gets the memo. 🧠
  • prev_reset_trigger β€” saves the previous trigger which caused a reset, overridden with a new value on next reset. the reset lore from last time. πŸ“œ
  • reset_trigger_repeated β€” set if device reset is triggered more than once with same cause. not me seeing the same cause twice πŸ˜­πŸ”
  • skip_reset_on_timeout β€” Skip device reset if CS has timed out, wait for it to complete instead. so we don’t reset while CS is still cooking. ⏳
  • watchdog_active β€” true if a device release watchdog work is scheduled. watchdog is on duty, bestie. πŸ•πŸ¦Ί

🌈 SEE ALSO 🌈

okay so the kernel file is ./drivers/accel/habanalabs/common/habanalabs.h, and here is the whole cross-reference squad, names kept exact because we do not play with facts:

  • enum hl_mmu_page_table_location(9)
  • struct iterate_module_ctx(9)
  • struct hl_gen_wait_properties(9)
  • struct pgt_info(9)
  • enum hl_pci_match_mode(9)
  • enum hl_fw_component(9)
  • enum hl_fw_types(9)
  • enum hl_queue_type(9)
  • struct hw_queue_properties(9)
  • enum vm_type(9)
  • enum mmu_op_flags(9)
  • enum hl_device_hw_state(9)
  • struct hl_mmu_properties(9)
  • struct hl_hints_range(9)
  • struct asic_fixed_properties(9)
  • struct hl_fence(9)
  • struct hl_cs_compl(9)
  • struct hl_ts_buff(9)
  • struct hl_mem_mgr(9)
  • struct hl_mem_mgr_fini_stats(9)
  • struct hl_mmap_mem_buf_behavior(9)
  • struct hl_mmap_mem_buf(9)
  • struct hl_cb(9)
  • struct hl_sync_stream_properties(9)
  • struct hl_encaps_signals_mgr(9)
  • struct hl_hw_queue(9)
  • struct hl_cq(9)
  • struct hl_ts_free_jobs(9)
  • struct hl_user_interrupt(9)
  • struct timestamp_reg_free_node(9)
  • struct hl_user_pending_interrupt(9)
  • struct hl_eq(9)
  • struct hl_dec(9)
  • enum hl_asic_type(9)
  • enum hl_pm_mng_profile(9)
  • enum hl_pll_frequency(9)
  • struct pci_mem_region(9)
  • struct static_fw_load_mgr(9)
  • struct fw_response(9)
  • struct dynamic_fw_load_mgr(9)
  • struct pre_fw_load_props(9)
  • struct fw_image_props(9)
  • struct fw_load_mgr(9)
  • struct engines_data(9)
  • struct hl_asic_funcs(9)
  • enum hl_va_range_type(9)
  • struct hl_va_range(9)
  • struct hl_cs_counters_atomic(9)
  • struct hl_dmabuf_priv(9)
  • struct hl_cs_outcome(9)
  • struct hl_cs_outcome_store(9)
  • struct hl_ctx(9)
  • struct hl_ctx_mgr(9)
  • struct hl_userptr(9)
  • struct hl_cs(9)
  • struct hl_cs_job(9)
  • struct hl_cs_parser(9)
  • struct hl_vm_hash_node(9)
  • struct hl_vm_hw_block_list_node(9)
  • struct hl_vm_phys_pg_pack(9)
  • struct hl_vm_va_block(9)
  • struct hl_vm(9)
  • struct hl_debug_params(9)
  • struct hl_notifier_event(9)
  • struct hl_fpriv(9)
  • struct hl_info_list(9)
  • struct hl_debugfs_entry(9)
  • struct hl_dbg_device_entry(9)
  • struct hl_debugfs_cfg_access_entry(9)
  • struct hl_debugfs_cfg_access(9)
  • struct hl_hw_obj_name_entry(9)
  • struct hl_mon_state_dump(9)
  • struct hl_sync_to_engine_map_entry(9)
  • struct hl_sync_to_engine_map(9)
  • struct hl_state_dump_specs_funcs(9)
  • struct hl_state_dump_specs(9)
  • struct hl_device_reset_work(9)
  • struct hl_mmu_priv(9)
  • struct hl_mmu_per_hop_info(9)
  • struct hl_mmu_hop_info(9)
  • struct hl_hr_mmu_funcs(9)
  • struct hl_mmu_funcs(9)
  • struct hl_prefetch_work(9)
  • struct multi_cs_completion(9)
  • struct multi_cs_data(9)
  • struct hl_clk_throttle_timestamp(9)
  • struct hl_clk_throttle(9)
  • struct user_mapped_block(9)
  • struct cs_timeout_info(9)
  • struct undefined_opcode_info(9)
  • struct page_fault_info(9)
  • struct razwi_info(9)
  • struct hw_err_info(9)
  • struct fw_err_info(9)
  • struct engine_err_info(9)
  • struct hl_error_info(9)
  • struct eq_heartbeat_debug_info(9)
  • struct hl_device(9)
  • struct hl_cs_encaps_sig_handle(9)
  • struct hl_info_fw_err_info(9)
  • hl_ioctl_t(9)
  • struct hl_ioctl_desc(9)
  • hl_get_sg_info(9)
  • hl_mem_area_inside_range(9)
  • hl_mem_area_crosses_range(9)

sourced from ./drivers/accel/habanalabs/common, dated October 2026, and filed under struct hl_reset_info(9) β€” catch you in the kernel, bestie πŸ«ΆπŸ’–πŸŒˆ

πŸ“¦ where this page comes from