e1000e_config_hwtstamp(9)
π e1000e_config_hwtstamp(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β today's main character is e1000e_config_hwtstamp, and yes, the manual name is literally baked into the title up there, iykyk π
πΈ NAME πΈ
e1000e_config_hwtstamp β configure the hwtstamp registers and enable/disable π¦
β SYNOPSIS β
int e1000e_config_hwtstamp (struct e1000_adapter *adapter , struct
kernel_hwtstamp_config *config , struct netlink_ext_ack *extack );
π ARGUMENTS π
adapterβ the board private structure, aka where all the driver's private business lives πconfigβ the timestamp configuration, this is the vibe check for how timestamping should behave β¨extackβ netlink extended ACK, so errors can get reported back properly π
π₯ DESCRIPTION π₯
Outgoing time stamping can be enabled and disabled, no cap. Play nice and disable it when requested β like, it shouldn't cause any overhead when no packet needs it anyway, so there's truly no reason to be dramatic about it π . Real talk though: at most one packet in the queue may be marked for time stamping. Why? Because otherwise it would be impossible to tell for sure which packet the hardware time stamp belongs to π and that's the whole point, bestie.
Incoming time stamping has to be configured via the hardware filters β that's just how it is π§. Heads up: not all combinations are supported, and in particular the event type has to be specified fr fr. Also, matching the kind of event packet is not</> supported, with exactly one exception: "all V2 events regardless of level 2 or 4" π
ok so quick recap of the receipts: outgoing = one marked packet max, incoming = hardware filters only, event type = mandatory, event-kind matching = nope except that one V2 case. Slay. β
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/e1000e/netdev.c β the source of truth, go read it π«Ά
__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), 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)
π one (1) tiny warning babe: incoming timestamping configurations are not all supported β event type is mandatory, and event-kind matching is off the table except for that single V2-events-regardless-of-level-2-or-4 case. Do not come for me if you ignore this, I warned you π
k that's the whole page, mwah π β this little love letter came from ./drivers/net/ethernet/intel/e... and it's dated October 2026, so go forth and timestamp responsibly, bestie π¦πβ¨
π¦ 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