velocity_init_td_ring(9)
π velocity_init_td_ring β the Kernel API Manual glow-up π
okay so bestie, we're in the (9) section today β that's kernel API territory, not your usual "how do I run this command" situation, so buckle up π¦ this one lives in the via-velocity ethernet driver and it's literally the function that gets your transmit ring all set up and cute.
πΈ NAME πΈ
velocity_init_td_ring β set up transmit ring π«
like, that's the whole job. it sets up the transmit ring. iconic behaviour, no notes.
β¨ SYNOPSIS β¨
int velocity_init_td_ring (struct velocity_info *vptr );
that's it, that's the signature β one pointer in, one int out, we love a clean entry point π«Ά
π ARGUMENTS π
vptrβ velocity
(yeah the original really just says "velocity" and honestly? main character energy of it to say so little. it's the struct velocity_info * for the device you're working on π
)
π DESCRIPTION π
okay so here's the tea π β this function sets up the transmit ring and chains the ring pointers together. that's the whole thing. it's a setup function, it does setup things.
and the return value? listen up:
- returns zero on success β slay, we love a
0π - returns a negative posix errno code on failure β so if it goes wrong you get a negative errno back, not some made-up number, it's a real posix errno code π
no cap: check the return value. a negative errno is your vibe check failing, and the transmit ring is not gonna chain itself together nicely if setup bailed.
π₯ SEE ALSO π₯
first up, the actual source file this thing lives in β go read it, it's right there:
Kernel file ./drivers/net/ethernet/via/via-velocity.c
and now the whole friend group π (yes, all of them, I'm not leaving anyone out):
mac_get_cam_mask(9)mac_set_cam_mask(9)mac_set_cam(9)mac_wol_reset(9)get_chip_name(9)velocity_set_int_opt(9)velocity_set_bool_opt(9)velocity_get_options(9)velocity_init_cam_filter(9)velocity_rx_reset(9)velocity_get_opt_media_mode(9)safe_disable_mii_autopoll(9)enable_mii_autopoll(9)velocity_mii_read(9)mii_check_media_mode(9)velocity_mii_write(9)set_mii_flow_control(9)mii_set_auto_on(9)velocity_set_media_mode(9)velocity_print_link_status(9)enable_flow_control_ability(9)velocity_soft_reset(9)velocity_set_multi(9)mii_init(9)setup_queue_timers(9)setup_adaptive_interrupts(9)velocity_init_registers(9)velocity_init_dma_rings(9)velocity_alloc_rx_buf(9)velocity_free_rd_ring(9)velocity_init_rd_ring(9)velocity_free_dma_rings(9)velocity_free_tx_buf(9)velocity_free_td_ring(9)velocity_error(9)velocity_tx_srv(9)velocity_rx_csum(9)velocity_rx_copy(9)velocity_iph_realign(9)velocity_receive_frame(9)velocity_rx_srv(9)velocity_intr(9)velocity_open(9)velocity_shutdown(9)velocity_change_mtu(9)velocity_poll_controller(9)velocity_mii_ioctl(9)velocity_ioctl(9)velocity_get_stats(9)velocity_close(9)velocity_xmit(9)velocity_init_info(9)velocity_get_pci_info(9)velocity_get_platform_info(9)velocity_print_info(9)velocity_probe(9)velocity_remove(9)wol_calc_crc(9)velocity_set_wol(9)velocity_save_context(9)velocity_restore_context(9)velocity_ethtool_up(9)velocity_ethtool_down(9)velocity_init_module(9)velocity_cleanup_module(9)
iykyk π
π reminder bestie: this is a (9) kernel API page, so the "return value" chat is for kernel code calling this, not for you in a shell. different world, same drama.
okay that's the page!! mwah π«Ά this one's from ./drivers/net/ethernet/via, dated October 2026, and it's velocity_init_td_ring(9) β go chain those ring pointers together, you absolute icon πβ¨πΈ
π¦ 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