Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace deprecated SOF_TIMESTAMPING_SYS_HARDWARE #727

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

shimonran
Copy link

Replace deprecated SOF_TIMESTAMPING_SYS_HARDWARE to enable hardware timestamp

@mcr
Copy link
Member

mcr commented Apr 25, 2019

When (what kernel/libc?) did new symbol become available?

@guyharris
Copy link
Member

Why not hardware time stamps for transmitted packets as well?

@infrastation
Copy link
Member

Does the proposed change still make sense?

@infrastation
Copy link
Member

For reference, this is the Linux kernel documentation that describes SOF_TIMESTAMPING_SYS_HARDWARE as "deprecated and ignored", below is a list of values from /usr/include/linux/net_tstamp.h:

/* SO_TIMESTAMPING gets an integer bit field comprised of these values */
enum {
        SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
        SOF_TIMESTAMPING_TX_SOFTWARE = (1<<1),
        SOF_TIMESTAMPING_RX_HARDWARE = (1<<2),
        SOF_TIMESTAMPING_RX_SOFTWARE = (1<<3),
        SOF_TIMESTAMPING_SOFTWARE = (1<<4),
        SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5),
        SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6),
        SOF_TIMESTAMPING_OPT_ID = (1<<7),
        SOF_TIMESTAMPING_TX_SCHED = (1<<8),
        SOF_TIMESTAMPING_TX_ACK = (1<<9),
        SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
        SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
        SOF_TIMESTAMPING_OPT_STATS = (1<<12),
        SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),
        SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),

        SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW,
        SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
                                 SOF_TIMESTAMPING_LAST
};

@nbergont
Copy link

nbergont commented Mar 2, 2023

This pull request seem totally legit. I have made some basic test and timestamp seem valid with this patch.

After some research :

  • Flag SOF_TIMESTAMPING_SYS_HARDWARE usage totally disappear between kernel version 3.16 and 3.17.
  • Flag SOF_TIMESTAMPING_RX_HARDWARE is used in Ethernet kernel driver to indicate hardware timestamp capability in ethtool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

None yet

5 participants