e1000_read_p...eg_hv_locked(9)
π e1000_read_phy_reg_hv_locked β the HV PHY register reader (kernel API manual, bestie edition) π
okay so first things first, the manual name is e1000_read_p...eg_hv_locked(9) β yes the title is truncated with dots, that's just how the kernel API manual rolls, we don't question it. And we're talking about a kernel API page here, so put your kernel hat on π
β¨ NAME β¨
e1000_read_phy_reg_hv_locked β reads an HV PHY register. that's the whole vibe. π
πΈ SYNOPSIS πΈ
s32 e1000_read_phy_reg_hv_locked (struct e1000_hw *hw , u32 offset , u16
*data );
like, it returns an s32, takes your hw struct, an offset, and a data pointer. simple. iconic. no notes. β
π¦ ARGUMENTS π¦
hwβ pointer to the HW structure. your hardware bestie, the one holding all the state π«Άoffsetβ the register offset to be read. this is literally where in the PHY you're looking πdataβ pointer to the read data. whatever gets read lands here, so have it ready π
π§ DESCRIPTION π§
So basically: it reads the PHY register sitting at offset, and it stores the retrieved information into data. that's it, that's the function. π
β οΈ and here's the important bit, no cap: it assumes the semaphore is already acquired. the _locked in the name is not decorative, bestie β you gotta already be holding the semaphore before you call this. don't come for this function without it π
π SEE ALSO π
Kernel file: ./drivers/net/ethernet/intel/e1000e/phy.c β that's where the whole squad lives π
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(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_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)
yeah that's the whole group chat, everybody's tagged π but fr fr, if you're poking at HV PHY registers, one of these is gonna be your next stop.
β¨ and that's a wrap, bestie β¨ this page ships out of ./drivers/net/ethernet/intel/e... and it's dated October 2026 β so yeah, future-dated kernel docs, we love to see it ππ slay, go read your registers (with the semaphore already held, obviously).
π¦ 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