e1000e_read_phy_reg_m88(9)
π e1000e_read_phy_reg_m88 β like, the whole vibe
Okay bestie, so we're in the Kernel API Manual today, and the star of the show is a kernel function called e1000e_read_phy_reg_m88(9). Yes it's a mouthful, no you don't have to say it out loud, but you do have to respect it. It reads an m88 PHY register. That's the whole thing. Let's get into it π
β¨ NAME β¨
e1000e_read_phy_reg_m88 β reads an m88 PHY register. That's her job, that's her whole personality, and she does it slayfully π
π¦ SYNOPSIS π¦
s32 e1000e_read_phy_reg_m88 (struct e1000_hw *hw , u32 offset , u16
*data );
She returns an s32, bestie. Remember that. It's giving "I might have opinions about how this went" π
πΈ ARGUMENTS πΈ
hwβ a pointer to the HW structure. Like, the actual hardware situation she's working with. Hand her the goods π«Άoffsetβ the register offset that's getting read. Which register? That one. The one at this offset, obviously πdataβ a pointer to the read data. This is where the retrieved info lands. She puts it here. That's her little delivery service π¦
π₯ DESCRIPTION π₯
So here's the tea: she acquires the semaphore if necessary, then reads the PHY register at offset, and stores the retrieved information in data. Iconic behavior. No notes.
And the way she's responsible about it? She releases any acquired semaphores before exiting. Like, she cleans up after herself, she doesn't leave the semaphore held, she's not that girl. Highkey main character energy with a conscience π
Just so we're clear, bestie: if a semaphore gets acquired at all, it's getting released before she leaves. That's non-negotiable. Periodt β¨
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/intel/e1000e/phy.c
And now the friend group β she rolls deep, okay? Like, deep deep. Every single one of these:
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_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. Deep friend group. She knows everyone ππ
And that's the page, bestie! This lil masterpiece comes from the Kernel API Manual, source file ./drivers/net/ethernet/intel/e..., dated October 2026. Go read a PHY register for me, mwah πΈπ§ββοΈ
π¦ 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