t4_set_reg_field(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… t4_set_reg_field(9) β€” like, the Kernel API Manual page you actually want to read

okay bestie, welcome to the <pink>Kernel API Manual</pink> ✨ the star of today's episode is t4_set_reg_field(9) β€” the tiny little function that pokes one field of a register and minds its own business. she's small, she's focused, she's giving surgical precision energy πŸŽ€ let's get into it.


✨ NAME ✨

t4_set_reg_field β€” set a register field to a value πŸ”₯ that's it. that's the whole gig. she sets a field, she's a setter, she's booked and busy.


πŸ¦‹ SYNOPSIS πŸ¦‹

void t4_set_reg_field (struct adapter *adapter , unsigned int addr , u32
mask , u32 val );

no cap, that's the whole signature. four things in, nothing out β€” it's a void girlie, she does not return your texts πŸ’€


🌸 ARGUMENTS 🌸

  • adapter β€” the adapter to program πŸ’– like, this is which adapter you're messing with. your main character.
  • addr β€” the register address πŸ“ where exactly in the register map we're living today.
  • mask β€” specifies the portion of the register to modify πŸŽ€ the lil spotlight that says "only these bits, queen, don't touch the rest."
  • val β€” the new value for the register field ⭐ the actual new content going in there.

πŸ‘‘ DESCRIPTION πŸ‘‘

so what does she do? listen: it sets a register field specified by the supplied mask to the given val πŸ’… that's it. that's the tea. mask says where, val says what, and she handles it. lowkey iconic, highkey useful, 10/10 no notes 🫢


🌈 SEE ALSO 🌈

okay so this is the part where the manpage goes feral with cross-references and honestly? relatable. here's the whole squad, and yes, we are listing every single one 🧚

first up, the source file itself: ./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c

and then the friend group πŸ’œ

t4_wait_op_done_val(9), t4_read_indirect(9), t4_write_indirect(9), t4_record_mbox(9), t4_wr_mbox_meat_timeout(9), t4_memory_rw_init(9), t4_memory_update_win(9), t4_memory_rw_residual(9), t4_memory_rw(9), t4_get_regs_len(9), t4_get_regs(9), t4_eeprom_ptov(9), t4_seeprom_wp(9), t4_get_raw_vpd_params(9), t4_get_vpd_params(9), t4_get_pfres(9), sf1_read(9), sf1_write(9), flash_wait_op(9), t4_read_flash(9), t4_write_flash(9)

the version-reporting girlies πŸ“‹ t4_get_fw_version(9), t4_get_bs_version(9), t4_get_tp_version(9), t4_get_exprom_version(9), t4_get_vpd_version(9), t4_get_scfg_version(9), t4_get_version_info(9), t4_dump_version_info(9), t4_check_fw_version(9), t4_flash_erase_sectors(9), t4_flash_cfg_addr(9), t4_load_fw(9), t4_phy_fw_ver(9), t4_load_phy_fw(9), t4_fwcache(9), fwcaps16_to_caps32(9), fwcaps32_to_caps16(9)

link + interrupts + RSS gang πŸ”₯ t4_link_acaps(9), t4_link_l1cfg_core(9), t4_restart_aneg(9), t4_handle_intr_status(9), t4_slow_intr_handler(9), t4_intr_enable(9), t4_intr_disable(9), t4_config_rss_range(9), t4_config_glbl_rss(9), t4_config_vi_rss(9), t4_read_rss(9)

the TP / indirect-access crowd πŸŒ€ t4_tp_fw_ldst_rw(9), t4_tp_indirect_rw(9), t4_tp_pio_read(9), t4_tp_pio_write(9), t4_tp_tm_pio_read(9), t4_tp_mib_read(9), t4_read_rss_key(9), t4_write_rss_key(9), t4_read_rss_pf_config(9), t4_read_rss_vf_config(9), t4_read_rss_pf_map(9), t4_read_rss_pf_mask(9)

stats besties πŸ“Š t4_tp_get_tcp_stats(9), t4_tp_get_err_stats(9), t4_tp_get_cpl_stats(9), t4_tp_get_rdma_stats(9), t4_get_fcoe_stats(9), t4_get_usm_stats(9), t4_read_mtu_tbl(9), t4_read_cong_tbl(9), t4_tp_wr_bits_indirect(9), init_cong_ctrl(9), t4_load_mtus(9), t4_get_chan_txrate(9), t4_set_trace_filter(9), t4_get_trace_filter(9), t4_pmtx_get_stats(9), t4_pmrx_get_stats(9)

maps + port stuff πŸ—ΊοΈ compute_mps_bg_map(9), t4_get_mps_bg_map(9), t4_get_tp_e2c_map(9), t4_get_tp_ch_map(9), t4_get_port_type_description(9), t4_get_port_stats_offset(9), t4_get_port_stats(9), t4_get_lb_stats(9), t4_mdio_rd(9), t4_mdio_wr(9)

SGE + firmware handshake era πŸ’€ t4_sge_decode_idma_state(9), t4_sge_ctxt_flush(9), t4_read_sge_dbqtimers(9), t4_fw_hello(9), t4_fw_bye(9), t4_early_init(9), t4_fw_reset(9), t4_fw_halt(9), t4_fw_restart(9), t4_fw_upgrade(9), t4_fl_pkt_align(9), t4_fixup_host_params(9), t4_fw_initialize(9), t4_query_params_rw(9), t4_set_params_timeout(9), t4_set_params(9), t4_cfg_pfvf(9)

VI / MAC / filter crew πŸŽ€ t4_alloc_vi(9), t4_free_vi(9), t4_set_rxmode(9), t4_free_encap_mac_filt(9), t4_free_raw_mac_filt(9), t4_alloc_encap_mac_filt(9), t4_alloc_raw_mac_filt(9), t4_alloc_mac_filt(9), t4_free_mac_filt(9), t4_change_mac(9), t4_set_addr_hash(9), t4_enable_vi_params(9), t4_enable_vi(9), t4_enable_pi_params(9), t4_identify_port(9), t4_iq_stop(9), t4_iq_free(9), t4_eth_eq_free(9), t4_ctrl_eq_free(9), t4_ofld_eq_free(9)

link-status + adapter setup squad 🌟 t4_link_down_rc_str(9), fwcap_to_fwspeed(9), lstatus_to_fwcap(9), t4_handle_get_port_info(9), t4_update_port_info(9), t4_get_link_params(9), t4_handle_fw_rpl(9), init_link_config(9), t4_prep_adapter(9), t4_shutdown_adapter(9), t4_bar2_sge_qregs(9), t4_init_devlog_params(9), t4_init_sge_params(9), t4_init_tp_params(9), t4_filter_field_shift(9), t4_init_portinfo(9)

CIM / LA / monitor babes πŸ¦‹ t4_read_cimq_cfg(9), t4_read_cim_ibq(9), t4_read_cim_obq(9), t4_cim_read(9), t4_cim_write(9), t4_cim_read_la(9), t4_tp_read_la(9), t4_idma_monitor_init(9), t4_idma_monitor(9), t4_load_cfg(9), t4_set_vf_mac_acl(9), t4_read_pace_tbl(9), t4_get_tx_sched(9), t4_sge_ctxt_rd_bd(9)

and the last lil row of the group chat πŸ’– t4_i2c_rd(9), t4_set_vlan_acl(9), modify_device_id(9), t4_load_boot(9), t4_flash_bootcfg_addr(9)

fr fr that's all of them. i counted. don't come for me. πŸ™ˆ

and that's the page, bestie 🫢 this gem lives under ./drivers/net/ethernet/chelsio... (you know the rest, the path was right up there ✨) and it was dated October 2026 β€” so yes, she's recent, she's fresh, she's got main character energy πŸ‘‘ go forth and set those register fields, but like... only the masked bits. periodt πŸ’…πŸŽ€

πŸ“¦ where this page comes from