t4_query_params_rw(9)
π t4_query_params_rw(9) β like, the FW/device parameter query era π
okay so bestie, we're in the Kernel API Manual today and this page is all about t4_query_params_rw β a little function that goes and asks the firmware (or the device itself) "hey what's the value of these params?" no cap, it's giving tiny-but-powerful. let's get into it π
β¨ NAME β¨
t4_query_params_rw β query FW or device parameters π¦
πΈ SYNOPSIS πΈ
int t4_query_params_rw (struct adapter *adap , unsigned int mbox ,
unsigned int pf , unsigned int vf , unsigned int nparams , const u32
*params , u32 *val , int rw , bool sleep_ok );
π ARGUMENTS π
adapβ the adapter. literally the whole vibe, our main character π«mboxβ mailbox to use for the FW command. like, which inbox are we sliding into π¬pfβ the PFvfβ the VFnparamsβ the number of parametersparamsβ the parameter names. the actual list of what we're asking about π·οΈvalβ the parameter values. where the answers land, bestie π«Άrwβ Write and read flagsleep_okβ if true, we may sleep awaiting mbox cmd completion π΄ (yes, actually sleep β that's the whole point of the flag)
π₯ DESCRIPTION π₯
Reads the value of FW or device parameters. and the iconic detail: up to 7 parameters can be queried at once β seven. that's the limit. don't be greedy, the firmware said so ββ¨
π SEE ALSO π
the source lives here, iykyk:
Kernel file ./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
and here's the whole extended friend group, fr fr β every single one of them:
t4_wait_op_done_val(9),t4_set_reg_field(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)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),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)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)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)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)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_set_params_timeout(9),t4_set_params(9),t4_cfg_pfvf(9)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)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)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),t4_i2c_rd(9),t4_set_vlan_acl(9),modify_device_id(9),t4_load_boot(9),t4_flash_bootcfg_addr(9)
ok that's the whole page bestie, go query your params (max 7 at a time, respect the limit π) and slay π
source/section vibe: ./drivers/net/ethernet/chelsio... Β· dated October 2026 Β· and that's the footer, 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