Refreshed all patches.
Remove upstreamed:
- 050-net-emac-fix-fixed-link-setup-for-the-RTL8363SB-swit.patch
Compile-tested on: cns3xxx, imx6
Runtime-tested on: cns3xxx, imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_VERSION-3.18 = .124
LINUX_VERSION-4.9 = .135
-LINUX_VERSION-4.14 = .77
+LINUX_VERSION-4.14 = .78
LINUX_KERNEL_HASH-3.18.124 = 25d2a5abd627534a1e51d028890c184aad8e628c345c5fe0cc0f9d7c31b7a5a3
LINUX_KERNEL_HASH-4.9.135 = e023b0bbe9ea7fc56aa57210342dd18ea3e0900ee207226df1523c6d7df154ce
-LINUX_KERNEL_HASH-4.14.77 = 0496f4e194cadbe23f27e6f4b9c3cd264448983780b73b30f7f05c92273fa6f8
+LINUX_KERNEL_HASH-4.14.78 = f4da4dc0f079e420e1c1b8c71312eaa5415b08be847aa224a61d8af6a6e74c6c
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
}
static inline void emac_tx_enable(struct emac_instance *dev)
-@@ -2865,7 +2865,7 @@ static int emac_init_config(struct emac_
+@@ -2870,7 +2870,7 @@ static int emac_init_config(struct emac_
/* PHY mode needs some decoding */
dev->phy_mode = of_get_phy_mode(np);
if (dev->phy_mode < 0)
/* Check EMAC version */
if (of_device_is_compatible(np, "ibm,emac4sync")) {
-@@ -3168,7 +3168,7 @@ static int emac_probe(struct platform_de
+@@ -3173,7 +3173,7 @@ static int emac_probe(struct platform_de
printk(KERN_INFO "%s: EMAC-%d %pOF, MAC %pM\n",
ndev->name, dev->cell_index, np, ndev->dev_addr);
+++ /dev/null
-From 08e39982ef64f800fd1f9b9b92968d14d5fafa82 Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Mon, 17 Sep 2018 17:22:40 +0200
-Subject: net: emac: fix fixed-link setup for the RTL8363SB switch
-
-On the Netgear WNDAP620, the emac ethernet isn't receiving nor
-xmitting any frames from/to the RTL8363SB (identifies itself
-as a RTL8367RB).
-
-This is caused by the emac hardware not knowing the forced link
-parameters for speed, duplex, pause, etc.
-
-This begs the question, how this was working on the original
-driver code, when it was necessary to set the phy_address and
-phy_map to 0xffffffff. But I guess without access to the old
-PPC405/440/460 hardware, it's not possible to know.
-
-Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/ethernet/ibm/emac/core.c | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
---- a/drivers/net/ethernet/ibm/emac/core.c
-+++ b/drivers/net/ethernet/ibm/emac/core.c
-@@ -2671,12 +2671,17 @@ static int emac_init_phy(struct emac_ins
- if (of_phy_is_fixed_link(np)) {
- int res = emac_dt_mdio_probe(dev);
-
-- if (!res) {
-- res = of_phy_register_fixed_link(np);
-- if (res)
-- mdiobus_unregister(dev->mii_bus);
-+ if (res)
-+ return res;
-+
-+ res = of_phy_register_fixed_link(np);
-+ dev->phy_dev = of_phy_find_device(np);
-+ if (res || !dev->phy_dev) {
-+ mdiobus_unregister(dev->mii_bus);
-+ return res ? res : -EINVAL;
- }
-- return res;
-+ emac_adjust_link(dev->ndev);
-+ put_device(&dev->phy_dev->mdio.dev);
- }
- return 0;
- }
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1210,6 +1210,18 @@ static const struct flash_info *spi_nor_
+@@ -1215,6 +1215,18 @@ static const struct flash_info *spi_nor_
}
dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n",
id[0], id[1], id[2]);
{ "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-@@ -1189,11 +1190,12 @@ static const struct flash_info spi_nor_i
+@@ -1194,11 +1195,12 @@ static const struct flash_info spi_nor_i
{ },
};
tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN);
if (tmp < 0) {
-@@ -1204,10 +1206,16 @@ static const struct flash_info *spi_nor_
+@@ -1209,10 +1211,16 @@ static const struct flash_info *spi_nor_
for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) {
info = &spi_nor_ids[tmp];
if (info->id_len) {
dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n",
id[0], id[1], id[2]);
return ERR_PTR(-ENODEV);
-@@ -2667,7 +2675,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2672,7 +2680,7 @@ int spi_nor_scan(struct spi_nor *nor, co
info = spi_nor_match_id(name);
/* Try to auto-detect if chip name wasn't specified or not found */
if (!info)
if (IS_ERR_OR_NULL(info))
return -ENOENT;
-@@ -2678,7 +2686,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2683,7 +2691,7 @@ int spi_nor_scan(struct spi_nor *nor, co
if (name && info->id_len) {
const struct flash_info *jinfo;
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2651,6 +2651,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2656,6 +2656,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
int ret;
int i;
-@@ -2726,7 +2727,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2731,7 +2732,12 @@ int spi_nor_scan(struct spi_nor *nor, co
spi_nor_wait_till_ready(nor);
}