]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
dpaa2-eth: define a global ptp_qoriq structure pointer
authorYangbo Lu <yangbo.lu@nxp.com>
Fri, 18 Sep 2020 09:07:59 +0000 (17:07 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Sep 2020 21:32:48 +0000 (14:32 -0700)
Define a global ptp_qoriq structure pointer, and export to use.
The ptp clock operations will be used in dpaa2-eth driver.
For example, supporting one step timestamping needs to write
current time to hardware frame annotation before sending and
then hardware inserts the delay time on frame during sending.
So in driver, at least clock gettime operation will be needed
to make sure right time is written to hardware frame annotation
for one step timestamping.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
drivers/net/ethernet/freescale/dpaa2/dpaa2-ptp.c
drivers/net/ethernet/freescale/dpaa2/dpaa2-ptp.h

index ceaf76158e232978fa340e4e94afca6e9330fc98..daf8fd44aa093c7b0b83917c28874e15f2784d55 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/fsl/mc.h>
 #include <linux/bpf.h>
 #include <linux/bpf_trace.h>
+#include <linux/fsl/ptp_qoriq.h>
 #include <net/pkt_cls.h>
 #include <net/sock.h>
 
@@ -30,6 +31,9 @@ MODULE_LICENSE("Dual BSD/GPL");
 MODULE_AUTHOR("Freescale Semiconductor, Inc");
 MODULE_DESCRIPTION("Freescale DPAA2 Ethernet Driver");
 
+struct ptp_qoriq *dpaa2_ptp;
+EXPORT_SYMBOL(dpaa2_ptp);
+
 static void *dpaa2_iova_to_virt(struct iommu_domain *domain,
                                dma_addr_t iova_addr)
 {
index 7f3c41dc98f24f08ffd90f8549b2e59daf7223c6..7be684b7d0d643b78183f8b42a0aa3f37cd0c4e7 100644 (file)
@@ -491,6 +491,7 @@ struct dpaa2_eth_priv {
 
 extern const struct ethtool_ops dpaa2_ethtool_ops;
 extern int dpaa2_phc_index;
+extern struct ptp_qoriq *dpaa2_ptp;
 
 static inline int dpaa2_eth_cmp_dpni_ver(struct dpaa2_eth_priv *priv,
                                         u16 ver_major, u16 ver_minor)
index cc1b7f85e4336289e8f36208a65d8e064901cbd8..32b5faa87bb8dbcef676f744adf0f4f4ece4ba61 100644 (file)
@@ -2,6 +2,7 @@
 /*
  * Copyright 2013-2016 Freescale Semiconductor Inc.
  * Copyright 2016-2018 NXP
+ * Copyright 2020 NXP
  */
 
 #include <linux/module.h>
@@ -9,7 +10,6 @@
 #include <linux/of_address.h>
 #include <linux/msi.h>
 #include <linux/fsl/mc.h>
-#include <linux/fsl/ptp_qoriq.h>
 
 #include "dpaa2-ptp.h"
 
@@ -201,6 +201,7 @@ static int dpaa2_ptp_probe(struct fsl_mc_device *mc_dev)
                goto err_free_threaded_irq;
 
        dpaa2_phc_index = ptp_qoriq->phc_index;
+       dpaa2_ptp = ptp_qoriq;
        dev_set_drvdata(dev, ptp_qoriq);
 
        return 0;
index df2458a5e9ef5b0a444cccee404a89993d3c747e..e1023538b4c30a853d78060b5b93f0527f54a2d9 100644 (file)
@@ -1,14 +1,18 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Copyright 2018 NXP
+ * Copyright 2020 NXP
  */
 
 #ifndef __RTC_H
 #define __RTC_H
 
+#include <linux/fsl/ptp_qoriq.h>
+
 #include "dprtc.h"
 #include "dprtc-cmd.h"
 
 extern int dpaa2_phc_index;
+extern struct ptp_qoriq *dpaa2_ptp;
 
 #endif