e1000e_set_d3_lplu_state(9)
πΈ hey bestie, welcome to the e1000e_set_d3_lplu_state(9) glow-up πΈ
okay so this is a page straight out of the Kernel API Manual, and the main character is e1000e_set_d3_lplu_state(9) β yes the whole title, she's that girl π
. sit down, grab a strawberry drink π, and let's get into it because this little function is doing real power-management work and honestly? iconic.
β¨ NAME β¨
e1000e_set_d3_lplu_state β literally just sets the low power link up state for D3. that's the whole vibe. π¦
π SYNOPSIS π
s32 e1000e_set_d3_lplu_state (struct e1000_hw *hw , bool active );
so she takes two things and hands you back an s32. simple, clean, no cap. β¨
π ARGUMENTS π
hwβ pointer to the HW structure. like, the actual hardware situation. you gotta hand her the goods π«Άactiveβ a boolean, and it's the switch: enable or disable lplu. true = on, false = off, it's giving very binary of her π
π₯ DESCRIPTION π₯
okay so first things first, the return tea β:
Success returns 0, Failure returns 1
that's it. zero is the slay outcome, one means something went sideways π.
now the actual lore: the low power link up (lplu) state gets set to the power management level D3, and SmartSpeed is disabled, when active is true. otherwise β meaning when active isn't true β you clear lplu for D3 and you enable Smartspeed instead. so it's one or the other, always π.
and here's the key bit, bestie, do not miss this: LPLU and Smartspeed are mutually exclusive. they cannot coexist. it's givingex-energy π.
LPLU is the one you bring out during the Dx states, aka the moments where power conservation is the most important thing in the world π. but during driver activity? that's SmartSpeed's era β it should be enabled so performance is maintained. performance stays cute, periodt. π₯
π§ SEE ALSO π§
the kernel file in question, for the curious girlies:
Kernel file ./drivers/net/ethernet/intel/e1000e/phy.c
and now the full friend group π«Ά β every single one of these nerds is invited to the party:
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_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, that's a whole friend group and every single one of them made the list. we love a well-documented phy family π
okay that's the whole page, bestie!! mwah π
signed off from ./drivers/net/ethernet/intel/e... β October 2026 β stay low-power in D3, stay speedy during activity, and remember: LPLU and SmartSpeed can never be in the same room π
β¨π¦π
π¦ 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