From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
To: Jiawen Wu <jiawenwu@trustnetic.com>,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, richardcochran@gmail.com,
linux@armlinux.org.uk, horms@kernel.org,
jacob.e.keller@intel.com, netdev@vger.kernel.org
Cc: mengyuanlou@net-swift.com
Subject: Re: [PATCH net-next v2 2/4] net: wangxun: Implement get_ts_info
Date: Mon, 6 Jan 2025 10:28:45 +0000 [thread overview]
Message-ID: <7710d787-3fab-46bf-b6b5-0fd2ff627a65@linux.dev> (raw)
In-Reply-To: <20250106084506.2042912-3-jiawenwu@trustnetic.com>
On 06/01/2025 08:45, Jiawen Wu wrote:
> Implement the function get_ts_info in ethtool_ops which is needed to get
> the HW capabilities for timestamping.
>
> Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
> ---
> .../net/ethernet/wangxun/libwx/wx_ethtool.c | 35 +++++++++++++++++++
> .../net/ethernet/wangxun/libwx/wx_ethtool.h | 2 ++
> .../net/ethernet/wangxun/ngbe/ngbe_ethtool.c | 1 +
> .../ethernet/wangxun/txgbe/txgbe_ethtool.c | 1 +
> 4 files changed, 39 insertions(+)
>
> diff --git a/drivers/net/ethernet/wangxun/libwx/wx_ethtool.c b/drivers/net/ethernet/wangxun/libwx/wx_ethtool.c
> index c4b3b00b0926..27e6643509f6 100644
> --- a/drivers/net/ethernet/wangxun/libwx/wx_ethtool.c
> +++ b/drivers/net/ethernet/wangxun/libwx/wx_ethtool.c
> @@ -455,3 +455,38 @@ void wx_set_msglevel(struct net_device *netdev, u32 data)
> wx->msg_enable = data;
> }
> EXPORT_SYMBOL(wx_set_msglevel);
> +
> +int wx_get_ts_info(struct net_device *dev,
> + struct kernel_ethtool_ts_info *info)
> +{
> + struct wx *wx = netdev_priv(dev);
> +
> + info->rx_filters = BIT(HWTSTAMP_FILTER_NONE) |
> + BIT(HWTSTAMP_FILTER_PTP_V1_L4_SYNC) |
> + BIT(HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_L2_EVENT) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_L4_EVENT) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_SYNC) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_L2_SYNC) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_L4_SYNC) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_DELAY_REQ) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ) |
> + BIT(HWTSTAMP_FILTER_PTP_V2_EVENT);
> +
> + info->so_timestamping = SOF_TIMESTAMPING_TX_SOFTWARE |
> + SOF_TIMESTAMPING_TX_HARDWARE |
> + SOF_TIMESTAMPING_RX_HARDWARE |
> + SOF_TIMESTAMPING_RAW_HARDWARE;
> +
> + if (wx->ptp_clock)
> + info->phc_index = ptp_clock_index(wx->ptp_clock);
> + else
> + info->phc_index = -1;
> +
> + info->tx_types = BIT(HWTSTAMP_TX_OFF) |
> + BIT(HWTSTAMP_TX_ON);
> +
> + return 0;
> +}
> +EXPORT_SYMBOL(wx_get_ts_info);
> diff --git a/drivers/net/ethernet/wangxun/libwx/wx_ethtool.h b/drivers/net/ethernet/wangxun/libwx/wx_ethtool.h
> index 600c3b597d1a..7c3630e3e187 100644
> --- a/drivers/net/ethernet/wangxun/libwx/wx_ethtool.h
> +++ b/drivers/net/ethernet/wangxun/libwx/wx_ethtool.h
> @@ -40,4 +40,6 @@ int wx_set_channels(struct net_device *dev,
> struct ethtool_channels *ch);
> u32 wx_get_msglevel(struct net_device *netdev);
> void wx_set_msglevel(struct net_device *netdev, u32 data);
> +int wx_get_ts_info(struct net_device *dev,
> + struct kernel_ethtool_ts_info *info);
> #endif /* _WX_ETHTOOL_H_ */
> diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
> index e868f7ef4920..9270cf8e5bc7 100644
> --- a/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
> +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
> @@ -138,6 +138,7 @@ static const struct ethtool_ops ngbe_ethtool_ops = {
> .set_channels = ngbe_set_channels,
> .get_msglevel = wx_get_msglevel,
> .set_msglevel = wx_set_msglevel,
> + .get_ts_info = wx_get_ts_info,
> };
>
> void ngbe_set_ethtool_ops(struct net_device *netdev)
> diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
> index d98314b26c19..9f8df5b3aee0 100644
> --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
> +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
> @@ -529,6 +529,7 @@ static const struct ethtool_ops txgbe_ethtool_ops = {
> .set_rxnfc = txgbe_set_rxnfc,
> .get_msglevel = wx_get_msglevel,
> .set_msglevel = wx_set_msglevel,
> + .get_ts_info = wx_get_ts_info,
> };
>
> void txgbe_set_ethtool_ops(struct net_device *netdev)
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
next prev parent reply other threads:[~2025-01-06 10:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-06 8:45 [PATCH net-next v2 0/4] Support PTP clock for Wangxun NICs Jiawen Wu
2025-01-06 8:45 ` [PATCH net-next v2 1/4] net: wangxun: Add support for PTP clock Jiawen Wu
2025-01-06 10:35 ` Vadim Fedorenko
2025-01-07 2:01 ` Jiawen Wu
2025-01-06 8:45 ` [PATCH net-next v2 2/4] net: wangxun: Implement get_ts_info Jiawen Wu
2025-01-06 10:28 ` Vadim Fedorenko [this message]
2025-01-06 8:45 ` [PATCH net-next v2 3/4] net: wangxun: Implement do_aux_work of ptp_clock_info Jiawen Wu
2025-01-06 10:36 ` Vadim Fedorenko
2025-01-06 15:16 ` Richard Cochran
2025-01-06 21:35 ` Keller, Jacob E
2025-01-07 5:59 ` Jiawen Wu
2025-01-08 0:33 ` Keller, Jacob E
2025-01-08 2:52 ` Jiawen Wu
2025-01-08 6:28 ` Jiawen Wu
2025-01-08 18:09 ` Keller, Jacob E
2025-01-07 1:50 ` Jiawen Wu
2025-01-06 8:45 ` [PATCH net-next v2 4/4] net: ngbe: Add support for 1PPS and TOD Jiawen Wu
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=7710d787-3fab-46bf-b6b5-0fd2ff627a65@linux.dev \
--to=vadim.fedorenko@linux.dev \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jiawenwu@trustnetic.com \
--cc=kuba@kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mengyuanlou@net-swift.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.