t4_i2c_rd(9)
π t4_i2c_rd(9) π
okay so bestie, buckle up β this is a page from the Kernel API Manual, and the star of the show is t4_i2c_rd. yes, we're reading I2C data from an adapter. it's giving hardware whisperer energy and honestly? iconic. π
β¨ NAME β¨
t4_i2c_rd β read I2C data from adapter π¦
πΈ SYNOPSIS πΈ
int t4_i2c_rd (struct adapter *adap , unsigned int mbox , int port ,
unsigned int devid , unsigned int offset , unsigned int len , u8 *buf );
π ARGUMENTS π
like, seven whole params. she's thorough. let's go one by one, no skipping:
adapβ the adapter. the whole main character of this operation tbh.mboxβ the mailbox to use for the FW command. yes, FW = firmware, and yes, she has her own mailbox, we love a queen with correspondence. πportβ the port number, but only if it's a per-port device. if it's not? pass<0. lowkey important, don't forget. πdevidβ either a per-port device ID or an absolute device ID. pick your flavor. β¨offsetβ the byte offset into the device's I2C space. it's giving "where exactly do you want me to look" energy. πlenβ the byte length of the I2C space data. basically how much you're grabbing. πbufβ the buffer where the I2C data comes home to roost. this is where the good stuff lands. π«Ά
π DESCRIPTION π
okay so here's the whole vibe, fr fr: this function reads the I2C data from the indicated device and location. that's it, that's the tea. you point at a device, you point at a spot in it, and she brings the bytes back in buf. simple, elegant, slay. π
π SEE ALSO π
the friend group is huge. like genuinely enormous. here's every single one, bestie, in order, because we don't gatekeep:
Kernel file ./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
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_query_params_rw(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_set_vlan_acl(9),modify_device_id(9),t4_load_boot(9),t4_flash_bootcfg_addr(9)
ngl, that's a lot of friends. but every single one of them ate, and they all deserve their spot. πβ¨
and that's the whole page, bestie! this one came from ./drivers/net/ethernet/chelsio... β yeah, the path gets cut off, that's just how it is, don't come for her π«Ά β and it's dated October 2026, filed under t4_i2c_rd(9) in the Kernel API Manual. go read some I2C bytes 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