From 753e1f22ab8a3e6183b10c55e0654f06aa4955f4 Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 14 Sep 2019 20:43:54 -0700 Subject: [PATCH] kernel: bump to 4.9.192, 4.14.143, 4.19.72 --- include/kernel-version.mk | 12 ++--- ...b-host-fotg2-add-device-tree-probing.patch | 4 +- ...ost-fotg2-add-silicon-clock-handling.patch | 6 +-- ...t-fotg2-add-Gemini-specific-handling.patch | 4 +- ...t-fotg2-restart-hcd-after-port-reset.patch | 26 ---------- ...b-host-fotg2-add-device-tree-probing.patch | 2 +- ...t-fotg2-add-Gemini-specific-handling.patch | 4 +- ...t-fotg2-restart-hcd-after-port-reset.patch | 27 ---------- ...tcp-allow-drivers-to-tweak-TSQ-logic.patch | 2 +- ...ow_offload-handle-netdevice-events-f.patch | 2 +- ...tsq-add-shortcut-in-tcp_tasklet_func.patch | 2 +- ...-a-shortcut-in-tcp_small_queue_check.patch | 2 +- ...ove-tsq_flags-close-to-sk_wmem_alloc.patch | 6 +-- ...tcp-allow-drivers-to-tweak-TSQ-logic.patch | 2 +- ...90-net-generalize-napi_complete_done.patch | 8 +-- ...w_table-add-hardware-offload-support.patch | 8 +-- .../810-kvm-support-layerscape.patch | 2 +- .../0101-pci-mediatek-backport-fix-pcie.patch | 51 +++++++++---------- 18 files changed, 57 insertions(+), 113 deletions(-) delete mode 100644 target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch delete mode 100644 target/linux/gemini/patches-4.19/0017-usb-host-fotg2-restart-hcd-after-port-reset.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 67420909a..cdcb2613b 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .190 -LINUX_VERSION-4.14 = .141 -LINUX_VERSION-4.19 = .69 +LINUX_VERSION-4.9 = .192 +LINUX_VERSION-4.14 = .143 +LINUX_VERSION-4.19 = .72 -LINUX_KERNEL_HASH-4.9.190 = fe8a1ca080a462de6832762ba8b71410b828f0e52c1e11d3c46d83e9ac1e0a16 -LINUX_KERNEL_HASH-4.14.141 = 0bb9f0812326ec4554de1bea02628840e03b6664b5abfd9d8510049e43203a17 -LINUX_KERNEL_HASH-4.19.69 = c091760b520a4e4a4c7034a8329cc2689a0ea3f81a377b694ed196d623e2d987 +LINUX_KERNEL_HASH-4.9.192 = 7a1a300cce70a4fd0d49b7fff7b1673159b61c4040c5a7c08ea333a7cb328d54 +LINUX_KERNEL_HASH-4.14.143 = 2534f2f03cb937700a03dd85dcf1cb6e6f46fdd29d489580cc3183d6c0643d93 +LINUX_KERNEL_HASH-4.19.72 = f9fcb6b3bd29115ac55fc154e300c3dce2044502732f6842ad6c25e6f9f51f6d remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch b/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch index 862cb6490..01a704830 100644 --- a/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch +++ b/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch @@ -24,7 +24,7 @@ ChangeLog v2->v3: #include #include #include -@@ -5600,6 +5601,15 @@ static int fotg210_hcd_probe(struct plat +@@ -5604,6 +5605,15 @@ static int fotg210_hcd_probe(struct plat if (usb_disabled()) return -ENODEV; @@ -40,7 +40,7 @@ ChangeLog v2->v3: pdev->dev.power.power_state = PMSG_ON; res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); -@@ -5676,9 +5686,18 @@ static int fotg210_hcd_remove(struct pla +@@ -5680,9 +5690,18 @@ static int fotg210_hcd_remove(struct pla return 0; } diff --git a/target/linux/gemini/patches-4.14/0029-usb-host-fotg2-add-silicon-clock-handling.patch b/target/linux/gemini/patches-4.14/0029-usb-host-fotg2-add-silicon-clock-handling.patch index 4a1faf938..5ecd9297e 100644 --- a/target/linux/gemini/patches-4.14/0029-usb-host-fotg2-add-silicon-clock-handling.patch +++ b/target/linux/gemini/patches-4.14/0029-usb-host-fotg2-add-silicon-clock-handling.patch @@ -26,7 +26,7 @@ Signed-off-by: Linus Walleij #include #include -@@ -5635,7 +5636,7 @@ static int fotg210_hcd_probe(struct plat +@@ -5639,7 +5640,7 @@ static int fotg210_hcd_probe(struct plat hcd->regs = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(hcd->regs)) { retval = PTR_ERR(hcd->regs); @@ -35,7 +35,7 @@ Signed-off-by: Linus Walleij } hcd->rsrc_start = res->start; -@@ -5645,22 +5646,35 @@ static int fotg210_hcd_probe(struct plat +@@ -5649,22 +5650,35 @@ static int fotg210_hcd_probe(struct plat fotg210->caps = hcd->regs; @@ -74,7 +74,7 @@ Signed-off-by: Linus Walleij usb_put_hcd(hcd); fail_create_hcd: dev_err(dev, "init %s fail, %d\n", dev_name(dev), retval); -@@ -5676,6 +5690,10 @@ static int fotg210_hcd_remove(struct pla +@@ -5680,6 +5694,10 @@ static int fotg210_hcd_remove(struct pla { struct device *dev = &pdev->dev; struct usb_hcd *hcd = dev_get_drvdata(dev); diff --git a/target/linux/gemini/patches-4.14/0030-usb-host-fotg2-add-Gemini-specific-handling.patch b/target/linux/gemini/patches-4.14/0030-usb-host-fotg2-add-Gemini-specific-handling.patch index 2e781e403..0125e816d 100644 --- a/target/linux/gemini/patches-4.14/0030-usb-host-fotg2-add-Gemini-specific-handling.patch +++ b/target/linux/gemini/patches-4.14/0030-usb-host-fotg2-add-Gemini-specific-handling.patch @@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij #include #include -@@ -5583,6 +5587,72 @@ static void fotg210_init(struct fotg210_ +@@ -5587,6 +5591,72 @@ static void fotg210_init(struct fotg210_ iowrite32(value, &fotg210->regs->otgcsr); } @@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij /** * fotg210_hcd_probe - initialize faraday FOTG210 HCDs * -@@ -5662,6 +5732,12 @@ static int fotg210_hcd_probe(struct plat +@@ -5666,6 +5736,12 @@ static int fotg210_hcd_probe(struct plat fotg210_init(fotg210); diff --git a/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch b/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch deleted file mode 100644 index 80b2fc410..000000000 --- a/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 731a2896e11b4e6a8d252e6c14edb1b09dbfcd46 Mon Sep 17 00:00:00 2001 -From: Hans Ulli Kroll -Date: Sat, 14 Apr 2018 18:49:57 +0200 -Subject: [PATCH 1/2] usb: host: fotg2: restart hcd after port reset - -on Gemini SoC FOTG2 stalls after port reset -rerstart the hcd. - -Signed-off-by: Hans Ulli Kroll ---- - drivers/usb/host/fotg210-hcd.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/usb/host/fotg210-hcd.c -+++ b/drivers/usb/host/fotg210-hcd.c -@@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct us - /* see what we found out */ - temp = check_reset_complete(fotg210, wIndex, status_reg, - fotg210_readl(fotg210, status_reg)); -+ -+ /* restart schedule */ -+ fotg210->command |= CMD_RUN; -+ fotg210_writel(fotg210, fotg210->command, &fotg210->regs->command); - } - - if (!(temp & (PORT_RESUME|PORT_RESET))) { diff --git a/target/linux/gemini/patches-4.19/0015-usb-host-fotg2-add-device-tree-probing.patch b/target/linux/gemini/patches-4.19/0015-usb-host-fotg2-add-device-tree-probing.patch index 8950ef040..7a4a3fe77 100644 --- a/target/linux/gemini/patches-4.19/0015-usb-host-fotg2-add-device-tree-probing.patch +++ b/target/linux/gemini/patches-4.19/0015-usb-host-fotg2-add-device-tree-probing.patch @@ -22,7 +22,7 @@ Signed-off-by: Linus Walleij #include #include #include -@@ -5672,9 +5673,18 @@ static int fotg210_hcd_remove(struct pla +@@ -5676,9 +5677,18 @@ static int fotg210_hcd_remove(struct pla return 0; } diff --git a/target/linux/gemini/patches-4.19/0016-usb-host-fotg2-add-Gemini-specific-handling.patch b/target/linux/gemini/patches-4.19/0016-usb-host-fotg2-add-Gemini-specific-handling.patch index 51bd0e7d7..f30ee7991 100644 --- a/target/linux/gemini/patches-4.19/0016-usb-host-fotg2-add-Gemini-specific-handling.patch +++ b/target/linux/gemini/patches-4.19/0016-usb-host-fotg2-add-Gemini-specific-handling.patch @@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij #include #include -@@ -5554,6 +5558,72 @@ static void fotg210_init(struct fotg210_ +@@ -5558,6 +5562,72 @@ static void fotg210_init(struct fotg210_ iowrite32(value, &fotg210->regs->otgcsr); } @@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij /** * fotg210_hcd_probe - initialize faraday FOTG210 HCDs * -@@ -5631,6 +5701,12 @@ static int fotg210_hcd_probe(struct plat +@@ -5635,6 +5705,12 @@ static int fotg210_hcd_probe(struct plat fotg210_init(fotg210); diff --git a/target/linux/gemini/patches-4.19/0017-usb-host-fotg2-restart-hcd-after-port-reset.patch b/target/linux/gemini/patches-4.19/0017-usb-host-fotg2-restart-hcd-after-port-reset.patch deleted file mode 100644 index 0b5e81ce5..000000000 --- a/target/linux/gemini/patches-4.19/0017-usb-host-fotg2-restart-hcd-after-port-reset.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b9d300b5aea18f2e992201d182d939030130aab2 Mon Sep 17 00:00:00 2001 -From: Hans Ulli Kroll -Date: Sat, 14 Apr 2018 18:49:57 +0200 -Subject: [PATCH 17/18] usb: host: fotg2: restart hcd after port reset - -on Gemini SoC FOTG2 stalls after port reset -rerstart the hcd. - -Signed-off-by: Hans Ulli Kroll -Signed-off-by: Linus Walleij ---- - drivers/usb/host/fotg210-hcd.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/usb/host/fotg210-hcd.c -+++ b/drivers/usb/host/fotg210-hcd.c -@@ -1633,6 +1633,10 @@ static int fotg210_hub_control(struct us - /* see what we found out */ - temp = check_reset_complete(fotg210, wIndex, status_reg, - fotg210_readl(fotg210, status_reg)); -+ -+ /* restart schedule */ -+ fotg210->command |= CMD_RUN; -+ fotg210_writel(fotg210, fotg210->command, &fotg210->regs->command); - } - - if (!(temp & (PORT_RESUME|PORT_RESET))) { diff --git a/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch b/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch index d99294e37..fc644cec5 100644 --- a/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch +++ b/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch @@ -74,7 +74,7 @@ Cc: Kir Kolyshkin sk->sk_gso_max_size - 1 - MAX_TCP_HEADER); /* Goal is to send at least one packet per ms, -@@ -2213,7 +2213,7 @@ static bool tcp_small_queue_check(struct +@@ -2214,7 +2214,7 @@ static bool tcp_small_queue_check(struct { unsigned int limit; diff --git a/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch b/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch index 0ef2f4880..fc668dca1 100644 --- a/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch +++ b/target/linux/generic/backport-4.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch @@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso MODULE_AUTHOR("Pablo Neira Ayuso "); --- a/net/netfilter/nft_flow_offload.c +++ b/net/netfilter/nft_flow_offload.c -@@ -208,47 +208,14 @@ static struct nft_expr_type nft_flow_off +@@ -211,47 +211,14 @@ static struct nft_expr_type nft_flow_off .owner = THIS_MODULE, }; diff --git a/target/linux/generic/backport-4.9/024-3-tcp-tsq-add-shortcut-in-tcp_tasklet_func.patch b/target/linux/generic/backport-4.9/024-3-tcp-tsq-add-shortcut-in-tcp_tasklet_func.patch index caa8cc9be..80b2c3db1 100644 --- a/target/linux/generic/backport-4.9/024-3-tcp-tsq-add-shortcut-in-tcp_tasklet_func.patch +++ b/target/linux/generic/backport-4.9/024-3-tcp-tsq-add-shortcut-in-tcp_tasklet_func.patch @@ -60,7 +60,7 @@ Signed-off-by: David S. Miller nval = cmpxchg(&tp->tsq_flags, oval, nval); if (nval != oval) continue; -@@ -2235,6 +2235,8 @@ static bool tcp_write_xmit(struct sock * +@@ -2236,6 +2236,8 @@ static bool tcp_write_xmit(struct sock * unlikely(tso_fragment(sk, skb, limit, mss_now, gfp))) break; diff --git a/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch b/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch index c577d4e72..7cfc819ec 100644 --- a/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch +++ b/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch @@ -19,7 +19,7 @@ Signed-off-by: David S. Miller --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -2140,6 +2140,15 @@ static bool tcp_small_queue_check(struct +@@ -2141,6 +2141,15 @@ static bool tcp_small_queue_check(struct limit <<= factor; if (atomic_read(&sk->sk_wmem_alloc) > limit) { diff --git a/target/linux/generic/backport-4.9/024-8-tcp-tsq-move-tsq_flags-close-to-sk_wmem_alloc.patch b/target/linux/generic/backport-4.9/024-8-tcp-tsq-move-tsq_flags-close-to-sk_wmem_alloc.patch index edb933b8c..eef1a1cc8 100644 --- a/target/linux/generic/backport-4.9/024-8-tcp-tsq-move-tsq_flags-close-to-sk_wmem_alloc.patch +++ b/target/linux/generic/backport-4.9/024-8-tcp-tsq-move-tsq_flags-close-to-sk_wmem_alloc.patch @@ -114,7 +114,7 @@ Signed-off-by: David S. Miller if (nval != oval) continue; -@@ -2149,7 +2149,7 @@ static bool tcp_small_queue_check(struct +@@ -2150,7 +2150,7 @@ static bool tcp_small_queue_check(struct skb->prev == sk->sk_write_queue.next) return false; @@ -123,7 +123,7 @@ Signed-off-by: David S. Miller /* It is possible TX completion already happened * before we set TSQ_THROTTLED, so we must * test again the condition. -@@ -2247,8 +2247,8 @@ static bool tcp_write_xmit(struct sock * +@@ -2248,8 +2248,8 @@ static bool tcp_write_xmit(struct sock * unlikely(tso_fragment(sk, skb, limit, mss_now, gfp))) break; @@ -134,7 +134,7 @@ Signed-off-by: David S. Miller if (tcp_small_queue_check(sk, skb, 0)) break; -@@ -3559,8 +3559,6 @@ void __tcp_send_ack(struct sock *sk, u32 +@@ -3560,8 +3560,6 @@ void __tcp_send_ack(struct sock *sk, u32 /* We do not want pure acks influencing TCP Small Queues or fq/pacing * too much. * SKB_TRUESIZE(max(1 .. 66, MAX_TCP_HEADER)) is unfortunately ~784 diff --git a/target/linux/generic/backport-4.9/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch b/target/linux/generic/backport-4.9/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch index 15856d3a8..1543934e4 100644 --- a/target/linux/generic/backport-4.9/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch +++ b/target/linux/generic/backport-4.9/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch @@ -74,7 +74,7 @@ Cc: Kir Kolyshkin sk->sk_gso_max_size - 1 - MAX_TCP_HEADER); /* Goal is to send at least one packet per ms, -@@ -2136,7 +2136,7 @@ static bool tcp_small_queue_check(struct +@@ -2137,7 +2137,7 @@ static bool tcp_small_queue_check(struct { unsigned int limit; diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 1d2221698..b9f018db9 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -668,15 +668,15 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/hisilicon/hip04_eth.c +++ b/drivers/net/ethernet/hisilicon/hip04_eth.c -@@ -555,7 +555,7 @@ refill: +@@ -559,7 +559,7 @@ refill: priv->reg_inten |= RCV_INT; writel_relaxed(priv->reg_inten, priv->base + PPE_INTEN); } - napi_complete(napi); + napi_complete_done(napi, rx); done: - /* clean up tx descriptors and start a new timer if necessary */ - tx_remaining = hip04_tx_reclaim(ndev, false); + /* start a new timer if necessary */ + if (rx < budget && tx_remaining) --- a/drivers/net/ethernet/hisilicon/hisi_femac.c +++ b/drivers/net/ethernet/hisilicon/hisi_femac.c @@ -330,7 +330,7 @@ static int hisi_femac_poll(struct napi_s @@ -1238,7 +1238,7 @@ Signed-off-by: David S. Miller } --- a/drivers/net/ethernet/tundra/tsi108_eth.c +++ b/drivers/net/ethernet/tundra/tsi108_eth.c -@@ -887,7 +887,7 @@ static int tsi108_poll(struct napi_struc +@@ -888,7 +888,7 @@ static int tsi108_poll(struct napi_struc if (num_received < budget) { data->rxpending = 0; 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 693221482..f85e7523c 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 +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5463,6 +5463,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5468,6 +5468,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5594,10 +5601,19 @@ static int nf_tables_newflowtable(struct +@@ -5599,10 +5606,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -5723,7 +5739,8 @@ static int nf_tables_fill_flowtable_info +@@ -5728,7 +5744,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), @@ -552,7 +552,7 @@ Signed-off-by: Pablo Neira Ayuso nest = nla_nest_start(skb, NFTA_FLOWTABLE_HOOK); --- a/net/netfilter/nft_flow_offload.c +++ b/net/netfilter/nft_flow_offload.c -@@ -135,6 +135,9 @@ static void nft_flow_offload_eval(const +@@ -138,6 +138,9 @@ static void nft_flow_offload_eval(const if (ret < 0) goto err_flow_add; diff --git a/target/linux/layerscape/patches-4.14/810-kvm-support-layerscape.patch b/target/linux/layerscape/patches-4.14/810-kvm-support-layerscape.patch index 2d2663789..502a99fa8 100644 --- a/target/linux/layerscape/patches-4.14/810-kvm-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/810-kvm-support-layerscape.patch @@ -196,7 +196,7 @@ Signed-off-by: Signed-off-by: Biwen Li --- a/virt/kvm/arm/vgic/vgic-v2.c +++ b/virt/kvm/arm/vgic/vgic-v2.c -@@ -304,7 +304,8 @@ int vgic_v2_map_resources(struct kvm *kv +@@ -307,7 +307,8 @@ int vgic_v2_map_resources(struct kvm *kv if (!static_branch_unlikely(&vgic_v2_cpuif_trap)) { ret = kvm_phys_addr_ioremap(kvm, dist->vgic_cpu_base, kvm_vgic_global_state.vcpu_base, diff --git a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch index bf7c1ea32..cdb53954c 100644 --- a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch +++ b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch @@ -1,7 +1,6 @@ -diff -urN a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c ---- a/drivers/clk/clk-devres.c 2019-08-29 16:59:26.540010395 +0800 -+++ b/drivers/clk/clk-devres.c 2019-08-29 17:02:09.215924786 +0800 -@@ -34,6 +34,17 @@ +--- a/drivers/clk/clk-devres.c ++++ b/drivers/clk/clk-devres.c +@@ -34,6 +34,17 @@ struct clk *devm_clk_get(struct device * } EXPORT_SYMBOL(devm_clk_get); @@ -19,9 +18,8 @@ diff -urN a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c struct clk_bulk_devres { struct clk_bulk_data *clks; int num_clks; -diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie-mediatek.c ---- a/drivers/pci/controller/pcie-mediatek.c 2019-08-29 16:59:10.520410188 +0800 -+++ b/drivers/pci/controller/pcie-mediatek.c 2019-08-29 17:01:58.340199243 +0800 +--- a/drivers/pci/controller/pcie-mediatek.c ++++ b/drivers/pci/controller/pcie-mediatek.c @@ -15,6 +15,7 @@ #include #include @@ -30,7 +28,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie #include #include #include -@@ -162,6 +163,7 @@ +@@ -162,6 +163,7 @@ struct mtk_pcie_soc { * @phy: pointer to PHY control block * @lane: lane count * @slot: port slot @@ -38,7 +36,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie * @irq_domain: legacy INTx IRQ domain * @inner_domain: inner IRQ domain * @msi_domain: MSI IRQ domain -@@ -182,6 +184,7 @@ +@@ -182,6 +184,7 @@ struct mtk_pcie_port { struct phy *phy; u32 lane; u32 slot; @@ -46,7 +44,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie struct irq_domain *irq_domain; struct irq_domain *inner_domain; struct irq_domain *msi_domain; -@@ -225,10 +228,8 @@ +@@ -225,10 +228,8 @@ static void mtk_pcie_subsys_powerdown(st clk_disable_unprepare(pcie->free_ck); @@ -59,7 +57,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie } static void mtk_pcie_port_free(struct mtk_pcie_port *port) -@@ -394,75 +395,6 @@ +@@ -394,75 +395,6 @@ static struct pci_ops mtk_pcie_ops_v2 = .write = mtk_pcie_config_write, }; @@ -135,7 +133,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) { struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data); -@@ -601,6 +533,27 @@ +@@ -601,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m writel(val, port->base + PCIE_INT_MASK); } @@ -163,7 +161,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq) { -@@ -630,6 +583,7 @@ +@@ -630,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, &intx_domain_ops, port); @@ -171,7 +169,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie if (!port->irq_domain) { dev_err(dev, "failed to get INTx IRQ domain\n"); return -ENODEV; -@@ -639,8 +593,6 @@ +@@ -639,8 +593,6 @@ static int mtk_pcie_init_irq_domain(stru ret = mtk_pcie_allocate_msi_domains(port); if (ret) return ret; @@ -180,7 +178,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie } return 0; -@@ -693,7 +645,7 @@ +@@ -693,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk struct mtk_pcie *pcie = port->pcie; struct device *dev = pcie->dev; struct platform_device *pdev = to_platform_device(dev); @@ -189,7 +187,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie err = mtk_pcie_init_irq_domain(port, node); if (err) { -@@ -701,8 +653,81 @@ +@@ -701,8 +653,81 @@ static int mtk_pcie_setup_irq(struct mtk return err; } @@ -273,7 +271,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie return 0; } -@@ -903,49 +928,29 @@ +@@ -903,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt /* sys_ck might be divided into the following parts in some chips */ snprintf(name, sizeof(name), "ahb_ck%d", slot); @@ -338,7 +336,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie snprintf(name, sizeof(name), "pcie-rst%d", slot); port->reset = devm_reset_control_get_optional_exclusive(dev, name); -@@ -998,10 +1003,8 @@ +@@ -998,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc pcie->free_ck = NULL; } @@ -351,7 +349,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie /* enable top level clock */ err = clk_prepare_enable(pcie->free_ck); -@@ -1013,10 +1016,8 @@ +@@ -1013,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc return 0; err_free_ck: @@ -364,7 +362,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie return err; } -@@ -1125,34 +1126,6 @@ +@@ -1125,34 +1126,6 @@ static int mtk_pcie_request_resources(st return 0; } @@ -399,7 +397,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie static int mtk_pcie_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -1179,7 +1152,14 @@ +@@ -1179,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor if (err) goto put_resources; @@ -415,7 +413,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie if (err) goto put_resources; -@@ -1192,6 +1172,80 @@ +@@ -1192,6 +1172,80 @@ put_resources: return err; } @@ -496,7 +494,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie static const struct mtk_pcie_soc mtk_pcie_soc_v1 = { .ops = &mtk_pcie_ops, .startup = mtk_pcie_startup_port, -@@ -1220,10 +1274,13 @@ +@@ -1220,10 +1274,13 @@ static const struct of_device_id mtk_pci static struct platform_driver mtk_pcie_driver = { .probe = mtk_pcie_probe, @@ -511,10 +509,9 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie -builtin_platform_driver(mtk_pcie_driver); +module_platform_driver(mtk_pcie_driver); +MODULE_LICENSE("GPL v2"); -diff -urN a/include/linux/clk.h b/include/linux/clk.h ---- a/include/linux/clk.h 2019-08-29 16:59:52.335365591 +0800 -+++ b/include/linux/clk.h 2019-08-29 17:02:17.107725525 +0800 -@@ -349,6 +349,17 @@ +--- a/include/linux/clk.h ++++ b/include/linux/clk.h +@@ -349,6 +349,17 @@ int __must_check devm_clk_bulk_get(struc struct clk *devm_clk_get(struct device *dev, const char *id); /**