idpf_tx_splitq_get_ctx_desc(9)
π
idpf_tx_splitq_get_ctx_desc β Kernel API Manual, bestie edition β¨
okay so picture this: it's a Kernel API Manual page, the function is idpf_tx_splitq_get_ctx_desc (that's idpf_tx_splitq_get_ctx_desc(9) if you're fancy and using section 9), and it does exactly one little glowing thing. let's get into it π«Ά
β¨ NAME β¨
idpf_tx_splitq_get_ctx_desc β grab the next desc and update the buffer ring. short king behavior, honestly π
π¦ SYNOPSIS π¦
union idpf_flex_tx_ctx_desc * idpf_tx_splitq_get_ctx_desc (struct
idpf_tx_queue *txq );
literally just that. one function, one queue, one union idpf_flex_tx_ctx_desc * coming back at you π
π ARGUMENTS π
txqβ the queue you're gonna put the context descriptor on. that's it, that's the whole mood. slay πΈ
π₯ DESCRIPTION π₯
okay so here's the vibe: the TX buffer rings mimic the descriptor ring (they're copying each other's homework, but like, consensually π). so what this function does is update the tx buffer ring entry so it reflects that this index is a context descriptor π
no cap, that's the whole job. it keeps the two rings in sync so nothing gets weird later. it's giving backstage crew at a concert β nobody claps for them, but if they stopped, everything would fall apart πβ¨
π RETURN π
a pointer to the next descriptor π«Ά that's the gift. that's what you get.
π SEE ALSO π
buckle up bestie, this list is long β but every single one of these is invited to the group chat π
- the kernel file:
./drivers/net/ethernet/intel/idpf/idpf_txrx.cβ that's where the source lives, iykyk π
and the whole friend group:
idpf_chk_linearize(9),idpf_tx_timeout(9),idpf_tx_buf_rel_all(9),idpf_tx_desc_rel(9),idpf_compl_desc_rel(9),idpf_tx_desc_rel_all(9),idpf_tx_buf_alloc_all(9),idpf_tx_desc_alloc(9),idpf_compl_desc_alloc(9),idpf_tx_desc_alloc_all(9)idpf_rx_page_rel(9),idpf_rx_hdr_buf_rel_all(9),idpf_rx_buf_rel_bufq(9),idpf_rx_buf_rel_all(9),idpf_rx_desc_rel(9),idpf_rx_desc_rel_bufq(9),idpf_rx_desc_rel_all(9),idpf_rx_buf_hw_update(9),idpf_rx_hdr_buf_alloc_all(9),idpf_post_buf_refill(9)idpf_rx_post_buf_desc(9),idpf_rx_post_init_bufs(9),idpf_rx_buf_alloc_singleq(9),idpf_rx_bufs_init_singleq(9),idpf_rx_buf_alloc_all(9),idpf_rx_bufs_init(9),idpf_rx_bufs_init_all(9),idpf_rx_desc_alloc(9),idpf_bufq_desc_alloc(9),idpf_rx_desc_alloc_all(9)idpf_vector_to_queue_set(9),idpf_qp_switch(9),idpf_txq_group_rel(9),idpf_rxq_sw_queue_rel(9),idpf_rxq_group_rel(9),idpf_vport_queue_grp_rel_all(9),idpf_vport_queues_rel(9),idpf_vport_init_fast_path_txqs(9),idpf_vport_init_num_qs(9)idpf_vport_calc_num_q_desc(9),idpf_vport_calc_total_qs(9),idpf_vport_calc_num_q_groups(9),idpf_vport_calc_numq_per_grp(9),idpf_rxq_set_descids(9),idpf_txq_group_alloc(9),idpf_rxq_group_alloc(9),idpf_vport_queue_grp_alloc_all(9),idpf_vport_queues_alloc(9)idpf_tx_read_tstamp(9),idpf_tx_splitq_clean(9),idpf_tx_clean_bufs(9),idpf_tx_handle_rs_completion(9),idpf_tx_clean_complq(9),idpf_wait_for_sw_marker_completion(9),idpf_tx_splitq_build_ctb(9),idpf_tx_splitq_build_flow_desc(9),idpf_txq_has_room(9)idpf_tx_maybe_stop_splitq(9),idpf_tx_buf_hw_update(9),idpf_tx_res_count_required(9),idpf_tx_splitq_bump_ntu(9),idpf_tx_get_free_buf_id(9),idpf_tx_splitq_pkt_err_unmap(9),idpf_tx_splitq_map(9),idpf_tso(9),idpf_tx_drop_skb(9)idpf_tx_tstamp(9),idpf_tx_set_tstamp_desc(9),idpf_tx_splitq_need_re(9),idpf_tx_splitq_frame(9),idpf_tx_start(9),idpf_rx_hash(9),idpf_rx_csum(9),idpf_rx_splitq_extract_csum_bits(9),idpf_rx_rsc(9),idpf_rx_hwtstamp(9)__idpf_rx_process_skb_fields(9),idpf_rx_hsplit_wa(9),idpf_rx_splitq_test_staterr(9),idpf_rx_splitq_is_eop(9),idpf_rx_splitq_clean(9),idpf_rx_update_bufq_desc(9),idpf_rx_clean_refillq(9),idpf_rx_clean_refillq_all(9)idpf_vport_intr_clean_queues(9),idpf_vport_intr_napi_del_all(9),idpf_vport_intr_napi_dis_all(9),idpf_vport_intr_rel(9),idpf_vport_intr_rel_irq(9),idpf_vport_intr_dis_irq_all(9),idpf_vport_intr_buildreg_itr(9),idpf_update_dim_sample(9),idpf_net_dim(9)idpf_vport_intr_update_itr_ena_irq(9),idpf_vport_intr_req_irq(9),idpf_vport_intr_write_itr(9),idpf_vport_intr_ena_irq_all(9),idpf_vport_intr_dis_dim_all(9),idpf_vport_intr_deinit(9),idpf_tx_dim_work(9),idpf_rx_dim_work(9),idpf_init_dim(9)idpf_vport_intr_napi_ena_all(9),idpf_tx_splitq_clean_all(9),idpf_rx_splitq_clean_all(9),idpf_vport_splitq_napi_poll(9),idpf_vport_intr_map_vector_to_qs(9),idpf_vport_intr_init_vec_idx(9),idpf_vport_intr_napi_add_all(9),idpf_vport_intr_alloc(9),idpf_vport_intr_init(9)idpf_config_rss(9),idpf_fill_dflt_rss_lut(9),idpf_init_rss_lut(9),idpf_deinit_rss_lut(9)
like I said. long. but they all ate π
and that's the page!! π§ it lives under ./drivers/net/ethernet/intel/idpf, it's dated October 2026, and the whole thing is filed as idpf_tx_splitq_get_ctx_desc(9). go forth and grab those descriptors, bestie β periodt πβ¨π
π¦ 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