dpni_get_buffer_layout(9)
π dpni_get_buffer_layout β Kernel API Manual β¨
okay so bestie, we're in the Kernel API Manual, section 9, and today's main character is dpni_get_buffer_layout. It's a little function that goes and asks the hardware what your buffer layout actually looks like rn. No cap, that's the whole vibe. Let's get into it π«Ά
πΈ NAME
dpni_get_buffer_layout β Retrieve buffer layout attributes. that's it, that's the function π
β¨ SYNOPSIS
int dpni_get_buffer_layout (struct fsl_mc_io *mc_io , u32 cmd_flags ,
u16 token , enum dpni_queue_type qtype , struct dpni_buffer_layout
*layout );
five arguments, one int coming back, iconic behavior honestly π
π ARGUMENTS
mc_ioβ Pointer to MC portal's I/O object. this is your little portal handle, the thing that actually lets you talk to the MC. don't lose it πcmd_flagsβ Command flags; one or more of'MC_CMD_FLAG_'. yes, literally one or more of those, that's the spec, slay βtokenβ Token of DPNI object. every DPNI's got its own token and this is how you tell the function which one you mean πqtypeβ Type of queue to retrieve configuration for. it's anenum dpni_queue_type, so pick your queue type and go off π¦layoutβ Returns buffer layout attributes. this is the output param bestie β you hand over astruct dpni_buffer_layout *and it gets filled in with the actual layout deets β¨
π RETURN
okay don't come for me but this section is literally empty in the original page π like the synopsis says it returns an int, but the RETURN section itself gives you nothing to work with. no error codes, no descriptions, nada. soβ¦ that's the tea, and I'm not gonna invent lore that isn't there π
π¦ SEE ALSO
first up, the kernel file where this lives β go read the source, it's giving main character energy:
Kernel file ./drivers/net/ethernet/freescale/dpaa2/dpni.c
and then literally the entire DPNI friend group, in order, no one left out π«Ά:
dpni_prepare_key_cfg(9)dpni_open(9)dpni_close(9)dpni_set_pools(9)dpni_enable(9)dpni_disable(9)dpni_is_enabled(9)dpni_reset(9)dpni_set_irq_enable(9)dpni_get_irq_enable(9)dpni_set_irq_mask(9)dpni_get_irq_mask(9)dpni_get_irq_status(9)dpni_clear_irq_status(9)dpni_get_attributes(9)dpni_set_errors_behavior(9)dpni_set_buffer_layout(9)dpni_set_offload(9)dpni_get_qdid(9)dpni_get_tx_data_offset(9)dpni_set_link_cfg(9)dpni_get_link_cfg(9)dpni_get_link_state(9)dpni_set_max_frame_length(9)dpni_get_max_frame_length(9)dpni_set_multicast_promisc(9)dpni_get_multicast_promisc(9)dpni_set_unicast_promisc(9)dpni_get_unicast_promisc(9)dpni_set_primary_mac_addr(9)dpni_get_primary_mac_addr(9)dpni_get_port_mac_addr(9)dpni_enable_vlan_filter(9)dpni_add_vlan_id(9)dpni_remove_vlan_id(9)dpni_add_mac_addr(9)dpni_remove_mac_addr(9)dpni_clear_mac_filters(9)dpni_set_rx_tc_dist(9)dpni_set_congestion_notification(9)dpni_set_queue(9)dpni_get_queue(9)dpni_get_statistics(9)dpni_set_taildrop(9)dpni_get_taildrop(9)dpni_get_api_version(9)dpni_set_rx_fs_dist(9)dpni_set_rx_hash_dist(9)dpni_add_fs_entry(9)dpni_remove_fs_entry(9)dpni_set_qos_table(9)dpni_add_qos_entry(9)dpni_remove_qos_entry(9)dpni_clear_qos_table(9)dpni_set_tx_shaping(9)dpni_get_single_step_cfg(9)dpni_set_single_step_cfg(9)
like, the whole roster. go read them, iykyk π
and that's the page bestie!! π little sign-off moment: this one's stamped from ./drivers/net/ethernet/freesca... (yes the footer literally truncates it with ..., we love a cliffhanger π) and it's dated October 2026. stay hydrated, read your kernel source, and remember β buffer layout doesn't lie πβ¨π₯
π¦ 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