e1000e_get_phy_id(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… e1000e_get_phy_id β€” Kernel API Manual ✨

okay so bestie, welcome to the Kernel API Manual entry for e1000e_get_phy_id πŸŽ€ this is the little function that goes "hey, who ARE you?" to your network PHY and writes down the answer. short page, iconic energy, let's get into it πŸ¦‹


🌸 NAME 🌸

e1000e_get_phy_id β€” retrieve the PHY ID and revision πŸ’…

like, it gets the ID. and the revision. that's the whole vibe check. slay.


✨ SYNOPSIS ✨

s32 e1000e_get_phy_id (struct e1000_hw *hw );

that's it. one function, one argument, returns an s32 (which is giving status-code energy, iykyk) πŸ’–


🫢 ARGUMENTS 🫢

  • hw β€” pointer to the HW structure πŸ‘‘ literally just a pointer to the hardware struct, that's the whole thing, no cap.

πŸ¦‹ DESCRIPTION πŸ¦‹

so what it does, fr fr: it reads the PHY registers and then it stores the PHY ID β€” and possibly the PHY revision β€” into the hardware structure 🧚

that "possibly" is doing a lot of heavy lifting bestie, don't come for me, it's what the page says 😭 the revision is a maybe, the ID is a definite. periodt.


🌈 SEE ALSO 🌈

first up, the actual file where this lives, in case you need to go touch grass and read the source:

Kernel file ./drivers/net/ethernet/intel/e1000e/phy.c

and now… the friend group πŸ‘―β€β™€οΈ this function does NOT exist in isolation, and the page is gonna make SURE you know it. here's every single one, exactly as listed, no edits, no skips, no "eh that one's boring" β€” all 70-ish of them, in order:

e1000e_check_reset_block_generic(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(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 group chat 😭 every single read, write, reset, polarity check and cable-length bestie is tagged in. go read them if you're nosy, that's valid πŸ’œ

ngl, that list is the main character of this page. the function itself is like three sentences. respect the lore tho πŸŽ€

and that's the page!! 🫢 source is ./drivers/net/ethernet/intel/e... and it's dated October 2026 β€” so this manual entry is from the future, lowkey iconic, we stan a forward-dated doc πŸ¦‹πŸ’– slay, bye bestie! ✨

πŸ“¦ where this page comes from