mirror of
https://github.com/breeze303/nss-packages.git
synced 2025-12-16 16:57:29 +00:00
Add NSS-DP from QSDK11.4. NSS-DP is the ethernet driver kernel module. It can be used in standalone mode or with NSS offloading. It includes patches to it in order to work under kernel 5.10. Made for and tested only for IPQ807x. Signed-off-by: Robert Marko <robimarko@gmail.com>
45 lines
1.4 KiB
Diff
45 lines
1.4 KiB
Diff
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/edma/edma_tx_rx.c | 11 +++++++++++
|
|
1 file changed, 11 insertions(+)
|
|
|
|
--- a/hal/edma/edma_tx_rx.c
|
|
+++ b/hal/edma/edma_tx_rx.c
|
|
@@ -226,10 +226,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);
|
|
}
|
|
@@ -247,9 +253,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);
|
|
|