mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 17:01:14 +00:00
kernel: bump 5.4 to 5.4.42
Refreshed patches, removed upstreamed patch: generic/pending: 001-v5.4-pinctrl-qcom-fix-wrong-write-in-update_dual_edge.patch.patch Run tested: qemu-x86-64 Build tested: x86/64, ath79/nand, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
982d787773
commit
1b2fefb244
include
target/linux
bcm27xx/patches-5.4
950-0037-Add-dwc_otg-driver.patch950-0043-MMC-added-alternative-MMC-driver.patch950-0317-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch950-0465-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch
generic
hack-5.4
pending-5.4
layerscape/patches-5.4
701-net-0192-dpaa2-eth-Add-support-for-Rx-traffic-classes.patch701-net-0194-dpaa2-eth-Distribute-ingress-frames-based-on-VLAN-pr.patch701-net-0195-dpaa2-eth-Add-helper-functions.patch701-net-0199-dpaa2-eth-Add-DCB-ops.patch701-net-0200-dpaa2-eth-Enable-Rx-PFC.patch701-net-0201-dpaa2-eth-Enable-Tx-PFC.patch701-net-0202-dpaa2-eth-Keep-congestion-group-taildrop-enabled-whe.patch701-net-0204-dpaa2-eth-Add-Tx-shaping-support.patch701-net-0205-dpaa2-eth-Add-Rx-error-queue.patch701-net-0209-dpaa2-eth-Update-dpni_set_tx_shaping-cmd-to-v2.patch701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch701-net-0216-dpaa2-eth-Add-autoneg-support.patch820-usb-0005-usb-dwc3-add-otg-properties-update.patch820-usb-0019-MLK-9829-usb-core-print-suggested-message-if-failed-.patch
@ -8,11 +8,11 @@ endif
|
|||||||
|
|
||||||
LINUX_VERSION-4.14 = .180
|
LINUX_VERSION-4.14 = .180
|
||||||
LINUX_VERSION-4.19 = .123
|
LINUX_VERSION-4.19 = .123
|
||||||
LINUX_VERSION-5.4 = .41
|
LINUX_VERSION-5.4 = .42
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
|
LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
|
||||||
LINUX_KERNEL_HASH-4.19.123 = a79914d31a8d8c6b0e2bb0f2b143d615fe8a6c4dd2e0f36e97aa20efd69a993f
|
LINUX_KERNEL_HASH-4.19.123 = a79914d31a8d8c6b0e2bb0f2b143d615fe8a6c4dd2e0f36e97aa20efd69a993f
|
||||||
LINUX_KERNEL_HASH-5.4.41 = 1e64e7c247d7440b0dd9fa63135cf7078c3e09b933ae66dfb3e07b05dcf8b057
|
LINUX_KERNEL_HASH-5.4.42 = 4e431b7c0266a07b76fdb77f8917ad681f0fa34ffba0eb8a172b67f7ef57bc31
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||||
|
@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
}
|
}
|
||||||
--- a/drivers/usb/core/hub.c
|
--- a/drivers/usb/core/hub.c
|
||||||
+++ b/drivers/usb/core/hub.c
|
+++ b/drivers/usb/core/hub.c
|
||||||
@@ -5318,7 +5318,7 @@ static void port_event(struct usb_hub *h
|
@@ -5319,7 +5319,7 @@ static void port_event(struct usb_hub *h
|
||||||
port_dev->over_current_count++;
|
port_dev->over_current_count++;
|
||||||
port_over_current_notify(port_dev);
|
port_over_current_notify(port_dev);
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
|||||||
static inline int mmc_blk_part_switch(struct mmc_card *card,
|
static inline int mmc_blk_part_switch(struct mmc_card *card,
|
||||||
unsigned int part_type);
|
unsigned int part_type);
|
||||||
|
|
||||||
@@ -2867,6 +2874,7 @@ static int mmc_blk_probe(struct mmc_card
|
@@ -2868,6 +2875,7 @@ static int mmc_blk_probe(struct mmc_card
|
||||||
{
|
{
|
||||||
struct mmc_blk_data *md, *part_md;
|
struct mmc_blk_data *md, *part_md;
|
||||||
char cap_str[10];
|
char cap_str[10];
|
||||||
@ -230,7 +230,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Check that the card supports the command class(es) we need.
|
* Check that the card supports the command class(es) we need.
|
||||||
@@ -2874,7 +2882,16 @@ static int mmc_blk_probe(struct mmc_card
|
@@ -2875,7 +2883,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||||
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
|
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
|||||||
|
|
||||||
card->complete_wq = alloc_workqueue("mmc_complete",
|
card->complete_wq = alloc_workqueue("mmc_complete",
|
||||||
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
|
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
|
||||||
@@ -2889,9 +2906,14 @@ static int mmc_blk_probe(struct mmc_card
|
@@ -2890,9 +2907,14 @@ static int mmc_blk_probe(struct mmc_card
|
||||||
|
|
||||||
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
|
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
|
||||||
cap_str, sizeof(cap_str));
|
cap_str, sizeof(cap_str));
|
||||||
|
@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -1238,6 +1238,9 @@ ifneq ($(dtstree),)
|
@@ -1246,6 +1246,9 @@ ifneq ($(dtstree),)
|
||||||
%.dtb: include/config/kernel.release scripts_dtc
|
%.dtb: include/config/kernel.release scripts_dtc
|
||||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
|
|||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -1238,7 +1238,7 @@ ifneq ($(dtstree),)
|
@@ -1246,7 +1246,7 @@ ifneq ($(dtstree),)
|
||||||
%.dtb: include/config/kernel.release scripts_dtc
|
%.dtb: include/config/kernel.release scripts_dtc
|
||||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/init/Kconfig
|
--- a/init/Kconfig
|
||||||
+++ b/init/Kconfig
|
+++ b/init/Kconfig
|
||||||
@@ -2213,6 +2213,13 @@ config TRIM_UNUSED_KSYMS
|
@@ -2195,6 +2195,13 @@ config TRIM_UNUSED_KSYMS
|
||||||
|
|
||||||
If unsure, or if you need to build out-of-tree modules, say N.
|
If unsure, or if you need to build out-of-tree modules, say N.
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/include/net/sch_generic.h
|
--- a/include/net/sch_generic.h
|
||||||
+++ b/include/net/sch_generic.h
|
+++ b/include/net/sch_generic.h
|
||||||
@@ -569,12 +569,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
|
@@ -570,12 +570,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
|
||||||
extern struct Qdisc_ops pfifo_fast_ops;
|
extern struct Qdisc_ops pfifo_fast_ops;
|
||||||
extern struct Qdisc_ops mq_qdisc_ops;
|
extern struct Qdisc_ops mq_qdisc_ops;
|
||||||
extern struct Qdisc_ops noqueue_qdisc_ops;
|
extern struct Qdisc_ops noqueue_qdisc_ops;
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
From 17d4771b9740e0c504067b18d527cc29ba490e16 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ansuel Smith <ansuelsmth@gmail.com>
|
|
||||||
Date: Tue, 14 Apr 2020 02:28:00 +0200
|
|
||||||
Subject: [PATCH] pinctrl: qcom: fix wrong write in update_dual_edge
|
|
||||||
|
|
||||||
Fix a typo in the readl/writel accessor conversion where val is used
|
|
||||||
instead of pol changing the behavior of the original code.
|
|
||||||
|
|
||||||
Fixes: 6c73698904aa pinctrl: qcom: Introduce readl/writel accessors
|
|
||||||
|
|
||||||
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|
||||||
---
|
|
||||||
drivers/pinctrl/qcom/pinctrl-msm.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
|
|
||||||
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
|
|
||||||
@@ -688,7 +688,7 @@ static void msm_gpio_update_dual_edge_po
|
|
||||||
|
|
||||||
pol = msm_readl_intr_cfg(pctrl, g);
|
|
||||||
pol ^= BIT(g->intr_polarity_bit);
|
|
||||||
- msm_writel_intr_cfg(val, pctrl, g);
|
|
||||||
+ msm_writel_intr_cfg(pol, pctrl, g);
|
|
||||||
|
|
||||||
val2 = msm_readl_io(pctrl, g) & BIT(g->in_bit);
|
|
||||||
intstat = msm_readl_intr_status(pctrl, g);
|
|
@ -28,4 +28,4 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+KBUILD_CFLAGS += -Os -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
|
+KBUILD_CFLAGS += -Os -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED
|
# Tell gcc to never replace conditional load with a non-conditional one
|
||||||
|
@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/init/Kconfig
|
--- a/init/Kconfig
|
||||||
+++ b/init/Kconfig
|
+++ b/init/Kconfig
|
||||||
@@ -1295,6 +1295,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
|
@@ -1277,6 +1277,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
|
||||||
the unaligned access emulation.
|
the unaligned access emulation.
|
||||||
see arch/parisc/kernel/unaligned.c for reference
|
see arch/parisc/kernel/unaligned.c for reference
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#include <linux/nsproxy.h>
|
#include <linux/nsproxy.h>
|
||||||
#include <net/net_namespace.h>
|
#include <net/net_namespace.h>
|
||||||
#include <net/netns/generic.h>
|
#include <net/netns/generic.h>
|
||||||
@@ -971,8 +976,36 @@ static int pppoe_xmit(struct ppp_channel
|
@@ -974,8 +979,36 @@ static int pppoe_xmit(struct ppp_channel
|
||||||
return __pppoe_xmit(sk, skb);
|
return __pppoe_xmit(sk, skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
case RTN_THROW:
|
case RTN_THROW:
|
||||||
case RTN_UNREACHABLE:
|
case RTN_UNREACHABLE:
|
||||||
default:
|
default:
|
||||||
@@ -4414,6 +4433,17 @@ static int ip6_pkt_prohibit_out(struct n
|
@@ -4416,6 +4435,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* Allocate a dst for local (unicast / anycast) address.
|
* Allocate a dst for local (unicast / anycast) address.
|
||||||
*/
|
*/
|
||||||
@@ -4894,7 +4924,8 @@ static int rtm_to_fib6_config(struct sk_
|
@@ -4896,7 +4926,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||||
rtm->rtm_type == RTN_PROHIBIT ||
|
rtm->rtm_type == RTN_PROHIBIT ||
|
||||||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
cfg->fc_flags |= RTF_REJECT;
|
cfg->fc_flags |= RTF_REJECT;
|
||||||
|
|
||||||
if (rtm->rtm_type == RTN_LOCAL)
|
if (rtm->rtm_type == RTN_LOCAL)
|
||||||
@@ -6014,6 +6045,8 @@ static int ip6_route_dev_notify(struct n
|
@@ -6016,6 +6047,8 @@ static int ip6_route_dev_notify(struct n
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||||
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||||
#endif
|
#endif
|
||||||
@@ -6025,6 +6058,7 @@ static int ip6_route_dev_notify(struct n
|
@@ -6027,6 +6060,7 @@ static int ip6_route_dev_notify(struct n
|
||||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||||
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -6217,6 +6251,8 @@ static int __net_init ip6_route_net_init
|
@@ -6219,6 +6253,8 @@ static int __net_init ip6_route_net_init
|
||||||
|
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
net->ipv6.fib6_has_custom_rules = false;
|
net->ipv6.fib6_has_custom_rules = false;
|
||||||
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
|
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
|
||||||
sizeof(*net->ipv6.ip6_prohibit_entry),
|
sizeof(*net->ipv6.ip6_prohibit_entry),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
@@ -6227,11 +6263,21 @@ static int __net_init ip6_route_net_init
|
@@ -6229,11 +6265,21 @@ static int __net_init ip6_route_net_init
|
||||||
ip6_template_metrics, true);
|
ip6_template_metrics, true);
|
||||||
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
|
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
|
||||||
|
|
||||||
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||||
ip6_template_metrics, true);
|
ip6_template_metrics, true);
|
||||||
@@ -6255,6 +6301,8 @@ out:
|
@@ -6257,6 +6303,8 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
out_ip6_prohibit_entry:
|
out_ip6_prohibit_entry:
|
||||||
kfree(net->ipv6.ip6_prohibit_entry);
|
kfree(net->ipv6.ip6_prohibit_entry);
|
||||||
out_ip6_null_entry:
|
out_ip6_null_entry:
|
||||||
@@ -6274,6 +6322,7 @@ static void __net_exit ip6_route_net_exi
|
@@ -6276,6 +6324,7 @@ static void __net_exit ip6_route_net_exi
|
||||||
kfree(net->ipv6.ip6_null_entry);
|
kfree(net->ipv6.ip6_null_entry);
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
kfree(net->ipv6.ip6_prohibit_entry);
|
kfree(net->ipv6.ip6_prohibit_entry);
|
||||||
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||||
#endif
|
#endif
|
||||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||||
@@ -6351,6 +6400,9 @@ void __init ip6_route_init_special_entri
|
@@ -6353,6 +6402,9 @@ void __init ip6_route_init_special_entri
|
||||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||||
|
@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||||||
|
|
||||||
--- a/init/Kconfig
|
--- a/init/Kconfig
|
||||||
+++ b/init/Kconfig
|
+++ b/init/Kconfig
|
||||||
@@ -1680,6 +1680,15 @@ config EMBEDDED
|
@@ -1662,6 +1662,15 @@ config EMBEDDED
|
||||||
an embedded system so certain expert options are available
|
an embedded system so certain expert options are available
|
||||||
for configuration.
|
for configuration.
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* For each FQ, decide on which core to process incoming frames */
|
/* For each FQ, decide on which core to process incoming frames */
|
||||||
@@ -2694,7 +2699,7 @@ static int setup_rx_flow(struct dpaa2_et
|
@@ -2699,7 +2704,7 @@ static int setup_rx_flow(struct dpaa2_et
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = dpni_get_queue(priv->mc_io, 0, priv->mc_token,
|
err = dpni_get_queue(priv->mc_io, 0, priv->mc_token,
|
||||||
@ -110,7 +110,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
if (err) {
|
if (err) {
|
||||||
dev_err(dev, "dpni_get_queue(RX) failed\n");
|
dev_err(dev, "dpni_get_queue(RX) failed\n");
|
||||||
return err;
|
return err;
|
||||||
@@ -2707,7 +2712,7 @@ static int setup_rx_flow(struct dpaa2_et
|
@@ -2712,7 +2717,7 @@ static int setup_rx_flow(struct dpaa2_et
|
||||||
queue.destination.priority = 1;
|
queue.destination.priority = 1;
|
||||||
queue.user_context = (u64)(uintptr_t)fq;
|
queue.user_context = (u64)(uintptr_t)fq;
|
||||||
err = dpni_set_queue(priv->mc_io, 0, priv->mc_token,
|
err = dpni_set_queue(priv->mc_io, 0, priv->mc_token,
|
||||||
@ -119,7 +119,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
DPNI_QUEUE_OPT_USER_CTX | DPNI_QUEUE_OPT_DEST,
|
DPNI_QUEUE_OPT_USER_CTX | DPNI_QUEUE_OPT_DEST,
|
||||||
&queue);
|
&queue);
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -2716,6 +2721,10 @@ static int setup_rx_flow(struct dpaa2_et
|
@@ -2721,6 +2726,10 @@ static int setup_rx_flow(struct dpaa2_et
|
||||||
}
|
}
|
||||||
|
|
||||||
/* xdp_rxq setup */
|
/* xdp_rxq setup */
|
||||||
@ -130,7 +130,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
err = xdp_rxq_info_reg(&fq->channel->xdp_rxq, priv->net_dev,
|
err = xdp_rxq_info_reg(&fq->channel->xdp_rxq, priv->net_dev,
|
||||||
fq->flowid);
|
fq->flowid);
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -2853,7 +2862,7 @@ static int config_legacy_hash_key(struct
|
@@ -2858,7 +2867,7 @@ static int config_legacy_hash_key(struct
|
||||||
{
|
{
|
||||||
struct device *dev = priv->net_dev->dev.parent;
|
struct device *dev = priv->net_dev->dev.parent;
|
||||||
struct dpni_rx_tc_dist_cfg dist_cfg;
|
struct dpni_rx_tc_dist_cfg dist_cfg;
|
||||||
@ -139,7 +139,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
memset(&dist_cfg, 0, sizeof(dist_cfg));
|
memset(&dist_cfg, 0, sizeof(dist_cfg));
|
||||||
|
|
||||||
@@ -2861,9 +2870,14 @@ static int config_legacy_hash_key(struct
|
@@ -2866,9 +2875,14 @@ static int config_legacy_hash_key(struct
|
||||||
dist_cfg.dist_size = dpaa2_eth_queue_count(priv);
|
dist_cfg.dist_size = dpaa2_eth_queue_count(priv);
|
||||||
dist_cfg.dist_mode = DPNI_DIST_MODE_HASH;
|
dist_cfg.dist_mode = DPNI_DIST_MODE_HASH;
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -2873,7 +2887,7 @@ static int config_hash_key(struct dpaa2_
|
@@ -2878,7 +2892,7 @@ static int config_hash_key(struct dpaa2_
|
||||||
{
|
{
|
||||||
struct device *dev = priv->net_dev->dev.parent;
|
struct device *dev = priv->net_dev->dev.parent;
|
||||||
struct dpni_rx_dist_cfg dist_cfg;
|
struct dpni_rx_dist_cfg dist_cfg;
|
||||||
@ -166,7 +166,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
memset(&dist_cfg, 0, sizeof(dist_cfg));
|
memset(&dist_cfg, 0, sizeof(dist_cfg));
|
||||||
|
|
||||||
@@ -2881,9 +2895,15 @@ static int config_hash_key(struct dpaa2_
|
@@ -2886,9 +2900,15 @@ static int config_hash_key(struct dpaa2_
|
||||||
dist_cfg.dist_size = dpaa2_eth_queue_count(priv);
|
dist_cfg.dist_size = dpaa2_eth_queue_count(priv);
|
||||||
dist_cfg.enable = 1;
|
dist_cfg.enable = 1;
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -2893,7 +2913,7 @@ static int config_cls_key(struct dpaa2_e
|
@@ -2898,7 +2918,7 @@ static int config_cls_key(struct dpaa2_e
|
||||||
{
|
{
|
||||||
struct device *dev = priv->net_dev->dev.parent;
|
struct device *dev = priv->net_dev->dev.parent;
|
||||||
struct dpni_rx_dist_cfg dist_cfg;
|
struct dpni_rx_dist_cfg dist_cfg;
|
||||||
@ -194,7 +194,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
memset(&dist_cfg, 0, sizeof(dist_cfg));
|
memset(&dist_cfg, 0, sizeof(dist_cfg));
|
||||||
|
|
||||||
@@ -2901,9 +2921,15 @@ static int config_cls_key(struct dpaa2_e
|
@@ -2906,9 +2926,15 @@ static int config_cls_key(struct dpaa2_e
|
||||||
dist_cfg.dist_size = dpaa2_eth_queue_count(priv);
|
dist_cfg.dist_size = dpaa2_eth_queue_count(priv);
|
||||||
dist_cfg.enable = 1;
|
dist_cfg.enable = 1;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
@@ -2603,6 +2603,118 @@ out_err:
|
@@ -2608,6 +2608,118 @@ out_err:
|
||||||
priv->enqueue = dpaa2_eth_enqueue_qd;
|
priv->enqueue = dpaa2_eth_enqueue_qd;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
/* Configure the DPNI object this interface is associated with */
|
/* Configure the DPNI object this interface is associated with */
|
||||||
static int setup_dpni(struct fsl_mc_device *ls_dev)
|
static int setup_dpni(struct fsl_mc_device *ls_dev)
|
||||||
{
|
{
|
||||||
@@ -2665,6 +2777,10 @@ static int setup_dpni(struct fsl_mc_devi
|
@@ -2670,6 +2782,10 @@ static int setup_dpni(struct fsl_mc_devi
|
||||||
goto close;
|
goto close;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
if (!priv->cls_rules)
|
if (!priv->cls_rules)
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
@@ -413,6 +413,7 @@ struct dpaa2_eth_priv {
|
@@ -414,6 +414,7 @@ struct dpaa2_eth_priv {
|
||||||
u64 rx_cls_fields;
|
u64 rx_cls_fields;
|
||||||
struct dpaa2_eth_cls_rule *cls_rules;
|
struct dpaa2_eth_cls_rule *cls_rules;
|
||||||
u8 rx_cls_enabled;
|
u8 rx_cls_enabled;
|
||||||
|
@ -27,7 +27,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
/* Chech link state; speed / duplex changes are not treated yet */
|
/* Chech link state; speed / duplex changes are not treated yet */
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
@@ -494,6 +494,17 @@ enum dpaa2_eth_rx_dist {
|
@@ -495,6 +495,17 @@ enum dpaa2_eth_rx_dist {
|
||||||
(dpaa2_eth_cmp_dpni_ver((priv), DPNI_PAUSE_VER_MAJOR, \
|
(dpaa2_eth_cmp_dpni_ver((priv), DPNI_PAUSE_VER_MAJOR, \
|
||||||
DPNI_PAUSE_VER_MINOR) >= 0)
|
DPNI_PAUSE_VER_MINOR) >= 0)
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
depends on FSL_DPAA2_ETH && PTP_1588_CLOCK_QORIQ
|
depends on FSL_DPAA2_ETH && PTP_1588_CLOCK_QORIQ
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
@@ -3607,6 +3607,81 @@ static void del_ch_napi(struct dpaa2_eth
|
@@ -3612,6 +3612,81 @@ static void del_ch_napi(struct dpaa2_eth
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev)
|
static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev)
|
||||||
{
|
{
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
@@ -3696,6 +3771,15 @@ static int dpaa2_eth_probe(struct fsl_mc
|
@@ -3701,6 +3776,15 @@ static int dpaa2_eth_probe(struct fsl_mc
|
||||||
if (err)
|
if (err)
|
||||||
goto err_alloc_rings;
|
goto err_alloc_rings;
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/if_vlan.h>
|
#include <linux/if_vlan.h>
|
||||||
#include <linux/fsl/mc.h>
|
#include <linux/fsl/mc.h>
|
||||||
@@ -422,6 +423,10 @@ struct dpaa2_eth_priv {
|
@@ -423,6 +424,10 @@ struct dpaa2_eth_priv {
|
||||||
struct dpaa2_eth_cls_rule *cls_rules;
|
struct dpaa2_eth_cls_rule *cls_rules;
|
||||||
u8 rx_cls_enabled;
|
u8 rx_cls_enabled;
|
||||||
u8 vlan_cls_enabled;
|
u8 vlan_cls_enabled;
|
||||||
|
@ -26,7 +26,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
@@ -3613,6 +3613,9 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s
|
@@ -3618,6 +3618,9 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s
|
||||||
{
|
{
|
||||||
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
|
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
memcpy(pfc, &priv->pfc, sizeof(priv->pfc));
|
memcpy(pfc, &priv->pfc, sizeof(priv->pfc));
|
||||||
pfc->pfc_cap = dpaa2_eth_tc_count(priv);
|
pfc->pfc_cap = dpaa2_eth_tc_count(priv);
|
||||||
|
|
||||||
@@ -3623,6 +3626,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3628,6 +3631,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
struct ieee_pfc *pfc)
|
struct ieee_pfc *pfc)
|
||||||
{
|
{
|
||||||
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
|
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
|
||||||
@ -45,7 +45,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
if (pfc->mbc || pfc->delay)
|
if (pfc->mbc || pfc->delay)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
@@ -3631,6 +3636,24 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3636,6 +3641,24 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
if (priv->pfc.pfc_en == pfc->pfc_en)
|
if (priv->pfc.pfc_en == pfc->pfc_en)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
@@ -3622,6 +3622,47 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s
|
@@ -3627,6 +3627,47 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
static int dpaa2_eth_dcbnl_ieee_setpfc(struct net_device *net_dev,
|
static int dpaa2_eth_dcbnl_ieee_setpfc(struct net_device *net_dev,
|
||||||
struct ieee_pfc *pfc)
|
struct ieee_pfc *pfc)
|
||||||
{
|
{
|
||||||
@@ -3639,7 +3680,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3644,7 +3685,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
/* We allow PFC configuration even if it won't have any effect until
|
/* We allow PFC configuration even if it won't have any effect until
|
||||||
* general pause frames are enabled
|
* general pause frames are enabled
|
||||||
*/
|
*/
|
||||||
@ -77,7 +77,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
netdev_warn(net_dev, "Pause support must be enabled in order for PFC to work!\n");
|
netdev_warn(net_dev, "Pause support must be enabled in order for PFC to work!\n");
|
||||||
|
|
||||||
link_cfg.rate = priv->link_state.rate;
|
link_cfg.rate = priv->link_state.rate;
|
||||||
@@ -3654,6 +3696,11 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3659,6 +3701,11 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
/* Chech link state; speed / duplex changes are not treated yet */
|
/* Chech link state; speed / duplex changes are not treated yet */
|
||||||
if (priv->link_state.up == state.up)
|
if (priv->link_state.up == state.up)
|
||||||
@@ -3668,6 +3683,7 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3673,6 +3688,7 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
{
|
{
|
||||||
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
|
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
|
||||||
struct dpni_link_cfg link_cfg = {0};
|
struct dpni_link_cfg link_cfg = {0};
|
||||||
@ -95,7 +95,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (pfc->mbc || pfc->delay)
|
if (pfc->mbc || pfc->delay)
|
||||||
@@ -3680,8 +3696,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3685,8 +3701,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
/* We allow PFC configuration even if it won't have any effect until
|
/* We allow PFC configuration even if it won't have any effect until
|
||||||
* general pause frames are enabled
|
* general pause frames are enabled
|
||||||
*/
|
*/
|
||||||
@ -106,7 +106,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
netdev_warn(net_dev, "Pause support must be enabled in order for PFC to work!\n");
|
netdev_warn(net_dev, "Pause support must be enabled in order for PFC to work!\n");
|
||||||
|
|
||||||
link_cfg.rate = priv->link_state.rate;
|
link_cfg.rate = priv->link_state.rate;
|
||||||
@@ -3702,6 +3718,9 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
@@ -3707,6 +3723,9 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
memcpy(&priv->pfc, pfc, sizeof(priv->pfc));
|
memcpy(&priv->pfc, pfc, sizeof(priv->pfc));
|
||||||
@ -118,7 +118,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
}
|
}
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
@@ -422,7 +422,8 @@ struct dpaa2_eth_priv {
|
@@ -423,7 +423,8 @@ struct dpaa2_eth_priv {
|
||||||
struct dpaa2_eth_drv_stats __percpu *percpu_extras;
|
struct dpaa2_eth_drv_stats __percpu *percpu_extras;
|
||||||
|
|
||||||
u16 mc_token;
|
u16 mc_token;
|
||||||
@ -128,7 +128,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
|
|
||||||
struct dpni_link_state link_state;
|
struct dpni_link_state link_state;
|
||||||
bool do_link_poll;
|
bool do_link_poll;
|
||||||
@@ -434,6 +435,7 @@ struct dpaa2_eth_priv {
|
@@ -435,6 +436,7 @@ struct dpaa2_eth_priv {
|
||||||
struct dpaa2_eth_cls_rule *cls_rules;
|
struct dpaa2_eth_cls_rule *cls_rules;
|
||||||
u8 rx_cls_enabled;
|
u8 rx_cls_enabled;
|
||||||
u8 vlan_cls_enabled;
|
u8 vlan_cls_enabled;
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
@@ -3771,6 +3771,83 @@ const struct dcbnl_rtnl_ops dpaa2_eth_dc
|
@@ -3776,6 +3776,83 @@ const struct dcbnl_rtnl_ops dpaa2_eth_dc
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|||||||
static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev)
|
static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev)
|
||||||
{
|
{
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
@@ -3890,6 +3967,7 @@ static int dpaa2_eth_probe(struct fsl_mc
|
@@ -3895,6 +3972,7 @@ static int dpaa2_eth_probe(struct fsl_mc
|
||||||
#ifdef CONFIG_DEBUG_FS
|
#ifdef CONFIG_DEBUG_FS
|
||||||
dpaa2_dbg_add(priv);
|
dpaa2_dbg_add(priv);
|
||||||
#endif
|
#endif
|
||||||
@ -111,7 +111,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|||||||
|
|
||||||
dev_info(dev, "Probed interface %s\n", net_dev->name);
|
dev_info(dev, "Probed interface %s\n", net_dev->name);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3937,6 +4015,8 @@ static int dpaa2_eth_remove(struct fsl_m
|
@@ -3942,6 +4020,8 @@ static int dpaa2_eth_remove(struct fsl_m
|
||||||
#ifdef CONFIG_DEBUG_FS
|
#ifdef CONFIG_DEBUG_FS
|
||||||
dpaa2_dbg_remove(priv);
|
dpaa2_dbg_remove(priv);
|
||||||
#endif
|
#endif
|
||||||
@ -132,7 +132,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|||||||
/* Maximum number of Tx confirmation frames to be processed
|
/* Maximum number of Tx confirmation frames to be processed
|
||||||
* in a single NAPI call
|
* in a single NAPI call
|
||||||
*/
|
*/
|
||||||
@@ -444,6 +447,7 @@ struct dpaa2_eth_priv {
|
@@ -445,6 +448,7 @@ struct dpaa2_eth_priv {
|
||||||
#ifdef CONFIG_DEBUG_FS
|
#ifdef CONFIG_DEBUG_FS
|
||||||
struct dpaa2_debugfs dbg;
|
struct dpaa2_debugfs dbg;
|
||||||
#endif
|
#endif
|
||||||
|
@ -113,7 +113,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
/* For each FQ, decide on which core to process incoming frames */
|
/* For each FQ, decide on which core to process incoming frames */
|
||||||
set_fq_affinity(priv);
|
set_fq_affinity(priv);
|
||||||
}
|
}
|
||||||
@@ -2939,6 +2993,40 @@ static int setup_tx_flow(struct dpaa2_et
|
@@ -2944,6 +2998,40 @@ static int setup_tx_flow(struct dpaa2_et
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
/* Supported header fields for Rx hash distribution key */
|
/* Supported header fields for Rx hash distribution key */
|
||||||
static const struct dpaa2_eth_dist_fields dist_fields[] = {
|
static const struct dpaa2_eth_dist_fields dist_fields[] = {
|
||||||
{
|
{
|
||||||
@@ -3308,7 +3396,11 @@ static int bind_dpni(struct dpaa2_eth_pr
|
@@ -3313,7 +3401,11 @@ static int bind_dpni(struct dpaa2_eth_pr
|
||||||
/* Configure handling of error frames */
|
/* Configure handling of error frames */
|
||||||
err_cfg.errors = DPAA2_FAS_RX_ERR_MASK;
|
err_cfg.errors = DPAA2_FAS_RX_ERR_MASK;
|
||||||
err_cfg.set_frame_annotation = 1;
|
err_cfg.set_frame_annotation = 1;
|
||||||
@ -166,7 +166,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|||||||
err = dpni_set_errors_behavior(priv->mc_io, 0, priv->mc_token,
|
err = dpni_set_errors_behavior(priv->mc_io, 0, priv->mc_token,
|
||||||
&err_cfg);
|
&err_cfg);
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -3325,6 +3417,11 @@ static int bind_dpni(struct dpaa2_eth_pr
|
@@ -3330,6 +3422,11 @@ static int bind_dpni(struct dpaa2_eth_pr
|
||||||
case DPAA2_TX_CONF_FQ:
|
case DPAA2_TX_CONF_FQ:
|
||||||
err = setup_tx_flow(priv, &priv->fq[i]);
|
err = setup_tx_flow(priv, &priv->fq[i]);
|
||||||
break;
|
break;
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
||||||
@@ -3888,7 +3888,7 @@ static ssize_t dpaa2_eth_write_tx_shapin
|
@@ -3893,7 +3893,7 @@ static ssize_t dpaa2_eth_write_tx_shapin
|
||||||
{
|
{
|
||||||
int err, items;
|
int err, items;
|
||||||
struct dpaa2_eth_priv *priv = netdev_priv(to_net_dev(dev));
|
struct dpaa2_eth_priv *priv = netdev_priv(to_net_dev(dev));
|
||||||
@ -24,7 +24,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|||||||
|
|
||||||
items = sscanf(buf, "%u %hu", &scfg.rate_limit, &scfg.max_burst_size);
|
items = sscanf(buf, "%u %hu", &scfg.rate_limit, &scfg.max_burst_size);
|
||||||
if (items != 2) {
|
if (items != 2) {
|
||||||
@@ -3902,7 +3902,8 @@ static ssize_t dpaa2_eth_write_tx_shapin
|
@@ -3907,7 +3907,8 @@ static ssize_t dpaa2_eth_write_tx_shapin
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1561,7 +1561,7 @@ Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|||||||
static const struct net_device_ops dpaa2_eth_ops = {
|
static const struct net_device_ops dpaa2_eth_ops = {
|
||||||
.ndo_open = dpaa2_eth_open,
|
.ndo_open = dpaa2_eth_open,
|
||||||
.ndo_start_xmit = dpaa2_eth_tx,
|
.ndo_start_xmit = dpaa2_eth_tx,
|
||||||
@@ -4166,18 +4186,27 @@ static int __init dpaa2_eth_driver_init(
|
@@ -4171,18 +4191,27 @@ static int __init dpaa2_eth_driver_init(
|
||||||
|
|
||||||
dpaa2_eth_dbg_init();
|
dpaa2_eth_dbg_init();
|
||||||
err = fsl_mc_driver_register(&dpaa2_eth_driver);
|
err = fsl_mc_driver_register(&dpaa2_eth_driver);
|
||||||
@ -1596,7 +1596,7 @@ Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|||||||
module_init(dpaa2_eth_driver_init);
|
module_init(dpaa2_eth_driver_init);
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
@@ -453,6 +453,8 @@ struct dpaa2_eth_priv {
|
@@ -454,6 +454,8 @@ struct dpaa2_eth_priv {
|
||||||
struct dpaa2_debugfs dbg;
|
struct dpaa2_debugfs dbg;
|
||||||
#endif
|
#endif
|
||||||
struct dpni_tx_shaping_cfg shaping_cfg;
|
struct dpni_tx_shaping_cfg shaping_cfg;
|
||||||
@ -1605,7 +1605,7 @@ Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define DPAA2_RXH_SUPPORTED (RXH_L2DA | RXH_VLAN | RXH_L3_PROTO \
|
#define DPAA2_RXH_SUPPORTED (RXH_L2DA | RXH_VLAN | RXH_L3_PROTO \
|
||||||
@@ -573,6 +575,11 @@ static inline unsigned int dpaa2_eth_rx_
|
@@ -574,6 +576,11 @@ static inline unsigned int dpaa2_eth_rx_
|
||||||
return priv->tx_data_offset - DPAA2_ETH_RX_HWA_SIZE;
|
return priv->tx_data_offset - DPAA2_ETH_RX_HWA_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ Signed-off-by: Valentin Catalin Neacsu <valentin-catalin.neacsu@nxp.com>
|
|||||||
"dpni_get_link_state() failed\n");
|
"dpni_get_link_state() failed\n");
|
||||||
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
||||||
@@ -542,6 +542,9 @@ static inline bool dpaa2_eth_rx_pause_en
|
@@ -543,6 +543,9 @@ static inline bool dpaa2_eth_rx_pause_en
|
||||||
return !!(link_options & DPNI_LINK_OPT_PAUSE);
|
return !!(link_options & DPNI_LINK_OPT_PAUSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
|||||||
* All 3.1 IP version constants are greater than the 3.0 IP
|
* All 3.1 IP version constants are greater than the 3.0 IP
|
||||||
--- a/drivers/usb/dwc3/gadget.c
|
--- a/drivers/usb/dwc3/gadget.c
|
||||||
+++ b/drivers/usb/dwc3/gadget.c
|
+++ b/drivers/usb/dwc3/gadget.c
|
||||||
@@ -3392,6 +3392,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
@@ -3389,6 +3389,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||||
dwc->gadget.sg_supported = true;
|
dwc->gadget.sg_supported = true;
|
||||||
dwc->gadget.name = "dwc3-gadget";
|
dwc->gadget.name = "dwc3-gadget";
|
||||||
dwc->gadget.lpm_capable = true;
|
dwc->gadget.lpm_capable = true;
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Li Jun <jun.li@freescale.com>
|
|||||||
|
|
||||||
--- a/drivers/usb/core/hub.c
|
--- a/drivers/usb/core/hub.c
|
||||||
+++ b/drivers/usb/core/hub.c
|
+++ b/drivers/usb/core/hub.c
|
||||||
@@ -4728,7 +4728,8 @@ hub_port_init(struct usb_hub *hub, struc
|
@@ -4729,7 +4729,8 @@ hub_port_init(struct usb_hub *hub, struc
|
||||||
}
|
}
|
||||||
if (r) {
|
if (r) {
|
||||||
if (r != -ENODEV)
|
if (r != -ENODEV)
|
||||||
|
Loading…
Reference in New Issue
Block a user