mirror of
https://github.com/openwrt/openwrt.git
synced 2025-03-17 01:25:32 +00:00
kernel: bump 6.6 to 6.6.83
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.83 Removed upstreamed: bcm27xx/patches-6.6/950-0483-usb-xhci-borrow-upstream-TRB_FETCH-quirk-on-VL805-ho.patch[1] Manually rebased: bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch All other patches automatically rebased. 1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host/xhci-pci.c?h=linux-6.6.y&id=c401b1b4b835d66792e884b76264d742a20d931d Build system: x86/64 Build-tested: x86/64 Run-tested: x86/64 Signed-off-by: John Audia <therealgraysky@proton.me> [fixed issues with bcm27xx patches] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 748682e8556d27d904d3fe363228e16eff47afd9)
This commit is contained in:
parent
24db615450
commit
a3213ab1b5
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .82
|
||||
LINUX_KERNEL_HASH-6.6.82 = f3c2389b8c23cabe747f104a3e434201ca6e7725bbbfb3a8c59a063ac4820e41
|
||||
LINUX_VERSION-6.6 = .83
|
||||
LINUX_KERNEL_HASH-6.6.83 = 894bbbe63b7484a0bc576a1e11a8dbc090fbd476d6424431bdc8435e03c2c208
|
||||
|
@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/* Disable forwarding by default on all ports */
|
||||
mt7530_rmw(priv, MT7530_PCR_P(i), PCR_MATRIX_MASK,
|
||||
@@ -2783,6 +2788,28 @@ static void mt7988_mac_port_get_caps(str
|
||||
@@ -2779,6 +2784,28 @@ static void mt7988_mac_port_get_caps(str
|
||||
}
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static void
|
||||
mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
||||
phy_interface_t interface)
|
||||
@@ -3220,6 +3247,16 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3216,6 +3243,16 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||||
.mac_port_get_caps = mt7988_mac_port_get_caps,
|
||||
},
|
||||
|
@ -858,7 +858,7 @@ SVN-Revision: 35130
|
||||
|
||||
--- a/net/ipv4/tcp_offload.c
|
||||
+++ b/net/ipv4/tcp_offload.c
|
||||
@@ -63,7 +63,7 @@ static struct sk_buff *__tcpv4_gso_segme
|
||||
@@ -66,7 +66,7 @@ static struct sk_buff *__tcpv4_gso_segme
|
||||
th2 = tcp_hdr(seg->next);
|
||||
iph2 = ip_hdr(seg->next);
|
||||
|
||||
@ -867,7 +867,7 @@ SVN-Revision: 35130
|
||||
iph->daddr == iph2->daddr && iph->saddr == iph2->saddr)
|
||||
return segs;
|
||||
|
||||
@@ -264,7 +264,7 @@ struct sk_buff *tcp_gro_lookup(struct li
|
||||
@@ -267,7 +267,7 @@ struct sk_buff *tcp_gro_lookup(struct li
|
||||
continue;
|
||||
|
||||
th2 = tcp_hdr(p);
|
||||
@ -876,7 +876,7 @@ SVN-Revision: 35130
|
||||
NAPI_GRO_CB(p)->same_flow = 0;
|
||||
continue;
|
||||
}
|
||||
@@ -330,8 +330,8 @@ struct sk_buff *tcp_gro_receive(struct l
|
||||
@@ -333,8 +333,8 @@ struct sk_buff *tcp_gro_receive(struct l
|
||||
~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH));
|
||||
flush |= (__force int)(th->ack_seq ^ th2->ack_seq);
|
||||
for (i = sizeof(*th); i < thlen; i += 4)
|
||||
|
@ -14,18 +14,14 @@ We don't agree with upstream revert so undo it.
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -480,8 +480,10 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x3432)
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
- if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483)
|
||||
+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
|
||||
@@ -485,6 +485,7 @@ static void xhci_pci_quirks(struct devic
|
||||
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == PCI_DEVICE_ID_VIA_VL805) {
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_TRB_OVERFETCH;
|
||||
+ xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -635,8 +635,11 @@ static int xhci_move_dequeue_past_td(str
|
||||
|
@ -24,9 +24,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -483,6 +483,7 @@ static void xhci_pci_quirks(struct devic
|
||||
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
|
||||
@@ -486,6 +486,7 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_TRB_OVERFETCH;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
+ xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
||||
}
|
||||
|
@ -1,32 +0,0 @@
|
||||
From bab2f1e4e90675af7ea6b48b5c28eb94e22cecd7 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
Date: Thu, 13 Jul 2023 15:06:54 +0100
|
||||
Subject: [PATCH 0483/1085] usb: xhci: borrow upstream TRB_FETCH quirk on VL805
|
||||
hosts
|
||||
|
||||
This reimplements 5a57342 usb: xhci: add VLI_TRB_CACHE_BUG quirk
|
||||
|
||||
The downstream implementation required a fair bit of driver surgery to
|
||||
allow for truncated ring segments, which needed to shrink by a small
|
||||
amount to avoid the cache prefetcher from reading off the end of one
|
||||
segment and into another.
|
||||
|
||||
An upstream implementation for a similar bug on a different controller
|
||||
just doubles the size of the memory allocated for ring segments, which
|
||||
is a bit more wasteful (+4K per allocation) but means less code churn.
|
||||
|
||||
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
---
|
||||
drivers/usb/host/xhci-pci.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -484,6 +484,7 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
||||
+ xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
|
||||
}
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
@ -90,10 +90,10 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Allow 3 retries for everything but isoc, set CErr = 3 */
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -485,6 +485,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -487,6 +487,7 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_TRB_OVERFETCH;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
||||
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
|
||||
+ xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
|
||||
}
|
||||
|
||||
|
@ -45,9 +45,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
+#define VL805_FW_VER_0138C0 0x0138C0
|
||||
+
|
||||
/* Device for a quirk */
|
||||
#define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73
|
||||
#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000
|
||||
@@ -295,6 +297,16 @@ static int xhci_pci_reinit(struct xhci_h
|
||||
#define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73
|
||||
#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000
|
||||
@@ -297,6 +299,16 @@ static int xhci_pci_reinit(struct xhci_h
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -64,9 +64,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
@@ -486,6 +498,8 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -488,6 +500,8 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
||||
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
|
||||
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
|
||||
+ if (xhci_vl805_get_fw_version(pdev) < VL805_FW_VER_0138C0)
|
||||
+ xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK;
|
||||
|
@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
},
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1208,6 +1208,24 @@ static void dwc3_config_threshold(struct
|
||||
@@ -1223,6 +1223,24 @@ static void dwc3_config_threshold(struct
|
||||
}
|
||||
}
|
||||
|
||||
@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/**
|
||||
* dwc3_core_init - Low-level initialization of DWC3 Core
|
||||
* @dwc: Pointer to our controller context structure
|
||||
@@ -1273,6 +1291,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1288,6 +1306,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
|
||||
dwc3_set_incr_burst_type(dwc);
|
||||
|
||||
@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
ret = dwc3_phy_power_on(dwc);
|
||||
if (ret)
|
||||
goto err_exit_phy;
|
||||
@@ -1362,6 +1382,24 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1377,6 +1397,24 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
|
||||
dwc3_config_threshold(dwc);
|
||||
|
||||
@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
return 0;
|
||||
|
||||
err_power_off_phy:
|
||||
@@ -1505,6 +1543,7 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1520,6 +1558,7 @@ static void dwc3_get_properties(struct d
|
||||
u8 tx_thr_num_pkt_prd = 0;
|
||||
u8 tx_max_burst_prd = 0;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
/* default to highest possible threshold */
|
||||
lpm_nyet_threshold = 0xf;
|
||||
@@ -1525,6 +1564,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1540,6 +1579,9 @@ static void dwc3_get_properties(struct d
|
||||
*/
|
||||
tx_fifo_resize_max_num = 6;
|
||||
|
||||
@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->maximum_speed = usb_get_maximum_speed(dev);
|
||||
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
|
||||
dwc->dr_mode = usb_get_dr_mode(dev);
|
||||
@@ -1639,6 +1681,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1654,6 +1696,9 @@ static void dwc3_get_properties(struct d
|
||||
dwc->dis_split_quirk = device_property_read_bool(dev,
|
||||
"snps,dis-split-quirk");
|
||||
|
||||
@ -299,16 +299,16 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
|
||||
dwc->tx_de_emphasis = tx_de_emphasis;
|
||||
|
||||
@@ -1656,6 +1701,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1671,6 +1716,8 @@ static void dwc3_get_properties(struct d
|
||||
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
|
||||
dwc->tx_max_burst_prd = tx_max_burst_prd;
|
||||
|
||||
+ dwc->axi_pipe_limit = axi_pipe_limit;
|
||||
+
|
||||
dwc->imod_interval = 0;
|
||||
|
||||
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
|
||||
@@ -1952,6 +1999,12 @@ static int dwc3_probe(struct platform_de
|
||||
}
|
||||
|
||||
@@ -1963,6 +2010,12 @@ static int dwc3_probe(struct platform_de
|
||||
if (IS_ERR(dwc->usb_psy))
|
||||
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1372,6 +1372,9 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1387,6 +1387,9 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
if (dwc->parkmode_disable_hs_quirk)
|
||||
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
|
||||
(dwc->maximum_speed == USB_SPEED_HIGH ||
|
||||
dwc->maximum_speed == USB_SPEED_FULL))
|
||||
@@ -1661,6 +1664,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1676,6 +1679,8 @@ static void dwc3_get_properties(struct d
|
||||
"snps,parkmode-disable-ss-quirk");
|
||||
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
|
||||
"snps,parkmode-disable-hs-quirk");
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1366,6 +1366,12 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1381,6 +1381,12 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
if (dwc->dis_tx_ipgap_linecheck_quirk)
|
||||
reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;
|
||||
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (dwc->parkmode_disable_ss_quirk)
|
||||
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
|
||||
|
||||
@@ -1660,6 +1666,10 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1675,6 +1681,10 @@ static void dwc3_get_properties(struct d
|
||||
"snps,resume-hs-terminations");
|
||||
dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev,
|
||||
"snps,ulpi-ext-vbus-drv");
|
||||
|
@ -65,7 +65,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
--- a/net/ipv4/udp_offload.c
|
||||
+++ b/net/ipv4/udp_offload.c
|
||||
@@ -380,6 +380,14 @@ struct sk_buff *__udp_gso_segment(struct
|
||||
@@ -384,6 +384,14 @@ struct sk_buff *__udp_gso_segment(struct
|
||||
else
|
||||
uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0;
|
||||
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -3037,15 +3037,6 @@ static void mt753x_phylink_mac_link_down
|
||||
@@ -3033,15 +3033,6 @@ static void mt753x_phylink_mac_link_down
|
||||
mt7530_clear(priv, MT7530_PMCR_P(port), PMCR_LINK_SETTINGS_MASK);
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
static void mt753x_phylink_mac_link_up(struct dsa_switch *ds, int port,
|
||||
unsigned int mode,
|
||||
phy_interface_t interface,
|
||||
@@ -3133,8 +3124,6 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
@@ -3129,8 +3120,6 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
return ret;
|
||||
mt7530_write(priv, MT7530_PMCR_P(port),
|
||||
PMCR_CPU_PORT_SETTING(priv->id));
|
||||
|
@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
/* Add the CPU port to the CPU port bitmap for MT7531 and the switch on
|
||||
* the MT7988 SoC. Trapped frames will be forwarded to the CPU port that
|
||||
* is affine to the inbound user port.
|
||||
@@ -3305,6 +3301,36 @@ static int mt753x_set_mac_eee(struct dsa
|
||||
@@ -3301,6 +3297,36 @@ static int mt753x_set_mac_eee(struct dsa
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
static int mt7988_pad_setup(struct dsa_switch *ds, phy_interface_t interface)
|
||||
{
|
||||
return 0;
|
||||
@@ -3360,6 +3386,7 @@ const struct dsa_switch_ops mt7530_switc
|
||||
@@ -3356,6 +3382,7 @@ const struct dsa_switch_ops mt7530_switc
|
||||
.phylink_mac_link_up = mt753x_phylink_mac_link_up,
|
||||
.get_mac_eee = mt753x_get_mac_eee,
|
||||
.set_mac_eee = mt753x_set_mac_eee,
|
||||
|
@ -100,7 +100,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
@@ -2694,6 +2680,12 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2695,6 +2681,12 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
/* all MACs must be forced link-down before sw reset */
|
||||
for (i = 0; i < MT7530_NUM_PORTS; i++)
|
||||
mt7530_write(priv, MT7530_PMCR_P(i), MT7531_FORCE_LNK);
|
||||
@@ -2703,21 +2695,18 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2704,21 +2696,18 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
SYS_CTRL_PHY_RST | SYS_CTRL_SW_RST |
|
||||
SYS_CTRL_REG_RST);
|
||||
|
||||
@ -141,7 +141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
mt7530_rmw(priv, MT7531_GPIO_MODE0, MT7531_GPIO0_MASK,
|
||||
MT7531_GPIO0_INTERRUPT);
|
||||
@@ -2784,11 +2773,6 @@ static void mt7530_mac_port_get_caps(str
|
||||
@@ -2780,11 +2769,6 @@ static void mt7530_mac_port_get_caps(str
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,7 +153,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
static void mt7531_mac_port_get_caps(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config)
|
||||
{
|
||||
@@ -2801,7 +2785,7 @@ static void mt7531_mac_port_get_caps(str
|
||||
@@ -2797,7 +2781,7 @@ static void mt7531_mac_port_get_caps(str
|
||||
break;
|
||||
|
||||
case 5: /* 2nd cpu port supports either rgmii or sgmii/8023z */
|
||||
@ -162,7 +162,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
phy_interface_set_rgmii(config->supported_interfaces);
|
||||
break;
|
||||
}
|
||||
@@ -2868,7 +2852,7 @@ static int mt7531_rgmii_setup(struct mt7
|
||||
@@ -2864,7 +2848,7 @@ static int mt7531_rgmii_setup(struct mt7
|
||||
{
|
||||
u32 val;
|
||||
|
||||
@ -171,7 +171,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
dev_err(priv->dev, "RGMII mode is not available for port %d\n",
|
||||
port);
|
||||
return -EINVAL;
|
||||
@@ -3111,7 +3095,7 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
@@ -3107,7 +3091,7 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
|
||||
switch (port) {
|
||||
case 5:
|
||||
@ -180,7 +180,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
interface = PHY_INTERFACE_MODE_RGMII;
|
||||
else
|
||||
interface = PHY_INTERFACE_MODE_2500BASEX;
|
||||
@@ -3263,7 +3247,7 @@ mt753x_setup(struct dsa_switch *ds)
|
||||
@@ -3259,7 +3243,7 @@ mt753x_setup(struct dsa_switch *ds)
|
||||
mt7530_free_irq_common(priv);
|
||||
|
||||
if (priv->create_sgmii) {
|
||||
|
@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2751,12 +2751,14 @@ static void mt7530_mac_port_get_caps(str
|
||||
@@ -2747,12 +2747,14 @@ static void mt7530_mac_port_get_caps(str
|
||||
struct phylink_config *config)
|
||||
{
|
||||
switch (port) {
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
phy_interface_set_rgmii(config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_MII,
|
||||
config->supported_interfaces);
|
||||
@@ -2764,7 +2766,8 @@ static void mt7530_mac_port_get_caps(str
|
||||
@@ -2760,7 +2762,8 @@ static void mt7530_mac_port_get_caps(str
|
||||
config->supported_interfaces);
|
||||
break;
|
||||
|
||||
@ -64,7 +64,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
__set_bit(PHY_INTERFACE_MODE_RGMII,
|
||||
config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_TRGMII,
|
||||
@@ -2779,19 +2782,24 @@ static void mt7531_mac_port_get_caps(str
|
||||
@@ -2775,19 +2778,24 @@ static void mt7531_mac_port_get_caps(str
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
switch (port) {
|
||||
@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
__set_bit(PHY_INTERFACE_MODE_SGMII,
|
||||
config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_1000BASEX,
|
||||
@@ -2810,11 +2818,13 @@ static void mt7988_mac_port_get_caps(str
|
||||
@@ -2806,11 +2814,13 @@ static void mt7988_mac_port_get_caps(str
|
||||
phy_interface_zero(config->supported_interfaces);
|
||||
|
||||
switch (port) {
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
case 6:
|
||||
__set_bit(PHY_INTERFACE_MODE_INTERNAL,
|
||||
config->supported_interfaces);
|
||||
@@ -2978,12 +2988,12 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2974,12 +2984,12 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
u32 mcr_cur, mcr_new;
|
||||
|
||||
switch (port) {
|
||||
@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
if (priv->p5_interface == state->interface)
|
||||
break;
|
||||
|
||||
@@ -2993,7 +3003,7 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2989,7 +2999,7 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
if (priv->p5_intf_sel != P5_DISABLED)
|
||||
priv->p5_interface = state->interface;
|
||||
break;
|
||||
|
@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2826,11 +2830,10 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||||
@@ -2822,11 +2826,10 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
static void
|
||||
mt7531_pll_setup(struct mt7530_priv *priv)
|
||||
{
|
||||
@@ -2817,14 +2805,6 @@ static void mt7988_mac_port_get_caps(str
|
||||
@@ -2813,14 +2801,6 @@ static void mt7988_mac_port_get_caps(str
|
||||
}
|
||||
|
||||
static int
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
||||
phy_interface_t interface)
|
||||
{
|
||||
@@ -2989,8 +2969,6 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2985,8 +2965,6 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
if (priv->p6_interface == state->interface)
|
||||
break;
|
||||
|
||||
@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
if (mt753x_mac_config(ds, port, mode, state) < 0)
|
||||
goto unsupported;
|
||||
|
||||
@@ -3307,11 +3285,6 @@ mt753x_conduit_state_change(struct dsa_s
|
||||
@@ -3303,11 +3281,6 @@ mt753x_conduit_state_change(struct dsa_s
|
||||
mt7530_rmw(priv, MT7530_MFC, CPU_EN | CPU_PORT_MASK, val);
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
static int mt7988_setup(struct dsa_switch *ds)
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
@@ -3375,7 +3348,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3371,7 +3344,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c22 = mt7530_phy_write_c22,
|
||||
.phy_read_c45 = mt7530_phy_read_c45,
|
||||
.phy_write_c45 = mt7530_phy_write_c45,
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
.mac_port_get_caps = mt7530_mac_port_get_caps,
|
||||
.mac_port_config = mt7530_mac_config,
|
||||
},
|
||||
@@ -3387,7 +3359,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3383,7 +3355,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c22 = mt7530_phy_write_c22,
|
||||
.phy_read_c45 = mt7530_phy_read_c45,
|
||||
.phy_write_c45 = mt7530_phy_write_c45,
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
.mac_port_get_caps = mt7530_mac_port_get_caps,
|
||||
.mac_port_config = mt7530_mac_config,
|
||||
},
|
||||
@@ -3399,7 +3370,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3395,7 +3366,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c22 = mt7531_ind_c22_phy_write,
|
||||
.phy_read_c45 = mt7531_ind_c45_phy_read,
|
||||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
.cpu_port_config = mt7531_cpu_port_config,
|
||||
.mac_port_get_caps = mt7531_mac_port_get_caps,
|
||||
.mac_port_config = mt7531_mac_config,
|
||||
@@ -3412,7 +3382,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3408,7 +3378,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c22 = mt7531_ind_c22_phy_write,
|
||||
.phy_read_c45 = mt7531_ind_c45_phy_read,
|
||||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||||
@ -115,7 +115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
.cpu_port_config = mt7988_cpu_port_config,
|
||||
.mac_port_get_caps = mt7988_mac_port_get_caps,
|
||||
.mac_port_config = mt7988_mac_config,
|
||||
@@ -3442,9 +3411,8 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
@@ -3438,9 +3407,8 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
/* Sanity check if these required device operations are filled
|
||||
* properly.
|
||||
*/
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2790,7 +2790,7 @@ static void mt7988_mac_port_get_caps(str
|
||||
@@ -2786,7 +2786,7 @@ static void mt7988_mac_port_get_caps(str
|
||||
|
||||
switch (port) {
|
||||
/* Ports which are connected to switch PHYs. There is no MII pinout. */
|
||||
|
@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2786,8 +2786,6 @@ static void mt7531_mac_port_get_caps(str
|
||||
@@ -2782,8 +2782,6 @@ static void mt7531_mac_port_get_caps(str
|
||||
static void mt7988_mac_port_get_caps(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config)
|
||||
{
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2869,17 +2869,6 @@ static bool mt753x_is_mac_port(u32 port)
|
||||
@@ -2865,17 +2865,6 @@ static bool mt753x_is_mac_port(u32 port)
|
||||
}
|
||||
|
||||
static int
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
||||
phy_interface_t interface)
|
||||
{
|
||||
@@ -2919,6 +2908,9 @@ mt753x_mac_config(struct dsa_switch *ds,
|
||||
@@ -2915,6 +2904,9 @@ mt753x_mac_config(struct dsa_switch *ds,
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
return priv->info->mac_port_config(ds, port, mode, state->interface);
|
||||
}
|
||||
|
||||
@@ -3382,7 +3374,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3378,7 +3370,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||||
.cpu_port_config = mt7988_cpu_port_config,
|
||||
.mac_port_get_caps = mt7988_mac_port_get_caps,
|
||||
@ -69,7 +69,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
},
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(mt753x_table);
|
||||
@@ -3410,8 +3401,7 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
@@ -3406,8 +3397,7 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
* properly.
|
||||
*/
|
||||
if (!priv->info->sw_setup || !priv->info->phy_read_c22 ||
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2657,14 +2657,12 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2658,14 +2658,12 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
val = mt7530_read(priv, MT7531_TOP_SIG_SR);
|
||||
priv->p5_sgmii = !!(val & PAD_DUAL_SGMII_EN);
|
||||
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2800,7 +2800,7 @@ static void mt7988_mac_port_get_caps(str
|
||||
@@ -2796,7 +2796,7 @@ static void mt7988_mac_port_get_caps(str
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
||||
phy_interface_t interface)
|
||||
{
|
||||
@@ -2810,22 +2810,14 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||||
@@ -2806,22 +2806,14 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||||
mt7530_setup_port5(priv->ds, interface);
|
||||
else if (port == 6)
|
||||
mt7530_setup_port6(priv->ds, interface);
|
||||
@ -71,7 +71,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
val = mt7530_read(priv, MT7531_CLKGEN_CTRL);
|
||||
val |= GP_CLK_EN;
|
||||
val &= ~GP_MODE_MASK;
|
||||
@@ -2853,20 +2845,14 @@ static int mt7531_rgmii_setup(struct mt7
|
||||
@@ -2849,20 +2841,14 @@ static int mt7531_rgmii_setup(struct mt7
|
||||
case PHY_INTERFACE_MODE_RGMII_ID:
|
||||
break;
|
||||
default:
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
||||
phy_interface_t interface)
|
||||
{
|
||||
@@ -2874,42 +2860,21 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
@@ -2870,42 +2856,21 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
struct phy_device *phydev;
|
||||
struct dsa_port *dp;
|
||||
|
||||
@ -143,7 +143,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
}
|
||||
|
||||
static struct phylink_pcs *
|
||||
@@ -2938,17 +2903,11 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2934,17 +2899,11 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
u32 mcr_cur, mcr_new;
|
||||
|
||||
switch (port) {
|
||||
@ -162,7 +162,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
if (priv->p5_intf_sel != P5_DISABLED)
|
||||
priv->p5_interface = state->interface;
|
||||
@@ -2957,16 +2916,10 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2953,16 +2912,10 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
if (priv->p6_interface == state->interface)
|
||||
break;
|
||||
|
||||
@ -180,7 +180,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
}
|
||||
|
||||
mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port));
|
||||
@@ -3049,7 +3002,6 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
@@ -3045,7 +2998,6 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
phy_interface_t interface;
|
||||
int speed;
|
||||
@ -188,7 +188,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
switch (port) {
|
||||
case 5:
|
||||
@@ -3074,9 +3026,8 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
@@ -3070,9 +3022,8 @@ mt7531_cpu_port_config(struct dsa_switch
|
||||
else
|
||||
speed = SPEED_1000;
|
||||
|
||||
|
@ -117,7 +117,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
} else {
|
||||
mt7530_port_disable(ds, i);
|
||||
|
||||
@@ -2680,10 +2664,6 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2681,10 +2665,6 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
mt7530_rmw(priv, MT7531_GPIO_MODE0, MT7531_GPIO0_MASK,
|
||||
MT7531_GPIO0_INTERRUPT);
|
||||
|
||||
@ -128,7 +128,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
/* Enable Energy-Efficient Ethernet (EEE) and PHY core PLL, since
|
||||
* phy_device has not yet been created provided for
|
||||
* phy_[read,write]_mmd_indirect is called, we provide our own
|
||||
@@ -2902,26 +2882,9 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2898,26 +2878,9 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
u32 mcr_cur, mcr_new;
|
||||
|
||||
@ -156,7 +156,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port));
|
||||
mcr_new = mcr_cur;
|
||||
mcr_new &= ~PMCR_LINK_SETTINGS_MASK;
|
||||
@@ -2957,17 +2920,10 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2953,17 +2916,10 @@ static void mt753x_phylink_mac_link_up(s
|
||||
|
||||
mcr = PMCR_RX_EN | PMCR_TX_EN | PMCR_FORCE_LNK;
|
||||
|
||||
@ -176,7 +176,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
mcr |= PMCR_FORCE_SPEED_1000;
|
||||
break;
|
||||
case SPEED_100:
|
||||
@@ -2985,6 +2941,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2981,6 +2937,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
if (mode == MLO_AN_PHY && phydev && phy_init_eee(phydev, false) >= 0) {
|
||||
switch (speed) {
|
||||
case SPEED_1000:
|
||||
@ -184,7 +184,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
mcr |= PMCR_FORCE_EEE1G;
|
||||
break;
|
||||
case SPEED_100:
|
||||
@@ -2996,61 +2953,6 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2992,61 +2949,6 @@ static void mt753x_phylink_mac_link_up(s
|
||||
mt7530_set(priv, MT7530_PMCR_P(port), mcr);
|
||||
}
|
||||
|
||||
@ -246,7 +246,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
static void mt753x_phylink_get_caps(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config)
|
||||
{
|
||||
@@ -3309,7 +3211,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3305,7 +3207,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c22 = mt7531_ind_c22_phy_write,
|
||||
.phy_read_c45 = mt7531_ind_c45_phy_read,
|
||||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||||
@ -254,7 +254,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
.mac_port_get_caps = mt7531_mac_port_get_caps,
|
||||
.mac_port_config = mt7531_mac_config,
|
||||
},
|
||||
@@ -3321,7 +3222,6 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3317,7 +3218,6 @@ const struct mt753x_info mt753x_table[]
|
||||
.phy_write_c22 = mt7531_ind_c22_phy_write,
|
||||
.phy_read_c45 = mt7531_ind_c45_phy_read,
|
||||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2847,16 +2847,6 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
@@ -2843,16 +2843,6 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
}
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
static struct phylink_pcs *
|
||||
mt753x_phylink_mac_select_pcs(struct dsa_switch *ds, int port,
|
||||
phy_interface_t interface)
|
||||
@@ -2882,8 +2872,8 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2878,8 +2868,8 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
u32 mcr_cur, mcr_new;
|
||||
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -3025,17 +3025,9 @@ static int
|
||||
@@ -3021,17 +3021,9 @@ static int
|
||||
mt753x_setup(struct dsa_switch *ds)
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -3047,6 +3039,14 @@ mt753x_setup(struct dsa_switch *ds)
|
||||
@@ -3043,6 +3035,14 @@ mt753x_setup(struct dsa_switch *ds)
|
||||
if (ret && priv->irq)
|
||||
mt7530_free_irq_common(priv);
|
||||
|
||||
|
@ -45,7 +45,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2880,23 +2880,13 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2876,23 +2876,13 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
const struct phylink_link_state *state)
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2858,28 +2858,34 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
@@ -2854,28 +2854,34 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
}
|
||||
|
||||
static struct phylink_pcs *
|
||||
@ -60,7 +60,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
if ((port == 5 || port == 6) && priv->info->mac_port_config)
|
||||
priv->info->mac_port_config(ds, port, mode, state->interface);
|
||||
@@ -2889,23 +2895,25 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
@@ -2885,23 +2891,25 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||||
mt7530_set(priv, MT7530_PMCR_P(port), PMCR_EXT_PHY);
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
u32 mcr;
|
||||
|
||||
mcr = PMCR_RX_EN | PMCR_TX_EN | PMCR_FORCE_LNK;
|
||||
@@ -2940,7 +2948,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2936,7 +2944,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
}
|
||||
|
||||
static void mt753x_phylink_get_caps(struct dsa_switch *ds, int port,
|
||||
@@ -3160,16 +3168,19 @@ const struct dsa_switch_ops mt7530_switc
|
||||
@@ -3156,16 +3164,19 @@ const struct dsa_switch_ops mt7530_switc
|
||||
.port_mirror_add = mt753x_port_mirror_add,
|
||||
.port_mirror_del = mt753x_port_mirror_del,
|
||||
.phylink_get_caps = mt753x_phylink_get_caps,
|
||||
@ -125,7 +125,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
const struct mt753x_info mt753x_table[] = {
|
||||
[ID_MT7621] = {
|
||||
.id = ID_MT7621,
|
||||
@@ -3247,6 +3258,7 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
@@ -3243,6 +3254,7 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
priv->dev = dev;
|
||||
priv->ds->priv = priv;
|
||||
priv->ds->ops = &mt7530_switch_ops;
|
||||
|
@ -184,7 +184,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
err:
|
||||
if (ret < 0)
|
||||
dev_err(&bus->dev,
|
||||
@@ -2679,16 +2687,19 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2680,16 +2688,19 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
* phy_[read,write]_mmd_indirect is called, we provide our own
|
||||
* mt7531_ind_mmd_phy_[read,write] to complete this function.
|
||||
*/
|
||||
|
@ -64,7 +64,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
/* Disable forwarding by default on all ports */
|
||||
mt7530_rmw(priv, MT7530_PCR_P(i), PCR_MATRIX_MASK,
|
||||
@@ -2639,7 +2639,7 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2640,7 +2640,7 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
|
||||
/* Force link down on all ports before internal reset */
|
||||
for (i = 0; i < MT7530_NUM_PORTS; i++)
|
||||
@ -73,7 +73,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
/* Reset the switch through internal reset */
|
||||
mt7530_write(priv, MT7530_SYS_CTRL, SYS_CTRL_SW_RST | SYS_CTRL_REG_RST);
|
||||
@@ -2881,7 +2881,7 @@ mt753x_phylink_mac_config(struct phylink
|
||||
@@ -2877,7 +2877,7 @@ mt753x_phylink_mac_config(struct phylink
|
||||
|
||||
/* Are we connected to external phy */
|
||||
if (port == 5 && dsa_is_user_port(ds, 5))
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
}
|
||||
|
||||
static void mt753x_phylink_mac_link_down(struct phylink_config *config,
|
||||
@@ -2891,7 +2891,7 @@ static void mt753x_phylink_mac_link_down
|
||||
@@ -2887,7 +2887,7 @@ static void mt753x_phylink_mac_link_down
|
||||
struct dsa_port *dp = dsa_phylink_to_port(config);
|
||||
struct mt7530_priv *priv = dp->ds->priv;
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
}
|
||||
|
||||
static void mt753x_phylink_mac_link_up(struct phylink_config *config,
|
||||
@@ -2905,7 +2905,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2901,7 +2901,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
struct mt7530_priv *priv = dp->ds->priv;
|
||||
u32 mcr;
|
||||
|
||||
@ -100,7 +100,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
switch (speed) {
|
||||
case SPEED_1000:
|
||||
@@ -2920,9 +2920,9 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2916,9 +2916,9 @@ static void mt753x_phylink_mac_link_up(s
|
||||
if (duplex == DUPLEX_FULL) {
|
||||
mcr |= PMCR_FORCE_FDX;
|
||||
if (tx_pause)
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
}
|
||||
|
||||
if (mode == MLO_AN_PHY && phydev && phy_init_eee(phydev, false) >= 0) {
|
||||
@@ -2937,7 +2937,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
@@ -2933,7 +2933,7 @@ static void mt753x_phylink_mac_link_up(s
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -135,7 +135,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
mt7530_setup_port5(ds, interface);
|
||||
}
|
||||
|
||||
@@ -2654,9 +2647,6 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2655,9 +2648,6 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
MT7531_EXT_P_MDIO_12);
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
UNU_FFP_MASK);
|
||||
|
||||
for (i = 0; i < MT7530_NUM_PORTS; i++) {
|
||||
@@ -3089,10 +3075,12 @@ mt753x_conduit_state_change(struct dsa_s
|
||||
@@ -3085,10 +3071,12 @@ mt753x_conduit_state_change(struct dsa_s
|
||||
else
|
||||
priv->active_cpu_ports &= ~mask;
|
||||
|
||||
|
@ -189,7 +189,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
mt7530_pll_setup(priv);
|
||||
|
||||
mt753x_trap_frames(priv);
|
||||
@@ -2586,7 +2587,7 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2587,7 +2588,7 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
}
|
||||
|
||||
/* Waiting for MT7530 got to stable */
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2667,7 +2667,9 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2668,7 +2668,9 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
0);
|
||||
}
|
||||
|
||||
@ -26,9 +26,9 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
|
||||
/* Setup VLAN ID 0 for VLAN-unaware bridges */
|
||||
ret = mt7530_setup_vlan0(priv);
|
||||
@@ -3020,6 +3022,8 @@ mt753x_setup(struct dsa_switch *ds)
|
||||
ds->assisted_learning_on_cpu_port = true;
|
||||
ds->mtu_enforcement_ingress = true;
|
||||
@@ -3016,6 +3018,8 @@ mt753x_setup(struct dsa_switch *ds)
|
||||
ret = mt7530_setup_mdio(priv);
|
||||
if (ret && priv->irq)
|
||||
mt7530_free_irq_common(priv);
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2685,6 +2685,8 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2681,6 +2681,8 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
static void mt7530_mac_port_get_caps(struct dsa_switch *ds, int port,
|
||||
struct phylink_config *config)
|
||||
{
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
switch (port) {
|
||||
/* Ports which are connected to switch PHYs. There is no MII pinout. */
|
||||
case 0 ... 4:
|
||||
@@ -2716,6 +2718,8 @@ static void mt7531_mac_port_get_caps(str
|
||||
@@ -2712,6 +2714,8 @@ static void mt7531_mac_port_get_caps(str
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
switch (port) {
|
||||
/* Ports which are connected to switch PHYs. There is no MII pinout. */
|
||||
case 0 ... 4:
|
||||
@@ -2755,14 +2759,17 @@ static void mt7988_mac_port_get_caps(str
|
||||
@@ -2751,14 +2755,17 @@ static void mt7988_mac_port_get_caps(str
|
||||
case 0 ... 3:
|
||||
__set_bit(PHY_INTERFACE_MODE_INTERNAL,
|
||||
config->supported_interfaces);
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2932,9 +2939,7 @@ static void mt753x_phylink_get_caps(stru
|
||||
@@ -2928,9 +2935,7 @@ static void mt753x_phylink_get_caps(stru
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -3232,13 +3232,6 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
@@ -3228,13 +3228,6 @@ mt7530_probe_common(struct mt7530_priv *
|
||||
if (!priv->info)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -3051,10 +3051,10 @@ static int mt753x_get_mac_eee(struct dsa
|
||||
@@ -3047,10 +3047,10 @@ static int mt753x_get_mac_eee(struct dsa
|
||||
struct ethtool_eee *e)
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -3068,11 +3068,11 @@ static int mt753x_set_mac_eee(struct dsa
|
||||
@@ -3064,11 +3064,11 @@ static int mt753x_set_mac_eee(struct dsa
|
||||
if (e->tx_lpi_timer > 0xFFF)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -46,7 +46,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
/* Clear link settings and enable force mode to force link down
|
||||
* on all ports until they're enabled later.
|
||||
*/
|
||||
@@ -2626,7 +2626,7 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2627,7 +2627,7 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
priv->p5_sgmii = !!(val & PAD_DUAL_SGMII_EN);
|
||||
|
||||
/* Force link down on all ports before internal reset */
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2785,7 +2785,7 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||||
@@ -2781,7 +2781,7 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||||
mt7530_setup_port6(priv->ds, interface);
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
phy_interface_t interface,
|
||||
struct phy_device *phydev)
|
||||
{
|
||||
@@ -2836,7 +2836,7 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
@@ -2832,7 +2832,7 @@ mt7531_mac_config(struct dsa_switch *ds,
|
||||
if (phy_interface_mode_is_rgmii(interface)) {
|
||||
dp = dsa_to_port(ds, port);
|
||||
phydev = dp->slave->phydev;
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2635,7 +2635,10 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
@@ -2636,7 +2636,10 @@ mt7531_setup(struct dsa_switch *ds)
|
||||
if (!priv->p5_sgmii) {
|
||||
mt7531_pll_setup(priv);
|
||||
} else {
|
||||
|
@ -81,7 +81,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
{
|
||||
--- a/net/ipv4/tcp_offload.c
|
||||
+++ b/net/ipv4/tcp_offload.c
|
||||
@@ -28,6 +28,70 @@ static void tcp_gso_tstamp(struct sk_buf
|
||||
@@ -31,6 +31,70 @@ static void tcp_gso_tstamp(struct sk_buf
|
||||
}
|
||||
}
|
||||
|
||||
@ -152,7 +152,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static struct sk_buff *tcp4_gso_segment(struct sk_buff *skb,
|
||||
netdev_features_t features)
|
||||
{
|
||||
@@ -37,6 +101,9 @@ static struct sk_buff *tcp4_gso_segment(
|
||||
@@ -40,6 +104,9 @@ static struct sk_buff *tcp4_gso_segment(
|
||||
if (!pskb_may_pull(skb, sizeof(struct tcphdr)))
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
@ -162,7 +162,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (unlikely(skb->ip_summed != CHECKSUM_PARTIAL)) {
|
||||
const struct iphdr *iph = ip_hdr(skb);
|
||||
struct tcphdr *th = tcp_hdr(skb);
|
||||
@@ -181,61 +248,76 @@ out:
|
||||
@@ -184,61 +251,76 @@ out:
|
||||
return segs;
|
||||
}
|
||||
|
||||
@ -269,7 +269,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
flush = NAPI_GRO_CB(p)->flush;
|
||||
flush |= (__force int)(flags & TCP_FLAG_CWR);
|
||||
flush |= (__force int)((flags ^ tcp_flag_word(th2)) &
|
||||
@@ -272,6 +354,19 @@ found:
|
||||
@@ -275,6 +357,19 @@ found:
|
||||
flush |= p->decrypted ^ skb->decrypted;
|
||||
#endif
|
||||
|
||||
@ -289,7 +289,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (flush || skb_gro_receive(p, skb)) {
|
||||
mss = 1;
|
||||
goto out_check_final;
|
||||
@@ -293,7 +388,6 @@ out_check_final:
|
||||
@@ -296,7 +391,6 @@ out_check_final:
|
||||
if (p && (!NAPI_GRO_CB(skb)->same_flow || flush))
|
||||
pp = p;
|
||||
|
||||
@ -297,7 +297,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
NAPI_GRO_CB(skb)->flush |= (flush != 0);
|
||||
|
||||
return pp;
|
||||
@@ -317,18 +411,58 @@ void tcp_gro_complete(struct sk_buff *sk
|
||||
@@ -320,18 +414,58 @@ void tcp_gro_complete(struct sk_buff *sk
|
||||
}
|
||||
EXPORT_SYMBOL(tcp_gro_complete);
|
||||
|
||||
@ -361,7 +361,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
INDIRECT_CALLABLE_SCOPE int tcp4_gro_complete(struct sk_buff *skb, int thoff)
|
||||
@@ -336,6 +470,15 @@ INDIRECT_CALLABLE_SCOPE int tcp4_gro_com
|
||||
@@ -339,6 +473,15 @@ INDIRECT_CALLABLE_SCOPE int tcp4_gro_com
|
||||
const struct iphdr *iph = ip_hdr(skb);
|
||||
struct tcphdr *th = tcp_hdr(skb);
|
||||
|
||||
@ -379,7 +379,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4;
|
||||
--- a/net/ipv4/udp_offload.c
|
||||
+++ b/net/ipv4/udp_offload.c
|
||||
@@ -470,33 +470,6 @@ out:
|
||||
@@ -474,33 +474,6 @@ out:
|
||||
return segs;
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/ipv4/tcp_offload.c
|
||||
+++ b/net/ipv4/tcp_offload.c
|
||||
@@ -101,8 +101,14 @@ static struct sk_buff *tcp4_gso_segment(
|
||||
@@ -104,8 +104,14 @@ static struct sk_buff *tcp4_gso_segment(
|
||||
if (!pskb_may_pull(skb, sizeof(struct tcphdr)))
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
|
@ -4,7 +4,7 @@ Subject: [PATCH] UGW_SW-29163: ATM oam support
|
||||
|
||||
--- a/drivers/net/ppp/ppp_generic.c
|
||||
+++ b/drivers/net/ppp/ppp_generic.c
|
||||
@@ -2968,6 +2968,22 @@ char *ppp_dev_name(struct ppp_channel *c
|
||||
@@ -2978,6 +2978,22 @@ char *ppp_dev_name(struct ppp_channel *c
|
||||
return name;
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ Subject: [PATCH] UGW_SW-29163: ATM oam support
|
||||
|
||||
/*
|
||||
* Disconnect a channel from the generic layer.
|
||||
@@ -3614,6 +3630,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
|
||||
@@ -3624,6 +3640,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
|
||||
EXPORT_SYMBOL(ppp_channel_index);
|
||||
EXPORT_SYMBOL(ppp_unit_number);
|
||||
EXPORT_SYMBOL(ppp_dev_name);
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -845,8 +845,20 @@ static int dwc3_clk_enable(struct dwc3 *
|
||||
@@ -860,8 +860,20 @@ static int dwc3_clk_enable(struct dwc3 *
|
||||
if (ret)
|
||||
goto disable_ref_clk;
|
||||
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
disable_ref_clk:
|
||||
clk_disable_unprepare(dwc->ref_clk);
|
||||
disable_bus_clk:
|
||||
@@ -856,6 +868,8 @@ disable_bus_clk:
|
||||
@@ -871,6 +883,8 @@ disable_bus_clk:
|
||||
|
||||
static void dwc3_clk_disable(struct dwc3 *dwc)
|
||||
{
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
clk_disable_unprepare(dwc->susp_clk);
|
||||
clk_disable_unprepare(dwc->ref_clk);
|
||||
clk_disable_unprepare(dwc->bus_clk);
|
||||
@@ -1875,6 +1889,20 @@ static int dwc3_get_clocks(struct dwc3 *
|
||||
@@ -1886,6 +1900,20 @@ static int dwc3_get_clocks(struct dwc3 *
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
||||
int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags)
|
||||
{
|
||||
dma_addr_t dma;
|
||||
@@ -2436,6 +2494,12 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2437,6 +2495,12 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
|
||||
xhci->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX;
|
||||
|
||||
|
@ -71,7 +71,7 @@ Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
|
||||
|
||||
INIT_LIST_HEAD(&xhci->cmd_list);
|
||||
|
||||
@@ -2495,9 +2496,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2496,9 +2497,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
xhci->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX;
|
||||
|
||||
if (xhci->quirks & XHCI_LOCAL_BUFFER) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user