igc_setup_mrqc(9)
β¨ igc_setup_mrqc β the igc_setup_mrqc(9) glow-up π
okay so we're in the Kernel API Manual today bestie, and the star of the show is igc_setup_mrqc(9) β the little function that handles the multiple receive queue control registers. yes it's a mouthful, no we're not changing the name, it's iconic as is π
πΈ NAME πΈ
igc_setup_mrqc β configure the multiple receive queue control registers
like, it literally sets up the MRQC registers. that's the whole vibe. no cap.
π¦ SYNOPSIS π¦
void igc_setup_mrqc (struct igc_adapter *adapter );
returns void, takes one pointer, does its little register dance and dips. main character energy fr fr β¨
π ARGUMENTS π
adapterβ the Board private structure. that's it. that's the one (1) argument. she's low maintenance, we love that for her π«Ά
π SEE ALSO π
okay this is the part where the page absolutely SPILLS the tea β there are SO many cross-references and honestly every single one of them ate. grab a snack, here we go:
the source file itself, obviously:
- the kernel file
./drivers/net/ethernet/intel/igc/igc_main.cβ go read it, it's giving lore π
link + hw control besties:
tx ring cleanup crew (they keep it tidy):
igc_clean_tx_ring(9),igc_free_tx_resources(9),igc_free_all_tx_resources(9),igc_clean_all_tx_rings(9),igc_disable_all_tx_rings_hw(9),igc_setup_tx_resources(9),igc_setup_all_tx_resources(9)
rx ring cleanup crew (equally tidy, equally beloved):
igc_clean_rx_ring(9),igc_clean_all_rx_rings(9),igc_free_rx_resources(9),igc_free_all_rx_resources(9),igc_setup_rx_resources(9),igc_setup_all_rx_resources(9)
configure era (rings and control registers):
igc_configure_rx_ring(9),igc_configure_rx(9),igc_configure_tx_ring(9),igc_configure_tx(9),igc_setup_rctl(9),igc_setup_tctl(9)
mac filter + multicast address stuff:
rx processing pipeline (where the packets get their moment):
igc_process_skb_fields(9),igc_add_rx_frag(9),igc_reuse_rx_page(9),igc_is_non_eop(9),igc_cleanup_headers(9),igc_alloc_rx_buffers(9),igc_clean_tx_irq(9)
filter management, both adding and deleting, because balance:
igc_add_mac_filter(9),igc_del_mac_filter(9),igc_add_vlan_prio_filter(9),igc_del_vlan_prio_filter(9),igc_add_etype_filter(9),igc_del_etype_filter(9),igc_get_nfc_rule(9),igc_del_nfc_rule(9),igc_add_nfc_rule(9),igc_enable_empty_addr_recv(9),igc_set_rx_mode(9),igc_configure(9)
interrupts, vectors and itr β the whole msix cinematic universe:
igc_write_ivar(9),igc_configure_msix(9),igc_irq_enable(9),igc_irq_disable(9),igc_reset_q_vector(9),igc_free_q_vector(9),igc_free_q_vectors(9),igc_update_itr(9),igc_set_interrupt_capability(9),igc_update_ring_itr(9),igc_cache_ring_register(9),igc_poll(9),igc_alloc_q_vector(9),igc_alloc_q_vectors(9),igc_init_interrupt_scheme(9)
lifecycle, stats, open/close, error handling β the full character arc:
igc_sw_init(9),igc_up(9),igc_update_stats(9),igc_down(9),igc_change_mtu(9),igc_tx_timeout(9),igc_get_stats64(9),igc_msix_other(9),igc_request_msix(9),igc_clear_interrupt_scheme(9),igc_has_link(9),igc_watchdog(9),igc_intr_msi(9),igc_intr(9),igc_request_irq(9),__igc_open(9),__igc_close(9),igc_probe(9),igc_remove(9),igc_io_error_detected(9),igc_io_slot_reset(9),igc_io_resume(9),igc_reinit_queues(9),igc_get_hw_dev(9),igc_init_module(9),igc_exit_module(9)
bestie that's the entire friend group. every single one linked, none skipped, that's the rule π
and that's the page! no warnings, no bugs section, no environment variables β she's short and sweet and we respect her for it π
sign-off time π: this little beauty lives in the source tree at ./drivers/net/ethernet/intel/igc, and it's stamped October 2026. go forth, configure those multiple receive queue control registers, and 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