t3_mdio_change_bits(9)
π t3_mdio_change_bits β Kernel API Manual, bestie edition π
Okay so this one lives in the kernel API manual (section 9, for the uninitiated), and it's literally called t3_mdio_change_bits. Bestie. It changes bits. In a PHY register. It's giving "small function, big purpose" and honestly? We stan. β¨
πΈ NAME πΈ
t3_mdio_change_bits β modify the value of a PHY register π¦
β¨ SYNOPSIS β¨
int t3_mdio_change_bits (struct cphy *phy , int mmd , int reg , unsigned
int clear , unsigned int set );
Not me dropping the whole signature like it's a fit pic π β copy it exactly, no edits, that's the vibe.
π ARGUMENTS π
phyβ the PHY to operate on π§ (yes, the PHY, the main character)mmdβ the device addressregβ the register addressclearβ what part of the register value to mask off π«Άsetβ what part of the register value to set π
π DESCRIPTION π
So here's the tea: it changes the value of a PHY register by applying a mask to its current value and ORing the result with a new value. That's it, that's the whole flex. Read, mask, OR, slay. π
Lowkey iconic how much it does with so few words, ngl.
π₯ SEE ALSO π₯
Kernel file ./drivers/net/ethernet/chelsio/cxgb3/t3_hw.c β that's the home base, iykyk π
And then the whole friend group, fr fr:
t3_wait_op_done_val(9)t3_write_regs(9)t3_set_reg_field(9)t3_read_indirect(9)t3_mc7_bd_read(9)t3_phy_reset(9)t3_phy_advertise(9)t3_phy_advertise_fiber(9)t3_set_phy_speed_duplex(9)t3_seeprom_wp(9)get_vpd_params(9)sf1_read(9)sf1_write(9)flash_wait_op(9)t3_read_flash(9)t3_write_flash(9)t3_get_tp_version(9)t3_check_tpsram_version(9)t3_check_tpsram(9)t3_get_fw_version(9)t3_check_fw_version(9)t3_flash_erase_sectors(9)t3_load_fw(9)t3_cim_ctl_blk_read(9)t3_link_changed(9)t3_link_start(9)t3_set_vlan_accel(9)t3_handle_intr_status(9)t3_intr_enable(9)t3_intr_disable(9)t3_intr_clear(9)t3_port_intr_enable(9)t3_port_intr_disable(9)t3_port_intr_clear(9)t3_sge_write_context(9)clear_sge_ctxt(9)t3_sge_init_ecntxt(9)t3_sge_init_flcntxt(9)t3_sge_init_rspcntxt(9)t3_sge_init_cqcntxt(9)t3_sge_enable_ecntxt(9)t3_sge_disable_fl(9)t3_sge_disable_rspcntxt(9)t3_sge_disable_cqcntxt(9)t3_sge_cqcntxt_op(9)t3_config_rss(9)t3_tp_set_offload_mode(9)pm_num_pages(9)partition_mem(9)tp_set_timers(9)t3_tp_set_coalescing_size(9)t3_tp_set_max_rxsize(9)t3_load_mtus(9)t3_tp_get_mib_stats(9)t3_set_proto_sram(9)t3_config_sched(9)get_pci_mode(9)init_link_config(9)mc7_calc_size(9)
Every single one, no skips, we don't do that here πβ¨
Heads up bestie: this page comes from./drivers/net/ethernet/chelsio...and it's dated October 2026 β and yes, the page itself is literally namedt3_mdio_change_bits(9)at the bottom too. Cute of it. π
Okay that's the whole page, go forth and mask-and-OR your little hearts out π«ΆππΈ β signed, your resident Unix girlie who is lowkey obsessed with PHY registers now, no cap. π β
π¦ 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