kernel: refresh 5.15 patches (#11235)

Fixes: cc22efe ("kernel: bump 5.15 to 5.15.112")
Fixes: #11226, #11228
Closed: #11232
This commit is contained in:
chaichunyang 2023-05-24 17:15:17 +08:00 committed by GitHub
parent 5c93ec63c2
commit a0948d91a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
58 changed files with 153 additions and 153 deletions

View File

@ -612,7 +612,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mem_cgroup_id_remove(memcg); mem_cgroup_id_remove(memcg);
--- a/mm/memory.c --- a/mm/memory.c
+++ b/mm/memory.c +++ b/mm/memory.c
@@ -4778,6 +4778,27 @@ static inline void mm_account_fault(stru @@ -4792,6 +4792,27 @@ static inline void mm_account_fault(stru
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs, address); perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs, address);
} }
@ -640,7 +640,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
/* /*
* By the time we get here, we already hold the mm semaphore * By the time we get here, we already hold the mm semaphore
* *
@@ -4809,11 +4830,15 @@ vm_fault_t handle_mm_fault(struct vm_are @@ -4823,11 +4844,15 @@ vm_fault_t handle_mm_fault(struct vm_are
if (flags & FAULT_FLAG_USER) if (flags & FAULT_FLAG_USER)
mem_cgroup_enter_user_fault(); mem_cgroup_enter_user_fault();

View File

@ -40,7 +40,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
return !!(pmd_val(pmd) & _PAGE_ACCESSED); return !!(pmd_val(pmd) & _PAGE_ACCESSED);
--- a/arch/riscv/include/asm/pgtable.h --- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h +++ b/arch/riscv/include/asm/pgtable.h
@@ -531,6 +531,7 @@ static inline int pmd_dirty(pmd_t pmd) @@ -535,6 +535,7 @@ static inline int pmd_dirty(pmd_t pmd)
return pte_dirty(pmd_pte(pmd)); return pte_dirty(pmd_pte(pmd));
} }

View File

@ -92,7 +92,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mark_page_accessed(page); mark_page_accessed(page);
} }
rss[mm_counter(page)]--; rss[mm_counter(page)]--;
@@ -4781,8 +4781,8 @@ static inline void mm_account_fault(stru @@ -4795,8 +4795,8 @@ static inline void mm_account_fault(stru
#ifdef CONFIG_LRU_GEN #ifdef CONFIG_LRU_GEN
static void lru_gen_enter_fault(struct vm_area_struct *vma) static void lru_gen_enter_fault(struct vm_area_struct *vma)
{ {

View File

@ -354,7 +354,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
static void mem_cgroup_css_free(struct cgroup_subsys_state *css) static void mem_cgroup_css_free(struct cgroup_subsys_state *css)
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -7645,6 +7645,7 @@ static void __init free_area_init_node(i @@ -7661,6 +7661,7 @@ static void __init free_area_init_node(i
pgdat_set_deferred_range(pgdat); pgdat_set_deferred_range(pgdat);
free_area_init_core(pgdat); free_area_init_core(pgdat);

View File

@ -25,7 +25,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
--- a/drivers/mtd/mtdcore.c --- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c
@@ -1168,6 +1168,34 @@ int __get_mtd_device(struct mtd_info *mt @@ -1175,6 +1175,34 @@ int __get_mtd_device(struct mtd_info *mt
EXPORT_SYMBOL_GPL(__get_mtd_device); EXPORT_SYMBOL_GPL(__get_mtd_device);
/** /**

View File

@ -19,7 +19,7 @@ Date: Fri Jan 21 11:09:44 2022 +0100
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -567,6 +567,7 @@ struct skb_shared_info { @@ -568,6 +568,7 @@ struct skb_shared_info {
* Warning : all fields before dataref are cleared in __alloc_skb() * Warning : all fields before dataref are cleared in __alloc_skb()
*/ */
atomic_t dataref; atomic_t dataref;

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
@@ -563,10 +563,13 @@ mtk_eth_setup_tc_block(struct net_device @@ -564,10 +564,13 @@ mtk_eth_setup_tc_block(struct net_device
int mtk_eth_setup_tc(struct net_device *dev, enum tc_setup_type type, int mtk_eth_setup_tc(struct net_device *dev, enum tc_setup_type type,
void *type_data) void *type_data)
{ {

View File

@ -148,7 +148,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return -EOPNOTSUPP; return -EOPNOTSUPP;
if (f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS) if (f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS)
@@ -574,7 +574,7 @@ int mtk_eth_setup_tc(struct net_device * @@ -575,7 +575,7 @@ int mtk_eth_setup_tc(struct net_device *
int mtk_eth_offload_init(struct mtk_eth *eth) int mtk_eth_offload_init(struct mtk_eth *eth)
{ {

View File

@ -901,7 +901,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void axienet_mac_pcs_get_state(struct phylink_config *config, static void axienet_mac_pcs_get_state(struct phylink_config *config,
--- a/drivers/net/pcs/pcs-xpcs.c --- a/drivers/net/pcs/pcs-xpcs.c
+++ b/drivers/net/pcs/pcs-xpcs.c +++ b/drivers/net/pcs/pcs-xpcs.c
@@ -646,7 +646,7 @@ void xpcs_validate(struct dw_xpcs *xpcs, @@ -637,7 +637,7 @@ void xpcs_validate(struct dw_xpcs *xpcs,
if (state->interface == PHY_INTERFACE_MODE_NA) if (state->interface == PHY_INTERFACE_MODE_NA)
return; return;

View File

@ -307,7 +307,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
return -EOPNOTSUPP; return -EOPNOTSUPP;
if (f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS) if (f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS)
@@ -589,8 +589,5 @@ int mtk_eth_setup_tc(struct net_device * @@ -590,8 +590,5 @@ int mtk_eth_setup_tc(struct net_device *
int mtk_eth_offload_init(struct mtk_eth *eth) int mtk_eth_offload_init(struct mtk_eth *eth)
{ {

View File

@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -4432,7 +4432,7 @@ static const struct mtk_soc_data mt7621_ @@ -4428,7 +4428,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP, .required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false, .required_pctl = false,
@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.hash_offset = 2, .hash_offset = 2,
.foe_entry_size = sizeof(struct mtk_foe_entry) - 16, .foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
.txrx = { .txrx = {
@@ -4472,7 +4472,7 @@ static const struct mtk_soc_data mt7623_ @@ -4467,7 +4467,7 @@ static const struct mtk_soc_data mt7623_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7623_CLKS_BITMAP, .required_clks = MT7623_CLKS_BITMAP,
.required_pctl = true, .required_pctl = true,
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.txrx = { .txrx = {
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c --- a/drivers/net/ethernet/mediatek/mtk_ppe.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
@@ -215,6 +215,8 @@ int mtk_foe_entry_prepare(struct mtk_eth @@ -175,6 +175,8 @@ int mtk_foe_entry_prepare(struct mtk_eth
val = FIELD_PREP(MTK_FOE_IB2_DEST_PORT_V2, pse_port) | val = FIELD_PREP(MTK_FOE_IB2_DEST_PORT_V2, pse_port) |
FIELD_PREP(MTK_FOE_IB2_PORT_AG_V2, 0xf); FIELD_PREP(MTK_FOE_IB2_PORT_AG_V2, 0xf);
} else { } else {
@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
val = FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_BIND) | val = FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_BIND) |
FIELD_PREP(MTK_FOE_IB1_PACKET_TYPE, type) | FIELD_PREP(MTK_FOE_IB1_PACKET_TYPE, type) |
FIELD_PREP(MTK_FOE_IB1_UDP, l4proto == IPPROTO_UDP) | FIELD_PREP(MTK_FOE_IB1_UDP, l4proto == IPPROTO_UDP) |
@@ -222,7 +224,7 @@ int mtk_foe_entry_prepare(struct mtk_eth @@ -182,7 +184,7 @@ int mtk_foe_entry_prepare(struct mtk_eth
entry->ib1 = val; entry->ib1 = val;
val = FIELD_PREP(MTK_FOE_IB2_DEST_PORT, pse_port) | val = FIELD_PREP(MTK_FOE_IB2_DEST_PORT, pse_port) |

View File

@ -644,7 +644,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} qdma; } qdma;
u32 gdm1_cnt; u32 gdm1_cnt;
u32 gdma_to_ppe0; u32 gdma_to_ppe0;
@@ -1176,6 +1197,7 @@ struct mtk_mac { @@ -1173,6 +1194,7 @@ struct mtk_mac {
__be32 hwlro_ip[MTK_MAX_LRO_IP_CNT]; __be32 hwlro_ip[MTK_MAX_LRO_IP_CNT];
int hwlro_ip_cnt; int hwlro_ip_cnt;
unsigned int syscfg0; unsigned int syscfg0;

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c --- a/drivers/net/ethernet/mediatek/mtk_ppe.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
@@ -445,6 +445,24 @@ static inline bool mtk_foe_entry_usable( @@ -405,6 +405,24 @@ static inline bool mtk_foe_entry_usable(
FIELD_GET(MTK_FOE_IB1_STATE, entry->ib1) != MTK_FOE_STATE_BIND; FIELD_GET(MTK_FOE_IB1_STATE, entry->ib1) != MTK_FOE_STATE_BIND;
} }
@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct mtk_foe_entry *data) struct mtk_foe_entry *data)
--- a/drivers/net/ethernet/mediatek/mtk_ppe.h --- a/drivers/net/ethernet/mediatek/mtk_ppe.h
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.h +++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
@@ -69,7 +69,9 @@ enum { @@ -68,7 +68,9 @@ enum {
#define MTK_FOE_IB2_DSCP GENMASK(31, 24) #define MTK_FOE_IB2_DSCP GENMASK(31, 24)
/* CONFIG_MEDIATEK_NETSYS_V2 */ /* CONFIG_MEDIATEK_NETSYS_V2 */
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define MTK_FOE_IB2_DEST_PORT_V2 GENMASK(12, 9) #define MTK_FOE_IB2_DEST_PORT_V2 GENMASK(12, 9)
#define MTK_FOE_IB2_MULTICAST_V2 BIT(13) #define MTK_FOE_IB2_MULTICAST_V2 BIT(13)
#define MTK_FOE_IB2_WDMA_WINFO_V2 BIT(19) #define MTK_FOE_IB2_WDMA_WINFO_V2 BIT(19)
@@ -369,6 +371,8 @@ int mtk_foe_entry_set_pppoe(struct mtk_e @@ -351,6 +353,8 @@ int mtk_foe_entry_set_pppoe(struct mtk_e
int sid); int sid);
int mtk_foe_entry_set_wdma(struct mtk_eth *eth, struct mtk_foe_entry *entry, int mtk_foe_entry_set_wdma(struct mtk_eth *eth, struct mtk_foe_entry *entry,
int wdma_idx, int txq, int bss, int wcid); int wdma_idx, int txq, int bss, int wcid);

View File

@ -181,7 +181,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* CDMP Ingress Control Register */ /* CDMP Ingress Control Register */
#define MTK_CDMP_IG_CTRL 0x400 #define MTK_CDMP_IG_CTRL 0x400
#define MTK_CDMP_STAG_EN BIT(0) #define MTK_CDMP_STAG_EN BIT(0)
@@ -1169,6 +1175,8 @@ struct mtk_eth { @@ -1166,6 +1172,8 @@ struct mtk_eth {
int ip_align; int ip_align;

View File

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3746,9 +3746,12 @@ static int mtk_hw_init(struct mtk_eth *e @@ -3712,9 +3712,12 @@ static int mtk_hw_init(struct mtk_eth *e
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP); mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -139,6 +139,7 @@ @@ -140,6 +140,7 @@
#define PSE_FQFC_CFG1 0x100 #define PSE_FQFC_CFG1 0x100
#define PSE_FQFC_CFG2 0x104 #define PSE_FQFC_CFG2 0x104
#define PSE_DROP_CFG 0x108 #define PSE_DROP_CFG 0x108

View File

@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3142,7 +3142,8 @@ static int mtk_open(struct net_device *d @@ -3143,7 +3143,8 @@ static int mtk_open(struct net_device *d
struct mtk_eth *eth = mac->hw; struct mtk_eth *eth = mac->hw;
int i, err; int i, err;
@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
for (i = 0; i < ARRAY_SIZE(eth->dsa_meta); i++) { for (i = 0; i < ARRAY_SIZE(eth->dsa_meta); i++) {
struct metadata_dst *md_dst = eth->dsa_meta[i]; struct metadata_dst *md_dst = eth->dsa_meta[i];
@@ -3159,7 +3160,8 @@ static int mtk_open(struct net_device *d @@ -3160,7 +3161,8 @@ static int mtk_open(struct net_device *d
} }
} else { } else {
/* Hardware special tag parsing needs to be disabled if at least /* Hardware special tag parsing needs to be disabled if at least

View File

@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3077,7 +3077,7 @@ static void mtk_gdm_config(struct mtk_et @@ -3078,7 +3078,7 @@ static void mtk_gdm_config(struct mtk_et
val |= config; val |= config;
@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
val |= MTK_GDMA_SPECIAL_TAG; val |= MTK_GDMA_SPECIAL_TAG;
mtk_w32(eth, val, MTK_GDMA_FWD_CFG(i)); mtk_w32(eth, val, MTK_GDMA_FWD_CFG(i));
@@ -3142,8 +3142,7 @@ static int mtk_open(struct net_device *d @@ -3143,8 +3143,7 @@ static int mtk_open(struct net_device *d
struct mtk_eth *eth = mac->hw; struct mtk_eth *eth = mac->hw;
int i, err; int i, err;
@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
for (i = 0; i < ARRAY_SIZE(eth->dsa_meta); i++) { for (i = 0; i < ARRAY_SIZE(eth->dsa_meta); i++) {
struct metadata_dst *md_dst = eth->dsa_meta[i]; struct metadata_dst *md_dst = eth->dsa_meta[i];
@@ -3160,8 +3159,7 @@ static int mtk_open(struct net_device *d @@ -3161,8 +3160,7 @@ static int mtk_open(struct net_device *d
} }
} else { } else {
/* Hardware special tag parsing needs to be disabled if at least /* Hardware special tag parsing needs to be disabled if at least

View File

@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1829,7 +1829,9 @@ static int mtk_poll_rx(struct napi_struc @@ -1830,7 +1830,9 @@ static int mtk_poll_rx(struct napi_struc
while (done < budget) { while (done < budget) {
unsigned int pktlen, *rxdcsum; unsigned int pktlen, *rxdcsum;
@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dma_addr_t dma_addr; dma_addr_t dma_addr;
u32 hash, reason; u32 hash, reason;
int mac = 0; int mac = 0;
@@ -1969,27 +1971,29 @@ static int mtk_poll_rx(struct napi_struc @@ -1970,27 +1972,29 @@ static int mtk_poll_rx(struct napi_struc
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX) { if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX) {
if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {

View File

@ -38,7 +38,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c --- a/drivers/net/ethernet/mediatek/mtk_ppe.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
@@ -601,8 +601,7 @@ mtk_foe_entry_commit_subflow(struct mtk_ @@ -621,8 +621,7 @@ mtk_foe_entry_commit_subflow(struct mtk_
u32 ib1_mask = mtk_get_ib1_pkt_type_mask(ppe->eth) | MTK_FOE_IB1_UDP; u32 ib1_mask = mtk_get_ib1_pkt_type_mask(ppe->eth) | MTK_FOE_IB1_UDP;
int type; int type;
@ -50,7 +50,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_ppe.h --- a/drivers/net/ethernet/mediatek/mtk_ppe.h
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.h +++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
@@ -277,7 +277,6 @@ struct mtk_flow_entry { @@ -279,7 +279,6 @@ struct mtk_flow_entry {
struct { struct {
struct mtk_flow_entry *base_flow; struct mtk_flow_entry *base_flow;
struct hlist_node list; struct hlist_node list;

View File

@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -1028,11 +1028,13 @@ struct mtk_soc_data { @@ -1063,11 +1063,13 @@ struct mtk_soc_data {
* @regmap: The register map pointing at the range used to setup * @regmap: The register map pointing at the range used to setup
* SGMII modes * SGMII modes
* @ana_rgc3: The offset refers to register ANA_RGC3 related to regmap * @ana_rgc3: The offset refers to register ANA_RGC3 related to regmap

View File

@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -497,7 +497,7 @@ @@ -524,7 +524,7 @@
#define SGMII_SPEED_10 FIELD_PREP(SGMII_SPEED_MASK, 0) #define SGMII_SPEED_10 FIELD_PREP(SGMII_SPEED_MASK, 0)
#define SGMII_SPEED_100 FIELD_PREP(SGMII_SPEED_MASK, 1) #define SGMII_SPEED_100 FIELD_PREP(SGMII_SPEED_MASK, 1)
#define SGMII_SPEED_1000 FIELD_PREP(SGMII_SPEED_MASK, 2) #define SGMII_SPEED_1000 FIELD_PREP(SGMII_SPEED_MASK, 2)

View File

@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ret = stmmac_hw_setup(dev, true); ret = stmmac_hw_setup(dev, true);
if (ret < 0) { if (ret < 0) {
netdev_err(priv->dev, "%s: Hw setup failed\n", __func__); netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
@@ -6424,6 +6417,7 @@ void stmmac_enable_rx_queue(struct stmma @@ -6430,6 +6423,7 @@ void stmmac_enable_rx_queue(struct stmma
return; return;
} }
@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_clear_rx_descriptors(priv, queue); stmmac_clear_rx_descriptors(priv, queue);
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
@@ -6485,6 +6479,7 @@ void stmmac_enable_tx_queue(struct stmma @@ -6491,6 +6485,7 @@ void stmmac_enable_tx_queue(struct stmma
return; return;
} }
@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_clear_tx_descriptors(priv, queue); stmmac_clear_tx_descriptors(priv, queue);
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
@@ -7407,6 +7402,25 @@ int stmmac_suspend(struct device *dev) @@ -7417,6 +7412,25 @@ int stmmac_suspend(struct device *dev)
} }
EXPORT_SYMBOL_GPL(stmmac_suspend); EXPORT_SYMBOL_GPL(stmmac_suspend);
@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/** /**
* stmmac_reset_queues_param - reset queue parameters * stmmac_reset_queues_param - reset queue parameters
* @priv: device pointer * @priv: device pointer
@@ -7417,22 +7431,11 @@ static void stmmac_reset_queues_param(st @@ -7427,22 +7441,11 @@ static void stmmac_reset_queues_param(st
u32 tx_cnt = priv->plat->tx_queues_to_use; u32 tx_cnt = priv->plat->tx_queues_to_use;
u32 queue; u32 queue;

View File

@ -1116,7 +1116,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
} }
@@ -6398,7 +6402,7 @@ void stmmac_disable_rx_queue(struct stmm @@ -6404,7 +6408,7 @@ void stmmac_disable_rx_queue(struct stmm
void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@ -1125,7 +1125,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags; unsigned long flags;
u32 buf_size; u32 buf_size;
@@ -6435,7 +6439,7 @@ void stmmac_enable_rx_queue(struct stmma @@ -6441,7 +6445,7 @@ void stmmac_enable_rx_queue(struct stmma
rx_q->queue_index); rx_q->queue_index);
} else { } else {
stmmac_set_dma_bfsize(priv, priv->ioaddr, stmmac_set_dma_bfsize(priv, priv->ioaddr,
@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->queue_index); rx_q->queue_index);
} }
@@ -6461,7 +6465,7 @@ void stmmac_disable_tx_queue(struct stmm @@ -6467,7 +6471,7 @@ void stmmac_disable_tx_queue(struct stmm
void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags; unsigned long flags;
int ret; int ret;
@@ -6511,7 +6515,7 @@ void stmmac_xdp_release(struct net_devic @@ -6517,7 +6521,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Free the IRQ lines */ /* Free the IRQ lines */
stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
@@ -6570,7 +6574,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA RX Channel Configuration */ /* DMA RX Channel Configuration */
for (chan = 0; chan < rx_cnt; chan++) { for (chan = 0; chan < rx_cnt; chan++) {
@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, chan); rx_q->dma_rx_phy, chan);
@@ -6588,7 +6592,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6594,7 +6598,7 @@ int stmmac_xdp_open(struct net_device *d
rx_q->queue_index); rx_q->queue_index);
} else { } else {
stmmac_set_dma_bfsize(priv, priv->ioaddr, stmmac_set_dma_bfsize(priv, priv->ioaddr,
@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->queue_index); rx_q->queue_index);
} }
@@ -6597,7 +6601,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6603,7 +6607,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA TX Channel Configuration */ /* DMA TX Channel Configuration */
for (chan = 0; chan < tx_cnt; chan++) { for (chan = 0; chan < tx_cnt; chan++) {
@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan); tx_q->dma_tx_phy, chan);
@@ -6630,7 +6634,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6636,7 +6640,7 @@ int stmmac_xdp_open(struct net_device *d
irq_error: irq_error:
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -6657,8 +6661,8 @@ int stmmac_xsk_wakeup(struct net_device @@ -6663,8 +6667,8 @@ int stmmac_xsk_wakeup(struct net_device
queue >= priv->plat->tx_queues_to_use) queue >= priv->plat->tx_queues_to_use)
return -EINVAL; return -EINVAL;
@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ch = &priv->channel[queue]; ch = &priv->channel[queue];
if (!rx_q->xsk_pool && !tx_q->xsk_pool) if (!rx_q->xsk_pool && !tx_q->xsk_pool)
@@ -6914,8 +6918,8 @@ int stmmac_reinit_ringparam(struct net_d @@ -6924,8 +6928,8 @@ int stmmac_reinit_ringparam(struct net_d
if (netif_running(dev)) if (netif_running(dev))
stmmac_release(dev); stmmac_release(dev);
@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (netif_running(dev)) if (netif_running(dev))
ret = stmmac_open(dev); ret = stmmac_open(dev);
@@ -7353,7 +7357,7 @@ int stmmac_suspend(struct device *dev) @@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (priv->eee_enabled) { if (priv->eee_enabled) {
priv->tx_path_in_lpi_mode = false; priv->tx_path_in_lpi_mode = false;
@@ -7404,7 +7408,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); @@ -7414,7 +7418,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue) static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->cur_rx = 0; rx_q->cur_rx = 0;
rx_q->dirty_rx = 0; rx_q->dirty_rx = 0;
@@ -7412,7 +7416,7 @@ static void stmmac_reset_rx_queue(struct @@ -7422,7 +7426,7 @@ static void stmmac_reset_rx_queue(struct
static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
{ {

View File

@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Disable the MAC Rx/Tx */ /* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false); stmmac_mac_set(priv, priv->ioaddr, false);
@@ -6397,7 +6513,7 @@ void stmmac_disable_rx_queue(struct stmm @@ -6403,7 +6519,7 @@ void stmmac_disable_rx_queue(struct stmm
spin_unlock_irqrestore(&ch->lock, flags); spin_unlock_irqrestore(&ch->lock, flags);
stmmac_stop_rx_dma(priv, queue); stmmac_stop_rx_dma(priv, queue);
@ -1054,7 +1054,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
@@ -6408,21 +6524,21 @@ void stmmac_enable_rx_queue(struct stmma @@ -6414,21 +6530,21 @@ void stmmac_enable_rx_queue(struct stmma
u32 buf_size; u32 buf_size;
int ret; int ret;
@ -1080,7 +1080,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, rx_q->queue_index); rx_q->dma_rx_phy, rx_q->queue_index);
@@ -6460,7 +6576,7 @@ void stmmac_disable_tx_queue(struct stmm @@ -6466,7 +6582,7 @@ void stmmac_disable_tx_queue(struct stmm
spin_unlock_irqrestore(&ch->lock, flags); spin_unlock_irqrestore(&ch->lock, flags);
stmmac_stop_tx_dma(priv, queue); stmmac_stop_tx_dma(priv, queue);
@ -1089,7 +1089,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
@@ -6470,21 +6586,21 @@ void stmmac_enable_tx_queue(struct stmma @@ -6476,21 +6592,21 @@ void stmmac_enable_tx_queue(struct stmma
unsigned long flags; unsigned long flags;
int ret; int ret;
@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, tx_q->queue_index); tx_q->dma_tx_phy, tx_q->queue_index);
@@ -6524,7 +6640,7 @@ void stmmac_xdp_release(struct net_devic @@ -6530,7 +6646,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_stop_all_dma(priv); stmmac_stop_all_dma(priv);
/* Release and free the Rx/Tx resources */ /* Release and free the Rx/Tx resources */
@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Disable the MAC Rx/Tx */ /* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false); stmmac_mac_set(priv, priv->ioaddr, false);
@@ -6549,14 +6665,14 @@ int stmmac_xdp_open(struct net_device *d @@ -6555,14 +6671,14 @@ int stmmac_xdp_open(struct net_device *d
u32 chan; u32 chan;
int ret; int ret;
@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret < 0) { if (ret < 0) {
netdev_err(dev, "%s: DMA descriptors initialization failed\n", netdev_err(dev, "%s: DMA descriptors initialization failed\n",
__func__); __func__);
@@ -6638,7 +6754,7 @@ irq_error: @@ -6644,7 +6760,7 @@ irq_error:
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dma_desc_error: dma_desc_error:
return ret; return ret;
} }
@@ -7499,7 +7615,7 @@ int stmmac_resume(struct device *dev) @@ -7509,7 +7625,7 @@ int stmmac_resume(struct device *dev)
stmmac_reset_queues_param(priv); stmmac_reset_queues_param(priv);
stmmac_free_tx_skbufs(priv); stmmac_free_tx_skbufs(priv);

View File

@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -234,6 +234,7 @@ struct sfp { @@ -240,6 +240,7 @@ struct sfp {
bool need_poll; bool need_poll;
struct mutex st_mutex; /* Protects state */ struct mutex st_mutex; /* Protects state */
@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
unsigned int state_soft_mask; unsigned int state_soft_mask;
unsigned int state; unsigned int state;
struct delayed_work poll; struct delayed_work poll;
@@ -499,17 +500,18 @@ static void sfp_soft_set_state(struct sf @@ -505,17 +506,18 @@ static void sfp_soft_set_state(struct sf
static void sfp_soft_start_poll(struct sfp *sfp) static void sfp_soft_start_poll(struct sfp *sfp)
{ {
const struct sfp_eeprom_id *id = &sfp->id; const struct sfp_eeprom_id *id = &sfp->id;
@ -56,7 +56,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (sfp->state_soft_mask & (SFP_F_LOS | SFP_F_TX_FAULT) && if (sfp->state_soft_mask & (SFP_F_LOS | SFP_F_TX_FAULT) &&
!sfp->need_poll) !sfp->need_poll)
@@ -523,10 +525,11 @@ static void sfp_soft_stop_poll(struct sf @@ -529,10 +531,11 @@ static void sfp_soft_stop_poll(struct sf
static unsigned int sfp_get_state(struct sfp *sfp) static unsigned int sfp_get_state(struct sfp *sfp)
{ {
@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
state |= sfp_soft_get_state(sfp); state |= sfp_soft_get_state(sfp);
return state; return state;
@@ -1940,6 +1943,15 @@ static int sfp_sm_mod_probe(struct sfp * @@ -1942,6 +1945,15 @@ static int sfp_sm_mod_probe(struct sfp *
if (ret < 0) if (ret < 0)
return ret; return ret;
@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (!memcmp(id.base.vendor_name, "ALCATELLUCENT ", 16) && if (!memcmp(id.base.vendor_name, "ALCATELLUCENT ", 16) &&
!memcmp(id.base.vendor_pn, "3FE46541AA ", 16)) !memcmp(id.base.vendor_pn, "3FE46541AA ", 16))
sfp->module_t_start_up = T_START_UP_BAD_GPON; sfp->module_t_start_up = T_START_UP_BAD_GPON;
@@ -2565,6 +2577,8 @@ static int sfp_probe(struct platform_dev @@ -2568,6 +2580,8 @@ static int sfp_probe(struct platform_dev
return PTR_ERR(sfp->gpio[i]); return PTR_ERR(sfp->gpio[i]);
} }

View File

@ -142,7 +142,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ret = ops->module_insert(bus->upstream, id); ret = ops->module_insert(bus->upstream, id);
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -253,6 +253,8 @@ struct sfp { @@ -259,6 +259,8 @@ struct sfp {
unsigned int module_t_start_up; unsigned int module_t_start_up;
bool tx_fault_ignore; bool tx_fault_ignore;
@ -151,7 +151,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
#if IS_ENABLED(CONFIG_HWMON) #if IS_ENABLED(CONFIG_HWMON)
struct sfp_diag diag; struct sfp_diag diag;
struct delayed_work hwmon_probe; struct delayed_work hwmon_probe;
@@ -309,6 +311,93 @@ static const struct of_device_id sfp_of_ @@ -315,6 +317,93 @@ static const struct of_device_id sfp_of_
}; };
MODULE_DEVICE_TABLE(of, sfp_of_match); MODULE_DEVICE_TABLE(of, sfp_of_match);
@ -245,7 +245,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static unsigned long poll_jiffies; static unsigned long poll_jiffies;
static unsigned int sfp_gpio_get_state(struct sfp *sfp) static unsigned int sfp_gpio_get_state(struct sfp *sfp)
@@ -1964,6 +2053,8 @@ static int sfp_sm_mod_probe(struct sfp * @@ -1966,6 +2055,8 @@ static int sfp_sm_mod_probe(struct sfp *
else else
sfp->tx_fault_ignore = false; sfp->tx_fault_ignore = false;
@ -254,7 +254,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return 0; return 0;
} }
@@ -2075,7 +2166,8 @@ static void sfp_sm_module(struct sfp *sf @@ -2077,7 +2168,8 @@ static void sfp_sm_module(struct sfp *sf
break; break;
/* Report the module insertion to the upstream device */ /* Report the module insertion to the upstream device */

View File

@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -311,6 +311,11 @@ static const struct of_device_id sfp_of_ @@ -317,6 +317,11 @@ static const struct of_device_id sfp_of_
}; };
MODULE_DEVICE_TABLE(of, sfp_of_match); MODULE_DEVICE_TABLE(of, sfp_of_match);
@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id, static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
unsigned long *modes) unsigned long *modes)
{ {
@@ -341,6 +346,7 @@ static const struct sfp_quirk sfp_quirks @@ -347,6 +352,7 @@ static const struct sfp_quirk sfp_quirks
.vendor = "ALCATELLUCENT", .vendor = "ALCATELLUCENT",
.part = "3FE46541AA", .part = "3FE46541AA",
.modes = sfp_quirk_2500basex, .modes = sfp_quirk_2500basex,
@ -35,7 +35,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}, { }, {
// Huawei MA5671A can operate at 2500base-X, but report 1.2GBd // Huawei MA5671A can operate at 2500base-X, but report 1.2GBd
// NRZ in their EEPROM // NRZ in their EEPROM
@@ -2041,11 +2047,7 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2043,11 +2049,7 @@ static int sfp_sm_mod_probe(struct sfp *
if (sfp->gpio[GPIO_LOS]) if (sfp->gpio[GPIO_LOS])
sfp->state_hw_mask |= SFP_F_LOS; sfp->state_hw_mask |= SFP_F_LOS;
@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (!memcmp(id.base.vendor_name, "HUAWEI ", 16) && if (!memcmp(id.base.vendor_name, "HUAWEI ", 16) &&
!memcmp(id.base.vendor_pn, "MA5671A ", 16)) !memcmp(id.base.vendor_pn, "MA5671A ", 16))
@@ -2054,6 +2056,8 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2056,6 +2058,8 @@ static int sfp_sm_mod_probe(struct sfp *
sfp->tx_fault_ignore = false; sfp->tx_fault_ignore = false;
sfp->quirk = sfp_lookup_quirk(&id); sfp->quirk = sfp_lookup_quirk(&id);

View File

@ -13,7 +13,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -316,6 +316,11 @@ static void sfp_fixup_long_startup(struc @@ -322,6 +322,11 @@ static void sfp_fixup_long_startup(struc
sfp->module_t_start_up = T_START_UP_BAD_GPON; sfp->module_t_start_up = T_START_UP_BAD_GPON;
} }
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id, static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
unsigned long *modes) unsigned long *modes)
{ {
@@ -353,6 +358,7 @@ static const struct sfp_quirk sfp_quirks @@ -359,6 +364,7 @@ static const struct sfp_quirk sfp_quirks
.vendor = "HUAWEI", .vendor = "HUAWEI",
.part = "MA5671A", .part = "MA5671A",
.modes = sfp_quirk_2500basex, .modes = sfp_quirk_2500basex,
@ -33,7 +33,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}, { }, {
// Lantech 8330-262D-E can operate at 2500base-X, but // Lantech 8330-262D-E can operate at 2500base-X, but
// incorrectly report 2500MBd NRZ in their EEPROM // incorrectly report 2500MBd NRZ in their EEPROM
@@ -2049,11 +2055,7 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2051,11 +2057,7 @@ static int sfp_sm_mod_probe(struct sfp *
sfp->module_t_start_up = T_START_UP; sfp->module_t_start_up = T_START_UP;

View File

@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
linkmode_or(support, support, modes); linkmode_or(support, support, modes);
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -321,6 +321,15 @@ static void sfp_fixup_ignore_tx_fault(st @@ -327,6 +327,15 @@ static void sfp_fixup_ignore_tx_fault(st
sfp->tx_fault_ignore = true; sfp->tx_fault_ignore = true;
} }
@ -44,7 +44,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id, static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
unsigned long *modes) unsigned long *modes)
{ {
@@ -353,6 +362,10 @@ static const struct sfp_quirk sfp_quirks @@ -359,6 +368,10 @@ static const struct sfp_quirk sfp_quirks
.modes = sfp_quirk_2500basex, .modes = sfp_quirk_2500basex,
.fixup = sfp_fixup_long_startup, .fixup = sfp_fixup_long_startup,
}, { }, {
@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
// Huawei MA5671A can operate at 2500base-X, but report 1.2GBd // Huawei MA5671A can operate at 2500base-X, but report 1.2GBd
// NRZ in their EEPROM // NRZ in their EEPROM
.vendor = "HUAWEI", .vendor = "HUAWEI",
@@ -369,16 +382,18 @@ static const struct sfp_quirk sfp_quirks @@ -375,16 +388,18 @@ static const struct sfp_quirk sfp_quirks
.vendor = "UBNT", .vendor = "UBNT",
.part = "UF-INSTANT", .part = "UF-INSTANT",
.modes = sfp_quirk_ubnt_uf_instant, .modes = sfp_quirk_ubnt_uf_instant,

View File

@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -366,6 +366,10 @@ static const struct sfp_quirk sfp_quirks @@ -372,6 +372,10 @@ static const struct sfp_quirk sfp_quirks
.part = "HL-GSFP", .part = "HL-GSFP",
.fixup = sfp_fixup_halny_gsfp, .fixup = sfp_fixup_halny_gsfp,
}, { }, {

View File

@ -77,15 +77,15 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#include "mtdcore.h" #include "mtdcore.h"
@@ -1004,6 +1005,8 @@ int mtd_device_parse_register(struct mtd @@ -1006,6 +1007,8 @@ int mtd_device_parse_register(struct mtd
register_reboot_notifier(&mtd->reboot_notifier);
ret = mtd_otp_nvmem_add(mtd); }
+ register_mtd_blktrans_devs(); + register_mtd_blktrans_devs();
+ +
out: out:
if (ret && device_is_registered(&mtd->dev)) if (ret) {
del_mtd_device(mtd); nvmem_unregister(mtd->otp_user_nvmem);
--- a/include/linux/mtd/blktrans.h --- a/include/linux/mtd/blktrans.h
+++ b/include/linux/mtd/blktrans.h +++ b/include/linux/mtd/blktrans.h
@@ -76,6 +76,7 @@ extern int deregister_mtd_blktrans(struc @@ -76,6 +76,7 @@ extern int deregister_mtd_blktrans(struc

View File

@ -1,6 +1,6 @@
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -2982,6 +2982,9 @@ static int mv88e6xxx_setup_port(struct m @@ -2987,6 +2987,9 @@ static int mv88e6xxx_setup_port(struct m
else else
reg = 1 << port; reg = 1 << port;

View File

@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/netdevice.h --- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h +++ b/include/linux/netdevice.h
@@ -1678,6 +1678,10 @@ enum netdev_priv_flags { @@ -1679,6 +1679,10 @@ enum netdev_priv_flags {
IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), IFF_TX_SKB_NO_LINEAR = BIT_ULL(31),
}; };
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
#define IFF_EBRIDGE IFF_EBRIDGE #define IFF_EBRIDGE IFF_EBRIDGE
#define IFF_BONDING IFF_BONDING #define IFF_BONDING IFF_BONDING
@@ -1710,6 +1714,7 @@ enum netdev_priv_flags { @@ -1711,6 +1715,7 @@ enum netdev_priv_flags {
#define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER
#define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK #define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK
#define IFF_TX_SKB_NO_LINEAR IFF_TX_SKB_NO_LINEAR #define IFF_TX_SKB_NO_LINEAR IFF_TX_SKB_NO_LINEAR
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Specifies the type of the struct net_device::ml_priv pointer */ /* Specifies the type of the struct net_device::ml_priv pointer */
enum netdev_ml_priv_type { enum netdev_ml_priv_type {
@@ -2011,6 +2016,7 @@ struct net_device { @@ -2012,6 +2017,7 @@ struct net_device {
/* Read-mostly cache-line for fast-path access */ /* Read-mostly cache-line for fast-path access */
unsigned int flags; unsigned int flags;
unsigned int priv_flags; unsigned int priv_flags;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
const struct net_device_ops *netdev_ops; const struct net_device_ops *netdev_ops;
int ifindex; int ifindex;
unsigned short gflags; unsigned short gflags;
@@ -2071,6 +2077,11 @@ struct net_device { @@ -2072,6 +2078,11 @@ struct net_device {
const struct tlsdev_ops *tlsdev_ops; const struct tlsdev_ops *tlsdev_ops;
#endif #endif
@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
const struct header_ops *header_ops; const struct header_ops *header_ops;
unsigned char operstate; unsigned char operstate;
@@ -2145,6 +2156,10 @@ struct net_device { @@ -2146,6 +2157,10 @@ struct net_device {
struct mctp_dev __rcu *mctp_ptr; struct mctp_dev __rcu *mctp_ptr;
#endif #endif
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/ */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2854,6 +2854,10 @@ static inline int pskb_trim(struct sk_bu @@ -2855,6 +2855,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0; return (len < skb->len) ? __pskb_trim(skb, len) : 0;
} }
@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/** /**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer * pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter * @skb: buffer to alter
@@ -3004,16 +3008,6 @@ static inline struct sk_buff *dev_alloc_ @@ -3005,16 +3009,6 @@ static inline struct sk_buff *dev_alloc_
} }

View File

@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
#include <linux/crc32.h> #include <linux/crc32.h>
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
@@ -6864,6 +6865,22 @@ static void rtl_tally_reset(struct r8152 @@ -6886,6 +6887,22 @@ static void rtl_tally_reset(struct r8152
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
} }
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
static void r8152b_init(struct r8152 *tp) static void r8152b_init(struct r8152 *tp)
{ {
u32 ocp_data; u32 ocp_data;
@@ -6905,6 +6922,8 @@ static void r8152b_init(struct r8152 *tp @@ -6927,6 +6944,8 @@ static void r8152b_init(struct r8152 *tp
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
} }
static void r8153_init(struct r8152 *tp) static void r8153_init(struct r8152 *tp)
@@ -7045,6 +7064,8 @@ static void r8153_init(struct r8152 *tp) @@ -7067,6 +7086,8 @@ static void r8153_init(struct r8152 *tp)
tp->coalesce = COALESCE_SLOW; tp->coalesce = COALESCE_SLOW;
break; break;
} }
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
} }
static void r8153b_init(struct r8152 *tp) static void r8153b_init(struct r8152 *tp)
@@ -7127,6 +7148,8 @@ static void r8153b_init(struct r8152 *tp @@ -7149,6 +7170,8 @@ static void r8153b_init(struct r8152 *tp
rtl_tally_reset(tp); rtl_tally_reset(tp);
tp->coalesce = 15000; /* 15 us */ tp->coalesce = 15000; /* 15 us */

View File

@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
#define QUECTEL_VENDOR_ID 0x2c7c #define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */ /* These Quectel products use Quectel's vendor ID */
@@ -1164,6 +1166,11 @@ static const struct usb_device_id option @@ -1169,6 +1171,11 @@ static const struct usb_device_id option
.driver_info = ZLP }, .driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) }, .driver_info = RSVD(4) },

View File

@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -377,6 +377,11 @@ static const struct sfp_quirk sfp_quirks @@ -383,6 +383,11 @@ static const struct sfp_quirk sfp_quirks
.modes = sfp_quirk_2500basex, .modes = sfp_quirk_2500basex,
.fixup = sfp_fixup_ignore_tx_fault, .fixup = sfp_fixup_ignore_tx_fault,
}, { }, {
@ -38,7 +38,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
// Lantech 8330-262D-E can operate at 2500base-X, but // Lantech 8330-262D-E can operate at 2500base-X, but
// incorrectly report 2500MBd NRZ in their EEPROM // incorrectly report 2500MBd NRZ in their EEPROM
.vendor = "Lantech", .vendor = "Lantech",
@@ -2310,7 +2315,8 @@ static void sfp_sm_main(struct sfp *sfp, @@ -2312,7 +2317,8 @@ static void sfp_sm_main(struct sfp *sfp,
* or t_start_up, so assume there is a fault. * or t_start_up, so assume there is a fault.
*/ */
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
@ -48,7 +48,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
init_done: init_done:
sfp->sm_phy_retries = R_PHY_RETRY; sfp->sm_phy_retries = R_PHY_RETRY;
@@ -2533,10 +2539,12 @@ static void sfp_check_state(struct sfp * @@ -2535,10 +2541,12 @@ static void sfp_check_state(struct sfp *
mutex_lock(&sfp->st_mutex); mutex_lock(&sfp->st_mutex);
state = sfp_get_state(sfp); state = sfp_get_state(sfp);
changed = state ^ sfp->state; changed = state ^ sfp->state;

View File

@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!pe) if (!pe)
--- a/mm/vmalloc.c --- a/mm/vmalloc.c
+++ b/mm/vmalloc.c +++ b/mm/vmalloc.c
@@ -3962,6 +3962,8 @@ static const struct seq_operations vmall @@ -3964,6 +3964,8 @@ static const struct seq_operations vmall
static int __init proc_vmalloc_init(void) static int __init proc_vmalloc_init(void)
{ {

View File

@ -12,7 +12,7 @@
struct list_head *br_ip_list); struct list_head *br_ip_list);
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -915,6 +915,10 @@ struct sk_buff { @@ -916,6 +916,10 @@ struct sk_buff {
__u8 slow_gro:1; __u8 slow_gro:1;
__u8 scm_io_uring:1; __u8 scm_io_uring:1;

View File

@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -7604,7 +7604,7 @@ static void __init alloc_node_mem_map(st @@ -7620,7 +7620,7 @@ static void __init alloc_node_mem_map(st
if (pgdat == NODE_DATA(0)) { if (pgdat == NODE_DATA(0)) {
mem_map = NODE_DATA(0)->node_mem_map; mem_map = NODE_DATA(0)->node_mem_map;
if (page_to_pfn(mem_map) != pgdat->node_start_pfn) if (page_to_pfn(mem_map) != pgdat->node_start_pfn)

View File

@ -17,7 +17,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
--- a/drivers/mtd/mtdcore.c --- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c
@@ -1233,6 +1233,44 @@ out_unlock: @@ -1240,6 +1240,44 @@ out_unlock:
} }
EXPORT_SYMBOL_GPL(get_mtd_device_nm); EXPORT_SYMBOL_GPL(get_mtd_device_nm);

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1 #define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c --- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c +++ b/net/packet/af_packet.c
@@ -1825,6 +1825,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1826,6 +1826,7 @@ static int packet_rcv_spkt(struct sk_buf
{ {
struct sock *sk; struct sock *sk;
struct sockaddr_pkt *spkt; struct sockaddr_pkt *spkt;
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* When we registered the protocol we saved the socket in the data * When we registered the protocol we saved the socket in the data
@@ -1832,6 +1833,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1833,6 +1834,7 @@ static int packet_rcv_spkt(struct sk_buf
*/ */
sk = pt->af_packet_priv; sk = pt->af_packet_priv;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* Yank back the headers [hope the device set this * Yank back the headers [hope the device set this
@@ -1844,7 +1846,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1845,7 +1847,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop. * so that this procedure is noop.
*/ */
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out; goto out;
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2092,12 +2094,12 @@ static int packet_rcv(struct sk_buff *sk @@ -2093,12 +2095,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res; unsigned int snaplen, res;
bool is_drop_n_account = false; bool is_drop_n_account = false;
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -2223,12 +2225,12 @@ static int tpacket_rcv(struct sk_buff *s @@ -2224,12 +2226,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -3339,6 +3341,7 @@ static int packet_create(struct net *net @@ -3342,6 +3344,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock); mutex_init(&po->pg_vec_lock);
po->rollover = NULL; po->rollover = NULL;
po->prot_hook.func = packet_rcv; po->prot_hook.func = packet_rcv;
@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET) if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt; po->prot_hook.func = packet_rcv_spkt;
@@ -3979,6 +3982,16 @@ packet_setsockopt(struct socket *sock, i @@ -3979,6 +3982,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit; WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
return 0; return 0;
} }
+ case PACKET_RECV_TYPE: + case PACKET_RECV_TYPE:
@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
break; break;
--- a/net/packet/internal.h --- a/net/packet/internal.h
+++ b/net/packet/internal.h +++ b/net/packet/internal.h
@@ -137,6 +137,7 @@ struct packet_sock { @@ -136,6 +136,7 @@ struct packet_sock {
int (*xmit)(struct sk_buff *skb); int (*xmit)(struct sk_buff *skb);
struct packet_type prot_hook ____cacheline_aligned_in_smp; struct packet_type prot_hook ____cacheline_aligned_in_smp;
atomic_t tp_drops ____cacheline_aligned_in_smp; atomic_t tp_drops ____cacheline_aligned_in_smp;

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2820,7 +2820,7 @@ static inline int pskb_network_may_pull( @@ -2821,7 +2821,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/ */
#ifndef NET_SKB_PAD #ifndef NET_SKB_PAD

View File

@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif #endif
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -892,6 +892,7 @@ struct sk_buff { @@ -893,6 +893,7 @@ struct sk_buff {
#ifdef CONFIG_IPV6_NDISC_NODETYPE #ifdef CONFIG_IPV6_NDISC_NODETYPE
__u8 ndisc_nodetype:2; __u8 ndisc_nodetype:2;
#endif #endif

View File

@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
@@ -247,6 +247,9 @@ mtk_flow_offload_replace(struct mtk_eth @@ -253,6 +253,9 @@ mtk_flow_offload_replace(struct mtk_eth
if (rhashtable_lookup(&eth->flow_table, &f->cookie, mtk_flow_ht_params)) if (rhashtable_lookup(&eth->flow_table, &f->cookie, mtk_flow_ht_params))
return -EEXIST; return -EEXIST;

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2824,8 +2824,8 @@ static irqreturn_t mtk_handle_irq_rx(int @@ -2972,8 +2972,8 @@ static irqreturn_t mtk_handle_irq_rx(int
eth->rx_events++; eth->rx_events++;
if (likely(napi_schedule_prep(&eth->rx_napi))) { if (likely(napi_schedule_prep(&eth->rx_napi))) {
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
return IRQ_HANDLED; return IRQ_HANDLED;
@@ -2837,8 +2837,8 @@ static irqreturn_t mtk_handle_irq_tx(int @@ -2985,8 +2985,8 @@ static irqreturn_t mtk_handle_irq_tx(int
eth->tx_events++; eth->tx_events++;
if (likely(napi_schedule_prep(&eth->tx_napi))) { if (likely(napi_schedule_prep(&eth->tx_napi))) {
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
return IRQ_HANDLED; return IRQ_HANDLED;
@@ -4351,6 +4351,8 @@ static int mtk_probe(struct platform_dev @@ -4617,6 +4617,8 @@ static int mtk_probe(struct platform_dev
* for NAPI to work * for NAPI to work
*/ */
init_dummy_netdev(&eth->dummy_dev); init_dummy_netdev(&eth->dummy_dev);

View File

@ -12,9 +12,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/dsa/tag_mtk.c --- a/net/dsa/tag_mtk.c
+++ b/net/dsa/tag_mtk.c +++ b/net/dsa/tag_mtk.c
@@ -25,6 +25,13 @@ static struct sk_buff *mtk_tag_xmit(stru @@ -27,6 +27,13 @@ static struct sk_buff *mtk_tag_xmit(stru
u8 xmit_tpid;
u8 *mtk_tag; skb_set_queue_mapping(skb, dp->index);
+ /* The Ethernet switch we are interfaced with needs packets to be at + /* The Ethernet switch we are interfaced with needs packets to be at
+ * least 64 bytes (including FCS) otherwise their padding might be + * least 64 bytes (including FCS) otherwise their padding might be

View File

@ -15,7 +15,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
--- a/drivers/net/dsa/mt7530.c --- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c
@@ -2341,6 +2341,10 @@ mt7531_setup(struct dsa_switch *ds) @@ -2346,6 +2346,10 @@ mt7531_setup(struct dsa_switch *ds)
return -ENODEV; return -ENODEV;
} }

View File

@ -53,7 +53,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -4585,8 +4585,8 @@ static int mtk_probe(struct platform_dev @@ -4586,8 +4586,8 @@ static int mtk_probe(struct platform_dev
for (i = 0; i < num_ppe; i++) { for (i = 0; i < num_ppe; i++) {
u32 ppe_addr = eth->soc->reg_map->ppe_base + i * 0x400; u32 ppe_addr = eth->soc->reg_map->ppe_base + i * 0x400;
@ -64,7 +64,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
if (!eth->ppe[i]) { if (!eth->ppe[i]) {
err = -ENOMEM; err = -ENOMEM;
goto err_free_dev; goto err_free_dev;
@@ -4711,6 +4711,7 @@ static const struct mtk_soc_data mt7622_ @@ -4712,6 +4712,7 @@ static const struct mtk_soc_data mt7622_
.required_pctl = false, .required_pctl = false,
.offload_version = 2, .offload_version = 2,
.hash_offset = 2, .hash_offset = 2,
@ -72,7 +72,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
.foe_entry_size = sizeof(struct mtk_foe_entry) - 16, .foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
.txrx = { .txrx = {
.txd_size = sizeof(struct mtk_tx_dma), .txd_size = sizeof(struct mtk_tx_dma),
@@ -4748,6 +4749,7 @@ static const struct mtk_soc_data mt7629_ @@ -4749,6 +4750,7 @@ static const struct mtk_soc_data mt7629_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7629_CLKS_BITMAP, .required_clks = MT7629_CLKS_BITMAP,
.required_pctl = false, .required_pctl = false,
@ -80,7 +80,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
.txrx = { .txrx = {
.txd_size = sizeof(struct mtk_tx_dma), .txd_size = sizeof(struct mtk_tx_dma),
.rxd_size = sizeof(struct mtk_rx_dma), .rxd_size = sizeof(struct mtk_rx_dma),
@@ -4768,6 +4770,7 @@ static const struct mtk_soc_data mt7986_ @@ -4769,6 +4771,7 @@ static const struct mtk_soc_data mt7986_
.offload_version = 2, .offload_version = 2,
.hash_offset = 4, .hash_offset = 4,
.foe_entry_size = sizeof(struct mtk_foe_entry), .foe_entry_size = sizeof(struct mtk_foe_entry),
@ -90,7 +90,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
.rxd_size = sizeof(struct mtk_rx_dma_v2), .rxd_size = sizeof(struct mtk_rx_dma_v2),
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -1025,6 +1025,8 @@ struct mtk_reg_map { @@ -1026,6 +1026,8 @@ struct mtk_reg_map {
* the extra setup for those pins used by GMAC. * the extra setup for those pins used by GMAC.
* @hash_offset Flow table hash offset. * @hash_offset Flow table hash offset.
* @foe_entry_size Foe table entry size. * @foe_entry_size Foe table entry size.
@ -99,7 +99,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
* @txd_size Tx DMA descriptor size. * @txd_size Tx DMA descriptor size.
* @rxd_size Rx DMA descriptor size. * @rxd_size Rx DMA descriptor size.
* @rx_irq_done_mask Rx irq done register mask. * @rx_irq_done_mask Rx irq done register mask.
@@ -1042,6 +1044,7 @@ struct mtk_soc_data { @@ -1043,6 +1045,7 @@ struct mtk_soc_data {
u8 hash_offset; u8 hash_offset;
u16 foe_entry_size; u16 foe_entry_size;
netdev_features_t hw_features; netdev_features_t hw_features;
@ -373,7 +373,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
return 0; return 0;
--- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
@@ -497,6 +497,7 @@ static int @@ -500,6 +500,7 @@ static int
mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f) mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f)
{ {
struct mtk_flow_entry *entry; struct mtk_flow_entry *entry;
@ -381,7 +381,7 @@ v2: fix wrong variable name in return value check spotted by Denis Kirjanov
u32 idle; u32 idle;
entry = rhashtable_lookup(&eth->flow_table, &f->cookie, entry = rhashtable_lookup(&eth->flow_table, &f->cookie,
@@ -507,6 +508,13 @@ mtk_flow_offload_stats(struct mtk_eth *e @@ -510,6 +511,13 @@ mtk_flow_offload_stats(struct mtk_eth *e
idle = mtk_foe_entry_idle_time(eth->ppe[entry->ppe_index], entry); idle = mtk_foe_entry_idle_time(eth->ppe[entry->ppe_index], entry);
f->stats.lastused = jiffies - idle * HZ; f->stats.lastused = jiffies - idle * HZ;

View File

@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1829,9 +1829,7 @@ static int mtk_poll_rx(struct napi_struc @@ -1830,9 +1830,7 @@ static int mtk_poll_rx(struct napi_struc
while (done < budget) { while (done < budget) {
unsigned int pktlen, *rxdcsum; unsigned int pktlen, *rxdcsum;
@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
dma_addr_t dma_addr; dma_addr_t dma_addr;
u32 hash, reason; u32 hash, reason;
int mac = 0; int mac = 0;
@@ -1966,36 +1964,21 @@ static int mtk_poll_rx(struct napi_struc @@ -1967,36 +1965,21 @@ static int mtk_poll_rx(struct napi_struc
skb_checksum_none_assert(skb); skb_checksum_none_assert(skb);
skb->protocol = eth_type_trans(skb, netdev); skb->protocol = eth_type_trans(skb, netdev);
@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
skb_record_rx_queue(skb, 0); skb_record_rx_queue(skb, 0);
napi_gro_receive(napi, skb); napi_gro_receive(napi, skb);
@@ -2810,29 +2793,11 @@ static netdev_features_t mtk_fix_feature @@ -2811,29 +2794,11 @@ static netdev_features_t mtk_fix_feature
static int mtk_set_features(struct net_device *dev, netdev_features_t features) static int mtk_set_features(struct net_device *dev, netdev_features_t features)
{ {
@ -100,7 +100,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return 0; return 0;
} }
@@ -3146,30 +3111,6 @@ static int mtk_open(struct net_device *d @@ -3147,30 +3112,6 @@ static int mtk_open(struct net_device *d
struct mtk_eth *eth = mac->hw; struct mtk_eth *eth = mac->hw;
int i, err; int i, err;
@ -131,7 +131,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0); err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
if (err) { if (err) {
netdev_err(dev, "%s: could not attach PHY: %d\n", __func__, netdev_err(dev, "%s: could not attach PHY: %d\n", __func__,
@@ -3210,6 +3151,35 @@ static int mtk_open(struct net_device *d @@ -3211,6 +3152,35 @@ static int mtk_open(struct net_device *d
phylink_start(mac->phylink); phylink_start(mac->phylink);
netif_tx_start_all_queues(dev); netif_tx_start_all_queues(dev);
@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return 0; return 0;
} }
@@ -3694,10 +3664,9 @@ static int mtk_hw_init(struct mtk_eth *e @@ -3695,10 +3665,9 @@ static int mtk_hw_init(struct mtk_eth *e
if (!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { if (!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
val = mtk_r32(eth, MTK_CDMP_IG_CTRL); val = mtk_r32(eth, MTK_CDMP_IG_CTRL);
mtk_w32(eth, val | MTK_CDMP_STAG_EN, MTK_CDMP_IG_CTRL); mtk_w32(eth, val | MTK_CDMP_STAG_EN, MTK_CDMP_IG_CTRL);
@ -180,7 +180,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* set interrupt delays based on current Net DIM sample */ /* set interrupt delays based on current Net DIM sample */
mtk_dim_rx(&eth->rx_dim.work); mtk_dim_rx(&eth->rx_dim.work);
@@ -4335,7 +4304,7 @@ static int mtk_add_mac(struct mtk_eth *e @@ -4336,7 +4305,7 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->hw_features |= NETIF_F_LRO; eth->netdev[id]->hw_features |= NETIF_F_LRO;
eth->netdev[id]->vlan_features = eth->soc->hw_features & eth->netdev[id]->vlan_features = eth->soc->hw_features &

View File

@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
{ {
struct flow_rule *rule = flow_cls_offload_flow_rule(f); struct flow_rule *rule = flow_cls_offload_flow_rule(f);
struct flow_action_entry *act; struct flow_action_entry *act;
@@ -452,6 +453,7 @@ mtk_flow_offload_replace(struct mtk_eth @@ -455,6 +456,7 @@ mtk_flow_offload_replace(struct mtk_eth
entry->cookie = f->cookie; entry->cookie = f->cookie;
memcpy(&entry->data, &foe, sizeof(entry->data)); memcpy(&entry->data, &foe, sizeof(entry->data));
entry->wed_index = wed_index; entry->wed_index = wed_index;
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
err = mtk_foe_entry_commit(eth->ppe[entry->ppe_index], entry); err = mtk_foe_entry_commit(eth->ppe[entry->ppe_index], entry);
if (err < 0) if (err < 0)
@@ -520,25 +522,15 @@ mtk_flow_offload_stats(struct mtk_eth *e @@ -523,25 +525,15 @@ mtk_flow_offload_stats(struct mtk_eth *e
static DEFINE_MUTEX(mtk_flow_offload_mutex); static DEFINE_MUTEX(mtk_flow_offload_mutex);
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
break; break;
case FLOW_CLS_DESTROY: case FLOW_CLS_DESTROY:
err = mtk_flow_offload_destroy(eth, cls); err = mtk_flow_offload_destroy(eth, cls);
@@ -556,6 +548,23 @@ mtk_eth_setup_tc_block_cb(enum tc_setup_ @@ -559,6 +551,23 @@ mtk_eth_setup_tc_block_cb(enum tc_setup_
} }
static int static int

View File

@ -299,7 +299,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
seq_printf(m, "%05x %s %7s", i, seq_printf(m, "%05x %s %7s", i,
--- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
@@ -499,24 +499,21 @@ static int @@ -502,24 +502,21 @@ static int
mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f) mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f)
{ {
struct mtk_flow_entry *entry; struct mtk_flow_entry *entry;

View File

@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/netdevice.h --- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h +++ b/include/linux/netdevice.h
@@ -500,6 +500,7 @@ static inline bool napi_complete(struct @@ -502,6 +502,7 @@ static inline bool napi_complete(struct
} }
int dev_set_threaded(struct net_device *dev, bool threaded); int dev_set_threaded(struct net_device *dev, bool threaded);
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/** /**
* napi_disable - prevent NAPI from scheduling * napi_disable - prevent NAPI from scheduling
@@ -3363,6 +3364,7 @@ struct softnet_data { @@ -3365,6 +3366,7 @@ struct softnet_data {
unsigned int processed; unsigned int processed;
unsigned int time_squeeze; unsigned int time_squeeze;
unsigned int received_rps; unsigned int received_rps;

View File

@ -17,7 +17,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -3200,6 +3200,7 @@ static int mv88e6xxx_setup(struct dsa_sw @@ -3205,6 +3205,7 @@ static int mv88e6xxx_setup(struct dsa_sw
chip->ds = ds; chip->ds = ds;
ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip); ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);

View File

@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -6328,6 +6328,7 @@ static int mv88e6xxx_register_switch(str @@ -6334,6 +6334,7 @@ static int mv88e6xxx_register_switch(str
ds->ops = &mv88e6xxx_switch_ops; ds->ops = &mv88e6xxx_switch_ops;
ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_min = chip->info->age_time_coeff;
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;

View File

@ -14,12 +14,12 @@ callback that the controller can trigger off.
Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com>
--- ---
drivers/bus/mhi/core/main.c | 1 + drivers/bus/mhi/host/main.c | 1 +
include/linux/mhi.h | 2 ++ include/linux/mhi.h | 2 ++
2 files changed, 3 insertions(+) 2 files changed, 3 insertions(+)
--- a/drivers/bus/mhi/core/main.c --- a/drivers/bus/mhi/host/main.c
+++ b/drivers/bus/mhi/core/main.c +++ b/drivers/bus/mhi/host/main.c
@@ -891,6 +891,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_ @@ -891,6 +891,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_
switch (event) { switch (event) {
case MHI_EE_SBL: case MHI_EE_SBL:

View File

@ -21,7 +21,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -12690,6 +12690,7 @@ F: include/uapi/linux/meye.h @@ -12689,6 +12689,7 @@ F: include/uapi/linux/meye.h
MOTORCOMM PHY DRIVER MOTORCOMM PHY DRIVER
M: Peter Geis <pgwipeout@gmail.com> M: Peter Geis <pgwipeout@gmail.com>

View File

@ -39,7 +39,7 @@
static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
{ {
struct rtl8169_private *tp; struct rtl8169_private *tp;
@@ -5438,6 +5456,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct @@ -5438,6 +5456,7 @@ static int rtl_init_one(struct pci_dev *
if (!tp->counters) if (!tp->counters)
return -ENOMEM; return -ENOMEM;

View File

@ -282,7 +282,7 @@ Signed-off-by: David Wu <david.wu@rock-chips.com>
{ {
struct regulator *ldo = bsp_priv->regulator; struct regulator *ldo = bsp_priv->regulator;
int ret; int ret;
@@ -1444,6 +1625,18 @@ static struct rk_priv_data *rk_gmac_setu @@ -1438,6 +1619,18 @@ static struct rk_priv_data *rk_gmac_setu
bsp_priv->grf = syscon_regmap_lookup_by_phandle(dev->of_node, bsp_priv->grf = syscon_regmap_lookup_by_phandle(dev->of_node,
"rockchip,grf"); "rockchip,grf");
@ -301,7 +301,7 @@ Signed-off-by: David Wu <david.wu@rock-chips.com>
if (plat->phy_node) { if (plat->phy_node) {
bsp_priv->integrated_phy = of_property_read_bool(plat->phy_node, bsp_priv->integrated_phy = of_property_read_bool(plat->phy_node,
@@ -1521,11 +1714,19 @@ static int rk_gmac_powerup(struct rk_pri @@ -1515,11 +1708,19 @@ static int rk_gmac_powerup(struct rk_pri
dev_info(dev, "init for RMII\n"); dev_info(dev, "init for RMII\n");
bsp_priv->ops->set_to_rmii(bsp_priv); bsp_priv->ops->set_to_rmii(bsp_priv);
break; break;
@ -322,7 +322,7 @@ Signed-off-by: David Wu <david.wu@rock-chips.com>
if (ret) { if (ret) {
gmac_clk_enable(bsp_priv, false); gmac_clk_enable(bsp_priv, false);
return ret; return ret;
@@ -1546,7 +1747,7 @@ static void rk_gmac_powerdown(struct rk_ @@ -1540,7 +1741,7 @@ static void rk_gmac_powerdown(struct rk_
pm_runtime_put_sync(&gmac->pdev->dev); pm_runtime_put_sync(&gmac->pdev->dev);
@ -331,7 +331,7 @@ Signed-off-by: David Wu <david.wu@rock-chips.com>
gmac_clk_enable(gmac, false); gmac_clk_enable(gmac, false);
} }
@@ -1567,6 +1768,9 @@ static void rk_fix_speed(void *priv, uns @@ -1561,6 +1762,9 @@ static void rk_fix_speed(void *priv, uns
if (bsp_priv->ops->set_rmii_speed) if (bsp_priv->ops->set_rmii_speed)
bsp_priv->ops->set_rmii_speed(bsp_priv, speed); bsp_priv->ops->set_rmii_speed(bsp_priv, speed);
break; break;