[dpdk-stable] patch 'net/dpaa2: fix build with timesync functions' has been queued to stable release 19.11.6

luca.boccassi at gmail.com luca.boccassi at gmail.com
Wed Oct 28 11:45:22 CET 2020


Hi,

FYI, your patch has been queued to stable release 19.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/30/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Luca Boccassi

---
>From e3d00438db8bf4794df58375bd54e134707e7b43 Mon Sep 17 00:00:00 2001
From: Chenxu Di <chenxux.di at intel.com>
Date: Tue, 6 Oct 2020 18:16:37 +0100
Subject: [PATCH] net/dpaa2: fix build with timesync functions

[ upstream commit c6299a086711b0578fcebe6a2ee99f3cba6faa54 ]

Some timesync related source files are built only when
'RTE_LIBRTE_IEEE1588' config is set, which is missing in meson.

Building with '-DRTE_LIBRTE_IEEE1588' cflag will enable timesync
functionality in the files that are build, but it won't build files
that require 'RTE_LIBRTE_IEEE1588' config.
This causes the build error.

Fixing by removing config check in meson file and build all .c files by
default, but wrap relevant code part with 'RTE_LIBRTE_IEEE1588' macro.

Also removing 'RTE_LIBRTE_IEEE1588' ifdef around some fields of the data
structures, to not require finer grained macro wraps on the functions
using them.
Since the registration of the function disabled with macro check, having
functions compiled shouldn't affect the functionality.

Fixes: 184c39d16568 ("net/dpaa2: add DPRTC sub-module")

Signed-off-by: Chenxu Di <chenxux.di at intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
Acked-by: Sachin Saxena <sachin.saxena at oss.nxp.com>
---
 drivers/net/dpaa2/dpaa2_ethdev.h | 4 ----
 drivers/net/dpaa2/dpaa2_ptp.c    | 2 ++
 drivers/net/dpaa2/meson.build    | 7 ++-----
 3 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h
index 95674b26b9..0030251b8a 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.h
+++ b/drivers/net/dpaa2/dpaa2_ethdev.h
@@ -135,7 +135,6 @@ struct dpaa2_dev_priv {
 	uint16_t ss_offset;
 	uint64_t ss_iova;
 	uint64_t ss_param_iova;
-#if defined(RTE_LIBRTE_IEEE1588)
 	/*stores timestamp of last received packet on dev*/
 	uint64_t rx_timestamp;
 	/*stores timestamp of last received tx confirmation packet on dev*/
@@ -144,7 +143,6 @@ struct dpaa2_dev_priv {
 	 * it corresponds to last packet transmitted
 	 */
 	struct dpaa2_queue *next_tx_conf_queue;
-#endif
 
 	struct rte_eth_dev *eth_dev; /**< Pointer back to holding ethdev */
 
@@ -200,7 +198,6 @@ void dpaa2_dev_free_eqresp_buf(uint16_t eqresp_ci);
 void dpaa2_flow_clean(struct rte_eth_dev *dev);
 uint16_t dpaa2_dev_tx_conf(void *queue)  __attribute__((unused));
 
-#if defined(RTE_LIBRTE_IEEE1588)
 int dpaa2_timesync_enable(struct rte_eth_dev *dev);
 int dpaa2_timesync_disable(struct rte_eth_dev *dev);
 int dpaa2_timesync_read_time(struct rte_eth_dev *dev,
@@ -213,5 +210,4 @@ int dpaa2_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
 						uint32_t flags __rte_unused);
 int dpaa2_timesync_read_tx_timestamp(struct rte_eth_dev *dev,
 					  struct timespec *timestamp);
-#endif
 #endif /* _DPAA2_ETHDEV_H */
diff --git a/drivers/net/dpaa2/dpaa2_ptp.c b/drivers/net/dpaa2/dpaa2_ptp.c
index 316912fe3e..bd9bcd58b0 100644
--- a/drivers/net/dpaa2/dpaa2_ptp.c
+++ b/drivers/net/dpaa2/dpaa2_ptp.c
@@ -129,6 +129,7 @@ int dpaa2_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
 	return 0;
 }
 
+#if defined(RTE_LIBRTE_IEEE1588)
 static int
 dpaa2_create_dprtc_device(int vdev_fd __rte_unused,
 			   struct vfio_device_info *obj_info __rte_unused,
@@ -179,3 +180,4 @@ static struct rte_dpaa2_object rte_dpaa2_dprtc_obj = {
 };
 
 RTE_PMD_REGISTER_DPAA2_OBJECT(dprtc, rte_dpaa2_dprtc_obj);
+#endif
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index 571cdb7d4b..fc4707db10 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -13,15 +13,12 @@ sources = files('base/dpaa2_hw_dpni.c',
 		'dpaa2_flow.c',
 		'dpaa2_rxtx.c',
 		'dpaa2_sparser.c',
+		'dpaa2_ptp.c',
+		'mc/dprtc.c',
 		'mc/dpkg.c',
 		'mc/dpdmux.c',
 		'mc/dpni.c')
 
-if dpdk_conf.has('RTE_LIBRTE_IEEE1588')
-	sources += files('mc/dprtc.c')
-	sources += files('dpaa2_ptp.c')
-endif
-
 includes += include_directories('base', 'mc')
 
 # depends on fslmc bus which uses experimental API
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-10-28 10:35:16.788385803 +0000
+++ 0163-net-dpaa2-fix-build-with-timesync-functions.patch	2020-10-28 10:35:11.764833851 +0000
@@ -1,8 +1,10 @@
-From c6299a086711b0578fcebe6a2ee99f3cba6faa54 Mon Sep 17 00:00:00 2001
+From e3d00438db8bf4794df58375bd54e134707e7b43 Mon Sep 17 00:00:00 2001
 From: Chenxu Di <chenxux.di at intel.com>
 Date: Tue, 6 Oct 2020 18:16:37 +0100
 Subject: [PATCH] net/dpaa2: fix build with timesync functions
 
+[ upstream commit c6299a086711b0578fcebe6a2ee99f3cba6faa54 ]
+
 Some timesync related source files are built only when
 'RTE_LIBRTE_IEEE1588' config is set, which is missing in meson.
 
@@ -21,7 +23,6 @@
 functions compiled shouldn't affect the functionality.
 
 Fixes: 184c39d16568 ("net/dpaa2: add DPRTC sub-module")
-Cc: stable at dpdk.org
 
 Signed-off-by: Chenxu Di <chenxux.di at intel.com>
 Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
@@ -33,10 +34,10 @@
  3 files changed, 4 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h
-index e577355d57..94cf253827 100644
+index 95674b26b9..0030251b8a 100644
 --- a/drivers/net/dpaa2/dpaa2_ethdev.h
 +++ b/drivers/net/dpaa2/dpaa2_ethdev.h
-@@ -160,7 +160,6 @@ struct dpaa2_dev_priv {
+@@ -135,7 +135,6 @@ struct dpaa2_dev_priv {
  	uint16_t ss_offset;
  	uint64_t ss_iova;
  	uint64_t ss_param_iova;
@@ -44,7 +45,7 @@
  	/*stores timestamp of last received packet on dev*/
  	uint64_t rx_timestamp;
  	/*stores timestamp of last received tx confirmation packet on dev*/
-@@ -169,7 +168,6 @@ struct dpaa2_dev_priv {
+@@ -144,7 +143,6 @@ struct dpaa2_dev_priv {
  	 * it corresponds to last packet transmitted
  	 */
  	struct dpaa2_queue *next_tx_conf_queue;
@@ -52,22 +53,22 @@
  
  	struct rte_eth_dev *eth_dev; /**< Pointer back to holding ethdev */
  
-@@ -227,7 +225,6 @@ void dpaa2_dev_free_eqresp_buf(uint16_t eqresp_ci);
+@@ -200,7 +198,6 @@ void dpaa2_dev_free_eqresp_buf(uint16_t eqresp_ci);
  void dpaa2_flow_clean(struct rte_eth_dev *dev);
- uint16_t dpaa2_dev_tx_conf(void *queue)  __rte_unused;
+ uint16_t dpaa2_dev_tx_conf(void *queue)  __attribute__((unused));
  
 -#if defined(RTE_LIBRTE_IEEE1588)
  int dpaa2_timesync_enable(struct rte_eth_dev *dev);
  int dpaa2_timesync_disable(struct rte_eth_dev *dev);
  int dpaa2_timesync_read_time(struct rte_eth_dev *dev,
-@@ -240,5 +237,4 @@ int dpaa2_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
+@@ -213,5 +210,4 @@ int dpaa2_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
  						uint32_t flags __rte_unused);
  int dpaa2_timesync_read_tx_timestamp(struct rte_eth_dev *dev,
  					  struct timespec *timestamp);
 -#endif
  #endif /* _DPAA2_ETHDEV_H */
 diff --git a/drivers/net/dpaa2/dpaa2_ptp.c b/drivers/net/dpaa2/dpaa2_ptp.c
-index f58eedb314..899dd5d442 100644
+index 316912fe3e..bd9bcd58b0 100644
 --- a/drivers/net/dpaa2/dpaa2_ptp.c
 +++ b/drivers/net/dpaa2/dpaa2_ptp.c
 @@ -129,6 +129,7 @@ int dpaa2_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
@@ -84,7 +85,7 @@
  RTE_PMD_REGISTER_DPAA2_OBJECT(dprtc, rte_dpaa2_dprtc_obj);
 +#endif
 diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
-index 6dd0eb274c..4312aa73f7 100644
+index 571cdb7d4b..fc4707db10 100644
 --- a/drivers/net/dpaa2/meson.build
 +++ b/drivers/net/dpaa2/meson.build
 @@ -13,15 +13,12 @@ sources = files('base/dpaa2_hw_dpni.c',
@@ -104,7 +105,7 @@
 -
  includes += include_directories('base', 'mc')
  
- install_headers('rte_pmd_dpaa2.h')
+ # depends on fslmc bus which uses experimental API
 -- 
 2.20.1
 


More information about the stable mailing list