t4_read_cim_obq(9)
π t4_read_cim_obq β read the contents of a CIM outbound queue
okay so bestie, welcome to the Kernel API Manual β¨ this one's about t4_read_cim_obq, and it's honestly a whole vibe. grab a snack, we're reading a queue π
β¨ SYNOPSIS β¨
int t4_read_cim_obq (struct adapter *adap , unsigned int qid , u32 *data
, size_t n );
like, that's the whole signature. she's compact, she's iconic π
π ARGUMENTS π
adapβ the adapter. the main character of this whole operation πqidβ the queue index. which queue we're pulling from, iykykdataβ where to store the queue contents. this is the destination, she's empty and waiting π«Άnβ capacity ofdatain 32-bit words. so like, how much room you've got
πΈ DESCRIPTION πΈ
okay so here's what she does: this function reads the contents of the selected CIM queue, starting at address 0, going up to the capacity of data. no skipping ahead, we start from the very beginning, periodt β¨
β οΈ real talk:nmust be a multiple of4. that is not a suggestion, that's a rule, and she will not be flexible about it π
and the return value? it's giving dual-purpose:
- returns
< 0on error π - returns the number of 32-bit words actually read on success π₯
so like, don't just check for nonzero β check the sign, bestie. negative means something went wrong, positive means you ate and left no crumbs π
π¦ SEE ALSO π¦
first up, the source file herself:
- Kernel file
./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
and now the extended family β honestly there are so many of them, it's giving family reunion π
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_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)
like, every single one of them. no cap, that's the whole list π«Ά
okay that's the page!! mwah π this one came from ./drivers/net/ethernet/chelsio... and she's dated October 2026 β go read some queues, bestie, you're gonna slay ππ
π¦ 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