kernel: bump 4.14 to 4.14.125
Refreshed all patches. Altered patches: - 403-net-mvneta-convert-to-phylink.patch - 410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch Compile-tested on: cns3xxx, imx6, mvebu Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
@@ -3,10 +3,10 @@
|
|||||||
LINUX_RELEASE?=1
|
LINUX_RELEASE?=1
|
||||||
|
|
||||||
LINUX_VERSION-4.9 = .181
|
LINUX_VERSION-4.9 = .181
|
||||||
LINUX_VERSION-4.14 = .123
|
LINUX_VERSION-4.14 = .125
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.9.181 = 8fcd223e11cba322801bc38cdb8b581d64c0115f585dcb6604de8561b574fced
|
LINUX_KERNEL_HASH-4.9.181 = 8fcd223e11cba322801bc38cdb8b581d64c0115f585dcb6604de8561b574fced
|
||||||
LINUX_KERNEL_HASH-4.14.123 = 25f58cb56bde388ac9bcee984f5f2d0ca094b0a8af6b92ad1f5b2fd0e6725b85
|
LINUX_KERNEL_HASH-4.14.125 = 3e3dbc20215a28385bf46e2d0b8d9019df38ef1ee677e5e8870c7c3cde2ab318
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ produce a noisy warning.
|
|||||||
|
|
||||||
--- a/drivers/usb/host/xhci.c
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/drivers/usb/host/xhci.c
|
+++ b/drivers/usb/host/xhci.c
|
||||||
@@ -372,10 +372,14 @@ static int xhci_try_enable_msi(struct us
|
@@ -370,10 +370,14 @@ static int xhci_try_enable_msi(struct us
|
||||||
free_irq(hcd->irq, hcd);
|
free_irq(hcd->irq, hcd);
|
||||||
hcd->irq = 0;
|
hcd->irq = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ it on BCM4708 family.
|
|||||||
/* called during probe() after chip reset completes */
|
/* called during probe() after chip reset completes */
|
||||||
--- a/drivers/usb/host/xhci.c
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/drivers/usb/host/xhci.c
|
+++ b/drivers/usb/host/xhci.c
|
||||||
@@ -168,6 +168,49 @@ int xhci_start(struct xhci_hcd *xhci)
|
@@ -166,6 +166,49 @@ int xhci_start(struct xhci_hcd *xhci)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ it on BCM4708 family.
|
|||||||
/*
|
/*
|
||||||
* Reset a halted HC.
|
* Reset a halted HC.
|
||||||
*
|
*
|
||||||
@@ -551,10 +594,20 @@ static int xhci_init(struct usb_hcd *hcd
|
@@ -549,10 +592,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||||
|
|
||||||
static int xhci_run_finished(struct xhci_hcd *xhci)
|
static int xhci_run_finished(struct xhci_hcd *xhci)
|
||||||
{
|
{
|
||||||
@@ -114,7 +114,7 @@ it on BCM4708 family.
|
|||||||
xhci->shared_hcd->state = HC_STATE_RUNNING;
|
xhci->shared_hcd->state = HC_STATE_RUNNING;
|
||||||
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
|
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
|
||||||
|
|
||||||
@@ -564,6 +617,10 @@ static int xhci_run_finished(struct xhci
|
@@ -562,6 +615,10 @@ static int xhci_run_finished(struct xhci
|
||||||
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
|
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
|
||||||
"Finished xhci_run for USB3 roothub");
|
"Finished xhci_run for USB3 roothub");
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
ret = PTR_ERR(hcd->usb_phy);
|
ret = PTR_ERR(hcd->usb_phy);
|
||||||
--- a/drivers/usb/host/xhci.c
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/drivers/usb/host/xhci.c
|
+++ b/drivers/usb/host/xhci.c
|
||||||
@@ -612,11 +612,7 @@ int xhci_run(struct usb_hcd *hcd)
|
@@ -610,11 +610,7 @@ int xhci_run(struct usb_hcd *hcd)
|
||||||
"// Set the interrupt modulation register");
|
"// Set the interrupt modulation register");
|
||||||
temp = readl(&xhci->ir_set->irq_control);
|
temp = readl(&xhci->ir_set->irq_control);
|
||||||
temp &= ~ER_IRQ_INTERVAL_MASK;
|
temp &= ~ER_IRQ_INTERVAL_MASK;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|||||||
|
|
||||||
--- a/drivers/net/phy/sfp.c
|
--- a/drivers/net/phy/sfp.c
|
||||||
+++ b/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;
|
return check;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +195,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|||||||
/* Helpers */
|
/* Helpers */
|
||||||
static void sfp_module_tx_disable(struct sfp *sfp)
|
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 sn[17];
|
||||||
char date[9];
|
char date[9];
|
||||||
char rev[5];
|
char rev[5];
|
||||||
@@ -203,7 +203,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|||||||
u8 check;
|
u8 check;
|
||||||
int err;
|
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';
|
rev[4] = '\0';
|
||||||
memcpy(sn, sfp->id.ext.vendor_sn, 16);
|
memcpy(sn, sfp->id.ext.vendor_sn, 16);
|
||||||
sn[16] = '\0';
|
sn[16] = '\0';
|
||||||
|
|||||||
@@ -928,10 +928,10 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_netdev:
|
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);
|
1 << pp->id);
|
||||||
}
|
}
|
||||||
err_free_stats:
|
|
||||||
+ if (pp->phylink)
|
+ if (pp->phylink)
|
||||||
+ phylink_destroy(pp->phylink);
|
+ phylink_destroy(pp->phylink);
|
||||||
free_percpu(pp->stats);
|
free_percpu(pp->stats);
|
||||||
@@ -947,7 +947,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|||||||
err_free_irq:
|
err_free_irq:
|
||||||
irq_dispose_mapping(dev->irq);
|
irq_dispose_mapping(dev->irq);
|
||||||
err_free_netdev:
|
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)
|
static int mvneta_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct net_device *dev = platform_get_drvdata(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);
|
struct mvneta_port *pp = netdev_priv(dev);
|
||||||
|
|
||||||
unregister_netdev(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);
|
clk_disable_unprepare(pp->clk);
|
||||||
free_percpu(pp->ports);
|
free_percpu(pp->ports);
|
||||||
free_percpu(pp->stats);
|
free_percpu(pp->stats);
|
||||||
@@ -967,7 +967,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|||||||
free_netdev(dev);
|
free_netdev(dev);
|
||||||
|
|
||||||
if (pp->bm_priv) {
|
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;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/rtnetlink.h>
|
#include <linux/rtnetlink.h>
|
||||||
#include <linux/sched/signal.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;
|
const struct ethtool_ops *ops = dev->ethtool_ops;
|
||||||
struct phy_device *phydev = dev->phydev;
|
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)
|
if (phydev && phydev->drv && phydev->drv->module_info)
|
||||||
return phydev->drv->module_info(phydev, modinfo);
|
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;
|
const struct ethtool_ops *ops = dev->ethtool_ops;
|
||||||
struct phy_device *phydev = dev->phydev;
|
struct phy_device *phydev = dev->phydev;
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
|||||||
+#include <linux/sfp.h>
|
+#include <linux/sfp.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
MV_PCS_BASE_T = 0x0000,
|
MV_PMA_BOOT = 0xc050,
|
||||||
@@ -38,6 +40,11 @@ enum {
|
@@ -41,6 +43,11 @@ enum {
|
||||||
MV_AN_RESULT_SPD_10000 = BIT(15),
|
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,
|
static int mv3310_modify(struct phy_device *phydev, int devad, u16 reg,
|
||||||
u16 mask, u16 bits)
|
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;
|
return ret < 0 ? ret : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,14 +62,15 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
|||||||
{
|
{
|
||||||
+ struct mv3310_priv *priv;
|
+ struct mv3310_priv *priv;
|
||||||
u32 mmd_mask = MDIO_DEVS_PMAPMD | MDIO_DEVS_AN;
|
u32 mmd_mask = MDIO_DEVS_PMAPMD | MDIO_DEVS_AN;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (!phydev->is_c45 ||
|
@@ -78,9 +102,27 @@ static int mv3310_probe(struct phy_devic
|
||||||
(phydev->c45_ids.devices_in_package & mmd_mask) != mmd_mask)
|
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
+ priv = devm_kzalloc(&phydev->mdio.dev, sizeof(*priv), GFP_KERNEL);
|
+ priv = devm_kzalloc(&phydev->mdio.dev, sizeof(*priv), GFP_KERNEL);
|
||||||
+ if (!priv)
|
+ if (!priv)
|
||||||
+ return -ENOMEM;
|
+ return -ENOMEM;
|
||||||
+
|
+
|
||||||
+ dev_set_drvdata(&phydev->mdio.dev, priv);
|
+ dev_set_drvdata(&phydev->mdio.dev, 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
|
* Resetting the MV88X3310 causes it to become non-responsive. Avoid
|
||||||
* setting the reset bit(s).
|
* 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)
|
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, };
|
__ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, };
|
||||||
u32 mask;
|
u32 mask;
|
||||||
int val;
|
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->supported &= mask;
|
||||||
phydev->advertising &= phydev->supported;
|
phydev->advertising &= phydev->supported;
|
||||||
|
|
||||||
@@ -114,7 +115,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
|||||||
return 0;
|
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_FIBRE |
|
||||||
SUPPORTED_10000baseT_Full |
|
SUPPORTED_10000baseT_Full |
|
||||||
SUPPORTED_Backplane,
|
SUPPORTED_Backplane,
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
|||||||
|
|
||||||
--- a/drivers/net/phy/sfp.c
|
--- a/drivers/net/phy/sfp.c
|
||||||
+++ b/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[] = {
|
static const struct of_device_id sfp_of_match[] = {
|
||||||
{ .compatible = "sff,sfp", },
|
{ .compatible = "sff,sfp", },
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/net/phy/sfp.c
|
--- a/drivers/net/phy/sfp.c
|
||||||
+++ b/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;
|
sfp->mod_phy = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
|||||||
{
|
{
|
||||||
struct phy_device *phy;
|
struct phy_device *phy;
|
||||||
int err;
|
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);
|
phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR);
|
||||||
if (phy == ERR_PTR(-ENODEV)) {
|
if (phy == ERR_PTR(-ENODEV)) {
|
||||||
dev_info(sfp->dev, "no PHY detected\n");
|
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);
|
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_remove(phy);
|
||||||
phy_device_free(phy);
|
phy_device_free(phy);
|
||||||
dev_err(sfp->dev, "sfp_add_phy failed: %d\n", err);
|
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)
|
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)
|
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
|
/* Setting the serdes link mode is guesswork: there's no
|
||||||
* field in the EEPROM which indicates what mode should
|
* 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 ||
|
if (sfp->id.base.e1000_base_t ||
|
||||||
sfp->id.base.e100_base_lx ||
|
sfp->id.base.e100_base_lx ||
|
||||||
sfp->id.base.e100_base_fx)
|
sfp->id.base.e100_base_fx)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
--- a/drivers/tty/serial/serial_core.c
|
--- a/drivers/tty/serial/serial_core.c
|
||||||
+++ b/drivers/tty/serial/serial_core.c
|
+++ b/drivers/tty/serial/serial_core.c
|
||||||
@@ -431,6 +431,9 @@ uart_get_baud_rate(struct uart_port *por
|
@@ -428,6 +428,9 @@ uart_get_baud_rate(struct uart_port *por
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user