e1000e_systim_to_hwtstamp(9)
π e1000e_systim_to_hwtstamp(9) β ok bestie, let's talk time stamps β¨
so this is from the Kernel API Manual, and honestly? it's giving "niche but iconic." buckle up, we're converting system time into hw time stamps and it's gonna slay.
πΈ NAME πΈ
e1000e_systim_to_hwtstamp β literally the function that converts a system time value into a hw time stamp. no cap, that's the whole vibe. π
π SYNOPSIS π
void e1000e_systim_to_hwtstamp (struct e1000_adapter *adapter , struct
skb_shared_hwtstamps *hwtstamps , u64 systim );
like, that's the whole signature. copy it exactly, don't @ me. π«Ά
π¦ ARGUMENTS π¦
adapterβ the board private structure. it's the main character of this whole operation ngl. πhwtstampsβ the time stamp structure that's about to get updated. she's getting a glow-up, basically. β¨systimβ an unsigned 64bit system time value. yes bestie, 64 bits. big number energy. π₯
π DESCRIPTION π
okay so here's the tea: this function converts the system time value that's stored in the RX/TXSTMP registers into a hwtstamp β and that hwtstamp is what the upper level time stamping functions actually use. it's giving middleman but make it essential. π
and now the important part, bestie, don't skip this: the 'systim_lock' spinlock is used to protect the consistency of the system time value. why? because reading the 64 bit time value involves reading two 32 bit registers β and the first read latches the value. so yeah, the lock is there for a reason. consistency is the moment. π§
no cap: mess with the lock and you mess with time. and not in a cute way. π
β SEE ALSO β
the kernel file lives at ./drivers/net/ethernet/intel/e1000e/netdev.c β go visit her, she's lovely. π
and now, the friend group (aka every single one of these, fr fr, i'm not skipping a single one):
__ew32_prepare(9), e1000_regdump(9), e1000e_dump(9), e1000_desc_unused(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), e1000e_power_up_phy(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).
like i said β the whole friend group. every single one. periodt. π
okay that's the page, bestie β sending u the cutest sign-off ever: this one's from the Kernel API Manual, source vibes are ./drivers/net/ethernet/intel/e..., dated October 2026, and it's literally titled e1000e_systim_to_hwtstamp(9). stay consistent, protect ur spinlocks, and remember β first read latches the value. 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