Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release which was tagged LSDK-20.04-V5.4. https://source.codeaurora.org/external/qoriq/qoriq-components/linux/ For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in LSDK, port the dts patches from 4.14. The patches are sorted into the following categories: 301-arch-xxxx 302-dts-xxxx 303-core-xxxx 701-net-xxxx 801-audio-xxxx 802-can-xxxx 803-clock-xxxx 804-crypto-xxxx 805-display-xxxx 806-dma-xxxx 807-gpio-xxxx 808-i2c-xxxx 809-jailhouse-xxxx 810-keys-xxxx 811-kvm-xxxx 812-pcie-xxxx 813-pm-xxxx 814-qe-xxxx 815-sata-xxxx 816-sdhc-xxxx 817-spi-xxxx 818-thermal-xxxx 819-uart-xxxx 820-usb-xxxx 821-vfio-xxxx Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
		
			
				
	
	
		
			133 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 03117a1e7db4cd3d745c663c697e446695ebb8e1 Mon Sep 17 00:00:00 2001
 | 
						|
From: Camelia Groza <camelia.groza@nxp.com>
 | 
						|
Date: Wed, 8 Jan 2020 18:41:33 +0200
 | 
						|
Subject: [PATCH] sdk_dpaa: ceetm: fix recursive dependencies
 | 
						|
 | 
						|
Due to dependencies between the fsl_ceetm and fsl_dpa modules, remove
 | 
						|
the module support for the ceetm driver and integrate it into the main
 | 
						|
DPAA Ethernet driver.
 | 
						|
 | 
						|
The registration of the CEETM Qdisc was the only operation done at
 | 
						|
module init. Pass the management of the Qdisc register and unregister
 | 
						|
operations to the loading and unloading of the DPAA driver.
 | 
						|
 | 
						|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
 | 
						|
---
 | 
						|
 drivers/net/ethernet/freescale/sdk_dpaa/Makefile   |  3 +-
 | 
						|
 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c | 19 +++++++++++++
 | 
						|
 .../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c   | 32 +---------------------
 | 
						|
 3 files changed, 21 insertions(+), 33 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/net/ethernet/freescale/sdk_dpaa/Makefile
 | 
						|
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/Makefile
 | 
						|
@@ -20,8 +20,7 @@ endif
 | 
						|
 
 | 
						|
 ifeq ($(CONFIG_FSL_DPAA_CEETM),y)
 | 
						|
 ccflags-y += -I$(srctree)/drivers/net/ethernet/freescale/sdk_fman/src/wrapper
 | 
						|
-obj-$(CONFIG_FSL_SDK_DPAA_ETH) += fsl_ceetm.o
 | 
						|
-fsl_ceetm-objs += dpaa_eth_ceetm.o
 | 
						|
+fsl_dpa-objs += dpaa_eth_ceetm.o
 | 
						|
 endif
 | 
						|
 
 | 
						|
 fsl_mac-objs += mac.o mac-api.o
 | 
						|
--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c
 | 
						|
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c
 | 
						|
@@ -72,6 +72,9 @@
 | 
						|
 #ifdef CONFIG_FSL_DPAA_DBG_LOOP
 | 
						|
 #include "dpaa_debugfs.h"
 | 
						|
 #endif /* CONFIG_FSL_DPAA_DBG_LOOP */
 | 
						|
+#ifdef CONFIG_FSL_DPAA_CEETM
 | 
						|
+#include "dpaa_eth_ceetm.h"
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 /* CREATE_TRACE_POINTS only needs to be defined once. Other dpa files
 | 
						|
  * using trace events only need to #include <trace/events/sched.h>
 | 
						|
@@ -116,6 +119,10 @@ static uint8_t dpa_priv_common_bpid;
 | 
						|
 struct net_device *dpa_loop_netdevs[20];
 | 
						|
 #endif
 | 
						|
 
 | 
						|
+#ifdef CONFIG_FSL_DPAA_CEETM
 | 
						|
+extern struct Qdisc_ops ceetm_qdisc_ops;
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 #ifdef CONFIG_PM
 | 
						|
 
 | 
						|
 static int dpaa_suspend(struct device *dev)
 | 
						|
@@ -1158,6 +1165,14 @@ static int __init __cold dpa_load(void)
 | 
						|
 	pr_debug(KBUILD_MODNAME ": %s:%s() ->\n",
 | 
						|
 		KBUILD_BASENAME".c", __func__);
 | 
						|
 
 | 
						|
+#ifdef CONFIG_FSL_DPAA_CEETM
 | 
						|
+	_errno = register_qdisc(&ceetm_qdisc_ops);
 | 
						|
+	if (unlikely(_errno))
 | 
						|
+		pr_err(KBUILD_MODNAME
 | 
						|
+		       ": %s:%hu:%s(): register_qdisc() = %d\n",
 | 
						|
+		       KBUILD_BASENAME ".c", __LINE__, __func__, _errno);
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 	return _errno;
 | 
						|
 }
 | 
						|
 module_init(dpa_load);
 | 
						|
@@ -1167,6 +1182,10 @@ static void __exit __cold dpa_unload(voi
 | 
						|
 	pr_debug(KBUILD_MODNAME ": -> %s:%s()\n",
 | 
						|
 		KBUILD_BASENAME".c", __func__);
 | 
						|
 
 | 
						|
+#ifdef CONFIG_FSL_DPAA_CEETM
 | 
						|
+	unregister_qdisc(&ceetm_qdisc_ops);
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 	platform_driver_unregister(&dpa_driver);
 | 
						|
 
 | 
						|
 #ifdef CONFIG_FSL_DPAA_DBG_LOOP
 | 
						|
--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
 | 
						|
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
 | 
						|
@@ -33,16 +33,13 @@
 | 
						|
 #include <linux/init.h>
 | 
						|
 #include "dpaa_eth_ceetm.h"
 | 
						|
 
 | 
						|
-#define DPA_CEETM_DESCRIPTION "FSL DPAA CEETM qdisc"
 | 
						|
-MODULE_LICENSE("Dual BSD/GPL");
 | 
						|
-MODULE_DESCRIPTION(DPA_CEETM_DESCRIPTION);
 | 
						|
-
 | 
						|
 const struct nla_policy ceetm_policy[TCA_CEETM_MAX + 1] = {
 | 
						|
 	[TCA_CEETM_COPT] = { .len = sizeof(struct tc_ceetm_copt) },
 | 
						|
 	[TCA_CEETM_QOPS] = { .len = sizeof(struct tc_ceetm_qopt) },
 | 
						|
 };
 | 
						|
 
 | 
						|
 struct Qdisc_ops ceetm_qdisc_ops;
 | 
						|
+EXPORT_SYMBOL(ceetm_qdisc_ops);
 | 
						|
 
 | 
						|
 /* Obtain the DCP and the SP ids from the FMan port */
 | 
						|
 static void get_dcp_and_sp(struct net_device *dev, enum qm_dc_portal *dcp_id,
 | 
						|
@@ -2086,30 +2083,3 @@ drop:
 | 
						|
 	dev_kfree_skb_any(skb);
 | 
						|
 	return NET_XMIT_SUCCESS;
 | 
						|
 }
 | 
						|
-EXPORT_SYMBOL(ceetm_tx);
 | 
						|
-
 | 
						|
-static int __init ceetm_register(void)
 | 
						|
-{
 | 
						|
-	int _errno = 0;
 | 
						|
-
 | 
						|
-	pr_info(KBUILD_MODNAME ": " DPA_CEETM_DESCRIPTION "\n");
 | 
						|
-
 | 
						|
-	_errno = register_qdisc(&ceetm_qdisc_ops);
 | 
						|
-	if (unlikely(_errno))
 | 
						|
-		pr_err(KBUILD_MODNAME
 | 
						|
-		       ": %s:%hu:%s(): register_qdisc() = %d\n",
 | 
						|
-		       KBUILD_BASENAME ".c", __LINE__, __func__, _errno);
 | 
						|
-
 | 
						|
-	return _errno;
 | 
						|
-}
 | 
						|
-
 | 
						|
-static void __exit ceetm_unregister(void)
 | 
						|
-{
 | 
						|
-	pr_debug(KBUILD_MODNAME ": %s:%s() ->\n",
 | 
						|
-		 KBUILD_BASENAME ".c", __func__);
 | 
						|
-
 | 
						|
-	unregister_qdisc(&ceetm_qdisc_ops);
 | 
						|
-}
 | 
						|
-
 | 
						|
-module_init(ceetm_register);
 | 
						|
-module_exit(ceetm_unregister);
 |