kernel: bump to 4.9.313, 4.14.278, 4.19.242
Removed patches:
- bcm27xx/patches-4.19/950-0475-usb-xhci-Disable-the-XHCI-5-second-timeout.patch
Should be fixed by upstream commit 1c713660c51f3bc64fc1c709ba2bfb358551f3da
("xhci: make xhci_handshake timeout for xhci_reset() adjustable").
Refreshed all patches.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
parent
4bf7a78d8b
commit
4915d34e9e
@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-4.9 = .309
|
||||
LINUX_VERSION-4.14 = .275
|
||||
LINUX_VERSION-4.19 = .237
|
||||
LINUX_VERSION-4.9 = .313
|
||||
LINUX_VERSION-4.14 = .278
|
||||
LINUX_VERSION-4.19 = .242
|
||||
|
||||
LINUX_KERNEL_HASH-4.9.309 = e86a55a89e1e28756b890b2b78f8b582d05cecb3509ff5c353e9534866468614
|
||||
LINUX_KERNEL_HASH-4.14.275 = 100a9960fb2d8e079c9feeef640715a7fb749ed728a57e427f9e2443212e58f9
|
||||
LINUX_KERNEL_HASH-4.19.237 = bafff35102cc486ec2bf94c6d908be8e24017b2e4a1873f52f24c855eb220cd8
|
||||
LINUX_KERNEL_HASH-4.9.313 = e03b777861fae559cb7ed635500cde305bc2ca34dee4dc2fe806de0060c87bdc
|
||||
LINUX_KERNEL_HASH-4.14.278 = 3cd6d4eeb3a5d1c906b35c08f0d602f329410c291233bee1a7a2b168c7378bbe
|
||||
LINUX_KERNEL_HASH-4.19.242 = 59bcfd094ec26b03ca506199224cff53c13325e62d22bd4e31ef4ccafe7265a2
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -23,7 +23,7 @@ produce a noisy warning.
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -426,10 +426,14 @@ static int xhci_try_enable_msi(struct us
|
||||
@@ -424,10 +424,14 @@ static int xhci_try_enable_msi(struct us
|
||||
free_irq(hcd->irq, hcd);
|
||||
hcd->irq = 0;
|
||||
|
||||
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1885,6 +1885,7 @@ struct xhci_hcd {
|
||||
@@ -1888,6 +1888,7 @@ struct xhci_hcd {
|
||||
/* support xHCI 0.96 spec USB2 software LPM */
|
||||
unsigned sw_lpm_support:1;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
||||
@ -336,7 +336,7 @@
|
||||
return neigh_create(&arp_tbl, pkey, dev);
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -454,48 +454,53 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -455,48 +455,53 @@ static void tcp_options_write(__be32 *pt
|
||||
u16 options = opts->options; /* mungable copy */
|
||||
|
||||
if (unlikely(OPTION_MD5 & options)) {
|
||||
@ -413,7 +413,7 @@
|
||||
}
|
||||
|
||||
if (unlikely(opts->num_sack_blocks)) {
|
||||
@@ -503,16 +508,17 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -504,16 +509,17 @@ static void tcp_options_write(__be32 *pt
|
||||
tp->duplicate_sack : tp->selective_acks;
|
||||
int this_sack;
|
||||
|
||||
@ -437,7 +437,7 @@
|
||||
}
|
||||
|
||||
tp->rx_opt.dsack = 0;
|
||||
@@ -525,13 +531,14 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -526,13 +532,14 @@ static void tcp_options_write(__be32 *pt
|
||||
|
||||
if (foc->exp) {
|
||||
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
||||
@ -872,7 +872,7 @@
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -479,7 +479,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -881,7 +881,7 @@
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -503,11 +503,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -502,11 +502,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
||||
@ -327,7 +327,7 @@
|
||||
return neigh_create(&arp_tbl, pkey, dev);
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -453,48 +453,53 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -454,48 +454,53 @@ static void tcp_options_write(__be32 *pt
|
||||
u16 options = opts->options; /* mungable copy */
|
||||
|
||||
if (unlikely(OPTION_MD5 & options)) {
|
||||
@ -404,7 +404,7 @@
|
||||
}
|
||||
|
||||
if (unlikely(opts->num_sack_blocks)) {
|
||||
@@ -502,16 +507,17 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -503,16 +508,17 @@ static void tcp_options_write(__be32 *pt
|
||||
tp->duplicate_sack : tp->selective_acks;
|
||||
int this_sack;
|
||||
|
||||
@ -428,7 +428,7 @@
|
||||
}
|
||||
|
||||
tp->rx_opt.dsack = 0;
|
||||
@@ -524,13 +530,14 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -525,13 +531,14 @@ static void tcp_options_write(__be32 *pt
|
||||
|
||||
if (foc->exp) {
|
||||
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
||||
@ -910,7 +910,7 @@
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -435,7 +435,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -434,7 +434,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -919,7 +919,7 @@
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -458,11 +458,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -457,11 +457,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
||||
@ -327,7 +327,7 @@
|
||||
return neigh_create(&arp_tbl, pkey, dev);
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -454,48 +454,53 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -455,48 +455,53 @@ static void tcp_options_write(__be32 *pt
|
||||
u16 options = opts->options; /* mungable copy */
|
||||
|
||||
if (unlikely(OPTION_MD5 & options)) {
|
||||
@ -404,7 +404,7 @@
|
||||
}
|
||||
|
||||
if (unlikely(opts->num_sack_blocks)) {
|
||||
@@ -503,16 +508,17 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -504,16 +509,17 @@ static void tcp_options_write(__be32 *pt
|
||||
tp->duplicate_sack : tp->selective_acks;
|
||||
int this_sack;
|
||||
|
||||
@ -428,7 +428,7 @@
|
||||
}
|
||||
|
||||
tp->rx_opt.dsack = 0;
|
||||
@@ -525,13 +531,14 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -526,13 +532,14 @@ static void tcp_options_write(__be32 *pt
|
||||
|
||||
if (foc->exp) {
|
||||
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
||||
@ -830,7 +830,7 @@
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -479,7 +479,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -839,7 +839,7 @@
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -503,11 +503,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -502,11 +502,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
||||
@ -327,7 +327,7 @@
|
||||
return neigh_create(&arp_tbl, pkey, dev);
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -447,48 +447,53 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -448,48 +448,53 @@ static void tcp_options_write(__be32 *pt
|
||||
u16 options = opts->options; /* mungable copy */
|
||||
|
||||
if (unlikely(OPTION_MD5 & options)) {
|
||||
@ -404,7 +404,7 @@
|
||||
}
|
||||
|
||||
if (unlikely(opts->num_sack_blocks)) {
|
||||
@@ -496,16 +501,17 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -497,16 +502,17 @@ static void tcp_options_write(__be32 *pt
|
||||
tp->duplicate_sack : tp->selective_acks;
|
||||
int this_sack;
|
||||
|
||||
@ -428,7 +428,7 @@
|
||||
}
|
||||
|
||||
tp->rx_opt.dsack = 0;
|
||||
@@ -518,13 +524,14 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -519,13 +525,14 @@ static void tcp_options_write(__be32 *pt
|
||||
|
||||
if (foc->exp) {
|
||||
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
||||
@ -821,7 +821,7 @@
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -479,7 +479,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -830,7 +830,7 @@
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -503,11 +503,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -502,11 +502,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -8017,8 +8017,6 @@ int alloc_contig_range(unsigned long sta
|
||||
@@ -8024,8 +8024,6 @@ int alloc_contig_range(unsigned long sta
|
||||
|
||||
/* Make sure the range is really isolated. */
|
||||
if (test_pages_isolated(outer_start, end, false)) {
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -2152,7 +2152,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
@@ -2159,7 +2159,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Disable rate control for now */
|
||||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
||||
TDMA_FLOW_PERIOD);
|
||||
@@ -3585,9 +3585,12 @@ static int bcmgenet_probe(struct platfor
|
||||
@@ -3592,9 +3592,12 @@ static int bcmgenet_probe(struct platfor
|
||||
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
||||
|
||||
/* Set default coalescing parameters */
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -222,7 +222,8 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
@@ -223,7 +223,8 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
/* Abort if we are using an untested phy. */
|
||||
if (BRCM_PHY_MODEL(phydev) != PHY_ID_BCM57780 &&
|
||||
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610 &&
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
return;
|
||||
|
||||
val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_SCR3);
|
||||
@@ -604,7 +605,7 @@ static struct phy_driver broadcom_driver
|
||||
@@ -625,7 +626,7 @@ static struct phy_driver broadcom_driver
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
.phy_id = PHY_ID_BCM54210E,
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
.name = "Broadcom BCM54210E",
|
||||
.features = PHY_GBIT_FEATURES,
|
||||
.flags = PHY_HAS_INTERRUPT,
|
||||
@@ -612,6 +613,15 @@ static struct phy_driver broadcom_driver
|
||||
@@ -633,6 +634,15 @@ static struct phy_driver broadcom_driver
|
||||
.ack_interrupt = bcm_phy_ack_intr,
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
.phy_id = PHY_ID_BCM5461,
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
.name = "Broadcom BCM5461",
|
||||
@@ -748,7 +758,8 @@ module_phy_driver(broadcom_drivers);
|
||||
@@ -769,7 +779,8 @@ module_phy_driver(broadcom_drivers);
|
||||
static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
|
||||
{ PHY_ID_BCM5411, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5421, 0xfffffff0 },
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -52,6 +52,21 @@ static int bcm54210e_config_init(struct
|
||||
@@ -53,6 +53,21 @@ static int bcm54210e_config_init(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
static int bcm54612e_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int reg;
|
||||
@@ -310,6 +325,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -311,6 +326,8 @@ static int bcm54xx_config_init(struct ph
|
||||
err = bcm54210e_config_init(phydev);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
From ff7222c0771a5e28666335663571058e560ad32b Mon Sep 17 00:00:00 2001
|
||||
From: Tim Gover <tim.gover@raspberrypi.org>
|
||||
Date: Fri, 22 Mar 2019 09:47:14 +0000
|
||||
Subject: [PATCH] usb: xhci: Disable the XHCI 5 second timeout
|
||||
|
||||
If the VL805 EEPROM has not been programmed then boot will hang for five
|
||||
seconds. The timeout seems to be arbitrary and is an unecessary
|
||||
delay on the first boot. Remove the timeout.
|
||||
|
||||
This is common code and probably can't be upstreamed unless the timeout
|
||||
can be configurable somehow or perhaps the XHCI driver can be skipped
|
||||
on the first boot.
|
||||
---
|
||||
drivers/usb/host/xhci.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -196,8 +196,9 @@ int xhci_reset(struct xhci_hcd *xhci)
|
||||
if (xhci->quirks & XHCI_INTEL_HOST)
|
||||
udelay(1000);
|
||||
|
||||
+ // Hack: reduce handshake timeout from 10s 0.5s due to unprogrammed vl805
|
||||
ret = xhci_handshake(&xhci->op_regs->command,
|
||||
- CMD_RESET, 0, 10 * 1000 * 1000);
|
||||
+ CMD_RESET, 0, 500 * 1000);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1452,6 +1452,103 @@ command_cleanup:
|
||||
@@ -1460,6 +1460,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5271,6 +5368,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5279,6 +5376,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1873,6 +1873,7 @@ struct xhci_hcd {
|
||||
@@ -1876,6 +1876,7 @@ struct xhci_hcd {
|
||||
#define XHCI_ZERO_64B_REGS BIT_ULL(32)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
|
||||
{
|
||||
/* MIPS chips strapped for BE will automagically configure the
|
||||
@@ -1998,6 +2002,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
@@ -2005,6 +2009,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
bcmgenet_rbuf_ctrl_set(priv, 0);
|
||||
udelay(10);
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
val);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1644,8 +1644,8 @@ struct urb_priv {
|
||||
@@ -1647,8 +1647,8 @@ struct urb_priv {
|
||||
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
|
||||
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
|
||||
* meaning 64 ring segments.
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -345,6 +345,19 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -346,6 +346,19 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
bcm54xx_phydsp_config(phydev);
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
(default "off")
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -292,6 +292,9 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
@@ -293,6 +293,9 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
static int bcm54xx_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int reg, err, val;
|
||||
@ -97,7 +97,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
|
||||
reg = phy_read(phydev, MII_BCM54XX_ECR);
|
||||
if (reg < 0)
|
||||
@@ -345,6 +348,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -346,6 +349,8 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
bcm54xx_phydsp_config(phydev);
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
/* Encode link speed into LED1 and LED3 pair (green/amber).
|
||||
* Also flash these two LEDs on activity. This means configuring
|
||||
* them for MULTICOLOR and encoding link/activity into them.
|
||||
@@ -354,8 +359,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -355,8 +360,8 @@ static int bcm54xx_config_init(struct ph
|
||||
bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
|
||||
|
||||
val = BCM_LED_MULTICOLOR_IN_PHASE |
|
||||
|
||||
@ -11,7 +11,7 @@ releases.
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -293,7 +293,7 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -294,7 +294,7 @@ static int bcm54xx_config_init(struct ph
|
||||
{
|
||||
int reg, err, val;
|
||||
u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
|
||||
@ -20,7 +20,7 @@ releases.
|
||||
struct device_node *np = phydev->mdio.dev.of_node;
|
||||
|
||||
reg = phy_read(phydev, MII_BCM54XX_ECR);
|
||||
@@ -350,10 +350,6 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -351,10 +351,6 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
of_property_read_u32_array(np, "led-modes", led_modes, 2);
|
||||
|
||||
|
||||
@ -90,7 +90,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
* Reset a halted HC.
|
||||
*
|
||||
@@ -607,10 +650,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||
@@ -605,10 +648,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||
|
||||
static int xhci_run_finished(struct xhci_hcd *xhci)
|
||||
{
|
||||
@ -114,7 +114,7 @@ it on BCM4708 family.
|
||||
xhci->shared_hcd->state = HC_STATE_RUNNING;
|
||||
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
|
||||
|
||||
@@ -620,6 +673,10 @@ static int xhci_run_finished(struct xhci
|
||||
@@ -618,6 +671,10 @@ static int xhci_run_finished(struct xhci
|
||||
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
|
||||
"Finished xhci_run for USB3 roothub");
|
||||
return 0;
|
||||
@ -127,7 +127,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1873,6 +1873,7 @@ struct xhci_hcd {
|
||||
@@ -1876,6 +1876,7 @@ struct xhci_hcd {
|
||||
#define XHCI_ZERO_64B_REGS BIT_ULL(32)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
/* For Max performance, the MRRS must be set to the largest supported
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -847,7 +847,7 @@ enum pcie_bus_config_types {
|
||||
@@ -848,7 +848,7 @@ enum pcie_bus_config_types {
|
||||
PCIE_BUS_DEFAULT, /* ensure MPS matches upstream bridge */
|
||||
PCIE_BUS_SAFE, /* use largest MPS boot-time devices support */
|
||||
PCIE_BUS_PERFORMANCE, /* use MPS and MRRS for best performance */
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -417,7 +417,11 @@ static int bcm5481_config_aneg(struct ph
|
||||
@@ -418,7 +418,11 @@ static int bcm5481_config_aneg(struct ph
|
||||
ret = genphy_config_aneg(phydev);
|
||||
|
||||
/* Then we can set up the delay. */
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
/*
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -873,7 +873,7 @@ enum pcie_bus_config_types {
|
||||
@@ -874,7 +874,7 @@ enum pcie_bus_config_types {
|
||||
PCIE_BUS_DEFAULT, /* Ensure MPS matches upstream bridge */
|
||||
PCIE_BUS_SAFE, /* Use largest MPS boot-time devices support */
|
||||
PCIE_BUS_PERFORMANCE, /* Use MPS and MRRS for best performance */
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -429,7 +429,11 @@ static int bcm5481_config_aneg(struct ph
|
||||
@@ -430,7 +430,11 @@ static int bcm5481_config_aneg(struct ph
|
||||
ret = genphy_config_aneg(phydev);
|
||||
|
||||
/* Then we can set up the delay. */
|
||||
|
||||
@ -65,7 +65,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
* Before updating sk_refcnt, we must commit prior changes to memory
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1701,7 +1701,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1702,7 +1702,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@ -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,
|
||||
@@ -2219,7 +2219,7 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2220,7 +2220,7 @@ static bool tcp_small_queue_check(struct
|
||||
{
|
||||
unsigned int limit;
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
|
||||
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -2072,7 +2072,8 @@ static const struct usb_device_id option
|
||||
@@ -2084,7 +2084,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -43,6 +43,12 @@ static int bcm54210e_config_init(struct
|
||||
@@ -44,6 +44,12 @@ static int bcm54210e_config_init(struct
|
||||
val &= ~BCM54810_SHD_CLK_CTL_GTXCLK_EN;
|
||||
bcm_phy_write_shadow(phydev, BCM54810_SHD_CLK_CTL, val);
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
|
||||
--- a/include/net/tcp.h
|
||||
+++ b/include/net/tcp.h
|
||||
@@ -998,6 +998,7 @@ struct rate_sample {
|
||||
@@ -999,6 +999,7 @@ struct rate_sample {
|
||||
u32 prior_in_flight; /* in flight before this ACK */
|
||||
bool is_app_limited; /* is sample from packet with bubble in pipe? */
|
||||
bool is_retrans; /* is sample from retransmission? */
|
||||
|
||||
@ -39,7 +39,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss,
|
||||
int nonagle);
|
||||
int __tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb, int segs);
|
||||
@@ -1025,8 +1023,8 @@ struct tcp_congestion_ops {
|
||||
@@ -1026,8 +1024,8 @@ struct tcp_congestion_ops {
|
||||
u32 (*undo_cwnd)(struct sock *sk);
|
||||
/* hook for packet ack accounting (optional) */
|
||||
void (*pkts_acked)(struct sock *sk, const struct ack_sample *sample);
|
||||
@ -99,7 +99,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
};
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1696,8 +1696,8 @@ static bool tcp_nagle_check(bool partial
|
||||
@@ -1697,8 +1697,8 @@ static bool tcp_nagle_check(bool partial
|
||||
/* Return how many segs we'd like on a TSO packet,
|
||||
* to send one TSO packet per ms
|
||||
*/
|
||||
@ -110,7 +110,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@@ -1713,7 +1713,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1714,7 +1714,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
|
||||
return segs;
|
||||
}
|
||||
@ -118,7 +118,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
|
||||
/* Return the number of segments we want in the skb we are transmitting.
|
||||
* See if congestion control module wants to decide; otherwise, autosize.
|
||||
@@ -1721,11 +1720,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
@@ -1722,11 +1721,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now)
|
||||
{
|
||||
const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops;
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
|
||||
--- a/include/net/tcp.h
|
||||
+++ b/include/net/tcp.h
|
||||
@@ -1233,6 +1233,17 @@ static inline bool tcp_is_cwnd_limited(c
|
||||
@@ -1234,6 +1234,17 @@ static inline bool tcp_is_cwnd_limited(c
|
||||
return tp->is_cwnd_limited;
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
rate *= USEC_PER_SEC;
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -949,17 +949,6 @@ enum hrtimer_restart tcp_pace_kick(struc
|
||||
@@ -950,17 +950,6 @@ enum hrtimer_restart tcp_pace_kick(struc
|
||||
return HRTIMER_NORESTART;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
static void tcp_internal_pacing(struct sock *sk, const struct sk_buff *skb)
|
||||
{
|
||||
u64 len_ns;
|
||||
@@ -971,9 +960,6 @@ static void tcp_internal_pacing(struct s
|
||||
@@ -972,9 +961,6 @@ static void tcp_internal_pacing(struct s
|
||||
if (!rate || rate == ~0U)
|
||||
return;
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
return (struct tcp_sock *)sk;
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -792,10 +792,10 @@ static void tcp_tasklet_func(unsigned lo
|
||||
@@ -793,10 +793,10 @@ static void tcp_tasklet_func(unsigned lo
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/**
|
||||
* tcp_release_cb - tcp release_sock() callback
|
||||
* @sk: socket
|
||||
@@ -816,7 +816,7 @@ void tcp_release_cb(struct sock *sk)
|
||||
@@ -817,7 +817,7 @@ void tcp_release_cb(struct sock *sk)
|
||||
nflags = flags & ~TCP_DEFERRED_ALL;
|
||||
} while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
|
||||
|
||||
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
tcp_tsq_handler(sk);
|
||||
|
||||
/* Here begins the tricky part :
|
||||
@@ -830,15 +830,15 @@ void tcp_release_cb(struct sock *sk)
|
||||
@@ -831,15 +831,15 @@ void tcp_release_cb(struct sock *sk)
|
||||
*/
|
||||
sock_release_ownership(sk);
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -868,6 +868,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -869,6 +869,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
{
|
||||
struct sock *sk = skb->sk;
|
||||
struct tcp_sock *tp = tcp_sk(sk);
|
||||
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int wmem;
|
||||
|
||||
/* Keep one reference on sk_wmem_alloc.
|
||||
@@ -885,11 +886,17 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -886,11 +887,17 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
if (wmem >= SKB_TRUESIZE(1) && this_cpu_ksoftirqd() == current)
|
||||
goto out;
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -775,19 +775,19 @@ static void tcp_tasklet_func(unsigned lo
|
||||
@@ -776,19 +776,19 @@ static void tcp_tasklet_func(unsigned lo
|
||||
list_for_each_safe(q, n, &list) {
|
||||
tp = list_entry(q, struct tcp_sock, tsq_node);
|
||||
list_del(&tp->tsq_node);
|
||||
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
sk_free(sk);
|
||||
}
|
||||
}
|
||||
@@ -892,7 +892,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -893,7 +893,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
if (!(oval & TSQF_THROTTLED) || (oval & TSQF_QUEUED))
|
||||
goto out;
|
||||
|
||||
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
nval = cmpxchg(&tp->tsq_flags, oval, nval);
|
||||
if (nval != oval)
|
||||
continue;
|
||||
@@ -2241,6 +2241,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
@@ -2242,6 +2242,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
|
||||
break;
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -888,6 +888,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -889,6 +889,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
|
||||
for (oval = READ_ONCE(tp->tsq_flags);; oval = nval) {
|
||||
struct tsq_tasklet *tsq;
|
||||
@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
if (!(oval & TSQF_THROTTLED) || (oval & TSQF_QUEUED))
|
||||
goto out;
|
||||
@@ -900,8 +901,10 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -901,8 +902,10 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
/* queue this socket to tasklet queue */
|
||||
local_irq_save(flags);
|
||||
tsq = this_cpu_ptr(&tsq_tasklet);
|
||||
|
||||
@ -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
|
||||
@@ -2146,6 +2146,15 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2147,6 +2147,15 @@ static bool tcp_small_queue_check(struct
|
||||
limit <<= factor;
|
||||
|
||||
if (atomic_read(&sk->sk_wmem_alloc) > limit) {
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1978,26 +1978,26 @@ static bool tcp_can_coalesce_send_queue_
|
||||
@@ -1979,26 +1979,26 @@ static bool tcp_can_coalesce_send_queue_
|
||||
*/
|
||||
static int tcp_mtu_probe(struct sock *sk)
|
||||
{
|
||||
|
||||
@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
goto out;
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -775,14 +775,15 @@ static void tcp_tasklet_func(unsigned lo
|
||||
@@ -776,14 +776,15 @@ static void tcp_tasklet_func(unsigned lo
|
||||
list_for_each_safe(q, n, &list) {
|
||||
tp = list_entry(q, struct tcp_sock, tsq_node);
|
||||
list_del(&tp->tsq_node);
|
||||
@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
tcp_tsq_handler(sk);
|
||||
}
|
||||
bh_unlock_sock(sk);
|
||||
@@ -805,16 +806,15 @@ static void tcp_tasklet_func(unsigned lo
|
||||
@@ -806,16 +807,15 @@ static void tcp_tasklet_func(unsigned lo
|
||||
*/
|
||||
void tcp_release_cb(struct sock *sk)
|
||||
{
|
||||
@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
if (flags & TCPF_TSQ_DEFERRED)
|
||||
tcp_tsq_handler(sk);
|
||||
@@ -886,7 +886,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -887,7 +887,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
if (wmem >= SKB_TRUESIZE(1) && this_cpu_ksoftirqd() == current)
|
||||
goto out;
|
||||
|
||||
@ -105,7 +105,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
struct tsq_tasklet *tsq;
|
||||
bool empty;
|
||||
|
||||
@@ -894,7 +894,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
@@ -895,7 +895,7 @@ void tcp_wfree(struct sk_buff *skb)
|
||||
goto out;
|
||||
|
||||
nval = (oval & ~TSQF_THROTTLED) | TSQF_QUEUED | TCPF_TSQ_DEFERRED;
|
||||
@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
if (nval != oval)
|
||||
continue;
|
||||
|
||||
@@ -2155,7 +2155,7 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2156,7 +2156,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.
|
||||
@@ -2253,8 +2253,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
@@ -2254,8 +2254,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;
|
||||
|
||||
@@ -3578,8 +3578,6 @@ void __tcp_send_ack(struct sock *sk, u32
|
||||
@@ -3579,8 +3579,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
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -777,6 +777,7 @@ static void tcp_tasklet_func(unsigned lo
|
||||
@@ -778,6 +778,7 @@ static void tcp_tasklet_func(unsigned lo
|
||||
list_del(&tp->tsq_node);
|
||||
|
||||
sk = (struct sock *)tp;
|
||||
|
||||
@ -65,7 +65,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
* Before updating sk_refcnt, we must commit prior changes to memory
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1611,7 +1611,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1612,7 +1612,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@ -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,
|
||||
@@ -2142,7 +2142,7 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2143,7 +2143,7 @@ static bool tcp_small_queue_check(struct
|
||||
{
|
||||
unsigned int limit;
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -337,6 +337,41 @@ static int bcm5481_config_aneg(struct ph
|
||||
@@ -338,6 +338,41 @@ static int bcm5481_config_aneg(struct ph
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int brcm_phy_setbits(struct phy_device *phydev, int reg, int set)
|
||||
{
|
||||
int val;
|
||||
@@ -485,6 +520,18 @@ static struct phy_driver broadcom_driver
|
||||
@@ -506,6 +541,18 @@ static struct phy_driver broadcom_driver
|
||||
.ack_interrupt = bcm_phy_ack_intr,
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
@ -74,7 +74,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
.phy_id = PHY_ID_BCM54616S,
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
.name = "Broadcom BCM54616S",
|
||||
@@ -600,6 +647,7 @@ static struct mdio_device_id __maybe_unu
|
||||
@@ -621,6 +668,7 @@ static struct mdio_device_id __maybe_unu
|
||||
{ PHY_ID_BCM5411, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5421, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5461, 0xfffffff0 },
|
||||
|
||||
@ -12,7 +12,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -30,6 +30,16 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
|
||||
@@ -31,6 +31,16 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
|
||||
MODULE_AUTHOR("Maciej W. Rozycki");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -18,7 +18,7 @@
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/phy.h>
|
||||
#include <linux/brcmphy.h>
|
||||
@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
#define BRCM_PHY_MODEL(phydev) \
|
||||
((phydev)->drv->phy_id & (phydev)->drv->phy_id_mask)
|
||||
@@ -45,6 +45,34 @@ static int bcm54xx_auxctl_write(struct p
|
||||
@@ -46,6 +46,34 @@ static int bcm54xx_auxctl_write(struct p
|
||||
return phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum | val);
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* Needs SMDSP clock enabled via bcm54xx_phydsp_config() */
|
||||
static int bcm50610_a0_workaround(struct phy_device *phydev)
|
||||
{
|
||||
@@ -217,6 +245,12 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -218,6 +246,12 @@ static int bcm54xx_config_init(struct ph
|
||||
(phydev->dev_flags & PHY_BRCM_AUTO_PWRDWN_ENABLE))
|
||||
bcm54xx_adjust_rxrefclk(phydev);
|
||||
|
||||
@ -74,7 +74,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
bcm54xx_phydsp_config(phydev);
|
||||
|
||||
return 0;
|
||||
@@ -314,6 +348,7 @@ static int bcm5482_read_status(struct ph
|
||||
@@ -315,6 +349,7 @@ static int bcm5482_read_status(struct ph
|
||||
|
||||
static int bcm5481_config_aneg(struct phy_device *phydev)
|
||||
{
|
||||
@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int ret;
|
||||
|
||||
/* Aneg firsly. */
|
||||
@@ -344,6 +379,14 @@ static int bcm5481_config_aneg(struct ph
|
||||
@@ -345,6 +380,14 @@ static int bcm5481_config_aneg(struct ph
|
||||
phy_write(phydev, 0x18, reg);
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -578,6 +621,18 @@ static struct phy_driver broadcom_driver
|
||||
@@ -599,6 +642,18 @@ static struct phy_driver broadcom_driver
|
||||
.ack_interrupt = bcm_phy_ack_intr,
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
@ -116,7 +116,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
.phy_id = PHY_ID_BCM5482,
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
.name = "Broadcom BCM5482",
|
||||
@@ -661,6 +716,7 @@ static struct mdio_device_id __maybe_unu
|
||||
@@ -682,6 +737,7 @@ static struct mdio_device_id __maybe_unu
|
||||
{ PHY_ID_BCM54616S, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5464, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5481, 0xfffffff0 },
|
||||
|
||||
@ -50,7 +50,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int bcm_phy_read_misc(struct phy_device *phydev,
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -30,21 +30,6 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
|
||||
@@ -31,21 +31,6 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
|
||||
MODULE_AUTHOR("Maciej W. Rozycki");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -395,10 +395,8 @@ static int bcm54612e_config_aneg(struct
|
||||
@@ -396,10 +396,8 @@ static int bcm54612e_config_aneg(struct
|
||||
(phydev->interface != PHY_INTERFACE_MODE_RGMII_RXID)) {
|
||||
u16 reg;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -30,6 +30,22 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
|
||||
@@ -31,6 +31,22 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
|
||||
MODULE_AUTHOR("Maciej W. Rozycki");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int bcm54810_config(struct phy_device *phydev)
|
||||
{
|
||||
int rc, val;
|
||||
@@ -230,7 +246,11 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -231,7 +247,11 @@ static int bcm54xx_config_init(struct ph
|
||||
(phydev->dev_flags & PHY_BRCM_AUTO_PWRDWN_ENABLE))
|
||||
bcm54xx_adjust_rxrefclk(phydev);
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
err = bcm54810_config(phydev);
|
||||
if (err)
|
||||
return err;
|
||||
@@ -544,6 +564,17 @@ static struct phy_driver broadcom_driver
|
||||
@@ -565,6 +585,17 @@ static struct phy_driver broadcom_driver
|
||||
.ack_interrupt = bcm_phy_ack_intr,
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
.phy_id = PHY_ID_BCM5461,
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
.name = "Broadcom BCM5461",
|
||||
@@ -694,6 +725,7 @@ module_phy_driver(broadcom_drivers);
|
||||
@@ -715,6 +746,7 @@ module_phy_driver(broadcom_drivers);
|
||||
static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
|
||||
{ PHY_ID_BCM5411, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5421, 0xfffffff0 },
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -46,6 +46,34 @@ static int bcm54210e_config_init(struct
|
||||
@@ -47,6 +47,34 @@ static int bcm54210e_config_init(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int bcm54810_config(struct phy_device *phydev)
|
||||
{
|
||||
int rc, val;
|
||||
@@ -250,6 +278,10 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -251,6 +279,10 @@ static int bcm54xx_config_init(struct ph
|
||||
err = bcm54210e_config_init(phydev);
|
||||
if (err)
|
||||
return err;
|
||||
@ -70,7 +70,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
} else if (BRCM_PHY_MODEL(phydev) == PHY_ID_BCM54810) {
|
||||
err = bcm54810_config(phydev);
|
||||
if (err)
|
||||
@@ -395,39 +427,6 @@ static int bcm5481_config_aneg(struct ph
|
||||
@@ -396,39 +428,6 @@ static int bcm5481_config_aneg(struct ph
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int brcm_phy_setbits(struct phy_device *phydev, int reg, int set)
|
||||
{
|
||||
int val;
|
||||
@@ -594,7 +593,7 @@ static struct phy_driver broadcom_driver
|
||||
@@ -615,7 +614,7 @@ static struct phy_driver broadcom_driver
|
||||
SUPPORTED_Pause | SUPPORTED_Asym_Pause,
|
||||
.flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
|
||||
.config_init = bcm54xx_config_init,
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -43,6 +43,12 @@ static int bcm54210e_config_init(struct
|
||||
@@ -44,6 +44,12 @@ static int bcm54210e_config_init(struct
|
||||
val &= ~BCM54810_SHD_CLK_CTL_GTXCLK_EN;
|
||||
bcm_phy_write_shadow(phydev, BCM54810_SHD_CLK_CTL, val);
|
||||
|
||||
|
||||
@ -138,7 +138,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
#define rcu_dereference_sk_user_data(sk) rcu_dereference(__sk_user_data((sk)))
|
||||
--- a/include/net/tcp.h
|
||||
+++ b/include/net/tcp.h
|
||||
@@ -584,6 +584,7 @@ void tcp_fin(struct sock *sk);
|
||||
@@ -585,6 +585,7 @@ void tcp_check_space(struct sock *sk);
|
||||
void tcp_init_xmit_timers(struct sock *);
|
||||
static inline void tcp_clear_xmit_timers(struct sock *sk)
|
||||
{
|
||||
@ -146,7 +146,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
inet_csk_clear_xmit_timers(sk);
|
||||
}
|
||||
|
||||
@@ -1970,4 +1971,6 @@ static inline void tcp_listendrop(const
|
||||
@@ -1971,4 +1972,6 @@ static inline void tcp_listendrop(const
|
||||
__NET_INC_STATS(sock_net(sk), LINUX_MIB_LISTENDROPS);
|
||||
}
|
||||
|
||||
@ -193,7 +193,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
static u32 bbr_sndbuf_expand(struct sock *sk)
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -913,6 +913,72 @@ out:
|
||||
@@ -914,6 +914,72 @@ out:
|
||||
sk_free(sk);
|
||||
}
|
||||
|
||||
@ -266,7 +266,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
/* This routine actually transmits TCP packets queued in by
|
||||
* tcp_do_sendmsg(). This is used by both the initial
|
||||
* transmission and possible later retransmissions.
|
||||
@@ -1034,6 +1100,7 @@ static int __tcp_transmit_skb(struct soc
|
||||
@@ -1035,6 +1101,7 @@ static int __tcp_transmit_skb(struct soc
|
||||
if (skb->len != tcp_header_size) {
|
||||
tcp_event_data_sent(tp, sk);
|
||||
tp->data_segs_out += tcp_skb_pcount(skb);
|
||||
@ -274,7 +274,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
}
|
||||
|
||||
if (after(tcb->end_seq, tp->snd_nxt) || tcb->seq == tcb->end_seq)
|
||||
@@ -2126,6 +2193,12 @@ static int tcp_mtu_probe(struct sock *sk
|
||||
@@ -2127,6 +2194,12 @@ static int tcp_mtu_probe(struct sock *sk
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -287,7 +287,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
/* TCP Small Queues :
|
||||
* Control number of packets in qdisc/devices to two packets / or ~1 ms.
|
||||
* (These limits are doubled for retransmits)
|
||||
@@ -2209,6 +2282,9 @@ static bool tcp_write_xmit(struct sock *
|
||||
@@ -2210,6 +2283,9 @@ static bool tcp_write_xmit(struct sock *
|
||||
while ((skb = tcp_send_head(sk))) {
|
||||
unsigned int limit;
|
||||
|
||||
@ -297,7 +297,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
tso_segs = tcp_init_tso_segs(skb, mss_now);
|
||||
BUG_ON(!tso_segs);
|
||||
|
||||
@@ -2933,6 +3009,10 @@ void tcp_xmit_retransmit_queue(struct so
|
||||
@@ -2934,6 +3010,10 @@ void tcp_xmit_retransmit_queue(struct so
|
||||
|
||||
if (skb == tcp_send_head(sk))
|
||||
break;
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
|
||||
--- a/include/net/tcp.h
|
||||
+++ b/include/net/tcp.h
|
||||
@@ -911,6 +911,7 @@ struct rate_sample {
|
||||
@@ -912,6 +912,7 @@ struct rate_sample {
|
||||
u32 prior_in_flight; /* in flight before this ACK */
|
||||
bool is_app_limited; /* is sample from packet with bubble in pipe? */
|
||||
bool is_retrans; /* is sample from retransmission? */
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss,
|
||||
int nonagle);
|
||||
bool tcp_may_send_now(struct sock *sk);
|
||||
@@ -938,8 +936,8 @@ struct tcp_congestion_ops {
|
||||
@@ -939,8 +937,8 @@ struct tcp_congestion_ops {
|
||||
u32 (*undo_cwnd)(struct sock *sk);
|
||||
/* hook for packet ack accounting (optional) */
|
||||
void (*pkts_acked)(struct sock *sk, const struct ack_sample *sample);
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
};
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1673,8 +1673,8 @@ static bool tcp_nagle_check(bool partial
|
||||
@@ -1674,8 +1674,8 @@ static bool tcp_nagle_check(bool partial
|
||||
/* Return how many segs we'd like on a TSO packet,
|
||||
* to send one TSO packet per ms
|
||||
*/
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@@ -1690,7 +1690,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1691,7 +1691,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
|
||||
return segs;
|
||||
}
|
||||
@ -120,7 +120,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
|
||||
/* Return the number of segments we want in the skb we are transmitting.
|
||||
* See if congestion control module wants to decide; otherwise, autosize.
|
||||
@@ -1698,11 +1697,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
@@ -1699,11 +1698,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now)
|
||||
{
|
||||
const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops;
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
|
||||
--- a/include/net/tcp.h
|
||||
+++ b/include/net/tcp.h
|
||||
@@ -1161,6 +1161,17 @@ static inline bool tcp_is_cwnd_limited(c
|
||||
@@ -1162,6 +1162,17 @@ static inline bool tcp_is_cwnd_limited(c
|
||||
return tp->is_cwnd_limited;
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
rate *= USEC_PER_SEC;
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -947,17 +947,6 @@ enum hrtimer_restart tcp_pace_kick(struc
|
||||
@@ -948,17 +948,6 @@ enum hrtimer_restart tcp_pace_kick(struc
|
||||
return HRTIMER_NORESTART;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
static void tcp_internal_pacing(struct sock *sk, const struct sk_buff *skb)
|
||||
{
|
||||
u64 len_ns;
|
||||
@@ -969,9 +958,6 @@ static void tcp_internal_pacing(struct s
|
||||
@@ -970,9 +959,6 @@ static void tcp_internal_pacing(struct s
|
||||
if (!rate || rate == ~0U)
|
||||
return;
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
/* 4G Systems products */
|
||||
/* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick *
|
||||
@@ -588,6 +589,16 @@ static void option_instat_callback(struc
|
||||
@@ -590,6 +591,16 @@ static void option_instat_callback(struc
|
||||
/* Device needs ZLP */
|
||||
#define ZLP BIT(17)
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
static const struct usb_device_id option_ids[] = {
|
||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
|
||||
@@ -622,6 +633,8 @@ static const struct usb_device_id option
|
||||
@@ -624,6 +635,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
/* 4G Systems products */
|
||||
/* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick *
|
||||
@@ -585,6 +586,16 @@ static void option_instat_callback(struc
|
||||
@@ -587,6 +588,16 @@ static void option_instat_callback(struc
|
||||
/* Device needs ZLP */
|
||||
#define ZLP BIT(17)
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
static const struct usb_device_id option_ids[] = {
|
||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
|
||||
@@ -619,6 +630,8 @@ static const struct usb_device_id option
|
||||
@@ -621,6 +632,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -1172,6 +1172,73 @@ static struct mtd_info * __init open_mtd
|
||||
@@ -1165,6 +1165,73 @@ static struct mtd_info * __init open_mtd
|
||||
return mtd;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int __init ubi_init(void)
|
||||
{
|
||||
int err, i, k;
|
||||
@@ -1255,6 +1322,12 @@ static int __init ubi_init(void)
|
||||
@@ -1248,6 +1315,12 @@ static int __init ubi_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
@@ -561,6 +567,17 @@ full_scan:
|
||||
@@ -563,6 +569,17 @@ full_scan:
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
@ -1437,7 +1437,7 @@
|
||||
/* Interface address info used in eth_type_trans() */
|
||||
unsigned char *dev_addr;
|
||||
|
||||
@@ -3678,6 +3683,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
@@ -3680,6 +3685,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/*
|
||||
* Get the required data from the packet.
|
||||
*/
|
||||
@@ -1489,6 +1495,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
@@ -1498,6 +1504,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3332,6 +3334,7 @@ static int packet_create(struct net *net
|
||||
@@ -3337,6 +3339,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3964,6 +3967,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3969,6 +3972,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -4016,6 +4029,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -4021,6 +4034,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
||||
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @tf: Target ATA taskfile
|
||||
@@ -5160,6 +5173,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
@@ -5163,6 +5176,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
if (tag < 0)
|
||||
return NULL;
|
||||
}
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
qc = __ata_qc_from_tag(ap, tag);
|
||||
qc->tag = tag;
|
||||
@@ -6063,6 +6079,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -6066,6 +6082,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -6084,6 +6103,12 @@ static void ata_host_release(struct devi
|
||||
@@ -6087,6 +6106,12 @@ static void ata_host_release(struct devi
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -6530,7 +6555,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -6533,7 +6558,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -1181,6 +1181,73 @@ static struct mtd_info * __init open_mtd
|
||||
@@ -1174,6 +1174,73 @@ static struct mtd_info * __init open_mtd
|
||||
return mtd;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int __init ubi_init(void)
|
||||
{
|
||||
int err, i, k;
|
||||
@@ -1264,6 +1331,12 @@ static int __init ubi_init(void)
|
||||
@@ -1257,6 +1324,12 @@ static int __init ubi_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
@@ -561,6 +567,17 @@ full_scan:
|
||||
@@ -563,6 +569,17 @@ full_scan:
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
@ -1132,7 +1132,7 @@
|
||||
/* Interface address info used in eth_type_trans() */
|
||||
unsigned char *dev_addr;
|
||||
|
||||
@@ -3981,6 +3986,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
@@ -3983,6 +3988,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/*
|
||||
* Get the required data from the packet.
|
||||
*/
|
||||
@@ -1066,7 +1072,7 @@ static int tcp_packet(struct nf_conn *ct
|
||||
@@ -1075,7 +1081,7 @@ static int tcp_packet(struct nf_conn *ct
|
||||
IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
|
||||
timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
|
||||
timeout = timeouts[TCP_CONNTRACK_UNACK];
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
timeouts[new_state] > timeouts[TCP_CONNTRACK_RETRANS])
|
||||
timeout = timeouts[TCP_CONNTRACK_RETRANS];
|
||||
else
|
||||
@@ -1515,6 +1521,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
@@ -1524,6 +1530,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3296,6 +3298,7 @@ static int packet_create(struct net *net
|
||||
@@ -3301,6 +3303,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3926,6 +3929,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3931,6 +3934,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3978,6 +3991,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3983,6 +3996,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
||||
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @tf: Target ATA taskfile
|
||||
@@ -5170,6 +5183,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
@@ -5173,6 +5186,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
if (tag < 0)
|
||||
return NULL;
|
||||
}
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
qc = __ata_qc_from_tag(ap, tag);
|
||||
qc->tag = qc->hw_tag = tag;
|
||||
@@ -6106,6 +6122,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -6109,6 +6125,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -6141,6 +6160,12 @@ static void ata_host_release(struct kref
|
||||
@@ -6144,6 +6163,12 @@ static void ata_host_release(struct kref
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -6604,7 +6629,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -6607,7 +6632,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
@@ -561,6 +567,17 @@ full_scan:
|
||||
@@ -563,6 +569,17 @@ full_scan:
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
@ -1411,7 +1411,7 @@
|
||||
+
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -3695,6 +3695,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
@@ -3697,6 +3697,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/*
|
||||
* Get the required data from the packet.
|
||||
*/
|
||||
@@ -1479,6 +1485,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
@@ -1488,6 +1494,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3312,6 +3314,7 @@ static int packet_create(struct net *net
|
||||
@@ -3317,6 +3319,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3944,6 +3947,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3949,6 +3952,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3996,6 +4009,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -4001,6 +4014,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
};
|
||||
|
||||
pmu {
|
||||
@@ -213,22 +223,22 @@
|
||||
@@ -214,22 +224,22 @@
|
||||
};
|
||||
|
||||
acc0: clock-controller@b088000 {
|
||||
@ -94,7 +94,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
reg = <0x0b0b8000 0x1000>, <0xb008000 0x1000>;
|
||||
};
|
||||
|
||||
@@ -256,6 +266,12 @@
|
||||
@@ -257,6 +267,12 @@
|
||||
regulator;
|
||||
};
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
};
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -414,5 +414,79 @@
|
||||
@@ -415,5 +415,79 @@
|
||||
"legacy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
};
|
||||
|
||||
cpus {
|
||||
@@ -136,6 +138,12 @@
|
||||
@@ -137,6 +139,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
timer {
|
||||
compatible = "arm,armv7-timer";
|
||||
interrupts = <1 2 0xf08>,
|
||||
@@ -181,13 +189,13 @@
|
||||
@@ -182,13 +190,13 @@
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
@ -70,7 +70,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
clocks = <&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "bam_clk";
|
||||
#dma-cells = <1>;
|
||||
@@ -195,7 +203,7 @@
|
||||
@@ -196,7 +204,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -79,7 +79,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x78b5000 0x600>;
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -204,10 +212,26 @@
|
||||
@@ -205,10 +213,26 @@
|
||||
clock-names = "core", "iface";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
compatible = "qcom,i2c-qup-v2.2.1";
|
||||
reg = <0x78b7000 0x600>;
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -216,14 +240,29 @@
|
||||
@@ -217,14 +241,29 @@
|
||||
clock-names = "iface", "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -138,7 +138,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
|
||||
clock-names = "bam_clk";
|
||||
#dma-cells = <1>;
|
||||
@@ -297,7 +336,7 @@
|
||||
@@ -298,7 +337,7 @@
|
||||
serial@78af000 {
|
||||
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
reg = <0x78af000 0x200>;
|
||||
@ -147,7 +147,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
status = "disabled";
|
||||
clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
@@ -309,7 +348,7 @@
|
||||
@@ -310,7 +349,7 @@
|
||||
serial@78b0000 {
|
||||
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
reg = <0x78b0000 0x200>;
|
||||
@ -156,7 +156,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
status = "disabled";
|
||||
clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
@@ -331,6 +370,101 @@
|
||||
@@ -332,6 +371,101 @@
|
||||
reg = <0x4ab000 0x4>;
|
||||
};
|
||||
|
||||
@ -258,7 +258,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
wifi0: wifi@a000000 {
|
||||
compatible = "qcom,ipq4019-wifi";
|
||||
reg = <0xa000000 0x200000>;
|
||||
@@ -364,7 +498,7 @@
|
||||
@@ -365,7 +499,7 @@
|
||||
<GIC_SPI 45 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 46 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 47 IRQ_TYPE_EDGE_RISING>,
|
||||
@ -267,7 +267,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
interrupt-names = "msi0", "msi1", "msi2", "msi3",
|
||||
"msi4", "msi5", "msi6", "msi7",
|
||||
"msi8", "msi9", "msi10", "msi11",
|
||||
@@ -406,7 +540,7 @@
|
||||
@@ -407,7 +541,7 @@
|
||||
<GIC_SPI 61 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 62 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 63 IRQ_TYPE_EDGE_RISING>,
|
||||
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -385,7 +385,7 @@
|
||||
@@ -386,7 +386,7 @@
|
||||
#size-cells = <2>;
|
||||
|
||||
ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000
|
||||
|
||||
@ -61,7 +61,7 @@ Origin: other, https://patchwork.kernel.org/patch/10339127/
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -186,6 +186,7 @@
|
||||
@@ -187,6 +187,7 @@
|
||||
compatible = "qcom,ipq4019-pinctrl";
|
||||
reg = <0x01000000 0x300000>;
|
||||
gpio-controller;
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
status = "ok";
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -350,7 +350,7 @@
|
||||
@@ -351,7 +351,7 @@
|
||||
regulator;
|
||||
};
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -401,8 +401,8 @@
|
||||
@@ -402,8 +402,8 @@
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -404,7 +404,7 @@
|
||||
@@ -405,7 +405,7 @@
|
||||
ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>,
|
||||
<0x82000000 0 0x40300000 0x40300000 0 0x00d00000>;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -167,6 +167,7 @@
|
||||
@@ -168,6 +168,7 @@
|
||||
<1 4 0xf08>,
|
||||
<1 1 0xf08>;
|
||||
clock-frequency = <48000000>;
|
||||
|
||||
@ -15,7 +15,7 @@ so the info might change.
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -567,6 +567,34 @@
|
||||
@@ -568,6 +568,34 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -595,6 +595,29 @@
|
||||
@@ -596,6 +596,29 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
};
|
||||
|
||||
cpus {
|
||||
@@ -618,6 +620,64 @@
|
||||
@@ -619,6 +621,64 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -212,6 +212,16 @@
|
||||
@@ -213,6 +213,16 @@
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -222,6 +222,18 @@
|
||||
@@ -223,6 +223,18 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -648,8 +648,7 @@
|
||||
@@ -649,8 +649,7 @@
|
||||
qcom,page-mode = <0>;
|
||||
qcom,rx_head_buf_size = <1540>;
|
||||
qcom,mdio_supported;
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
interrupts = <0 65 IRQ_TYPE_EDGE_RISING
|
||||
0 66 IRQ_TYPE_EDGE_RISING
|
||||
0 67 IRQ_TYPE_EDGE_RISING
|
||||
@@ -687,7 +686,7 @@
|
||||
@@ -688,7 +687,7 @@
|
||||
|
||||
gmac0: gmac0 {
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -392,7 +392,7 @@
|
||||
@@ -393,7 +393,7 @@
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
reg = <0x78b0000 0x200>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -596,7 +596,7 @@
|
||||
@@ -597,7 +597,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
|
||||
};
|
||||
|
||||
pmu {
|
||||
@@ -292,22 +301,22 @@
|
||||
@@ -293,22 +302,22 @@
|
||||
};
|
||||
|
||||
acc0: clock-controller@b088000 {
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
};
|
||||
};
|
||||
|
||||
@@ -344,6 +345,12 @@
|
||||
@@ -345,6 +346,12 @@
|
||||
regulator;
|
||||
};
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
};
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -568,5 +568,79 @@
|
||||
@@ -569,5 +569,79 @@
|
||||
"legacy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -60,7 +60,7 @@ will be executed twice with the same parameters for the same pinctrl.
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -206,6 +206,7 @@
|
||||
@@ -207,6 +207,7 @@
|
||||
compatible = "qcom,ipq4019-pinctrl";
|
||||
reg = <0x01000000 0x300000>;
|
||||
gpio-controller;
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -171,6 +171,7 @@
|
||||
@@ -172,6 +172,7 @@
|
||||
<1 4 0xf08>,
|
||||
<1 1 0xf08>;
|
||||
clock-frequency = <48000000>;
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -214,6 +214,18 @@
|
||||
@@ -215,6 +215,18 @@
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -214,6 +214,16 @@
|
||||
@@ -215,6 +215,16 @@
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ so the info might change.
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -593,6 +593,34 @@
|
||||
@@ -594,6 +594,34 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -621,6 +621,29 @@
|
||||
@@ -622,6 +622,29 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
};
|
||||
|
||||
cpus {
|
||||
@@ -644,6 +646,64 @@
|
||||
@@ -645,6 +647,64 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -652,8 +652,7 @@
|
||||
@@ -653,8 +653,7 @@
|
||||
qcom,page-mode = <0>;
|
||||
qcom,rx_head_buf_size = <1540>;
|
||||
qcom,mdio_supported;
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
interrupts = <0 65 IRQ_TYPE_EDGE_RISING
|
||||
0 66 IRQ_TYPE_EDGE_RISING
|
||||
0 67 IRQ_TYPE_EDGE_RISING
|
||||
@@ -691,7 +690,7 @@
|
||||
@@ -692,7 +691,7 @@
|
||||
|
||||
gmac0: gmac0 {
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
|
||||
@ -5494,7 +5494,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
(transaction layer end-to-end CRC checking).
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -1329,6 +1329,8 @@ void pci_walk_bus(struct pci_bus *top, i
|
||||
@@ -1330,6 +1330,8 @@ void pci_walk_bus(struct pci_bus *top, i
|
||||
void *userdata);
|
||||
int pci_cfg_space_size(struct pci_dev *dev);
|
||||
unsigned char pci_bus_max_busnr(struct pci_bus *bus);
|
||||
|
||||
@ -1340,7 +1340,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
|
||||
while (ep_ring->dequeue != td->last_trb)
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1625,13 +1625,38 @@ static int xhci_urb_dequeue(struct usb_h
|
||||
@@ -1636,13 +1636,38 @@ static int xhci_urb_dequeue(struct usb_h
|
||||
ret = -ENOMEM;
|
||||
goto done;
|
||||
}
|
||||
|
||||
@ -5808,7 +5808,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
struct pci_epc *epc;
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -1947,6 +1947,7 @@ void pcibios_release_device(struct pci_d
|
||||
@@ -1948,6 +1948,7 @@ void pcibios_release_device(struct pci_d
|
||||
void pcibios_penalize_isa_irq(int irq, int active);
|
||||
int pcibios_alloc_irq(struct pci_dev *dev);
|
||||
void pcibios_free_irq(struct pci_dev *dev);
|
||||
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
||||
|
||||
--- a/drivers/usb/mtu3/mtu3_dr.c
|
||||
+++ b/drivers/usb/mtu3/mtu3_dr.c
|
||||
@@ -261,21 +261,22 @@ static void extcon_register_dwork(struct
|
||||
@@ -259,21 +259,22 @@ static void extcon_register_dwork(struct
|
||||
* depending on user input.
|
||||
* This is useful in special cases, such as uses TYPE-A receptacle but also
|
||||
* wants to support dual-role mode.
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
||||
static int ssusb_mode_show(struct seq_file *sf, void *unused)
|
||||
{
|
||||
struct ssusb_mtk *ssusb = sf->private;
|
||||
@@ -388,17 +389,45 @@ static void ssusb_debugfs_exit(struct ss
|
||||
@@ -386,17 +387,45 @@ static void ssusb_debugfs_exit(struct ss
|
||||
debugfs_remove_recursive(ssusb->dbgfs_root);
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -407,8 +436,8 @@ void ssusb_otg_switch_exit(struct ssusb_
|
||||
@@ -405,8 +434,8 @@ void ssusb_otg_switch_exit(struct ssusb_
|
||||
{
|
||||
struct otg_switch_mtk *otg_sx = &ssusb->otg_switch;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
},
|
||||
[PORT_NPCM] = {
|
||||
.name = "Nuvoton 16550",
|
||||
@@ -2687,6 +2687,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
@@ -2699,6 +2699,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
unsigned long flags;
|
||||
unsigned int baud, quot, frac = 0;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user