kernel: bump 4.19 to 4.19.44
Refreshed all patches. Remove upstreamed: - 103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
parent
f442b306f9
commit
8eb7cf0cd7
@ -8,11 +8,11 @@ endif
|
|||||||
|
|
||||||
LINUX_VERSION-4.9 = .177
|
LINUX_VERSION-4.9 = .177
|
||||||
LINUX_VERSION-4.14 = .120
|
LINUX_VERSION-4.14 = .120
|
||||||
LINUX_VERSION-4.19 = .43
|
LINUX_VERSION-4.19 = .44
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.9.177 = c73b1e3ebcc35b653f7b673ca151fc67b814bdb27269799fa7cda251827887ee
|
LINUX_KERNEL_HASH-4.9.177 = c73b1e3ebcc35b653f7b673ca151fc67b814bdb27269799fa7cda251827887ee
|
||||||
LINUX_KERNEL_HASH-4.14.120 = ddb8e86cf65e6f53f782bc46f026823b6b3fc472aa1385b601f22dce2dbccb4c
|
LINUX_KERNEL_HASH-4.14.120 = ddb8e86cf65e6f53f782bc46f026823b6b3fc472aa1385b601f22dce2dbccb4c
|
||||||
LINUX_KERNEL_HASH-4.19.43 = 111619a1fab2368bf4da05c079e44bf25ee00ee250694c1b8e536f2ed5d2df57
|
LINUX_KERNEL_HASH-4.19.44 = 707642e993775618a5afa039b1058fa49f1c0faada46e8cdcb976241bca6b288
|
||||||
|
|
||||||
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)))))))
|
||||||
|
@ -171,7 +171,7 @@
|
|||||||
#define UDP_CORK 1 /* Never send partially complete segments */
|
#define UDP_CORK 1 /* Never send partially complete segments */
|
||||||
--- a/net/netfilter/nf_conntrack_core.c
|
--- a/net/netfilter/nf_conntrack_core.c
|
||||||
+++ b/net/netfilter/nf_conntrack_core.c
|
+++ b/net/netfilter/nf_conntrack_core.c
|
||||||
@@ -262,8 +262,8 @@ nf_ct_get_tuple(const struct sk_buff *sk
|
@@ -263,8 +263,8 @@ nf_ct_get_tuple(const struct sk_buff *sk
|
||||||
|
|
||||||
switch (l3num) {
|
switch (l3num) {
|
||||||
case NFPROTO_IPV4:
|
case NFPROTO_IPV4:
|
||||||
|
@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/netfilter/nf_conntrack_core.c
|
--- a/net/netfilter/nf_conntrack_core.c
|
||||||
+++ b/net/netfilter/nf_conntrack_core.c
|
+++ b/net/netfilter/nf_conntrack_core.c
|
||||||
@@ -1143,18 +1143,6 @@ static bool gc_worker_can_early_drop(con
|
@@ -1178,18 +1178,6 @@ static bool gc_worker_can_early_drop(con
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static void gc_worker(struct work_struct *work)
|
static void gc_worker(struct work_struct *work)
|
||||||
{
|
{
|
||||||
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
|
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
|
||||||
@@ -1191,10 +1179,8 @@ static void gc_worker(struct work_struct
|
@@ -1226,10 +1214,8 @@ static void gc_worker(struct work_struct
|
||||||
tmp = nf_ct_tuplehash_to_ctrack(h);
|
tmp = nf_ct_tuplehash_to_ctrack(h);
|
||||||
|
|
||||||
scanned++;
|
scanned++;
|
||||||
|
@ -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);
|
|
@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
+MODULE_ALIAS("nf-flow-table-hw");
|
+MODULE_ALIAS("nf-flow-table-hw");
|
||||||
--- a/net/netfilter/nf_tables_api.c
|
--- a/net/netfilter/nf_tables_api.c
|
||||||
+++ b/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)
|
if (err < 0)
|
||||||
return err;
|
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);
|
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
|
||||||
if (!ops)
|
if (!ops)
|
||||||
return -ENOMEM;
|
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;
|
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],
|
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
|
||||||
flowtable);
|
flowtable);
|
||||||
if (err < 0)
|
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_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
|
||||||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
|
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
|
||||||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
|
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
#include "vlan.h"
|
#include "vlan.h"
|
||||||
#include "vlanproc.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;
|
return real_dev->ifindex;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static const struct ethtool_ops vlan_ethtool_ops = {
|
static const struct ethtool_ops vlan_ethtool_ops = {
|
||||||
.get_link_ksettings = vlan_ethtool_get_link_ksettings,
|
.get_link_ksettings = vlan_ethtool_get_link_ksettings,
|
||||||
.get_drvinfo = vlan_ethtool_get_drvinfo,
|
.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_fix_features = vlan_dev_fix_features,
|
||||||
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass,
|
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass,
|
||||||
.ndo_get_iflink = vlan_dev_get_iflink,
|
.ndo_get_iflink = vlan_dev_get_iflink,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/arch/x86/kernel/reboot.c
|
--- a/arch/x86/kernel/reboot.c
|
||||||
+++ b/arch/x86/kernel/reboot.c
|
+++ b/arch/x86/kernel/reboot.c
|
||||||
@@ -448,6 +448,16 @@ static const struct dmi_system_id reboot
|
@@ -469,6 +469,16 @@ static const struct dmi_system_id reboot
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user