velocity_mii_read(9)
π velocity_mii_read(9) β read MII data
okay so this is a page from the Kernel API Manual, section 9, and it's literally the entire personality of one tiny function. it's giving "small but mighty" and i'm obsessed. let's get into it, bestie π
β¨ NAME β¨
velocity_mii_read β read MII data π¦
πΈ SYNOPSIS πΈ
int velocity_mii_read (struct mac_regs __iomem *regs , u8 index , u16 *data );
π ARGUMENTS π
regsβ the velocity registers, like, the whole entire hardware vibe lives here π«Άindexβ the MII register index, aka which one you're trying to slide intodataβ a buffer for the received data, this is where the tea gets poured β
π§ DESCRIPTION π§
so what does it do? it performs a single read of an MII 16bit register. one read. no cap, that's it, that's the whole function π
it returns zero on success, or -ETIMEDOUT if the PHY did not respond π which, bestie, means the hardware ghosted you. rude. but like, at least it tells you.
ngl if you get -ETIMEDOUT the PHY is being a flop and not answering β that's the read failing, not you. π
π SEE ALSO π
first off, the kernel file this all lives in: ./drivers/net/ethernet/via/via-velocity.c β go read it, it's iconic β
and then the whole extended friend group, in order:
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)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_init_td_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)
like, that's a lot of siblings, but every single one of them ate π₯
and that's the page, bestie π«Ά this cutie came out of ./drivers/net/ethernet/via in October 2026, and it's filed under velocity_mii_read(9). go read an MII register for me, 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