aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/qca-nss-dp/patches/0002-edma_tx_rx-support-newer-kernels-time-stamping-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/qca-nss-dp/patches/0002-edma_tx_rx-support-newer-kernels-time-stamping-API.patch')
-rw-r--r--package/kernel/qca-nss-dp/patches/0002-edma_tx_rx-support-newer-kernels-time-stamping-API.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/package/kernel/qca-nss-dp/patches/0002-edma_tx_rx-support-newer-kernels-time-stamping-API.patch b/package/kernel/qca-nss-dp/patches/0002-edma_tx_rx-support-newer-kernels-time-stamping-API.patch
new file mode 100644
index 00000000000..d091311b975
--- /dev/null
+++ b/package/kernel/qca-nss-dp/patches/0002-edma_tx_rx-support-newer-kernels-time-stamping-API.patch
@@ -0,0 +1,47 @@
+From 3357c64b3fc63fe003d5ef02ba7f6abca64d80bf Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Mon, 3 May 2021 20:07:36 +0300
+Subject: [PATCH 2/8] edma_tx_rx: support newer kernels time stamping API
+
+Timestamping API has changed in kernel 5.6, so update the implementation
+for newer kernels.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+ 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_txtstamp(ndev->phydev, skb, 0);
++#endif
+ }
+ EXPORT_SYMBOL(nss_phy_tstamp_tx_buf);
+