t3_write_regs(9)
π t3_write_regs β the Kernel API Manual, but make it cute β¨
okay so bestie, you know how sometimes you have a whole pile of registers to write and you're like "ugh, one at a time??" π yeah. this is the function that eats the whole pile at once. she's giving efficiency icon, no cap π
πΈ SYNOPSIS πΈ
void t3_write_regs (struct adapter *adapter , const struct addr_val_pair
*p , int n , unsigned int offset );
literally the whole signature. memorise it, screenshot it, put it on your lock screen π
β¨ ARGUMENTS β¨
adapterβ the adapter you're programming, aka the main character here π she's the one getting all the shiny new register values.pβ an array of register address/register value pairs. like a little matchmaking list: this address, this value, forever together πnβ the number of address/value pairs. how many little couples are in that array, fr fr.offsetβ register address offset. a lil nudge added to the addresses, iykyk.
π¦ DESCRIPTION π¦
so here's the vibe: t3_write_regs takes an array of register address/register value pairs, and writes each value to the corresponding register π« that's it, that's the whole thing, and honestly? she ate.
and the register addresses? they get adjusted by the supplied offset β¨ so everything shifts together, all coordinated, all aesthetic. no scrambling, no forgetting one. she does them all.
bestie this is a void function β no return value, no exit status, nothing to check. she just does the writes and moves on with her life π«Ά
π₯ SEE ALSO π₯
the whole friend group, and yes you should follow every single one of them, they're all iconic π
- kernel file
./drivers/net/ethernet/chelsio/cxgb3/t3_hw.cβ the mothership, go read her π§ t3_wait_op_done_val(9)t3_set_reg_field(9)t3_read_indirect(9)t3_mc7_bd_read(9)t3_mdio_change_bits(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)
(no, that's not a typo, that's just how many friends she has π and they're ALL in the list, don't skip any, i'm watching π)
that's the page, bestie, you're so welcome π this one's sourced from ./drivers/net/ethernet/chelsio... and dated October 2026 β yes, the future is now, and honestly? t3_write_regs was ready for it πβ¨
π¦ 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