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>
This commit is contained in:
John Audia 2025-03-13 16:47:09 -04:00 committed by Álvaro Fernández Rojas
parent bdd5587b6b
commit 748682e855
46 changed files with 134 additions and 170 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .82 LINUX_VERSION-6.6 = .83
LINUX_KERNEL_HASH-6.6.82 = f3c2389b8c23cabe747f104a3e434201ca6e7725bbbfb3a8c59a063ac4820e41 LINUX_KERNEL_HASH-6.6.83 = 894bbbe63b7484a0bc576a1e11a8dbc090fbd476d6424431bdc8435e03c2c208

View File

@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Disable forwarding by default on all ports */ /* Disable forwarding by default on all ports */
mt7530_rmw(priv, MT7530_PCR_P(i), PCR_MATRIX_MASK, 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 static void
mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode, mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
phy_interface_t interface) 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, .phy_write_c45 = mt7531_ind_c45_phy_write,
.mac_port_get_caps = mt7988_mac_port_get_caps, .mac_port_get_caps = mt7988_mac_port_get_caps,
}, },

View File

@ -858,7 +858,7 @@ SVN-Revision: 35130
--- a/net/ipv4/tcp_offload.c --- a/net/ipv4/tcp_offload.c
+++ b/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); th2 = tcp_hdr(seg->next);
iph2 = ip_hdr(seg->next); iph2 = ip_hdr(seg->next);
@ -867,7 +867,7 @@ SVN-Revision: 35130
iph->daddr == iph2->daddr && iph->saddr == iph2->saddr) iph->daddr == iph2->daddr && iph->saddr == iph2->saddr)
return segs; 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; continue;
th2 = tcp_hdr(p); th2 = tcp_hdr(p);
@ -876,7 +876,7 @@ SVN-Revision: 35130
NAPI_GRO_CB(p)->same_flow = 0; NAPI_GRO_CB(p)->same_flow = 0;
continue; 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)); ~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH));
flush |= (__force int)(th->ack_seq ^ th2->ack_seq); flush |= (__force int)(th->ack_seq ^ th2->ack_seq);
for (i = sizeof(*th); i < thlen; i += 4) for (i = sizeof(*th); i < thlen; i += 4)

View File

@ -14,18 +14,14 @@ We don't agree with upstream revert so undo it.
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c
@@ -480,8 +480,10 @@ static void xhci_pci_quirks(struct devic @@ -485,6 +485,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3432) if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == PCI_DEVICE_ID_VIA_VL805) {
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) {
xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_TRB_OVERFETCH;
+ xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; + xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
+ } }
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
--- a/drivers/usb/host/xhci-ring.c --- a/drivers/usb/host/xhci-ring.c
+++ b/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 @@ -635,8 +635,11 @@ static int xhci_move_dequeue_past_td(str

View File

@ -24,9 +24,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c
@@ -483,6 +483,7 @@ static void xhci_pci_quirks(struct devic @@ -486,6 +486,7 @@ static void xhci_pci_quirks(struct devic
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_TRB_OVERFETCH;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
+ xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; + xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
} }

View File

@ -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 &&

View File

@ -90,10 +90,10 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Allow 3 retries for everything but isoc, set CErr = 3 */ /* Allow 3 retries for everything but isoc, set CErr = 3 */
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/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_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
+ xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG; + xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
} }

View File

@ -45,9 +45,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
+#define VL805_FW_VER_0138C0 0x0138C0 +#define VL805_FW_VER_0138C0 0x0138C0
+ +
/* Device for a quirk */ /* Device for a quirk */
#define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73 #define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73
#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000 #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000
@@ -295,6 +297,16 @@ static int xhci_pci_reinit(struct xhci_h @@ -297,6 +299,16 @@ static int xhci_pci_reinit(struct xhci_h
return 0; 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) static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
{ {
struct pci_dev *pdev = to_pci_dev(dev); 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_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG; xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
+ if (xhci_vl805_get_fw_version(pdev) < VL805_FW_VER_0138C0) + if (xhci_vl805_get_fw_version(pdev) < VL805_FW_VER_0138C0)
+ xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK; + xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK;

View File

@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
}, },
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/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 * dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure * @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); dwc3_set_incr_burst_type(dwc);
@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
ret = dwc3_phy_power_on(dwc); ret = dwc3_phy_power_on(dwc);
if (ret) if (ret)
goto err_exit_phy; 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); dwc3_config_threshold(dwc);
@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
return 0; return 0;
err_power_off_phy: 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_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0; u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num; u8 tx_fifo_resize_max_num;
@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* default to highest possible threshold */ /* default to highest possible threshold */
lpm_nyet_threshold = 0xf; 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; 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->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev); dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(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, dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk"); "snps,dis-split-quirk");
@ -299,16 +299,16 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis; 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_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd; dwc->tx_max_burst_prd = tx_max_burst_prd;
+ dwc->axi_pipe_limit = axi_pipe_limit; + dwc->axi_pipe_limit = axi_pipe_limit;
+ +
dwc->imod_interval = 0;
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num; 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)) if (IS_ERR(dwc->usb_psy))
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n"); return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");

View File

@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/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) if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS; 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) && if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
(dwc->maximum_speed == USB_SPEED_HIGH || (dwc->maximum_speed == USB_SPEED_HIGH ||
dwc->maximum_speed == USB_SPEED_FULL)) 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"); "snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev, dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk"); "snps,parkmode-disable-hs-quirk");

View File

@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/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) if (dwc->dis_tx_ipgap_linecheck_quirk)
reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS; 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) if (dwc->parkmode_disable_ss_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS; 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"); "snps,resume-hs-terminations");
dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev, dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev,
"snps,ulpi-ext-vbus-drv"); "snps,ulpi-ext-vbus-drv");

View File

@ -65,7 +65,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
--- a/net/ipv4/udp_offload.c --- a/net/ipv4/udp_offload.c
+++ b/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 else
uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0; uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0;

View File

@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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); 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, static void mt753x_phylink_mac_link_up(struct dsa_switch *ds, int port,
unsigned int mode, unsigned int mode,
phy_interface_t interface, 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; return ret;
mt7530_write(priv, MT7530_PMCR_P(port), mt7530_write(priv, MT7530_PMCR_P(port),
PMCR_CPU_PORT_SETTING(priv->id)); PMCR_CPU_PORT_SETTING(priv->id));

View File

@ -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 /* 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 * the MT7988 SoC. Trapped frames will be forwarded to the CPU port that
* is affine to the inbound user port. * 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; 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) static int mt7988_pad_setup(struct dsa_switch *ds, phy_interface_t interface)
{ {
return 0; 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, .phylink_mac_link_up = mt753x_phylink_mac_link_up,
.get_mac_eee = mt753x_get_mac_eee, .get_mac_eee = mt753x_get_mac_eee,
.set_mac_eee = mt753x_set_mac_eee, .set_mac_eee = mt753x_set_mac_eee,

View File

@ -100,7 +100,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
default: default:
return "unknown"; return "unknown";
} }
@@ -2694,6 +2680,12 @@ mt7531_setup(struct dsa_switch *ds) @@ -2695,6 +2681,12 @@ mt7531_setup(struct dsa_switch *ds)
return -ENODEV; return -ENODEV;
} }
@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* all MACs must be forced link-down before sw reset */ /* all MACs must be forced link-down before sw reset */
for (i = 0; i < MT7530_NUM_PORTS; i++) for (i = 0; i < MT7530_NUM_PORTS; i++)
mt7530_write(priv, MT7530_PMCR_P(i), MT7531_FORCE_LNK); 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_PHY_RST | SYS_CTRL_SW_RST |
SYS_CTRL_REG_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, mt7530_rmw(priv, MT7531_GPIO_MODE0, MT7531_GPIO0_MASK,
MT7531_GPIO0_INTERRUPT); 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, static void mt7531_mac_port_get_caps(struct dsa_switch *ds, int port,
struct phylink_config *config) 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; break;
case 5: /* 2nd cpu port supports either rgmii or sgmii/8023z */ 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); phy_interface_set_rgmii(config->supported_interfaces);
break; 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; 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", dev_err(priv->dev, "RGMII mode is not available for port %d\n",
port); port);
return -EINVAL; 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) { switch (port) {
case 5: case 5:
@ -180,7 +180,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
interface = PHY_INTERFACE_MODE_RGMII; interface = PHY_INTERFACE_MODE_RGMII;
else else
interface = PHY_INTERFACE_MODE_2500BASEX; 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); mt7530_free_irq_common(priv);
if (priv->create_sgmii) { if (priv->create_sgmii) {

View File

@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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) struct phylink_config *config)
{ {
switch (port) { switch (port) {
@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
phy_interface_set_rgmii(config->supported_interfaces); phy_interface_set_rgmii(config->supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_MII, __set_bit(PHY_INTERFACE_MODE_MII,
config->supported_interfaces); 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); config->supported_interfaces);
break; break;
@ -64,7 +64,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
__set_bit(PHY_INTERFACE_MODE_RGMII, __set_bit(PHY_INTERFACE_MODE_RGMII,
config->supported_interfaces); config->supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_TRGMII, __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; struct mt7530_priv *priv = ds->priv;
switch (port) { switch (port) {
@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
__set_bit(PHY_INTERFACE_MODE_SGMII, __set_bit(PHY_INTERFACE_MODE_SGMII,
config->supported_interfaces); config->supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_1000BASEX, __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); phy_interface_zero(config->supported_interfaces);
switch (port) { switch (port) {
@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
case 6: case 6:
__set_bit(PHY_INTERFACE_MODE_INTERNAL, __set_bit(PHY_INTERFACE_MODE_INTERNAL,
config->supported_interfaces); 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; u32 mcr_cur, mcr_new;
switch (port) { switch (port) {
@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (priv->p5_interface == state->interface) if (priv->p5_interface == state->interface)
break; 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) if (priv->p5_intf_sel != P5_DISABLED)
priv->p5_interface = state->interface; priv->p5_interface = state->interface;
break; break;

View File

@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return 0; 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; struct mt7530_priv *priv = ds->priv;

View File

@ -47,7 +47,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static void static void
mt7531_pll_setup(struct mt7530_priv *priv) 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 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, mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
phy_interface_t interface) 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) if (priv->p6_interface == state->interface)
break; break;
@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (mt753x_mac_config(ds, port, mode, state) < 0) if (mt753x_mac_config(ds, port, mode, state) < 0)
goto unsupported; 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); 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) static int mt7988_setup(struct dsa_switch *ds)
{ {
struct mt7530_priv *priv = ds->priv; 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_write_c22 = mt7530_phy_write_c22,
.phy_read_c45 = mt7530_phy_read_c45, .phy_read_c45 = mt7530_phy_read_c45,
.phy_write_c45 = mt7530_phy_write_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_get_caps = mt7530_mac_port_get_caps,
.mac_port_config = mt7530_mac_config, .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_write_c22 = mt7530_phy_write_c22,
.phy_read_c45 = mt7530_phy_read_c45, .phy_read_c45 = mt7530_phy_read_c45,
.phy_write_c45 = mt7530_phy_write_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_get_caps = mt7530_mac_port_get_caps,
.mac_port_config = mt7530_mac_config, .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_write_c22 = mt7531_ind_c22_phy_write,
.phy_read_c45 = mt7531_ind_c45_phy_read, .phy_read_c45 = mt7531_ind_c45_phy_read,
.phy_write_c45 = mt7531_ind_c45_phy_write, .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, .cpu_port_config = mt7531_cpu_port_config,
.mac_port_get_caps = mt7531_mac_port_get_caps, .mac_port_get_caps = mt7531_mac_port_get_caps,
.mac_port_config = mt7531_mac_config, .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_write_c22 = mt7531_ind_c22_phy_write,
.phy_read_c45 = mt7531_ind_c45_phy_read, .phy_read_c45 = mt7531_ind_c45_phy_read,
.phy_write_c45 = mt7531_ind_c45_phy_write, .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, .cpu_port_config = mt7988_cpu_port_config,
.mac_port_get_caps = mt7988_mac_port_get_caps, .mac_port_get_caps = mt7988_mac_port_get_caps,
.mac_port_config = mt7988_mac_config, .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 /* Sanity check if these required device operations are filled
* properly. * properly.
*/ */

View File

@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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) { switch (port) {
/* Ports which are connected to switch PHYs. There is no MII pinout. */ /* Ports which are connected to switch PHYs. There is no MII pinout. */

View File

@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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, static void mt7988_mac_port_get_caps(struct dsa_switch *ds, int port,
struct phylink_config *config) struct phylink_config *config)
{ {

View File

@ -33,7 +33,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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 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, mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
phy_interface_t interface) 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; 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); 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, .phy_write_c45 = mt7531_ind_c45_phy_write,
.cpu_port_config = mt7988_cpu_port_config, .cpu_port_config = mt7988_cpu_port_config,
.mac_port_get_caps = mt7988_mac_port_get_caps, .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); 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. * properly.
*/ */
if (!priv->info->sw_setup || !priv->info->phy_read_c22 || if (!priv->info->sw_setup || !priv->info->phy_read_c22 ||

View File

@ -22,7 +22,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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); val = mt7530_read(priv, MT7531_TOP_SIG_SR);
priv->p5_sgmii = !!(val & PAD_DUAL_SGMII_EN); priv->p5_sgmii = !!(val & PAD_DUAL_SGMII_EN);

View File

@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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, mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
phy_interface_t interface) 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); mt7530_setup_port5(priv->ds, interface);
else if (port == 6) else if (port == 6)
mt7530_setup_port6(priv->ds, interface); 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 = mt7530_read(priv, MT7531_CLKGEN_CTRL);
val |= GP_CLK_EN; val |= GP_CLK_EN;
val &= ~GP_MODE_MASK; 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: case PHY_INTERFACE_MODE_RGMII_ID:
break; break;
default: 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, mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
phy_interface_t interface) 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 phy_device *phydev;
struct dsa_port *dp; struct dsa_port *dp;
@ -143,7 +143,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
} }
static struct phylink_pcs * 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; u32 mcr_cur, mcr_new;
switch (port) { switch (port) {
@ -162,7 +162,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
if (priv->p5_intf_sel != P5_DISABLED) if (priv->p5_intf_sel != P5_DISABLED)
priv->p5_interface = state->interface; 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) if (priv->p6_interface == state->interface)
break; break;
@ -180,7 +180,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
} }
mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port)); 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; struct mt7530_priv *priv = ds->priv;
phy_interface_t interface; phy_interface_t interface;
int speed; int speed;
@ -188,7 +188,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
switch (port) { switch (port) {
case 5: 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 else
speed = SPEED_1000; speed = SPEED_1000;

View File

@ -117,7 +117,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
} else { } else {
mt7530_port_disable(ds, i); 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, mt7530_rmw(priv, MT7531_GPIO_MODE0, MT7531_GPIO0_MASK,
MT7531_GPIO0_INTERRUPT); 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 /* Enable Energy-Efficient Ethernet (EEE) and PHY core PLL, since
* phy_device has not yet been created provided for * phy_device has not yet been created provided for
* phy_[read,write]_mmd_indirect is called, we provide our own * 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; struct mt7530_priv *priv = ds->priv;
u32 mcr_cur, mcr_new; 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_cur = mt7530_read(priv, MT7530_PMCR_P(port));
mcr_new = mcr_cur; mcr_new = mcr_cur;
mcr_new &= ~PMCR_LINK_SETTINGS_MASK; 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; 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; mcr |= PMCR_FORCE_SPEED_1000;
break; break;
case SPEED_100: 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) { if (mode == MLO_AN_PHY && phydev && phy_init_eee(phydev, false) >= 0) {
switch (speed) { switch (speed) {
case SPEED_1000: case SPEED_1000:
@ -184,7 +184,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
mcr |= PMCR_FORCE_EEE1G; mcr |= PMCR_FORCE_EEE1G;
break; break;
case SPEED_100: 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); 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, static void mt753x_phylink_get_caps(struct dsa_switch *ds, int port,
struct phylink_config *config) 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_write_c22 = mt7531_ind_c22_phy_write,
.phy_read_c45 = mt7531_ind_c45_phy_read, .phy_read_c45 = mt7531_ind_c45_phy_read,
.phy_write_c45 = mt7531_ind_c45_phy_write, .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_get_caps = mt7531_mac_port_get_caps,
.mac_port_config = mt7531_mac_config, .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_write_c22 = mt7531_ind_c22_phy_write,
.phy_read_c45 = mt7531_ind_c45_phy_read, .phy_read_c45 = mt7531_ind_c45_phy_read,
.phy_write_c45 = mt7531_ind_c45_phy_write, .phy_write_c45 = mt7531_ind_c45_phy_write,

View File

@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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 * static struct phylink_pcs *
mt753x_phylink_mac_select_pcs(struct dsa_switch *ds, int port, mt753x_phylink_mac_select_pcs(struct dsa_switch *ds, int port,
phy_interface_t interface) 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; struct mt7530_priv *priv = ds->priv;
u32 mcr_cur, mcr_new; u32 mcr_cur, mcr_new;

View File

@ -20,7 +20,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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) mt753x_setup(struct dsa_switch *ds)
{ {
struct mt7530_priv *priv = ds->priv; struct mt7530_priv *priv = ds->priv;
@ -40,7 +40,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
if (ret) if (ret)
return 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) if (ret && priv->irq)
mt7530_free_irq_common(priv); mt7530_free_irq_common(priv);

View File

@ -45,7 +45,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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) const struct phylink_link_state *state)
{ {
struct mt7530_priv *priv = ds->priv; struct mt7530_priv *priv = ds->priv;

View File

@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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 * 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) if ((port == 5 || port == 6) && priv->info->mac_port_config)
priv->info->mac_port_config(ds, port, mode, state->interface); 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); mt7530_set(priv, MT7530_PMCR_P(port), PMCR_EXT_PHY);
} }
@ -92,7 +92,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
u32 mcr; u32 mcr;
mcr = PMCR_RX_EN | PMCR_TX_EN | PMCR_FORCE_LNK; 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, 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_add = mt753x_port_mirror_add,
.port_mirror_del = mt753x_port_mirror_del, .port_mirror_del = mt753x_port_mirror_del,
.phylink_get_caps = mt753x_phylink_get_caps, .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[] = { const struct mt753x_info mt753x_table[] = {
[ID_MT7621] = { [ID_MT7621] = {
.id = 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->dev = dev;
priv->ds->priv = priv; priv->ds->priv = priv;
priv->ds->ops = &mt7530_switch_ops; priv->ds->ops = &mt7530_switch_ops;

View File

@ -184,7 +184,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
err: err:
if (ret < 0) if (ret < 0)
dev_err(&bus->dev, 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 * phy_[read,write]_mmd_indirect is called, we provide our own
* mt7531_ind_mmd_phy_[read,write] to complete this function. * mt7531_ind_mmd_phy_[read,write] to complete this function.
*/ */

View File

@ -64,7 +64,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
/* Disable forwarding by default on all ports */ /* Disable forwarding by default on all ports */
mt7530_rmw(priv, MT7530_PCR_P(i), PCR_MATRIX_MASK, 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 */ /* Force link down on all ports before internal reset */
for (i = 0; i < MT7530_NUM_PORTS; i++) 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 */ /* Reset the switch through internal reset */
mt7530_write(priv, MT7530_SYS_CTRL, SYS_CTRL_SW_RST | SYS_CTRL_REG_RST); 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 */ /* Are we connected to external phy */
if (port == 5 && dsa_is_user_port(ds, 5)) 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, 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 dsa_port *dp = dsa_phylink_to_port(config);
struct mt7530_priv *priv = dp->ds->priv; 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, 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; struct mt7530_priv *priv = dp->ds->priv;
u32 mcr; u32 mcr;
@ -100,7 +100,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
switch (speed) { switch (speed) {
case SPEED_1000: 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) { if (duplex == DUPLEX_FULL) {
mcr |= PMCR_FORCE_FDX; mcr |= PMCR_FORCE_FDX;
if (tx_pause) 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) { 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
} }
} }

View File

@ -135,7 +135,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
mt7530_setup_port5(ds, interface); 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); MT7531_EXT_P_MDIO_12);
} }

View File

@ -101,7 +101,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
UNU_FFP_MASK); UNU_FFP_MASK);
for (i = 0; i < MT7530_NUM_PORTS; i++) { 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 else
priv->active_cpu_ports &= ~mask; priv->active_cpu_ports &= ~mask;

View File

@ -189,7 +189,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
mt7530_pll_setup(priv); mt7530_pll_setup(priv);
mt753x_trap_frames(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 */ /* Waiting for MT7530 got to stable */

View File

@ -17,7 +17,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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); 0);
} }
@ -26,9 +26,9 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
+ if (ret) + if (ret)
+ return ret; + return ret;
/* Setup VLAN ID 0 for VLAN-unaware bridges */ ds->assisted_learning_on_cpu_port = true;
ret = mt7530_setup_vlan0(priv); ds->mtu_enforcement_ingress = true;
@@ -3020,6 +3022,8 @@ mt753x_setup(struct dsa_switch *ds) @@ -3016,6 +3018,8 @@ mt753x_setup(struct dsa_switch *ds)
ret = mt7530_setup_mdio(priv); ret = mt7530_setup_mdio(priv);
if (ret && priv->irq) if (ret && priv->irq)
mt7530_free_irq_common(priv); mt7530_free_irq_common(priv);

View File

@ -24,7 +24,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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, static void mt7530_mac_port_get_caps(struct dsa_switch *ds, int port,
struct phylink_config *config) struct phylink_config *config)
{ {
@ -33,7 +33,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
switch (port) { switch (port) {
/* Ports which are connected to switch PHYs. There is no MII pinout. */ /* Ports which are connected to switch PHYs. There is no MII pinout. */
case 0 ... 4: 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; struct mt7530_priv *priv = ds->priv;
@ -42,7 +42,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
switch (port) { switch (port) {
/* Ports which are connected to switch PHYs. There is no MII pinout. */ /* Ports which are connected to switch PHYs. There is no MII pinout. */
case 0 ... 4: 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: case 0 ... 3:
__set_bit(PHY_INTERFACE_MODE_INTERNAL, __set_bit(PHY_INTERFACE_MODE_INTERNAL,
config->supported_interfaces); 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; struct mt7530_priv *priv = ds->priv;

View File

@ -17,7 +17,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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) if (!priv->info)
return -EINVAL; return -EINVAL;

View File

@ -19,7 +19,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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 ethtool_eee *e)
{ {
struct mt7530_priv *priv = ds->priv; struct mt7530_priv *priv = ds->priv;
@ -32,7 +32,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
return 0; 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) if (e->tx_lpi_timer > 0xFFF)
return -EINVAL; return -EINVAL;

View File

@ -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 /* Clear link settings and enable force mode to force link down
* on all ports until they're enabled later. * 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); priv->p5_sgmii = !!(val & PAD_DUAL_SGMII_EN);
/* Force link down on all ports before internal reset */ /* Force link down on all ports before internal reset */

View File

@ -17,7 +17,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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); mt7530_setup_port6(priv->ds, interface);
} }
@ -26,7 +26,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
phy_interface_t interface, phy_interface_t interface,
struct phy_device *phydev) 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)) { if (phy_interface_mode_is_rgmii(interface)) {
dp = dsa_to_port(ds, port); dp = dsa_to_port(ds, port);
phydev = dp->slave->phydev; phydev = dp->slave->phydev;

View File

@ -19,7 +19,7 @@ Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/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) { if (!priv->p5_sgmii) {
mt7531_pll_setup(priv); mt7531_pll_setup(priv);
} else { } else {

View File

@ -81,7 +81,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
{ {
--- a/net/ipv4/tcp_offload.c --- a/net/ipv4/tcp_offload.c
+++ b/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, static struct sk_buff *tcp4_gso_segment(struct sk_buff *skb,
netdev_features_t features) 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))) if (!pskb_may_pull(skb, sizeof(struct tcphdr)))
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
@ -162,7 +162,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
if (unlikely(skb->ip_summed != CHECKSUM_PARTIAL)) { if (unlikely(skb->ip_summed != CHECKSUM_PARTIAL)) {
const struct iphdr *iph = ip_hdr(skb); const struct iphdr *iph = ip_hdr(skb);
struct tcphdr *th = tcp_hdr(skb); struct tcphdr *th = tcp_hdr(skb);
@@ -181,61 +248,76 @@ out: @@ -184,61 +251,76 @@ out:
return segs; return segs;
} }
@ -269,7 +269,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
flush = NAPI_GRO_CB(p)->flush; flush = NAPI_GRO_CB(p)->flush;
flush |= (__force int)(flags & TCP_FLAG_CWR); flush |= (__force int)(flags & TCP_FLAG_CWR);
flush |= (__force int)((flags ^ tcp_flag_word(th2)) & flush |= (__force int)((flags ^ tcp_flag_word(th2)) &
@@ -272,6 +354,19 @@ found: @@ -275,6 +357,19 @@ found:
flush |= p->decrypted ^ skb->decrypted; flush |= p->decrypted ^ skb->decrypted;
#endif #endif
@ -289,7 +289,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
if (flush || skb_gro_receive(p, skb)) { if (flush || skb_gro_receive(p, skb)) {
mss = 1; mss = 1;
goto out_check_final; 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)) if (p && (!NAPI_GRO_CB(skb)->same_flow || flush))
pp = p; pp = p;
@ -297,7 +297,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
NAPI_GRO_CB(skb)->flush |= (flush != 0); NAPI_GRO_CB(skb)->flush |= (flush != 0);
return pp; 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); 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) 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); const struct iphdr *iph = ip_hdr(skb);
struct tcphdr *th = tcp_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; skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4;
--- a/net/ipv4/udp_offload.c --- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c
@@ -470,33 +470,6 @@ out: @@ -474,33 +474,6 @@ out:
return segs; return segs;
} }

View File

@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/ipv4/tcp_offload.c --- a/net/ipv4/tcp_offload.c
+++ b/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))) if (!pskb_may_pull(skb, sizeof(struct tcphdr)))
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);

View File

@ -4,7 +4,7 @@ Subject: [PATCH] UGW_SW-29163: ATM oam support
--- a/drivers/net/ppp/ppp_generic.c --- a/drivers/net/ppp/ppp_generic.c
+++ b/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; return name;
} }
@ -27,7 +27,7 @@ Subject: [PATCH] UGW_SW-29163: ATM oam support
/* /*
* Disconnect a channel from the generic layer. * 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_channel_index);
EXPORT_SYMBOL(ppp_unit_number); EXPORT_SYMBOL(ppp_unit_number);
EXPORT_SYMBOL(ppp_dev_name); EXPORT_SYMBOL(ppp_dev_name);

View File

@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/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) if (ret)
goto disable_ref_clk; goto disable_ref_clk;
@ -39,7 +39,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
disable_ref_clk: disable_ref_clk:
clk_disable_unprepare(dwc->ref_clk); clk_disable_unprepare(dwc->ref_clk);
disable_bus_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) 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->susp_clk);
clk_disable_unprepare(dwc->ref_clk); clk_disable_unprepare(dwc->ref_clk);
clk_disable_unprepare(dwc->bus_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 *
} }
} }

View File

@ -128,7 +128,7 @@ Signed-off-by: minda.chen <minda.chen@starfivetech.com>
int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags)
{ {
dma_addr_t dma; 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; xhci->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX;

View File

@ -71,7 +71,7 @@ Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
INIT_LIST_HEAD(&xhci->cmd_list); 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; xhci->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX;
if (xhci->quirks & XHCI_LOCAL_BUFFER) { if (xhci->quirks & XHCI_LOCAL_BUFFER) {