aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-4.19
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/pending-4.19')
-rw-r--r--target/linux/generic/pending-4.19/103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch110
-rw-r--r--target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch6
-rw-r--r--target/linux/generic/pending-4.19/642-net-8021q-support-hardware-flow-table-offload.patch4
3 files changed, 5 insertions, 115 deletions
diff --git a/target/linux/generic/pending-4.19/103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch b/target/linux/generic/pending-4.19/103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch
deleted file mode 100644
index 6b74c7da1d..0000000000
--- a/target/linux/generic/pending-4.19/103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 852a88f35f4b7e5ebb717fed3c3a3330d5ad4336 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
-Date: Wed, 10 Apr 2019 16:43:27 +0200
-Subject: [PATCH v2] MIPS: perf: ath79: Fix perfcount IRQ assignment
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Currently it's not possible to use perf on ath79 due to genirq flags
-mismatch happening on static virtual IRQ 13 which is used for
-performance counters hardware IRQ 5.
-
-On TP-Link Archer C7v5:
-
- CPU0
- 2: 0 MIPS 2 ath9k
- 4: 318 MIPS 4 19000000.eth
- 7: 55034 MIPS 7 timer
- 8: 1236 MISC 3 ttyS0
- 12: 0 INTC 1 ehci_hcd:usb1
- 13: 0 gpio-ath79 2 keys
- 14: 0 gpio-ath79 5 keys
- 15: 31 AR724X PCI 1 ath10k_pci
-
- $ perf top
- genirq: Flags mismatch irq 13. 00014c83 (mips_perf_pmu) vs. 00002003 (keys)
-
-On TP-Link Archer C7v4:
-
- CPU0
- 4: 0 MIPS 4 19000000.eth
- 5: 7135 MIPS 5 1a000000.eth
- 7: 98379 MIPS 7 timer
- 8: 30 MISC 3 ttyS0
- 12: 90028 INTC 0 ath9k
- 13: 5520 INTC 1 ehci_hcd:usb1
- 14: 4623 INTC 2 ehci_hcd:usb2
- 15: 32844 AR724X PCI 1 ath10k_pci
- 16: 0 gpio-ath79 16 keys
- 23: 0 gpio-ath79 23 keys
-
- $ perf top
- genirq: Flags mismatch irq 13. 00014c80 (mips_perf_pmu) vs. 00000080 (ehci_hcd:usb1)
-
-This problem is happening, because currently statically assigned virtual
-IRQ 13 for performance counters is not claimed during the initialization
-of MIPS PMU during the bootup, so the IRQ subsystem doesn't know, that
-this interrupt isn't available for further use.
-
-So this patch fixes the issue by simply booking hardware IRQ 5 for MIPS PMU.
-
-Tested-by: Kevin 'ldir' Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
-Signed-off-by: Petr Štetiar <ynezz@true.cz>
----
-
-Changes since v1:
-
- I've incorporated two comments which I've received on IRC from blogic and
- I've also reworded the commit message to match the changes in v2 of this
- patch.
-
- * use actual hardware perfcount IRQ 5 instead of the virtual IRQ 13
- * dropped the CONFIG_PERF_EVENTS ifdef around irq_create_mapping
-
- arch/mips/ath79/setup.c | 6 ------
- drivers/irqchip/irq-ath79-misc.c | 11 +++++++++++
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
---- a/arch/mips/ath79/setup.c
-+++ b/arch/mips/ath79/setup.c
-@@ -211,12 +211,6 @@ const char *get_system_type(void)
- return ath79_sys_type;
- }
-
--int get_c0_perfcount_int(void)
--{
-- return ATH79_MISC_IRQ(5);
--}
--EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
--
- unsigned int get_c0_compare_int(void)
- {
- return CP0_LEGACY_COMPARE_IRQ;
---- a/drivers/irqchip/irq-ath79-misc.c
-+++ b/drivers/irqchip/irq-ath79-misc.c
-@@ -22,6 +22,15 @@
- #define AR71XX_RESET_REG_MISC_INT_ENABLE 4
-
- #define ATH79_MISC_IRQ_COUNT 32
-+#define ATH79_MISC_PERF_IRQ 5
-+
-+static int ath79_perfcount_irq;
-+
-+int get_c0_perfcount_int(void)
-+{
-+ return ath79_perfcount_irq;
-+}
-+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
-
- static void ath79_misc_irq_handler(struct irq_desc *desc)
- {
-@@ -113,6 +122,8 @@ static void __init ath79_misc_intc_domai
- {
- void __iomem *base = domain->host_data;
-
-+ ath79_perfcount_irq = irq_create_mapping(domain, ATH79_MISC_PERF_IRQ);
-+
- /* Disable and clear all interrupts */
- __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_ENABLE);
- __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_STATUS);
diff --git a/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch
index 984f96d5f2..288a603291 100644
--- a/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch
+++ b/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch
@@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -5453,6 +5453,13 @@ static int nf_tables_flowtable_parse_hoo
+@@ -5458,6 +5458,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0)
return err;
@@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops)
return -ENOMEM;
-@@ -5584,10 +5591,19 @@ static int nf_tables_newflowtable(struct
+@@ -5589,10 +5596,19 @@ static int nf_tables_newflowtable(struct
}
flowtable->data.type = type;
@@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable);
if (err < 0)
-@@ -5713,7 +5729,8 @@ static int nf_tables_fill_flowtable_info
+@@ -5718,7 +5734,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
diff --git a/target/linux/generic/pending-4.19/642-net-8021q-support-hardware-flow-table-offload.patch b/target/linux/generic/pending-4.19/642-net-8021q-support-hardware-flow-table-offload.patch
index 4fabfdcb6c..724f1c46ca 100644
--- a/target/linux/generic/pending-4.19/642-net-8021q-support-hardware-flow-table-offload.patch
+++ b/target/linux/generic/pending-4.19/642-net-8021q-support-hardware-flow-table-offload.patch
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include "vlan.h"
#include "vlanproc.h"
-@@ -768,6 +772,27 @@ static int vlan_dev_get_iflink(const str
+@@ -770,6 +774,27 @@ static int vlan_dev_get_iflink(const str
return real_dev->ifindex;
}
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct ethtool_ops vlan_ethtool_ops = {
.get_link_ksettings = vlan_ethtool_get_link_ksettings,
.get_drvinfo = vlan_ethtool_get_drvinfo,
-@@ -805,6 +830,9 @@ static const struct net_device_ops vlan_
+@@ -807,6 +832,9 @@ static const struct net_device_ops vlan_
.ndo_fix_features = vlan_dev_fix_features,
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass,
.ndo_get_iflink = vlan_dev_get_iflink,