From cddd4591404fb4c53dc0b3c0b15b942cdbed4356 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Fri, 10 Apr 2020 10:47:05 +0800 Subject: layerscape: add patches-5.4 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 --- ...sdk_dpaa-ceetm-fix-recursive-dependencies.patch | 132 +++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 target/linux/layerscape/patches-5.4/701-net-0397-sdk_dpaa-ceetm-fix-recursive-dependencies.patch (limited to 'target/linux/layerscape/patches-5.4/701-net-0397-sdk_dpaa-ceetm-fix-recursive-dependencies.patch') diff --git a/target/linux/layerscape/patches-5.4/701-net-0397-sdk_dpaa-ceetm-fix-recursive-dependencies.patch b/target/linux/layerscape/patches-5.4/701-net-0397-sdk_dpaa-ceetm-fix-recursive-dependencies.patch new file mode 100644 index 0000000000..dff27a4d35 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0397-sdk_dpaa-ceetm-fix-recursive-dependencies.patch @@ -0,0 +1,132 @@ +From 03117a1e7db4cd3d745c663c697e446695ebb8e1 Mon Sep 17 00:00:00 2001 +From: Camelia Groza +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 +--- + 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 +@@ -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 + #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); -- cgit v1.2.3