e1000e_read_phy_reg_igp(9)
π e1000e_read_phy_reg_igp β like, the iconic igp PHY register reader
okay so real talk, this is a page from the Kernel API Manual and it's giving "deep internals but make it cute." Bestie, we're in the e1000e driver, and this function is literally the one that goes and reads an igp PHY register for you. Slay. π
β¨ NAME β¨
e1000e_read_phy_reg_igp β read igp PHY register. that's it, that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
s32 e1000e_read_phy_reg_igp (struct e1000_hw *hw , u32 offset , u16
*data );
yes bestie that really is the whole signature, no cap π
π ARGUMENTS π
hwβ pointer to the HW structure. it's the hardware bestie, the main character of the whole operation πoffsetβ register offset to be read. like, which register we're pulling the info out of π₯dataβ pointer to the read data. this is where the tea gets stored once it's been fetched π
π§ DESCRIPTION π§
okay so here's the tea, fr fr: the function acquires semaphore, then reads the PHY register at offset, and stores the retrieved information in data. then β and this part is important, don't forget it β it releases the acquired semaphore before exiting. so it's a grab-the-lock, do-the-read, put-the-lock-back situation. respectful. polite. iconique. β¨
ngl the semaphore part is the whole personality of this function β it does not just leave you holding the lock, bestie π«Ά
π SEE ALSO π
bestie. sit down. there are a lot of these and i'm not skipping a single one because every single one of them ate π
- Kernel file
./drivers/net/ethernet/intel/e1000e/phy.c
and then the whole friend group:
e1000e_check_reset_block_generic(9),e1000e_get_phy_id(9),e1000e_phy_reset_dsp(9),e1000e_read_phy_reg_mdic(9),e1000e_write_phy_reg_mdic(9),e1000e_read_phy_reg_m88(9),e1000e_write_phy_reg_m88(9),e1000_set_page_igp(9),__e1000e_read_phy_reg_igp(9),e1000e_read_phy_reg_igp_locked(9),__e1000e_write_phy_reg_igp(9),e1000e_write_phy_reg_igp(9),e1000e_write_phy_reg_igp_locked(9),__e1000_read_kmrn_reg(9),e1000e_read_kmrn_reg(9),e1000e_read_kmrn_reg_locked(9),__e1000_write_kmrn_reg(9),e1000e_write_kmrn_reg(9),e1000e_write_kmrn_reg_locked(9),e1000_set_master_slave_mode(9),e1000_copper_link_setup_82577(9),e1000e_copper_link_setup_m88(9),e1000e_copper_link_setup_igp(9),e1000_phy_setup_autoneg(9),e1000_copper_link_autoneg(9),e1000e_setup_copper_link(9),e1000e_phy_force_speed_duplex_igp(9),e1000e_phy_force_speed_duplex_m88(9),e1000_phy_force_speed_duplex_ife(9),e1000e_phy_force_speed_duplex_setup(9),e1000e_set_d3_lplu_state(9),e1000e_check_downshift(9),e1000_check_polarity_m88(9),e1000_check_polarity_igp(9),e1000_check_polarity_ife(9),e1000_wait_autoneg(9),e1000e_phy_has_link_generic(9),e1000e_get_cable_length_m88(9),e1000e_get_cable_length_igp_2(9),e1000e_get_phy_info_m88(9),e1000e_get_phy_info_igp(9),e1000_get_phy_info_ife(9),e1000e_phy_sw_reset(9),e1000e_phy_hw_reset_generic(9),e1000e_get_cfg_done_generic(9),e1000e_phy_init_script_igp3(9),e1000e_get_phy_type_from_id(9),e1000e_determine_phy_address(9),e1000_get_phy_addr_for_bm_page(9),e1000e_write_phy_reg_bm(9),e1000e_read_phy_reg_bm(9),e1000e_read_phy_reg_bm2(9),e1000e_write_phy_reg_bm2(9),e1000_enable_phy_wakeup_reg_access_bm(9),e1000_disable_phy_wakeup_reg_access_bm(9),e1000_access_phy_wakeup_reg_bm(9),e1000_power_up_phy_copper(9),e1000_power_down_phy_copper(9),__e1000_read_phy_reg_hv(9),e1000_read_phy_reg_hv(9),e1000_read_phy_reg_hv_locked(9),e1000_read_phy_reg_page_hv(9),__e1000_write_phy_reg_hv(9),e1000_write_phy_reg_hv(9),e1000_write_phy_reg_hv_locked(9),e1000_write_phy_reg_page_hv(9),e1000_get_phy_addr_for_hv_page(9),e1000_access_phy_debug_regs_hv(9),e1000_link_stall_workaround_hv(9),e1000_check_polarity_82577(9),e1000_phy_force_speed_duplex_82577(9),e1000_get_phy_info_82577(9),e1000_get_cable_length_82577(9)
like i said. the whole friend group. no one left behind π
π«Ά a lil sign-off π«Ά
this page lives at ./drivers/net/ethernet/intel/e... (yes it's abbreviated, that's how the footer rolls) and it's dated October 2026 β so future-core of it, honestly. stream e1000e_read_phy_reg_igp(9), it's in the Kernel API Manual, and remember: always release your semaphore, periodt. π
β¨π
π¦ 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