cddd459140
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);
|