[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240829144253.122215-2-gal@nvidia.com>
Date: Thu, 29 Aug 2024 17:42:52 +0300
From: Gal Pressman <gal@...dia.com>
To: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>
CC: <netdev@...r.kernel.org>, Jay Vosburgh <jv@...sburgh.net>, Andy Gospodarek
<andy@...yhouse.net>, Marc Kleine-Budde <mkl@...gutronix.de>, Vincent Mailhol
<mailhol.vincent@...adoo.fr>, Shyam Sundar S K <Shyam-sundar.S-k@....com>,
Sudarsana Kalluru <skalluru@...vell.com>, Manish Chopra
<manishc@...vell.com>, Michael Chan <michael.chan@...adcom.com>, Pavan Chebbi
<pavan.chebbi@...adcom.com>, Nicolas Ferre <nicolas.ferre@...rochip.com>,
Claudiu Beznea <claudiu.beznea@...on.dev>, Sunil Goutham
<sgoutham@...vell.com>, Potnuri Bharat Teja <bharat@...lsio.com>, "Christian
Benvenuti" <benve@...co.com>, Satish Kharat <satishkh@...co.com>, "Claudiu
Manoil" <claudiu.manoil@....com>, Vladimir Oltean <vladimir.oltean@....com>,
Wei Fang <wei.fang@....com>, Shenwei Wang <shenwei.wang@....com>, Clark Wang
<xiaoning.wang@....com>, Dimitris Michailidis <dmichail@...gible.com>, "Yisen
Zhuang" <yisen.zhuang@...wei.com>, Salil Mehta <salil.mehta@...wei.com>,
"Jijie Shao" <shaojijie@...wei.com>, Tony Nguyen
<anthony.l.nguyen@...el.com>, Przemek Kitszel <przemyslaw.kitszel@...el.com>,
Marcin Wojtas <marcin.s.wojtas@...il.com>, Russell King
<linux@...linux.org.uk>, "Geetha sowjanya" <gakula@...vell.com>, Subbaraya
Sundeep <sbhatta@...vell.com>, hariprasad <hkelam@...vell.com>, Ido Schimmel
<idosch@...dia.com>, "Petr Machata" <petrm@...dia.com>, Bryan Whitehead
<bryan.whitehead@...rochip.com>, <UNGLinuxDriver@...rochip.com>, Horatiu
Vultur <horatiu.vultur@...rochip.com>, Lars Povlsen
<lars.povlsen@...rochip.com>, Steen Hegelund <Steen.Hegelund@...rochip.com>,
Daniel Machon <daniel.machon@...rochip.com>, Alexandre Belloni
<alexandre.belloni@...tlin.com>, Shannon Nelson <shannon.nelson@....com>,
Brett Creeley <brett.creeley@....com>, Sergey Shtylyov <s.shtylyov@....ru>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
Niklas Söderlund <niklas.soderlund@...natech.se>, "Edward
Cree" <ecree.xilinx@...il.com>, Martin Habets <habetsm.xilinx@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>, Jose Abreu
<joabreu@...opsys.com>, Maxime Coquelin <mcoquelin.stm32@...il.com>,
Siddharth Vadapalli <s-vadapalli@...com>, Roger Quadros <rogerq@...nel.org>,
MD Danish Anwar <danishanwar@...com>, Linus Walleij <linusw@...nel.org>,
"Imre Kaloz" <kaloz@...nwrt.org>, Richard Cochran <richardcochran@...il.com>,
"Willem de Bruijn" <willemdebruijn.kernel@...il.com>, Gal Pressman
<gal@...dia.com>, Rahul Rameshbabu <rrameshbabu@...dia.com>
Subject: [PATCH net-next 1/2] ethtool: RX software timestamp for all
All devices support SOF_TIMESTAMPING_RX_SOFTWARE by virtue of
net_timestamp_check() being called in the device independent code.
Move the responsibility of reporting SOF_TIMESTAMPING_RX_SOFTWARE and
SOF_TIMESTAMPING_SOFTWARE, and setting PHC index to -1 to the core.
Device drivers no longer need to use them.
Suggested-by: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Link: https://lore.kernel.org/netdev/661550e348224_23a2b2294f7@willemb.c.googlers.com.notmuch/
Co-developed-by: Rahul Rameshbabu <rrameshbabu@...dia.com>
Signed-off-by: Rahul Rameshbabu <rrameshbabu@...dia.com>
Signed-off-by: Gal Pressman <gal@...dia.com>
---
net/ethtool/common.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/net/ethtool/common.c b/net/ethtool/common.c
index 7257ae272296..aa7010f97152 100644
--- a/net/ethtool/common.c
+++ b/net/ethtool/common.c
@@ -695,20 +695,21 @@ int __ethtool_get_ts_info(struct net_device *dev, struct kernel_ethtool_ts_info
{
const struct ethtool_ops *ops = dev->ethtool_ops;
struct phy_device *phydev = dev->phydev;
+ int err = 0;
memset(info, 0, sizeof(*info));
info->cmd = ETHTOOL_GET_TS_INFO;
-
- if (phy_is_default_hwtstamp(phydev) && phy_has_tsinfo(phydev))
- return phy_ts_info(phydev, info);
- if (ops->get_ts_info)
- return ops->get_ts_info(dev, info);
-
- info->so_timestamping = SOF_TIMESTAMPING_RX_SOFTWARE |
- SOF_TIMESTAMPING_SOFTWARE;
info->phc_index = -1;
- return 0;
+ if (phy_is_default_hwtstamp(phydev) && phy_has_tsinfo(phydev))
+ err = phy_ts_info(phydev, info);
+ else if (ops->get_ts_info)
+ err = ops->get_ts_info(dev, info);
+
+ info->so_timestamping |= SOF_TIMESTAMPING_RX_SOFTWARE |
+ SOF_TIMESTAMPING_SOFTWARE;
+
+ return err;
}
int ethtool_get_phc_vclocks(struct net_device *dev, int **vclock_index)
--
2.40.1
Powered by blists - more mailing lists