__igb_access_emi_reg(9)
π
__igb_access_emi_reg β Kernel API Manual, bestie edition π
okay so real talk: the manual name on this one is literally Kernel API Manual, and the function we're obsessing over today is __igb_access_emi_reg. she's a little EMI register go-between and she ate. let's get into it β¨
πΈ NAME πΈ
__igb_access_emi_reg β Read/write EMI register
like. that's the whole vibe. you read it, you write it, you're iconic π
β¨ SYNOPSIS β¨
s32 __igb_access_emi_reg (struct e1000_hw *hw , u16 address , u16 *data
, bool read );
she returns an s32, no cap. π«Ά
π¦ ARGUMENTS π¦
so here's the group chat roll call β every single one of these matters, don't skip:
hwβ pointer to the HW structure. that's your hardware bff, she holds everything.addressβ the EMI address to program. you're telling her where to go πdataβ pointer to the value to read/write from/to the EMI address. note the pointer energy, she doesn't hold the value herself, she points at it. main character behavior fr fr.readβ a boolean flag to indicate read or write.true? reading. otherwise? writing. she's flexible like that π₯
β οΈ lowkey important:datais a pointer andreadpicks the direction. get those two confused and nothing slays. π
π SEE ALSO π
bestie the whole 82575/82580/i350 fam shows up here, plus the actual kernel file they live in. no gatekeeping, all links:
Kernel file ./drivers/net/ethernet/intel/igb/e1000_82575.c
igb_write_vfta_i350(9)igb_sgmii_uses_mdio_82575(9)igb_check_for_link_media_swap(9)igb_init_phy_params_82575(9)igb_init_nvm_params_82575(9)igb_init_mac_params_82575(9)igb_set_sfp_media_type_82575(9)igb_acquire_phy_82575(9)igb_release_phy_82575(9)igb_read_phy_reg_sgmii_82575(9)igb_write_phy_reg_sgmii_82575(9)igb_get_phy_id_82575(9)igb_phy_hw_reset_sgmii_82575(9)igb_set_d0_lplu_state_82575(9)igb_set_d0_lplu_state_82580(9)igb_set_d3_lplu_state_82580(9)igb_acquire_nvm_82575(9)igb_release_nvm_82575(9)igb_acquire_swfw_sync_82575(9)igb_release_swfw_sync_82575(9)igb_get_cfg_done_82575(9)igb_get_link_up_info_82575(9)igb_check_for_link_82575(9)igb_power_up_serdes_link_82575(9)igb_get_pcs_speed_and_duplex_82575(9)igb_shutdown_serdes_link_82575(9)igb_reset_hw_82575(9)igb_init_hw_82575(9)igb_setup_copper_link_82575(9)igb_setup_serdes_link_82575(9)igb_sgmii_active_82575(9)igb_reset_init_script_82575(9)igb_read_mac_addr_82575(9)igb_power_down_phy_copper_82575(9)igb_clear_hw_cntrs_82575(9)igb_rx_fifo_flush_82575(9)igb_set_pcie_completion_timeout(9)igb_vmdq_set_anti_spoofing_pf(9)igb_vmdq_set_loopback_pf(9)igb_vmdq_set_replication_pf(9)igb_read_phy_reg_82580(9)igb_write_phy_reg_82580(9)igb_reset_mdicnfg_82580(9)igb_reset_hw_82580(9)igb_rxpbs_adjust_82580(9)igb_validate_nvm_checksum_with_offset(9)igb_update_nvm_checksum_with_offset(9)igb_validate_nvm_checksum_82580(9)igb_update_nvm_checksum_82580(9)igb_validate_nvm_checksum_i350(9)igb_update_nvm_checksum_i350(9)igb_read_emi_reg(9)igb_set_eee_i350(9)igb_set_eee_i354(9)igb_get_eee_status_i354(9)igb_get_thermal_sensor_data_generic(9)igb_init_thermal_sensor_thresh_generic(9)
like, that's the whole friend group π every last one of them. iykyk π
okay that's the page!! π§ this cutie lives over at ./drivers/net/ethernet/intel/igb, and the version tag says October 2026 β so bestie is from the future, 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