t3_sge_init(9)
π t3_sge_init(9) β like, the SGE glow-up page β¨
Okay bestie, welcome to the Kernel API Manual entry for t3_sge_init β yes that's the function, and yes the manual section is 9 π. Buckle up, this one's short but she's important.
πΈ NAME πΈ
t3_sge_init β initialize SGE. That's it, that's the whole vibe. She initializes. Periodt. π
β¨ SYNOPSIS β¨
void t3_sge_init (struct adapter *adap , struct sge_params *p );
Literally the whole call. Two args, no return, no drama. π«Ά
π¦ ARGUMENTS π¦
adapβ the adapter. Yep. The actual network adapter struct we're doing all this for πpβ the SGE parameters. All the settings for the SGE live in here, so hand her over π
π₯ DESCRIPTION π₯
Okay so here's what's actually going down: this function performs SGE initialization, and it's the kind you need every single time after a chip reset β not a one-and-done situation, she comes back around π
But listen, two things she is not doing, and this is the important part:
- She does not initialize any of the queue sets here. Nope, not one. Instead, the driver top-level must request those individually β so like, that's somebody else's job, don't come for her π
- She also does not enable DMA here. That should be done after the queues have been set up β order matters, bestie, do not skip ahead β
Fr fr, read those two bullets again. No queue sets, no DMA. t3_sge_init handles the SGE setup after a chip reset and that is exactly her lane β the rest is on you π§
π SEE ALSO π
Kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c β and honestly, the whole friend group shows up here, so let's give them all their moment π
refill_rspq(9)need_skb_unmap(9)unmap_skb(9)free_tx_desc(9)reclaim_completed_tx(9)should_restart_tx(9)free_rx_bufs(9)add_one_rx_buf(9)refill_fl(9)recycle_rx_buf(9)alloc_ring(9)t3_reset_qset(9)t3_free_qset(9)init_qset_cntxt(9)sgl_len(9)flits_to_desc(9)get_packet(9)get_packet_pg(9)get_imm_packet(9)calc_tx_descs(9)write_sgl(9)check_ring_tx_db(9)write_wr_hdr_sgl(9)write_tx_pkt_wr(9)t3_eth_xmit(9)write_imm(9)check_desc_avail(9)reclaim_completed_tx_imm(9)ctrl_xmit(9)restart_ctrlq(9)deferred_unmap_destructor(9)write_ofld_wr(9)calc_tx_descs_ofld(9)ofld_xmit(9)restart_offloadq(9)queue_set(9)is_ctrl_pkt(9)t3_offload_tx(9)offload_enqueue(9)deliver_partial_bundle(9)ofld_poll(9)rx_offload(9)restart_tx(9)cxgb3_arp_process(9)rx_eth(9)lro_add_page(9)handle_rsp_cntrl_info(9)check_ring_db(9)is_new_response(9)process_responses(9)napi_rx_handler(9)process_pure_responses(9)handle_responses(9)t3_intr_handler(9)t3_sge_err_intr_handler(9)sge_timer_tx(9)sge_timer_rx(9)t3_update_qset_coalesce(9)t3_sge_alloc_qset(9)t3_start_sge_timers(9)t3_stop_sge_timers(9)t3_free_sge_resources(9)t3_sge_start(9)t3_sge_stop_dma(9)t3_sge_stop(9)t3_sge_prep(9)
Like, she knows everybody π
π sign-off π
This little baddie comes to you straight from ./drivers/net/ethernet/chelsio... and she was stamped October 2026 β go off, calendar icon π
β¨
Anyway, that's the page! SGE initialized, queues politely delegated, DMA left for later. Slay, t3_sge_init. ππ
π¦ 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