e1000e_power_up_phy(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– e1000e_power_up_phy β€” like, the Kernel API Manual page, bestie ✨

okay so this is e1000e_power_up_phy(9) from the Kernel API Manual, and honestly? she's a tiny little glow-up function with main character energy, so let's get into it 🫢


🌸 NAME 🌸

e1000e_power_up_phy β€” literally restores the link in case the phy was powered down πŸ’…


✨ SYNOPSIS ✨

void e1000e_power_up_phy (struct e1000_adapter *adapter );

no cap, that's the whole signature. one argument. she's lowkey minimalist πŸ”₯


πŸŽ€ ARGUMENTS πŸŽ€

  • adapter β€” address of board private structure. that's it, that's the whole vibe check β€” you just hand her the pointer and she does her thing πŸ¦‹

πŸ’œ DESCRIPTION πŸ’œ

so here's the lore: the phy may be powered down to save power and turn off link when the driver is unloaded and wake on lan is not enabled (among others). so like, the phy is napping 😴 β€” and this routine is the little "good morning queen" wake-up call 🌞

* this routine MUST be followed by a call to e1000e_reset * β€” like, not optional, not "eh maybe later", fr fr. this is a hard requirement, periodt. skip it and things get weird πŸ’€

think of it as: e1000e_power_up_phy wakes her up, e1000e_reset makes sure she's actually functioning. two-step routine, ikyk 😭


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/net/ethernet/intel/e1000e/netdev.c β€” that's where the source lives, go read it bestie πŸ“–

and here's the whole friend group, like an entire gc of related functions:

__ew32_prepare(9), e1000_regdump(9), e1000e_dump(9), e1000_desc_unused(9), e1000e_systim_to_hwtstamp(9), e1000e_rx_hwtstamp(9), e1000_receive_skb(9), e1000_rx_checksum(9), e1000_alloc_rx_buffers(9), e1000_alloc_rx_buffers_ps(9), e1000_alloc_jumbo_rx_buffers(9), e1000_clean_rx_irq(9), e1000e_tx_hwtstamp_work(9), e1000_clean_tx_irq(9), e1000_clean_rx_irq_ps(9), e1000_clean_jumbo_rx_irq(9), e1000_clean_rx_ring(9), e1000_intr_msi(9), e1000_intr(9), e1000_configure_msix(9), e1000e_set_interrupt_capability(9), e1000_request_msix(9), e1000_request_irq(9), e1000_irq_disable(9), e1000_irq_enable(9), e1000e_get_hw_control(9), e1000e_release_hw_control(9), e1000_alloc_ring_dma(9), e1000e_setup_tx_resources(9), e1000e_setup_rx_resources(9), e1000_clean_tx_ring(9), e1000e_free_tx_resources(9), e1000e_free_rx_resources(9), e1000_update_itr(9), e1000e_write_itr(9), e1000_alloc_queues(9), e1000e_poll(9), e1000e_vlan_filter_disable(9), e1000e_vlan_filter_enable(9), e1000e_vlan_strip_disable(9), e1000e_vlan_strip_enable(9), e1000_configure_tx(9), e1000_setup_rctl(9), e1000_configure_rx(9), e1000e_write_mc_addr_list(9), e1000e_write_uc_addr_list(9), e1000e_set_rx_mode(9), e1000e_get_base_timinca(9), e1000e_config_hwtstamp(9), e1000_configure(9), e1000_power_down_phy(9), e1000_flush_tx_ring(9), e1000_flush_rx_ring(9), e1000_flush_desc_rings(9), e1000e_systim_reset(9), e1000e_reset(9), e1000e_trigger_lsc(9), e1000e_down(9), e1000e_sanitize_systim(9), e1000e_read_systim(9), e1000e_cyclecounter_read(9), e1000_sw_init(9), e1000_intr_msi_test(9), e1000_test_msi_interrupt(9), e1000_test_msi(9), e1000e_open(9), e1000e_close(9), e1000_set_mac(9), e1000e_update_phy_task(9), e1000_update_phy_info(9), e1000e_update_phy_stats(9), e1000e_update_stats(9), e1000_phy_read_status(9), e1000_watchdog(9), e1000_tx_timeout(9), e1000e_get_stats64(9), e1000_change_mtu(9), e1000e_hwtstamp_set(9), __e1000e_disable_aspm(9), e1000e_disable_aspm(9), e1000e_disable_aspm_locked(9), e1000_netpoll(9), e1000_io_error_detected(9), e1000_io_slot_reset(9), e1000_io_resume(9), e1000_probe(9), e1000_remove(9), e1000_init_module(9), e1000_exit_module(9)

that's a LOT of besties, but every single one of them is invited to the party πŸ‘‘πŸŒˆ


k so that's the page!! πŸŽ€ this cutie comes from ./drivers/net/ethernet/intel/e... (the man page generator was like "we're not showing you the whole path, you don't need it" πŸ™ˆ) and she's dated October 2026, and the whole thing is signed e1000e_power_up_phy(9) β€” bye bestie, go call e1000e_reset right after, i'm literally begging you πŸ˜­πŸ’–

πŸ“¦ where this page comes from