mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump to 4.9.192, 4.14.143, 4.19.72
This commit is contained in:
parent
867e20392f
commit
753e1f22ab
@ -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)))))))
|
||||
|
@ -24,7 +24,7 @@ ChangeLog v2->v3:
|
||||
#include <linux/device.h>
|
||||
#include <linux/dmapool.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
#include <asm/irq.h>
|
||||
@@ -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 <linus.walleij@linaro.org>
|
||||
}
|
||||
|
||||
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 <linus.walleij@linaro.org>
|
||||
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);
|
||||
|
@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
#include <asm/irq.h>
|
||||
@@ -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 <linus.walleij@linaro.org>
|
||||
/**
|
||||
* 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);
|
||||
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 731a2896e11b4e6a8d252e6c14edb1b09dbfcd46 Mon Sep 17 00:00:00 2001
|
||||
From: Hans Ulli Kroll <ulli.kroll@googlemail.com>
|
||||
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 <ulli.kroll@googlemail.com>
|
||||
---
|
||||
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))) {
|
@ -22,7 +22,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
#include <linux/device.h>
|
||||
#include <linux/dmapool.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -5672,9 +5673,18 @@ static int fotg210_hcd_remove(struct pla
|
||||
@@ -5676,9 +5677,18 @@ static int fotg210_hcd_remove(struct pla
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
#include <asm/irq.h>
|
||||
@@ -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 <linus.walleij@linaro.org>
|
||||
/**
|
||||
* 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);
|
||||
|
||||
|
@ -1,27 +0,0 @@
|
||||
From b9d300b5aea18f2e992201d182d939030130aab2 Mon Sep 17 00:00:00 2001
|
||||
From: Hans Ulli Kroll <ulli.kroll@googlemail.com>
|
||||
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 <ulli.kroll@googlemail.com>
|
||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
---
|
||||
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))) {
|
@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
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;
|
||||
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
MODULE_AUTHOR("Pablo Neira Ayuso <pablo@netfilter.org>");
|
||||
--- 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,
|
||||
};
|
||||
|
||||
|
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
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;
|
||||
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- 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) {
|
||||
|
@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
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 <davem@davemloft.net>
|
||||
/* 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 <davem@davemloft.net>
|
||||
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
|
||||
|
@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
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;
|
||||
|
||||
|
@ -668,15 +668,15 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- 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 <davem@davemloft.net>
|
||||
}
|
||||
--- 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;
|
||||
|
@ -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
|
||||
@@ -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 <pablo@netfilter.org>
|
||||
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 <pablo@netfilter.org>
|
||||
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 <pablo@netfilter.org>
|
||||
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;
|
||||
|
||||
|
@ -196,7 +196,7 @@ Signed-off-by: Signed-off-by: Biwen Li <biwen.li@nxp.com>
|
||||
|
||||
--- 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,
|
||||
|
@ -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 <linux/irqdomain.h>
|
||||
#include <linux/kernel.h>
|
||||
@ -30,7 +28,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_pci.h>
|
||||
#include <linux/of_platform.h>
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user