summaryrefslogtreecommitdiff
path: root/target/linux/mvebu/patches-4.9
diff options
context:
space:
mode:
authorKoen Vandeputte <koen.vandeputte@ncentric.com>2017-07-12 22:59:03 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2017-07-15 00:13:05 +0200
commitcd54b2d42b39da8a7704b67c878eaec720df2cc9 (patch)
treec26babb22b0799448018e3fb803d26030624809b /target/linux/mvebu/patches-4.9
parent027aea8af790c2741bcdd0f9b861765fcc1e23eb (diff)
downloadmtk-20170518-cd54b2d42b39da8a7704b67c878eaec720df2cc9.zip
mtk-20170518-cd54b2d42b39da8a7704b67c878eaec720df2cc9.tar.gz
mtk-20170518-cd54b2d42b39da8a7704b67c878eaec720df2cc9.tar.bz2
kernel: update kernel 4.9 to 4.9.37
- Refreshed all patches - Removed upstreamed - Adapted 4 patches: 473-fix-marvell-phy-initialization-issues.patch ----------------------------------------------- Removed hunk 5 which got upstreamed 403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch 404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch -------------------------------------------------------------- Adapted these 2 RFC patches, merging the delta's from an upstream commit (see below) which made it before these 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux- stable.git/commit/?h=v4.9.36&id=97ace183074d306942b903a148aebd5d061758f0 180-usb-xhci-add-support-for-performing-fake-doorbell.patch ----------------------------------------------------------- - Moved fake_doorbell bitmask due to new item Compile tested on: cns3xxx, imx6 Run tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Diffstat (limited to 'target/linux/mvebu/patches-4.9')
-rw-r--r--target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch4
-rw-r--r--target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch13
-rw-r--r--target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch5
-rw-r--r--target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch6
-rw-r--r--target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/411-net-phy-split-out-PHY-speed-and-duplex-string-genera.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/412-net-phy-move-phy_lookup_setting-and-guts-of-phy_supp.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/432-phy-marvell-88E1512-add-flow-control-support.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/433-phy-marvell-88E1111-add-flow-control-support.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/434-phy-marvell-88E1540-add-flow-control-support.patch2
-rw-r--r--target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch26
-rw-r--r--target/linux/mvebu/patches-4.9/473-fix-marvell-phy-initialization-issues.patch10
15 files changed, 27 insertions, 55 deletions
diff --git a/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch b/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch
index c5bb0c0..73b76cd 100644
--- a/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch
+++ b/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch
@@ -167,7 +167,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -426,6 +426,7 @@ struct phy_device {
+@@ -429,6 +429,7 @@ struct phy_device {
u8 mdix;
diff --git a/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch b/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch
index a0352e2..a7c3107 100644
--- a/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch
+++ b/target/linux/mvebu/patches-4.9/401-net-phy-move-phy-MMD-accessors-to-phy-core.c.patch
@@ -256,7 +256,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+EXPORT_SYMBOL(phy_write_mmd);
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -627,14 +627,7 @@ struct phy_fixup {
+@@ -630,14 +630,7 @@ struct phy_fixup {
*
* Same rules as for phy_read();
*/
@@ -272,7 +272,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
/**
* phy_read_mmd_indirect - reads data from the MMD registers
-@@ -728,16 +721,7 @@ static inline bool phy_is_pseudo_fixed_l
+@@ -731,16 +724,7 @@ static inline bool phy_is_pseudo_fixed_l
*
* Same rules as for phy_write();
*/
diff --git a/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch b/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
index a37b0a7..fcb274d 100644
--- a/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
+++ b/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
@@ -64,7 +64,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
EXPORT_SYMBOL(phy_write_mmd);
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -570,6 +570,30 @@ struct phy_driver {
+@@ -573,6 +573,30 @@ struct phy_driver {
*/
void (*link_change_notify)(struct phy_device *dev);
diff --git a/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch b/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
index ecf7a26..7d69c5a 100644
--- a/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
+++ b/target/linux/mvebu/patches-4.9/403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch
@@ -30,22 +30,27 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -1343,11 +1343,16 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
+@@ -1343,14 +1343,19 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
*/
int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data)
{
- int val = ethtool_adv_to_mmd_eee_adv_t(data->advertised);
+ int cap, adv;
-- phy_write_mmd_indirect(phydev, MDIO_AN_EEE_ADV, MDIO_MMD_AN, val);
+- /* Mask prohibited EEE modes */
+- val &= ~phydev->eee_broken_modes;
+ /* Get Supported EEE */
+ cap = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
+ if (cap < 0)
+ return cap;
++
++ adv = ethtool_adv_to_mmd_eee_adv_t(data->advertised) & cap;
+
+- phy_write_mmd_indirect(phydev, MDIO_AN_EEE_ADV, MDIO_MMD_AN, val);
++ /* Mask prohibited EEE modes */
++ adv &= ~phydev->eee_broken_modes;
- return 0;
-+ adv = ethtool_adv_to_mmd_eee_adv_t(data->advertised) & cap;
-+
+ return phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv);
}
EXPORT_SYMBOL(phy_ethtool_set_eee);
diff --git a/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch b/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
index 72951e8..35d7ba9 100644
--- a/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
+++ b/target/linux/mvebu/patches-4.9/404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch
@@ -12,7 +12,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -1343,16 +1343,33 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
+@@ -1343,19 +1343,36 @@ EXPORT_SYMBOL(phy_ethtool_get_eee);
*/
int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data)
{
@@ -30,6 +30,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+
adv = ethtool_adv_to_mmd_eee_adv_t(data->advertised) & cap;
+ /* Mask prohibited EEE modes */
+ adv &= ~phydev->eee_broken_modes;
+
- return phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv);
+ if (old_adv != adv) {
+ ret = phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv);
diff --git a/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch b/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch
index 352d678..dfa93c5 100644
--- a/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch
+++ b/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch
@@ -258,7 +258,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+EXPORT_SYMBOL_GPL(genphy_c45_read_pma);
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1410,27 +1410,19 @@ EXPORT_SYMBOL(genphy_read_status);
+@@ -1452,27 +1452,19 @@ EXPORT_SYMBOL(genphy_read_status);
static int gen10g_read_status(struct phy_device *phydev)
{
@@ -295,7 +295,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
}
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -807,6 +807,8 @@ static inline const char *phydev_name(co
+@@ -810,6 +810,8 @@ static inline const char *phydev_name(co
void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
__printf(2, 3);
void phy_attached_info(struct phy_device *phydev);
@@ -304,7 +304,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
int genphy_config_init(struct phy_device *phydev);
int genphy_setup_forced(struct phy_device *phydev);
int genphy_restart_aneg(struct phy_device *phydev);
-@@ -817,6 +819,16 @@ int genphy_read_status(struct phy_device
+@@ -820,6 +822,16 @@ int genphy_read_status(struct phy_device
int genphy_suspend(struct phy_device *phydev);
int genphy_resume(struct phy_device *phydev);
int genphy_soft_reset(struct phy_device *phydev);
diff --git a/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch b/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch
index 32922c1..8de0793 100644
--- a/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch
+++ b/target/linux/mvebu/patches-4.9/408-net-phy-hook-up-clause-45-autonegotiation-restart.patch
@@ -37,7 +37,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
/**
* phy_aneg_done - return auto-negotiation status
-@@ -1439,3 +1457,14 @@ int phy_ethtool_set_link_ksettings(struc
+@@ -1442,3 +1460,14 @@ int phy_ethtool_set_link_ksettings(struc
return phy_ethtool_ksettings_set(phydev, cmd);
}
EXPORT_SYMBOL(phy_ethtool_set_link_ksettings);
diff --git a/target/linux/mvebu/patches-4.9/411-net-phy-split-out-PHY-speed-and-duplex-string-genera.patch b/target/linux/mvebu/patches-4.9/411-net-phy-split-out-PHY-speed-and-duplex-string-genera.patch
index 4111b00..f4da7e9 100644
--- a/target/linux/mvebu/patches-4.9/411-net-phy-split-out-PHY-speed-and-duplex-string-genera.patch
+++ b/target/linux/mvebu/patches-4.9/411-net-phy-split-out-PHY-speed-and-duplex-string-genera.patch
@@ -91,7 +91,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
{
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -642,6 +642,9 @@ struct phy_fixup {
+@@ -645,6 +645,9 @@ struct phy_fixup {
int (*run)(struct phy_device *phydev);
};
diff --git a/target/linux/mvebu/patches-4.9/412-net-phy-move-phy_lookup_setting-and-guts-of-phy_supp.patch b/target/linux/mvebu/patches-4.9/412-net-phy-move-phy_lookup_setting-and-guts-of-phy_supp.patch
index 02a8fa5..051a9ed 100644
--- a/target/linux/mvebu/patches-4.9/412-net-phy-move-phy_lookup_setting-and-guts-of-phy_supp.patch
+++ b/target/linux/mvebu/patches-4.9/412-net-phy-move-phy_lookup_setting-and-guts-of-phy_supp.patch
@@ -305,7 +305,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
{
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -645,6 +645,21 @@ struct phy_fixup {
+@@ -648,6 +648,21 @@ struct phy_fixup {
const char *phy_speed_to_str(int speed);
const char *phy_duplex_to_str(unsigned int duplex);
diff --git a/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch b/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch
index fe3f7c2..59e8aa8 100644
--- a/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch
+++ b/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch
@@ -1007,7 +1007,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
struct sk_buff;
/*
-@@ -422,6 +423,7 @@ struct phy_device {
+@@ -425,6 +426,7 @@ struct phy_device {
struct mutex lock;
diff --git a/target/linux/mvebu/patches-4.9/432-phy-marvell-88E1512-add-flow-control-support.patch b/target/linux/mvebu/patches-4.9/432-phy-marvell-88E1512-add-flow-control-support.patch
index 407d23a..f694b82 100644
--- a/target/linux/mvebu/patches-4.9/432-phy-marvell-88E1512-add-flow-control-support.patch
+++ b/target/linux/mvebu/patches-4.9/432-phy-marvell-88E1512-add-flow-control-support.patch
@@ -12,7 +12,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
-@@ -1679,7 +1679,8 @@ static struct phy_driver marvell_drivers
+@@ -1678,7 +1678,8 @@ static struct phy_driver marvell_drivers
.phy_id = MARVELL_PHY_ID_88E1510,
.phy_id_mask = MARVELL_PHY_ID_MASK,
.name = "Marvell 88E1510",
diff --git a/target/linux/mvebu/patches-4.9/433-phy-marvell-88E1111-add-flow-control-support.patch b/target/linux/mvebu/patches-4.9/433-phy-marvell-88E1111-add-flow-control-support.patch
index 9a165fd..cf525a2 100644
--- a/target/linux/mvebu/patches-4.9/433-phy-marvell-88E1111-add-flow-control-support.patch
+++ b/target/linux/mvebu/patches-4.9/433-phy-marvell-88E1111-add-flow-control-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
-@@ -1531,7 +1531,7 @@ static struct phy_driver marvell_drivers
+@@ -1530,7 +1530,7 @@ static struct phy_driver marvell_drivers
.phy_id = MARVELL_PHY_ID_88E1111,
.phy_id_mask = MARVELL_PHY_ID_MASK,
.name = "Marvell 88E1111",
diff --git a/target/linux/mvebu/patches-4.9/434-phy-marvell-88E1540-add-flow-control-support.patch b/target/linux/mvebu/patches-4.9/434-phy-marvell-88E1540-add-flow-control-support.patch
index e452f01..607d173 100644
--- a/target/linux/mvebu/patches-4.9/434-phy-marvell-88E1540-add-flow-control-support.patch
+++ b/target/linux/mvebu/patches-4.9/434-phy-marvell-88E1540-add-flow-control-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
-@@ -1699,7 +1699,7 @@ static struct phy_driver marvell_drivers
+@@ -1698,7 +1698,7 @@ static struct phy_driver marvell_drivers
.phy_id = MARVELL_PHY_ID_88E1540,
.phy_id_mask = MARVELL_PHY_ID_MASK,
.name = "Marvell 88E1540",
diff --git a/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch b/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
deleted file mode 100644
index a39b694..0000000
--- a/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Russell King <rmk+kernel@armlinux.org.uk>
-Date: Fri, 23 Dec 2016 18:54:01 +0000
-Subject: [PATCH] net: phy: fix marvell phy status reading
-
-The Marvell driver incorrectly provides phydev->lp_advertising as the
-logical and of the link partner's advert and our advert. This is
-incorrect - this field is supposed to store the link parter's unmodified
-advertisment.
-
-This allows ethtool to report the correct link partner auto-negotiation
-status.
-
-Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
----
-
---- a/drivers/net/phy/marvell.c
-+++ b/drivers/net/phy/marvell.c
-@@ -1114,8 +1114,6 @@ static int marvell_read_status_page(stru
- if (adv < 0)
- return adv;
-
-- lpa &= adv;
--
- if (status & MII_M1011_PHY_STATUS_FULLDUPLEX)
- phydev->duplex = DUPLEX_FULL;
- else
diff --git a/target/linux/mvebu/patches-4.9/473-fix-marvell-phy-initialization-issues.patch b/target/linux/mvebu/patches-4.9/473-fix-marvell-phy-initialization-issues.patch
index c481951..eca7e12 100644
--- a/target/linux/mvebu/patches-4.9/473-fix-marvell-phy-initialization-issues.patch
+++ b/target/linux/mvebu/patches-4.9/473-fix-marvell-phy-initialization-issues.patch
@@ -49,13 +49,3 @@ Signed-off-by: Marko Ratkaj <marko.ratkaj@sartura.hr>
i = phy_write(phydev, MII_MARVELL_PHY_PAGE, saved_page);
if (ret == 0)
ret = i;
-@@ -1200,7 +1198,8 @@ static int marvell_read_status(struct ph
- int err;
-
- /* Check the fiber mode first */
-- if (phydev->supported & SUPPORTED_FIBRE) {
-+ if (phydev->supported & SUPPORTED_FIBRE &&
-+ phydev->interface != PHY_INTERFACE_MODE_SGMII) {
- err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_FIBER);
- if (err < 0)
- goto error;