STRUCT HL_CS_ENCAPS_SIG_HANDLE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct hl_cs_encaps_sig_handle(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” this page is the whole lore drop on struct hl_cs_encaps_sig_handle, and it is literally the encapsulated signals handle structure. no cap, this struct is the main character of this page. πŸ’–


🌸 NAME 🌸

struct hl_cs_encaps_sig_handle - encapsulated signals handle structure. That's the name, that's the description, and yes we are obsessed with the clarity. ✨


✨ SYNOPSIS ✨

the struct layout is giving very much β€œkernel bookkeeping but make it cute,” and here it is exactly:

struct hl_cs_encaps_sig_handle {
    struct kref refcount;
    struct hl_device *hdev;
    struct hl_hw_sob *hw_sob;
    struct hl_ctx *ctx;
    u64 cs_seq;
    u32 id;
    u32 q_idx;
    u32 pre_sob_val;
    u32 count;
};

πŸŽ€ Members πŸŽ€

okay bestie, member-by-member, no skipping, because every field here is part of the group chat:

  • refcount β€” the refcount used to protect removing this id when several wait cs are used to wait of the reserved encaps signals. yes, β€œwait of,” we keep the lore. πŸ’…
  • hdev β€” pointer to the habanalabs device structure. 🫢
  • hw_sob β€” pointer to H/W SOB used in the reservation. πŸ”₯
  • ctx β€” pointer to the user's context data structure. 🌸
  • cs_seq β€” the staged cs sequence which contains encapsulated signals. ✨
  • id β€” the idr handler id to be used to fetch the handler info. πŸŽ€
  • q_idx β€” the stream queue index. πŸ¦‹
  • pre_sob_val β€” the current SOB value before reservation. πŸ’œ
  • count β€” the signals number. πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

this page is literally linked up with the whole kernel friend group. the source file is Kernel file ./drivers/accel/habanalabs/common/habanalabs.h, and the SEE ALSO besties are:

  • 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 hl_reset_info(9), struct eq_heartbeat_debug_info(9), struct hl_device(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)

mwah πŸ’‹ that's the whole page, bestie. the cute little footer says source/version ./drivers/accel/habanalabs/common, October 2026, and the page id is struct hl_cs...s_sig_handle(9). byeee 🫢✨

πŸ“¦ where this page comes from