bar2_address(9)
π NAME π
okay so bestie, welcome to bar2_address(9) from the Kernel API Manual β and the whole mood is literally this: return the BAR2 address for an SGE Queue's Registers. slay. β¨
β¨ SYNOPSIS β¨
void __iomem * bar2_address (struct adapter *adapter , unsigned int qid
, enum t4_bar2_qtype qtype , unsigned int *pbar2_qid );
like, that's the call signature, no cap. π
π ARGUMENTS π
adapterβ the adapter. yes bestie, that's the whole vibe for this one. πqidβ the SGE Queue ID. keep it cute and keep it correct.qtypeβ the SGE Queue Type (Egress or Ingress). those are the two options, periodt.pbar2_qidβ BAR2 Queue ID or 0 for Queue ID inferred SGE Queues. so0is the inferred-queue-ID situation, iykyk. π¦
πΈ DESCRIPTION πΈ
okay so what does it actually do? It returns the BAR2 address for the SGE Queue Registers associated with qid. β¨ If BAR2 SGE Registers aren't available, it returns NULL β that's the "no registers for you" case, so handle it, bestie. π
It also returns the BAR2 Queue ID to be used with writes to the BAR2 SGE Queue Registers. If the BAR2 Queue ID is 0, then "Inferred Queue ID" Registers are supported (e.g. the Write Combining Doorbell Buffer). that's the whole tea, fr fr. π«Ά
β οΈ if BAR2 SGE Registers aren't available, the return is NULL β not a valid BAR2 address. don't ignore it. π
π¦ SEE ALSO π¦
the kernel file is ./drivers/net/ethernet/chelsio/cxgb4vf/sge.c. also peep these besties: get_buf_addr(9), is_buf_mapped(9), need_skb_unmap(9), txq_avail(9), fl_cap(9), fl_starving(9), map_skb(9), free_tx_desc(9), reclaim_completed_tx(9), get_buf_size(9), free_rx_bufs(9), unmap_rx_buf(9), ring_fl_db(9), set_rx_sw_desc(9), refill_fl(9), alloc_ring(9), sgl_len(9), flits_to_desc(9), is_eth_imm(9), calc_tx_flits(9), write_sgl(9), ring_tx_db(9), inline_tx_skb(9), t4vf_eth_xmit(9), copy_frags(9), t4vf_pktgl_to_skb(9), t4vf_pktgl_free(9), do_gro(9), t4vf_ethrx_handler(9), is_new_response(9), restore_rx_bufs(9), rspq_next(9), process_responses(9), napi_rx_handler(9), t4vf_intr_handler(9), sge_rx_timer_cb(9), sge_tx_timer_cb(9), t4vf_sge_alloc_rxq(9), t4vf_sge_alloc_eth_txq(9), t4vf_free_sge_resources(9), t4vf_sge_start(9), t4vf_sge_stop(9), t4vf_sge_init(9). the full list, no skips, you're welcome. πβ¨
that's the whole page, bestie. π«Ά this is from the Kernel API Manual, source/version ./drivers/net/ethernet/chelsio..., dated October 2026, and the page is bar2_address(9). byeee πβ¨
π¦ 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