LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Yangbo Lu <yangbo.lu@nxp.com> To: netdev@vger.kernel.org Cc: Yangbo Lu <yangbo.lu@nxp.com>, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, mptcp@lists.linux.dev, Richard Cochran <richardcochran@gmail.com>, "David S . Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Mat Martineau <mathew.j.martineau@linux.intel.com>, Matthieu Baerts <matthieu.baerts@tessares.net>, Shuah Khan <shuah@kernel.org>, Michal Kubecek <mkubecek@suse.cz>, Florian Fainelli <f.fainelli@gmail.com>, Andrew Lunn <andrew@lunn.ch>, Rui Sousa <rui.sousa@nxp.com>, Sebastien Laveze <sebastien.laveze@nxp.com> Subject: [net-next, v5, 09/11] net: socket: support hardware timestamp conversion to PHC bound Date: Wed, 30 Jun 2021 16:12:00 +0800 [thread overview] Message-ID: <20210630081202.4423-10-yangbo.lu@nxp.com> (raw) In-Reply-To: <20210630081202.4423-1-yangbo.lu@nxp.com> This patch is to support hardware timestamp conversion to PHC bound. This applies to both RX and TX since their skb handling (for TX, it's skb clone in error queue) all goes through __sock_recv_timestamp. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> --- Changes for v3: - Added this patch. Changes for v4: - None. Changes for v5: - None. --- net/socket.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/net/socket.c b/net/socket.c index bd9233da2497..0b2dad3bdf7f 100644 --- a/net/socket.c +++ b/net/socket.c @@ -104,6 +104,7 @@ #include <linux/sockios.h> #include <net/busy_poll.h> #include <linux/errqueue.h> +#include <linux/ptp_clock_kernel.h> #ifdef CONFIG_NET_RX_BUSY_POLL unsigned int sysctl_net_busy_read __read_mostly; @@ -873,12 +874,18 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk, empty = 0; if (shhwtstamps && (sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE) && - !skb_is_swtx_tstamp(skb, false_tstamp) && - ktime_to_timespec64_cond(shhwtstamps->hwtstamp, tss.ts + 2)) { - empty = 0; - if ((sk->sk_tsflags & SOF_TIMESTAMPING_OPT_PKTINFO) && - !skb_is_err_queue(skb)) - put_ts_pktinfo(msg, skb); + !skb_is_swtx_tstamp(skb, false_tstamp)) { + if (sk->sk_tsflags & SOF_TIMESTAMPING_BIND_PHC) + ptp_convert_timestamp(shhwtstamps, sk->sk_bind_phc); + + if (ktime_to_timespec64_cond(shhwtstamps->hwtstamp, + tss.ts + 2)) { + empty = 0; + + if ((sk->sk_tsflags & SOF_TIMESTAMPING_OPT_PKTINFO) && + !skb_is_err_queue(skb)) + put_ts_pktinfo(msg, skb); + } } if (!empty) { if (sock_flag(sk, SOCK_TSTAMP_NEW)) -- 2.25.1
next prev parent reply other threads:[~2021-06-30 8:02 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-30 8:11 [net-next, v5, 00/11] ptp: support virtual clocks and timestamping Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 01/11] ptp: add ptp virtual clock driver framework Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 02/11] ptp: support ptp physical/virtual clocks conversion Yangbo Lu 2021-07-04 10:25 ` [ptp] becdd56786: BUG:kernel_NULL_pointer_dereference,address kernel test robot 2021-08-07 1:15 ` [net-next, v5, 02/11] ptp: support ptp physical/virtual clocks conversion Vinicius Costa Gomes 2021-08-07 14:22 ` Richard Cochran 2021-08-07 14:43 ` Vladimir Oltean 2021-08-07 20:56 ` Richard Cochran 2021-06-30 8:11 ` [net-next, v5, 03/11] ptp: track available ptp vclocks information Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 04/11] ptp: add kernel API ptp_get_vclocks_index() Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 05/11] ethtool: add a new command for getting PHC virtual clocks Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 06/11] ptp: add kernel API ptp_convert_timestamp() Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 07/11] mptcp: setsockopt: convert to mptcp_setsockopt_sol_socket_timestamping() Yangbo Lu 2021-06-30 8:11 ` [net-next, v5, 08/11] net: sock: extend SO_TIMESTAMPING for PHC binding Yangbo Lu 2021-07-04 13:33 ` Richard Cochran 2021-07-05 8:19 ` Y.b. Lu 2021-07-05 18:44 ` Richard Cochran 2021-06-30 8:12 ` Yangbo Lu [this message] 2021-06-30 8:12 ` [net-next, v5, 10/11] selftests/net: timestamping: support binding PHC Yangbo Lu 2021-06-30 8:12 ` [net-next, v5, 11/11] MAINTAINERS: add entry for PTP virtual clock driver Yangbo Lu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210630081202.4423-10-yangbo.lu@nxp.com \ --to=yangbo.lu@nxp.com \ --cc=andrew@lunn.ch \ --cc=davem@davemloft.net \ --cc=f.fainelli@gmail.com \ --cc=kuba@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=mathew.j.martineau@linux.intel.com \ --cc=matthieu.baerts@tessares.net \ --cc=mkubecek@suse.cz \ --cc=mptcp@lists.linux.dev \ --cc=netdev@vger.kernel.org \ --cc=richardcochran@gmail.com \ --cc=rui.sousa@nxp.com \ --cc=sebastien.laveze@nxp.com \ --cc=shuah@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).