Refreshed patches.
Run tested: qemu-x86-64, apalis, a64-olinuxino
Build tested: x86/64, imx6, sunxi/a53
Signed-off-by: Petr Štetiar <ynezz@true.cz>
LINUX_VERSION-4.14 = .176
LINUX_VERSION-4.19 = .115
-LINUX_VERSION-5.4 = .33
+LINUX_VERSION-5.4 = .34
LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2
LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2
-LINUX_KERNEL_HASH-5.4.33 = b5579621302a6169b389b64dd9ef084df3bb2f11d91dd73273f76e2323223861
+LINUX_KERNEL_HASH-5.4.34 = 903ec1334daba6a626688f799cc947b420cf6fc8ce83055313dc4e9978d64cd2
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
-@@ -1222,6 +1222,64 @@ mt7530_port_vlan_del(struct dsa_switch *
+@@ -1151,6 +1151,64 @@ mt7530_port_vlan_del(struct dsa_switch *
return 0;
}
static enum dsa_tag_protocol
mtk_get_tag_protocol(struct dsa_switch *ds, int port)
{
-@@ -1609,6 +1667,8 @@ static const struct dsa_switch_ops mt753
+@@ -1530,6 +1588,8 @@ static const struct dsa_switch_ops mt753
.port_vlan_prepare = mt7530_port_vlan_prepare,
.port_vlan_add = mt7530_port_vlan_add,
.port_vlan_del = mt7530_port_vlan_del,
#define PORT_VLAN(x) ((x) & 0x3)
enum mt7530_port_mode {
-@@ -460,6 +465,8 @@ struct mt7530_priv {
+@@ -457,6 +462,8 @@ struct mt7530_priv {
phy_interface_t p6_interface;
phy_interface_t p5_interface;
unsigned int p5_intf_sel;
/* NOTE: double check command sets and memory organization when you add
* more nor chips. This current list focusses on newer chips, which
* have been converging on command sets which including JEDEC ID.
-@@ -2508,7 +2534,8 @@ static const struct flash_info spi_nor_i
+@@ -2513,7 +2539,8 @@ static const struct flash_info spi_nor_i
{ "w25q80", INFO(0xef5014, 0, 64 * 1024, 16, SECT_4K) },
{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024, 16, SECT_4K) },
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -5460,6 +5460,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5461,6 +5461,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -7253,6 +7256,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7254,6 +7257,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -7303,6 +7348,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7304,6 +7349,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -7396,6 +7442,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7397,6 +7443,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8126,6 +8173,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8127,6 +8174,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2318,6 +2318,8 @@ static const struct flash_info spi_nor_i
+@@ -2344,6 +2344,8 @@ static const struct flash_info spi_nor_i
{ "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1284,7 +1284,7 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1306,7 +1306,7 @@ static int mtk_poll_rx(struct napi_struc
skb->protocol = eth_type_trans(skb, netdev);
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1090,17 +1090,6 @@ static void mtk_wake_queue(struct mtk_et
+@@ -1112,17 +1112,6 @@ static void mtk_wake_queue(struct mtk_et
}
}
static int mtk_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct mtk_mac *mac = netdev_priv(dev);
-@@ -1121,7 +1110,7 @@ static int mtk_start_xmit(struct sk_buff
+@@ -1143,7 +1132,7 @@ static int mtk_start_xmit(struct sk_buff
tx_num = mtk_cal_txd_req(skb);
if (unlikely(atomic_read(&ring->free_count) <= tx_num)) {
netif_err(eth, tx_queued, dev,
"Tx Ring full when queue awake!\n");
spin_unlock(ð->page_lock);
-@@ -1147,7 +1136,7 @@ static int mtk_start_xmit(struct sk_buff
+@@ -1169,7 +1158,7 @@ static int mtk_start_xmit(struct sk_buff
goto drop;
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
#include "mtk_eth_soc.h"
-@@ -65,6 +67,18 @@ u32 mtk_r32(struct mtk_eth *eth, unsigne
- return __raw_readl(eth->base + reg);
+@@ -76,6 +78,18 @@ u32 mtk_m32(struct mtk_eth *eth, u32 mas
+ return reg;
}
+void mtk_m32(struct mtk_eth *eth, u32 clear, u32 set, unsigned reg)
static int mtk_mdio_busy_wait(struct mtk_eth *eth)
{
unsigned long t_start = jiffies;
-@@ -1276,8 +1290,16 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1298,8 +1312,16 @@ static int mtk_poll_rx(struct napi_struc
(trxd.rxd2 & RX_DMA_VTAG))
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
RX_DMA_VID(trxd.rxd3));
ring->data[idx] = new_data;
rxd->rxd1 = (unsigned int)dma_addr;
-@@ -2194,6 +2216,9 @@ static int mtk_open(struct net_device *d
+@@ -2216,6 +2238,9 @@ static int mtk_open(struct net_device *d
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
mtk_rx_irq_enable(eth, MTK_RX_DONE_INT);
refcount_set(ð->dma_refcnt, 1);
}
else
refcount_inc(ð->dma_refcnt);
-@@ -2252,6 +2277,9 @@ static int mtk_stop(struct net_device *d
+@@ -2274,6 +2299,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
return 0;
}
-@@ -2711,6 +2739,27 @@ static int mtk_set_rxnfc(struct net_devi
+@@ -2733,6 +2761,27 @@ static int mtk_set_rxnfc(struct net_devi
return ret;
}
static const struct ethtool_ops mtk_ethtool_ops = {
.get_link_ksettings = mtk_get_link_ksettings,
.set_link_ksettings = mtk_set_link_ksettings,
-@@ -2742,6 +2791,9 @@ static const struct net_device_ops mtk_n
+@@ -2764,6 +2813,9 @@ static const struct net_device_ops mtk_n
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = mtk_poll_controller,
#endif
};
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
-@@ -3075,6 +3127,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3097,6 +3149,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false,
static const struct mtk_soc_data mt7623_data = {
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
-@@ -771,6 +771,13 @@ enum mkt_eth_capabilities {
+@@ -779,6 +779,13 @@ enum mkt_eth_capabilities {
MTK_MUX_U3_GMAC2_TO_QPHY | \
MTK_MUX_GMAC12_TO_GEPHY_SGMII | MTK_QDMA)
/* struct mtk_eth_data - This is the structure holding all differences
* among various plaforms
* @ana_rgc3: The offset for register ANA_RGC3 related to
-@@ -788,6 +795,7 @@ struct mtk_soc_data {
+@@ -796,6 +803,7 @@ struct mtk_soc_data {
u32 required_clks;
bool required_pctl;
netdev_features_t hw_features;
};
/* currently no SoC has more than 2 macs */
-@@ -813,6 +821,23 @@ struct mtk_sgmii {
+@@ -821,6 +829,23 @@ struct mtk_sgmii {
u32 ana_rgc3;
};
/* struct mtk_eth - This is the main datasructure for holding the state
* of the driver
* @dev: The device pointer
-@@ -886,6 +911,16 @@ struct mtk_eth {
+@@ -894,6 +919,16 @@ struct mtk_eth {
u32 tx_int_status_reg;
u32 rx_dma_l4_valid;
int ip_align;
};
/* struct mtk_mac - the structure that holds the info about the MACs of the
-@@ -918,6 +953,7 @@ void mtk_stats_update_mac(struct mtk_mac
+@@ -926,6 +961,7 @@ void mtk_stats_update_mac(struct mtk_mac
void mtk_w32(struct mtk_eth *eth, u32 val, unsigned reg);
u32 mtk_r32(struct mtk_eth *eth, unsigned reg);
int mtk_sgmii_init(struct mtk_sgmii *ss, struct device_node *np,
u32 ana_rgc3);
-@@ -930,4 +966,13 @@ int mtk_gmac_sgmii_path_setup(struct mtk
+@@ -938,4 +974,13 @@ int mtk_gmac_sgmii_path_setup(struct mtk
int mtk_gmac_gephy_path_setup(struct mtk_eth *eth, int mac_id);
int mtk_gmac_rgmii_path_setup(struct mtk_eth *eth, int mac_id);
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2270,6 +2270,11 @@ static const struct flash_info spi_nor_i
+@@ -2296,6 +2296,11 @@ static const struct flash_info spi_nor_i
SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
.fixups = &gd25q256_fixups,
},
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2757,6 +2757,7 @@ static const struct net_device_ops mtk_n
+@@ -2779,6 +2779,7 @@ static const struct net_device_ops mtk_n
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
{
const __be32 *_id = of_get_property(np, "reg", NULL);
struct phylink *phylink;
int phy_mode, id, err;
-@@ -2847,6 +2848,9 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -2869,6 +2870,9 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->irq = eth->irq[0];
eth->netdev[id]->dev.of_node = np;