idpf_vport_get_q_reg(9)
π idpf_vport_get_q_reg(9) π
okay so you opened the idpf_vport_get_q_reg(9) page and you're in the Kernel API Manual bestie, welcome, let's get you fluent π
this one is short and sweet, no cap β it's a little helper that goes digging through queue register chunk info and pulls out the offsets.
β¨ NAME β¨
idpf_vport_get_q_reg β Get the queue registers for the vport π
π¦ SYNOPSIS π¦
int idpf_vport_get_q_reg (u32 *reg_vals , int num_regs , u32 q_type ,
struct idpf_queue_id_reg_info *chunks );
π ARGUMENTS π
reg_valsβ the register values that need to be set, i.e. the array you're handing over so it can get filled β¨num_regsβ how many you expect to fill π«Ά like, your hopes and dreams in integer formq_typeβ the queue model πΈchunksβ the queue regs that came in over the mailbox π¬
π DESCRIPTION π
So what does it actually do? It parses the queue register offsets out of the queue register chunk information β for a specific queue type, q_type β and stores them into the array you passed in as an argument (reg_vals, that one). Then it returns the actual number of queue registers that got filled π
tl;dr: you bring the array, it brings the offsets, and the count you get back is the real count, not your num_regs wish π
β SEE ALSO β
kernel file ./drivers/net/ethernet/intel/idpf/idpf_virtchnl.c β that's the main character, go read it π§
and the whole friend group, in order:
idpf_vid_to_vport(9)idpf_handle_event_link(9)idpf_recv_event_msg(9)idpf_mb_clean(9)idpf_ptp_is_mb_msg(9)idpf_prepare_ptp_mb_msg(9)idpf_send_mb_msg(9)idpf_send_mb_msg_kfree(9)idpf_send_vf_reset_msg(9)idpf_send_chunked_msg(9)idpf_wait_for_marker_event_set(9)idpf_wait_for_marker_event(9)idpf_send_ver_msg(9)idpf_send_get_caps_msg(9)idpf_mmio_region_non_static(9)idpf_decfg_lan_memory_regions(9)idpf_cfg_lan_memory_regions(9)idpf_map_remaining_mmio_regs(9)idpf_add_del_fsteer_filters(9)idpf_vport_alloc_max_qs(9)idpf_vport_dealloc_max_qs(9)idpf_init_avail_queues(9)idpf_vport_init_queue_reg_chunks(9)idpf_get_reg_intr_vecs(9)__idpf_queue_reg_init(9)idpf_queue_reg_init(9)idpf_send_create_vport_msg(9)idpf_check_supported_desc_ids(9)idpf_send_destroy_vport_msg(9)idpf_send_enable_vport_msg(9)idpf_send_disable_vport_msg(9)idpf_fill_txq_config_chunk(9)idpf_fill_complq_config_chunk(9)idpf_prepare_cfg_txqs_msg(9)idpf_send_config_tx_queue_set_msg(9)idpf_send_config_tx_queues_msg(9)idpf_fill_rxq_config_chunk(9)idpf_fill_bufq_config_chunk(9)idpf_prepare_cfg_rxqs_msg(9)idpf_send_config_rx_queue_set_msg(9)idpf_send_config_rx_queues_msg(9)idpf_prepare_ena_dis_qs_msg(9)idpf_send_ena_dis_queue_set_msg(9)idpf_send_ena_dis_queues_msg(9)idpf_prep_map_unmap_queue_set_vector_msg(9)idpf_send_map_unmap_queue_set_vector_msg(9)idpf_send_map_unmap_queue_vector_msg(9)idpf_send_enable_queue_set_msg(9)idpf_send_disable_queue_set_msg(9)idpf_send_config_queue_set_msg(9)idpf_send_enable_queues_msg(9)idpf_send_disable_queues_msg(9)idpf_convert_reg_to_queue_chunks(9)idpf_send_delete_queues_msg(9)idpf_send_config_queues_msg(9)idpf_send_add_queues_msg(9)idpf_send_alloc_vectors_msg(9)idpf_send_dealloc_vectors_msg(9)idpf_get_max_vfs(9)idpf_send_set_sriov_vfs_msg(9)idpf_send_get_stats_msg(9)idpf_send_set_rss_lut_msg(9)idpf_send_set_rss_key_msg(9)idpf_fill_ptype_lookup(9)idpf_parse_protocol_ids(9)idpf_send_get_rx_ptype_msg(9)idpf_rel_rx_pt_lkup(9)idpf_send_ena_dis_loopback_msg(9)idpf_init_dflt_mbx(9)idpf_deinit_dflt_mbx(9)idpf_vport_params_buf_rel(9)idpf_vport_params_buf_alloc(9)idpf_vc_core_init(9)idpf_vc_core_deinit(9)idpf_vport_alloc_vec_indexes(9)idpf_vport_init(9)idpf_get_vec_ids(9)idpf_vport_get_queue_ids(9)__idpf_vport_queue_ids_init(9)idpf_vport_queue_ids_init(9)idpf_vport_adjust_qs(9)idpf_is_capability_ena(9)idpf_vport_is_cap_ena(9)idpf_sideband_flow_type_ena(9)idpf_sideband_action_ena(9)idpf_get_vport_id(9)idpf_mac_filter_async_handler(9)idpf_add_del_mac_filters(9)idpf_promiscuous_async_handler(9)idpf_set_promiscuous(9)idpf_idc_rdma_vc_send_sync(9)
π friendly reminder bestie: the count you get back is the actual filled count, so don't go assuming it's always your num_regs, okay? vibe check your array length π
and that's the whole page, periodt π«Ά this little gem lives under ./drivers/net/ethernet/intel/idpf, dated October 2026, and it's part of the Kernel API Manual β go off, you're basically a kernel dev now ππ
π¦ 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