irdma_rt_init_hw(9)
okay so bestie, welcome to irdma_rt_init_hw(9) β straight out of the Kernel API Manual, and no cap, this is the little function that literally brings the hardware's runtime self to life β¨ Think of it as the glow-up montage before the main character walks out. Let's get into it π
π NAME π
irdma_rt_init_hw β initializes the runtime portion of the HW, periodt. That's the whole job description, and she's iconic for it π«Ά
β¨ SYNOPSIS β¨
int irdma_rt_init_hw (struct irdma_device *iwdev , struct irdma_l2params
*l2params );
π ARGUMENTS π
iwdevβ the irdma device itself, our main character πl2paramsβ the qos, tc, and mtu info handed over from the netdev driver, aka the vibe check from downstairs π
π¦ DESCRIPTION π¦
So what does she actually do? She creates the device queues β ILQ, IEQ, CEQs, and PBLEs β and then sets up the irdma device resource objects. That's it, that's the whole slay π₯
ngl bestie, this is a "create all the things" function. All four queue types, plus the resource objects. No shortcuts, no skipping π
π SEE ALSO π
First up, the kernel file where all the magic lives:
./drivers/infiniband/hw/irdma/hw.c
And now the whole friend group β every single one of these icons, iykyk π
irdma_iwarp_ce_handler(9),irdma_puda_ce_handler(9)irdma_process_normal_ceqe(9),irdma_process_reserved_ceqe(9)irdma_process_ceq(9),irdma_complete_cqp_request(9)irdma_process_ae_def_cmpl(9),irdma_process_aeq(9),irdma_ena_intr(9)irdma_dpc(9),irdma_ceq_dpc(9),irdma_save_msix_info(9)irdma_irq_handler(9),irdma_ceq_handler(9),irdma_destroy_irq(9)irdma_destroy_cqp(9),irdma_destroy_aeq(9),irdma_destroy_ceq(9)irdma_del_ceq_0(9),irdma_del_ceqs(9),irdma_destroy_ccq(9)irdma_close_hmc_objects_type(9),irdma_del_hmc_objects(9)irdma_create_hmc_obj_type(9),irdma_create_hmc_objs(9)irdma_obj_aligned_mem(9),irdma_create_cqp(9),irdma_create_ccq(9)irdma_alloc_set_mac(9),irdma_cfg_ceq_vector(9),irdma_cfg_aeq_vector(9)irdma_create_ceq(9),irdma_setup_ceq_0(9),irdma_setup_ceqs(9)irdma_create_aeq(9),irdma_setup_aeq(9)irdma_initialize_ilq(9),irdma_initialize_ieq(9),irdma_reinitialize_ieq(9)irdma_hmc_setup(9),irdma_del_init_mem(9),irdma_initialize_dev(9)irdma_rt_deinit_hw(9),irdma_get_used_rsrc(9),irdma_ctrl_init_hw(9)irdma_set_hw_rsrc(9),irdma_calc_mem_rsrc_size(9),irdma_initialize_hw_rsrc(9)irdma_cqp_ce_handler(9),cqp_compl_worker(9)irdma_lookup_apbvt_entry(9),irdma_next_iw_state(9)irdma_del_local_mac_entry(9),irdma_add_local_mac_entry(9),irdma_alloc_local_mac_entry(9)irdma_cqp_manage_apbvt_cmd(9),irdma_add_apbvt(9),irdma_del_apbvt(9)irdma_manage_arp_cache(9),irdma_send_syn_cqp_callback(9),irdma_manage_qhash(9)irdma_hw_flush_wqes_callback(9),irdma_hw_flush_wqes(9),irdma_gen_ae(9)
aaand that's the page, bestie π this queen lives in ./drivers/infiniband/hw/irdma, the source/version vibes are dated October 2026, and she answers to the name irdma_rt_init_hw(9) β go forth and initialize your runtime portion of HW, mwah ππ§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms