[net-next,v7,07/16] net_tstamp: Add TIMESTAMPING SOFTWARE and HARDWARE mask

Message ID 20231114-feature_ptp_netnext-v7-7-472e77951e40@bootlin.com
State New
Headers
Series net: Make timestamping selectable |

Commit Message

Köry Maincent Nov. 14, 2023, 11:28 a.m. UTC
  Timestamping software or hardware flags are often used as a group,
therefore adding these masks will easier future use.

I did not use SOF_TIMESTAMPING_SYS_HARDWARE flag as it is deprecated and
not use at all.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
 include/uapi/linux/net_tstamp.h | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Willem de Bruijn Nov. 14, 2023, 3:52 p.m. UTC | #1
Kory Maincent wrote:
> Timestamping software or hardware flags are often used as a group,
> therefore adding these masks will easier future use.
> 
> I did not use SOF_TIMESTAMPING_SYS_HARDWARE flag as it is deprecated and
> not use at all.
> 
> Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>

Reviewed-by: Willem de Bruijn <willemb@google.com>
  
Jakub Kicinski Nov. 19, 2023, 2:22 a.m. UTC | #2
On Tue, 14 Nov 2023 12:28:35 +0100 Kory Maincent wrote:
> Timestamping software or hardware flags are often used as a group,
> therefore adding these masks will easier future use.
> 
> I did not use SOF_TIMESTAMPING_SYS_HARDWARE flag as it is deprecated and
> not use at all.

Does this really need to be in uAPI?
  
Köry Maincent Nov. 20, 2023, 9:05 a.m. UTC | #3
On Sat, 18 Nov 2023 18:22:47 -0800
Jakub Kicinski <kuba@kernel.org> wrote:

> On Tue, 14 Nov 2023 12:28:35 +0100 Kory Maincent wrote:
> > Timestamping software or hardware flags are often used as a group,
> > therefore adding these masks will easier future use.
> > 
> > I did not use SOF_TIMESTAMPING_SYS_HARDWARE flag as it is deprecated and
> > not use at all.  
> 
> Does this really need to be in uAPI?

I have put it in the same place as SOF_TIMESTAMPING_* flags but indeed I am not
sure ethtool would need it.
I can move it to include/linux/net_tstamp.h and we will move back to uapi if
we see that it is necessary. What do you think?
  
Jakub Kicinski Nov. 20, 2023, 4:48 p.m. UTC | #4
On Mon, 20 Nov 2023 10:05:49 +0100 Köry Maincent wrote:
> > Does this really need to be in uAPI?  
> 
> I have put it in the same place as SOF_TIMESTAMPING_* flags but indeed I am not
> sure ethtool would need it.
> I can move it to include/linux/net_tstamp.h and we will move back to uapi if
> we see that it is necessary. What do you think?

include/linux/net_tstamp.h sounds better to me, Willem may disagree..
  
Willem de Bruijn Nov. 20, 2023, 4:51 p.m. UTC | #5
Jakub Kicinski wrote:
> On Mon, 20 Nov 2023 10:05:49 +0100 Köry Maincent wrote:
> > > Does this really need to be in uAPI?  
> > 
> > I have put it in the same place as SOF_TIMESTAMPING_* flags but indeed I am not
> > sure ethtool would need it.
> > I can move it to include/linux/net_tstamp.h and we will move back to uapi if
> > we see that it is necessary. What do you think?
> 
> include/linux/net_tstamp.h sounds better to me, Willem may disagree..

Sounds like the right home to me for non uapi timestamping, too.
  

Patch

diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h
index a2c66b3d7f0f..df8091998c8d 100644
--- a/include/uapi/linux/net_tstamp.h
+++ b/include/uapi/linux/net_tstamp.h
@@ -48,6 +48,14 @@  enum {
 					 SOF_TIMESTAMPING_TX_SCHED | \
 					 SOF_TIMESTAMPING_TX_ACK)
 
+#define SOF_TIMESTAMPING_SOFTWARE_MASK	(SOF_TIMESTAMPING_RX_SOFTWARE | \
+					 SOF_TIMESTAMPING_TX_SOFTWARE | \
+					 SOF_TIMESTAMPING_SOFTWARE)
+
+#define SOF_TIMESTAMPING_HARDWARE_MASK	(SOF_TIMESTAMPING_RX_HARDWARE | \
+					 SOF_TIMESTAMPING_TX_HARDWARE | \
+					 SOF_TIMESTAMPING_RAW_HARDWARE)
+
 /**
  * struct so_timestamping - SO_TIMESTAMPING parameter
  *