diff options
Diffstat (limited to 'target/linux/mvebu/patches-4.14')
6 files changed, 25 insertions, 24 deletions
diff --git a/target/linux/mvebu/patches-4.14/402-sfp-display-SFP-module-information.patch b/target/linux/mvebu/patches-4.14/402-sfp-display-SFP-module-information.patch index eeb6b1ef19..ccc9896b50 100644 --- a/target/linux/mvebu/patches-4.14/402-sfp-display-SFP-module-information.patch +++ b/target/linux/mvebu/patches-4.14/402-sfp-display-SFP-module-information.patch @@ -10,7 +10,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -248,6 +248,184 @@ static unsigned int sfp_check(void *buf, +@@ -264,6 +264,184 @@ static unsigned int sfp_check(void *buf, return check; } @@ -195,7 +195,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> /* Helpers */ static void sfp_module_tx_disable(struct sfp *sfp) { -@@ -416,6 +594,7 @@ static int sfp_sm_mod_probe(struct sfp * +@@ -432,6 +610,7 @@ static int sfp_sm_mod_probe(struct sfp * char sn[17]; char date[9]; char rev[5]; @@ -203,7 +203,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> u8 check; int err; -@@ -459,10 +638,83 @@ static int sfp_sm_mod_probe(struct sfp * +@@ -475,10 +654,83 @@ static int sfp_sm_mod_probe(struct sfp * rev[4] = '\0'; memcpy(sn, sfp->id.ext.vendor_sn, 16); sn[16] = '\0'; diff --git a/target/linux/mvebu/patches-4.14/403-net-mvneta-convert-to-phylink.patch b/target/linux/mvebu/patches-4.14/403-net-mvneta-convert-to-phylink.patch index ea51cc2ef0..577317a84d 100644 --- a/target/linux/mvebu/patches-4.14/403-net-mvneta-convert-to-phylink.patch +++ b/target/linux/mvebu/patches-4.14/403-net-mvneta-convert-to-phylink.patch @@ -928,10 +928,10 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> return 0; err_netdev: -@@ -4386,16 +4492,14 @@ err_netdev: +@@ -4384,16 +4490,14 @@ err_netdev: + mvneta_bm_pool_destroy(pp->bm_priv, pp->pool_short, 1 << pp->id); } - err_free_stats: + if (pp->phylink) + phylink_destroy(pp->phylink); free_percpu(pp->stats); @@ -947,7 +947,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> err_free_irq: irq_dispose_mapping(dev->irq); err_free_netdev: -@@ -4407,7 +4511,6 @@ err_free_netdev: +@@ -4405,7 +4509,6 @@ err_free_netdev: static int mvneta_remove(struct platform_device *pdev) { struct net_device *dev = platform_get_drvdata(pdev); @@ -955,7 +955,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> struct mvneta_port *pp = netdev_priv(dev); unregister_netdev(dev); -@@ -4415,10 +4518,8 @@ static int mvneta_remove(struct platform +@@ -4413,10 +4516,8 @@ static int mvneta_remove(struct platform clk_disable_unprepare(pp->clk); free_percpu(pp->ports); free_percpu(pp->stats); @@ -967,7 +967,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> free_netdev(dev); if (pp->bm_priv) { -@@ -4470,9 +4571,6 @@ static int mvneta_resume(struct device * +@@ -4468,9 +4569,6 @@ static int mvneta_resume(struct device * return err; } diff --git a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch index 1de8caab8b..3fd07d231f 100644 --- a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch +++ b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch @@ -159,7 +159,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> #include <linux/slab.h> #include <linux/rtnetlink.h> #include <linux/sched/signal.h> -@@ -2201,6 +2202,9 @@ static int __ethtool_get_module_info(str +@@ -2212,6 +2213,9 @@ static int __ethtool_get_module_info(str const struct ethtool_ops *ops = dev->ethtool_ops; struct phy_device *phydev = dev->phydev; @@ -169,7 +169,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> if (phydev && phydev->drv && phydev->drv->module_info) return phydev->drv->module_info(phydev, modinfo); -@@ -2235,6 +2239,9 @@ static int __ethtool_get_module_eeprom(s +@@ -2246,6 +2250,9 @@ static int __ethtool_get_module_eeprom(s const struct ethtool_ops *ops = dev->ethtool_ops; struct phy_device *phydev = dev->phydev; diff --git a/target/linux/mvebu/patches-4.14/410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch b/target/linux/mvebu/patches-4.14/410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch index 6ca43043fa..d6e5fbf33f 100644 --- a/target/linux/mvebu/patches-4.14/410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch +++ b/target/linux/mvebu/patches-4.14/410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch @@ -25,8 +25,8 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> +#include <linux/sfp.h> enum { - MV_PCS_BASE_T = 0x0000, -@@ -38,6 +40,11 @@ enum { + MV_PMA_BOOT = 0xc050, +@@ -41,6 +43,11 @@ enum { MV_AN_RESULT_SPD_10000 = BIT(15), }; @@ -38,7 +38,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> static int mv3310_modify(struct phy_device *phydev, int devad, u16 reg, u16 mask, u16 bits) { -@@ -56,17 +63,52 @@ static int mv3310_modify(struct phy_devi +@@ -59,8 +66,25 @@ static int mv3310_modify(struct phy_devi return ret < 0 ? ret : 1; } @@ -62,10 +62,11 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> { + struct mv3310_priv *priv; u32 mmd_mask = MDIO_DEVS_PMAPMD | MDIO_DEVS_AN; + int ret; - if (!phydev->is_c45 || - (phydev->c45_ids.devices_in_package & mmd_mask) != mmd_mask) +@@ -78,9 +102,27 @@ static int mv3310_probe(struct phy_devic return -ENODEV; + } + priv = devm_kzalloc(&phydev->mdio.dev, sizeof(*priv), GFP_KERNEL); + if (!priv) @@ -91,7 +92,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> /* * Resetting the MV88X3310 causes it to become non-responsive. Avoid * setting the reset bit(s). -@@ -78,6 +120,7 @@ static int mv3310_soft_reset(struct phy_ +@@ -92,6 +134,7 @@ static int mv3310_soft_reset(struct phy_ static int mv3310_config_init(struct phy_device *phydev) { @@ -99,7 +100,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> __ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, }; u32 mask; int val; -@@ -166,6 +209,14 @@ static int mv3310_config_init(struct phy +@@ -180,6 +223,14 @@ static int mv3310_config_init(struct phy phydev->supported &= mask; phydev->advertising &= phydev->supported; @@ -114,7 +115,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> return 0; } -@@ -349,12 +400,13 @@ static struct phy_driver mv3310_drivers[ +@@ -363,12 +414,13 @@ static struct phy_driver mv3310_drivers[ SUPPORTED_FIBRE | SUPPORTED_10000baseT_Full | SUPPORTED_Backplane, diff --git a/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch b/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch index 4cbd30a6e2..d2e7d22ce5 100644 --- a/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch +++ b/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch @@ -14,7 +14,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -1148,6 +1148,7 @@ static int sfp_remove(struct platform_de +@@ -1164,6 +1164,7 @@ static int sfp_remove(struct platform_de static const struct of_device_id sfp_of_match[] = { { .compatible = "sff,sfp", }, diff --git a/target/linux/mvebu/patches-4.14/450-reprobe_sfp_phy.patch b/target/linux/mvebu/patches-4.14/450-reprobe_sfp_phy.patch index e05d5ad47c..19c3d68ee5 100644 --- a/target/linux/mvebu/patches-4.14/450-reprobe_sfp_phy.patch +++ b/target/linux/mvebu/patches-4.14/450-reprobe_sfp_phy.patch @@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -489,7 +489,7 @@ static void sfp_sm_phy_detach(struct sfp +@@ -505,7 +505,7 @@ static void sfp_sm_phy_detach(struct sfp sfp->mod_phy = NULL; } @@ -22,7 +22,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> { struct phy_device *phy; int err; -@@ -499,11 +499,11 @@ static void sfp_sm_probe_phy(struct sfp +@@ -515,11 +515,11 @@ static void sfp_sm_probe_phy(struct sfp phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR); if (phy == ERR_PTR(-ENODEV)) { dev_info(sfp->dev, "no PHY detected\n"); @@ -36,7 +36,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> } err = sfp_add_phy(sfp->sfp_bus, phy); -@@ -511,11 +511,13 @@ static void sfp_sm_probe_phy(struct sfp +@@ -527,11 +527,13 @@ static void sfp_sm_probe_phy(struct sfp phy_device_remove(phy); phy_device_free(phy); dev_err(sfp->dev, "sfp_add_phy failed: %d\n", err); @@ -51,7 +51,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> } static void sfp_sm_link_up(struct sfp *sfp) -@@ -561,14 +563,9 @@ static void sfp_sm_fault(struct sfp *sfp +@@ -577,14 +579,9 @@ static void sfp_sm_fault(struct sfp *sfp static void sfp_sm_mod_init(struct sfp *sfp) { @@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> /* Setting the serdes link mode is guesswork: there's no * field in the EEPROM which indicates what mode should -@@ -582,7 +579,22 @@ static void sfp_sm_mod_init(struct sfp * +@@ -598,7 +595,22 @@ static void sfp_sm_mod_init(struct sfp * if (sfp->id.base.e1000_base_t || sfp->id.base.e100_base_lx || sfp->id.base.e100_base_fx) |