aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/qca-nss-dp/patches/0001-edma_tx_rx-support-newer-kernels-time-stamping-API.patch
blob: 1fed4ba8ab96fa0dce1c9dc489588717e71a42b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From 40979666b4371012405715ffa61ab5760fcdc6b3 Mon Sep 17 00:00:00 2001
Message-Id: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
From: Baruch Siach <baruch@tkos.co.il>
Date: Mon, 3 May 2021 20:07:36 +0300
Subject: [PATCH 1/3] edma_tx_rx: support newer kernels time stamping API

---
 hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

--- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c
+++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c
@@ -227,10 +227,16 @@ void nss_phy_tstamp_rx_buf(__attribute__
 	 * set to the correct PTP class value by calling ptp_classify_raw
 	 * in drv->rxtstamp function.
 	 */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0))
 	if (ndev && ndev->phydev && ndev->phydev->drv &&
 			ndev->phydev->drv->rxtstamp)
 		if(ndev->phydev->drv->rxtstamp(ndev->phydev, skb, 0))
 			return;
+#else
+	if (ndev && phy_has_rxtstamp(ndev->phydev))
+		if (phy_rxtstamp(ndev->phydev, skb, 0))
+			return;
+#endif
 
 	netif_receive_skb(skb);
 }
@@ -248,9 +254,14 @@ void nss_phy_tstamp_tx_buf(struct net_de
 	 * set to the correct PTP class value by calling ptp_classify_raw
 	 * in the drv->txtstamp function.
 	 */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0))
 	if (ndev && ndev->phydev && ndev->phydev->drv &&
 			ndev->phydev->drv->txtstamp)
 		ndev->phydev->drv->txtstamp(ndev->phydev, skb, 0);
+#else
+	if (ndev && phy_has_txtstamp(ndev->phydev))
+		phy_rxtstamp(ndev->phydev, skb, 0);
+#endif
 }
 EXPORT_SYMBOL(nss_phy_tstamp_tx_buf);