All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 0/3] lan78xx: Fixes and enhancements
@ 2018-04-06  6:12 Raghuram Chary J
  2018-04-06  6:12 ` [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables Raghuram Chary J
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Raghuram Chary J @ 2018-04-06  6:12 UTC (permalink / raw)
  To: davem; +Cc: netdev, unglinuxdriver, woojung.huh, raghuramchary.jallipalli

These series of patches have fix and enhancements for
lan78xx driver.

Raghuram Chary J (3):
  lan78xx: PHY DSP registers initialization to address EEE link drop
    issues with long cables
  lan78xx: Add support to dump lan78xx registers
  lan78xx: Lan7801 Support for Fixed PHY

 drivers/net/phy/microchip.c  | 123 ++++++++++++++++++++++++++++++++++++++++++-
 drivers/net/usb/Kconfig      |   1 +
 drivers/net/usb/lan78xx.c    |  93 ++++++++++++++++++++++++++++++--
 include/linux/microchipphy.h |   8 +++
 4 files changed, 220 insertions(+), 5 deletions(-)

-- 
2.16.2

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables
  2018-04-06  6:12 [PATCH net 0/3] lan78xx: Fixes and enhancements Raghuram Chary J
@ 2018-04-06  6:12 ` Raghuram Chary J
  2018-04-06 14:43   ` Andrew Lunn
  2018-04-10 13:50     ` Sasha Levin
  2018-04-06  6:12 ` [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers Raghuram Chary J
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 21+ messages in thread
From: Raghuram Chary J @ 2018-04-06  6:12 UTC (permalink / raw)
  To: davem; +Cc: netdev, unglinuxdriver, woojung.huh, raghuramchary.jallipalli

The patch is to configure DSP registers of PHY device
to handle Gbe-EEE failures with >40m cable length.

Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Raghuram Chary J <raghuramchary.jallipalli@microchip.com>
---
 drivers/net/phy/microchip.c  | 123 ++++++++++++++++++++++++++++++++++++++++++-
 include/linux/microchipphy.h |   8 +++
 2 files changed, 130 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
index 0f293ef28935..174ae9808722 100644
--- a/drivers/net/phy/microchip.c
+++ b/drivers/net/phy/microchip.c
@@ -20,6 +20,7 @@
 #include <linux/ethtool.h>
 #include <linux/phy.h>
 #include <linux/microchipphy.h>
+#include <linux/delay.h>
 
 #define DRIVER_AUTHOR	"WOOJUNG HUH <woojung.huh@microchip.com>"
 #define DRIVER_DESC	"Microchip LAN88XX PHY driver"
@@ -66,6 +67,107 @@ static int lan88xx_suspend(struct phy_device *phydev)
 	return 0;
 }
 
+static void lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr,
+			       u32 data)
+{
+	int val;
+	u16 buf;
+
+	/* Get access to token ring page */
+	phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS,
+		  LAN88XX_EXT_PAGE_ACCESS_TR);
+
+	phy_write(phydev, LAN88XX_EXT_PAGE_TR_LOW_DATA, (data & 0xFFFF));
+	phy_write(phydev, LAN88XX_EXT_PAGE_TR_HIGH_DATA,
+		  (data & 0x00FF0000) >> 16);
+
+	/* Config control bits [15:13] of register */
+	buf = (regaddr & ~(0x3 << 13));/* Clr [14:13] to write data in reg */
+	buf |= 0x8000; /* Set [15] to Packet transmit */
+
+	phy_write(phydev, LAN88XX_EXT_PAGE_TR_CR, buf);
+
+	usleep_range(1000, 2000);/* Wait for Data to be written */
+	val = phy_read(phydev, LAN88XX_EXT_PAGE_TR_CR);
+	if (!(val & 0x8000))
+		pr_warn("TR Register[0x%X] configuration failed\n", regaddr);
+
+	/* Setting to Main page registers space*/
+	phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, LAN88XX_EXT_PAGE_SPACE_0);
+}
+
+static void lan88xx_config_TR_regs(struct phy_device *phydev)
+{
+	/* Get access to Channel 0x1, Node 0xF , Register 0x01.
+	 * Write 24-bit value 0x12B00A to register. Setting MrvlTrFix1000Kf,
+	 * MrvlTrFix1000Kp, MasterEnableTR bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x0F82, 0x12B00A);
+
+	/* Get access to Channel b'10, Node b'1101, Register 0x06.
+	 * Write 24-bit value 0xD2C46F to register. Setting SSTrKf1000Slv,
+	 * SSTrKp1000Mas bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x168C, 0xD2C46F);
+
+	/* Get access to Channel b'10, Node b'1111, Register 0x11.
+	 * Write 24-bit value 0x620 to register. Setting rem_upd_done_thresh
+	 * bits
+	 */
+	lan88xx_TR_reg_set(phydev, 0x17A2, 0x620);
+
+	/* Get access to Channel b'10, Node b'1101, Register 0x10.
+	 * Write 24-bit value 0xEEFFDD to register. Setting
+	 * eee_TrKp1Long_1000, eee_TrKp2Long_1000, eee_TrKp3Long_1000,
+	 * eee_TrKp1Short_1000,eee_TrKp2Short_1000, eee_TrKp3Short_1000 bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x16A0, 0xEEFFDD);
+
+	/* Get access to Channel b'10, Node b'1101, Register 0x13.
+	 * Write 24-bit value 0x071448 to register. Setting
+	 * slv_lpi_tr_tmr_val1, slv_lpi_tr_tmr_val2 bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x16A6, 0x071448);
+
+	/* Get access to Channel b'10, Node b'1101, Register 0x12.
+	 * Write 24-bit value 0x13132F to register. Setting
+	 * slv_sigdet_timer_val1, slv_sigdet_timer_val2 bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x16A4, 0x13132F);
+
+	/* Get access to Channel b'10, Node b'1101, Register 0x14.
+	 * Write 24-bit value 0x0 to register. Setting eee_3level_delay,
+	 * eee_TrKf_freeze_delay bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x16A8, 0x0);
+
+	/* Get access to Channel b'01, Node b'1111, Register 0x34.
+	 * Write 24-bit value 0x91B06C to register. Setting
+	 * FastMseSearchThreshLong1000, FastMseSearchThreshShort1000,
+	 * FastMseSearchUpdGain1000 bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x0FE8, 0x91B06C);
+
+	/* Get access to Channel b'01, Node b'1111, Register 0x3E.
+	 * Write 24-bit value 0xC0A028 to register. Setting
+	 * FastMseKp2ThreshLong1000, FastMseKp2ThreshShort1000,
+	 * FastMseKp2UpdGain1000, FastMseKp2ExitEn1000 bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x0FFC, 0xC0A028);
+
+	/* Get access to Channel b'01, Node b'1111, Register 0x35.
+	 * Write 24-bit value 0x041600 to register. Setting
+	 * FastMseSearchPhShNum1000, FastMseSearchClksPerPh1000,
+	 * FastMsePhChangeDelay1000 bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x0FEA, 0x041600);
+
+	/* Get access to Channel b'10, Node b'1101, Register 0x03.
+	 * Write 24-bit value 0x000004 to register. Setting TrFreeze bits.
+	 */
+	lan88xx_TR_reg_set(phydev, 0x1686, 0x000004);
+}
+
 static int lan88xx_probe(struct phy_device *phydev)
 {
 	struct device *dev = &phydev->mdio.dev;
@@ -132,6 +234,25 @@ static void lan88xx_set_mdix(struct phy_device *phydev)
 	phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, LAN88XX_EXT_PAGE_SPACE_0);
 }
 
+static int lan88xx_config_init(struct phy_device *phydev)
+{
+	int val;
+
+	genphy_config_init(phydev);
+	/*Zerodetect delay enable */
+	val = phy_read_mmd(phydev, MDIO_MMD_PCS,
+			   PHY_ARDENNES_MMD_DEV_3_PHY_CFG);
+	val |= PHY_ARDENNES_MMD_DEV_3_PHY_CFG_ZD_DLY_EN_;
+
+	phy_write_mmd(phydev, MDIO_MMD_PCS, PHY_ARDENNES_MMD_DEV_3_PHY_CFG,
+		      val);
+
+	/* Config DSP registers */
+	lan88xx_config_TR_regs(phydev);
+
+	return 0;
+}
+
 static int lan88xx_config_aneg(struct phy_device *phydev)
 {
 	lan88xx_set_mdix(phydev);
@@ -151,7 +272,7 @@ static struct phy_driver microchip_phy_driver[] = {
 	.probe		= lan88xx_probe,
 	.remove		= lan88xx_remove,
 
-	.config_init	= genphy_config_init,
+	.config_init	= lan88xx_config_init,
 	.config_aneg	= lan88xx_config_aneg,
 
 	.ack_interrupt	= lan88xx_phy_ack_interrupt,
diff --git a/include/linux/microchipphy.h b/include/linux/microchipphy.h
index eb492d47f717..8f9c90379732 100644
--- a/include/linux/microchipphy.h
+++ b/include/linux/microchipphy.h
@@ -70,4 +70,12 @@
 #define	LAN88XX_MMD3_CHIP_ID			(32877)
 #define	LAN88XX_MMD3_CHIP_REV			(32878)
 
+/* DSP registers */
+#define PHY_ARDENNES_MMD_DEV_3_PHY_CFG		(0x806A)
+#define PHY_ARDENNES_MMD_DEV_3_PHY_CFG_ZD_DLY_EN_	(0x2000)
+#define LAN88XX_EXT_PAGE_ACCESS_TR		(0x52B5)
+#define LAN88XX_EXT_PAGE_TR_CR			16
+#define LAN88XX_EXT_PAGE_TR_LOW_DATA		17
+#define LAN88XX_EXT_PAGE_TR_HIGH_DATA		18
+
 #endif /* _MICROCHIPPHY_H */
-- 
2.16.2

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers
  2018-04-06  6:12 [PATCH net 0/3] lan78xx: Fixes and enhancements Raghuram Chary J
  2018-04-06  6:12 ` [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables Raghuram Chary J
@ 2018-04-06  6:12 ` Raghuram Chary J
  2018-04-06 14:40   ` Andrew Lunn
  2018-04-10 13:50     ` Sasha Levin
  2018-04-06  6:12 ` [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY Raghuram Chary J
  2018-04-10 13:50   ` Sasha Levin
  3 siblings, 2 replies; 21+ messages in thread
From: Raghuram Chary J @ 2018-04-06  6:12 UTC (permalink / raw)
  To: davem; +Cc: netdev, unglinuxdriver, woojung.huh, raghuramchary.jallipalli

In order to dump lan78xx family registers using ethtool, add
support at lan78xx driver level.

Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Raghuram Chary J <raghuramchary.jallipalli@microchip.com>
---
 drivers/net/usb/lan78xx.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index 55a78eb96961..e3cc3b504c87 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -278,6 +278,30 @@ struct lan78xx_statstage64 {
 	u64 eee_tx_lpi_time;
 };
 
+u32 lan78xx_regs[] = {
+	ID_REV,
+	INT_STS,
+	HW_CFG,
+	PMT_CTL,
+	E2P_CMD,
+	E2P_DATA,
+	USB_STATUS,
+	VLAN_TYPE,
+	MAC_CR,
+	MAC_RX,
+	MAC_TX,
+	FLOW,
+	ERR_STS,
+	MII_ACC,
+	MII_DATA,
+	EEE_TX_LPI_REQ_DLY,
+	EEE_TW_TX_SYS,
+	EEE_TX_LPI_REM_DLY,
+	WUCSR
+};
+
+#define PHY_REG_SIZE (32 * sizeof(u32))
+
 struct lan78xx_net;
 
 struct lan78xx_priv {
@@ -1604,6 +1628,31 @@ static int lan78xx_set_pause(struct net_device *net,
 	return ret;
 }
 
+static int lan78xx_get_regs_len(struct net_device *netdev)
+{
+	return (sizeof(lan78xx_regs) + PHY_REG_SIZE);
+}
+
+static void
+lan78xx_get_regs(struct net_device *netdev, struct ethtool_regs *regs,
+		 void *buf)
+{
+	u32 *data = buf;
+	int i, j;
+	struct lan78xx_net *dev = netdev_priv(netdev);
+
+	/* Read Device/MAC registers */
+	for (i = 0, j = 0; i < (sizeof(lan78xx_regs) / sizeof(u32)); i++, j++)
+		lan78xx_read_reg(dev, lan78xx_regs[i], &data[j]);
+
+	if (!netdev->phydev)
+		return;
+
+	/* Read PHY registers */
+	for (i = 0; i < 32; i++, j++)
+		data[j] = phy_read(netdev->phydev, i);
+}
+
 static const struct ethtool_ops lan78xx_ethtool_ops = {
 	.get_link	= lan78xx_get_link,
 	.nway_reset	= phy_ethtool_nway_reset,
@@ -1624,6 +1673,8 @@ static const struct ethtool_ops lan78xx_ethtool_ops = {
 	.set_pauseparam	= lan78xx_set_pause,
 	.get_link_ksettings = lan78xx_get_link_ksettings,
 	.set_link_ksettings = lan78xx_set_link_ksettings,
+	.get_regs_len	= lan78xx_get_regs_len,
+	.get_regs	= lan78xx_get_regs,
 };
 
 static int lan78xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
-- 
2.16.2

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
  2018-04-06  6:12 [PATCH net 0/3] lan78xx: Fixes and enhancements Raghuram Chary J
  2018-04-06  6:12 ` [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables Raghuram Chary J
  2018-04-06  6:12 ` [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers Raghuram Chary J
@ 2018-04-06  6:12 ` Raghuram Chary J
  2018-04-06 14:35   ` Andrew Lunn
  2018-04-10 13:50     ` Sasha Levin
  2018-04-10 13:50   ` Sasha Levin
  3 siblings, 2 replies; 21+ messages in thread
From: Raghuram Chary J @ 2018-04-06  6:12 UTC (permalink / raw)
  To: davem; +Cc: netdev, unglinuxdriver, woojung.huh, raghuramchary.jallipalli

Adding Fixed PHY support to the lan78xx driver.

Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Raghuram Chary J <raghuramchary.jallipalli@microchip.com>
---
 drivers/net/usb/Kconfig   |  1 +
 drivers/net/usb/lan78xx.c | 42 ++++++++++++++++++++++++++++++++++++++----
 2 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index f28bd74ac275..418b0904cecb 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -111,6 +111,7 @@ config USB_LAN78XX
 	select MII
 	select PHYLIB
 	select MICROCHIP_PHY
+	select FIXED_PHY
 	help
 	  This option adds support for Microchip LAN78XX based USB 2
 	  & USB 3 10/100/1000 Ethernet adapters.
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index e3cc3b504c87..e67b2dabde66 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -36,7 +36,7 @@
 #include <linux/irq.h>
 #include <linux/irqchip/chained_irq.h>
 #include <linux/microchipphy.h>
-#include <linux/phy.h>
+#include <linux/phy_fixed.h>
 #include "lan78xx.h"
 
 #define DRIVER_AUTHOR	"WOOJUNG HUH <woojung.huh@microchip.com>"
@@ -426,6 +426,7 @@ struct lan78xx_net {
 	struct statstage	stats;
 
 	struct irq_domain_data	domain_data;
+	struct phy_device       *fixedphy;
 };
 
 /* define external phy id */
@@ -2058,11 +2059,39 @@ static int lan78xx_phy_init(struct lan78xx_net *dev)
 	int ret;
 	u32 mii_adv;
 	struct phy_device *phydev;
+	struct fixed_phy_status fphy_status = {
+		.link = 1,
+		.speed = SPEED_1000,
+		.duplex = DUPLEX_FULL,
+	};
 
 	phydev = phy_find_first(dev->mdiobus);
 	if (!phydev) {
-		netdev_err(dev->net, "no PHY found\n");
-		return -EIO;
+		if (dev->chipid == ID_REV_CHIP_ID_7801_) {
+			u32 buf;
+
+			netdev_info(dev->net, "PHY Not Found!! Registering Fixed PHY\n");
+			phydev = fixed_phy_register(PHY_POLL, &fphy_status, -1,
+						    NULL);
+			if (IS_ERR(phydev)) {
+				netdev_err(dev->net, "No PHY/fixed_PHY found\n");
+				return -ENODEV;
+			}
+			netdev_info(dev->net, "Registered FIXED PHY\n");
+			dev->interface = PHY_INTERFACE_MODE_RGMII;
+			dev->fixedphy = phydev;
+			ret = lan78xx_write_reg(dev, MAC_RGMII_ID,
+						MAC_RGMII_ID_TXC_DELAY_EN_);
+			ret = lan78xx_write_reg(dev, RGMII_TX_BYP_DLL, 0x3D00);
+			ret = lan78xx_read_reg(dev, HW_CFG, &buf);
+			buf |= HW_CFG_CLK125_EN_;
+			buf |= HW_CFG_REFCLK25_EN_;
+			ret = lan78xx_write_reg(dev, HW_CFG, buf);
+			goto phyinit;
+		} else {
+			netdev_err(dev->net, "no PHY found\n");
+			return -EIO;
+		}
 	}
 
 	if ((dev->chipid == ID_REV_CHIP_ID_7800_) ||
@@ -2100,7 +2129,7 @@ static int lan78xx_phy_init(struct lan78xx_net *dev)
 		ret = -EIO;
 		goto error;
 	}
-
+phyinit:
 	/* if phyirq is not set, use polling mode in phylib */
 	if (dev->domain_data.phyirq > 0)
 		phydev->irq = dev->domain_data.phyirq;
@@ -3559,6 +3588,11 @@ static void lan78xx_disconnect(struct usb_interface *intf)
 	udev = interface_to_usbdev(intf);
 
 	net = dev->net;
+
+	if (dev->fixedphy) {
+		fixed_phy_unregister(dev->fixedphy);
+		dev->fixedphy = NULL;
+	}
 	unregister_netdev(net);
 
 	cancel_delayed_work_sync(&dev->wq);
-- 
2.16.2

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
  2018-04-06  6:12 ` [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY Raghuram Chary J
@ 2018-04-06 14:35   ` Andrew Lunn
  2018-04-10  2:23     ` RaghuramChary.Jallipalli
  2018-04-10 13:50     ` Sasha Levin
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2018-04-06 14:35 UTC (permalink / raw)
  To: Raghuram Chary J; +Cc: davem, netdev, unglinuxdriver, woojung.huh

On Fri, Apr 06, 2018 at 11:42:04AM +0530, Raghuram Chary J wrote:
> Adding Fixed PHY support to the lan78xx driver.

Hi Raghuram

What do you expect is connected to the MAC if there is no PHY?

     Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers
  2018-04-06  6:12 ` [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers Raghuram Chary J
@ 2018-04-06 14:40   ` Andrew Lunn
  2018-04-10  2:25     ` RaghuramChary.Jallipalli
  2018-04-10 13:50     ` Sasha Levin
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2018-04-06 14:40 UTC (permalink / raw)
  To: Raghuram Chary J; +Cc: davem, netdev, unglinuxdriver, woojung.huh

> +static int lan78xx_get_regs_len(struct net_device *netdev)
> +{
> +	return (sizeof(lan78xx_regs) + PHY_REG_SIZE);

If there is no PHY attached, you probably should not include
PHY_REG_SIZE here.

     Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables
  2018-04-06  6:12 ` [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables Raghuram Chary J
@ 2018-04-06 14:43   ` Andrew Lunn
  2018-04-06 15:21     ` David Miller
  2018-04-10 13:50     ` Sasha Levin
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2018-04-06 14:43 UTC (permalink / raw)
  To: Raghuram Chary J; +Cc: davem, netdev, unglinuxdriver, woojung.huh

On Fri, Apr 06, 2018 at 11:42:02AM +0530, Raghuram Chary J wrote:
> The patch is to configure DSP registers of PHY device
> to handle Gbe-EEE failures with >40m cable length.
> 
> Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
> Signed-off-by: Raghuram Chary J <raghuramchary.jallipalli@microchip.com>
> ---
>  drivers/net/phy/microchip.c  | 123 ++++++++++++++++++++++++++++++++++++++++++-
>  include/linux/microchipphy.h |   8 +++
>  2 files changed, 130 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
> index 0f293ef28935..174ae9808722 100644
> --- a/drivers/net/phy/microchip.c
> +++ b/drivers/net/phy/microchip.c
> @@ -20,6 +20,7 @@
>  #include <linux/ethtool.h>
>  #include <linux/phy.h>
>  #include <linux/microchipphy.h>
> +#include <linux/delay.h>
>  
>  #define DRIVER_AUTHOR	"WOOJUNG HUH <woojung.huh@microchip.com>"
>  #define DRIVER_DESC	"Microchip LAN88XX PHY driver"
> @@ -66,6 +67,107 @@ static int lan88xx_suspend(struct phy_device *phydev)
>  	return 0;
>  }
>  
> +static void lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr,
> +			       u32 data)
> +{
> +	int val;
> +	u16 buf;
> +
> +	/* Get access to token ring page */
> +	phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS,
> +		  LAN88XX_EXT_PAGE_ACCESS_TR);

Hi Raghuram

You might want to look at phy_read_paged(), phy_write_paged(), etc.

There can be race conditions with paged access.

      Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables
  2018-04-06 14:43   ` Andrew Lunn
@ 2018-04-06 15:21     ` David Miller
  2018-04-10  2:27       ` RaghuramChary.Jallipalli
  0 siblings, 1 reply; 21+ messages in thread
From: David Miller @ 2018-04-06 15:21 UTC (permalink / raw)
  To: andrew; +Cc: raghuramchary.jallipalli, netdev, unglinuxdriver, woojung.huh

From: Andrew Lunn <andrew@lunn.ch>
Date: Fri, 6 Apr 2018 16:43:42 +0200

> On Fri, Apr 06, 2018 at 11:42:02AM +0530, Raghuram Chary J wrote:
>> The patch is to configure DSP registers of PHY device
>> to handle Gbe-EEE failures with >40m cable length.
>> 
>> Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
>> Signed-off-by: Raghuram Chary J <raghuramchary.jallipalli@microchip.com>
>> ---
>>  drivers/net/phy/microchip.c  | 123 ++++++++++++++++++++++++++++++++++++++++++-
>>  include/linux/microchipphy.h |   8 +++
>>  2 files changed, 130 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
>> index 0f293ef28935..174ae9808722 100644
>> --- a/drivers/net/phy/microchip.c
>> +++ b/drivers/net/phy/microchip.c
>> @@ -20,6 +20,7 @@
>>  #include <linux/ethtool.h>
>>  #include <linux/phy.h>
>>  #include <linux/microchipphy.h>
>> +#include <linux/delay.h>
>>  
>>  #define DRIVER_AUTHOR	"WOOJUNG HUH <woojung.huh@microchip.com>"
>>  #define DRIVER_DESC	"Microchip LAN88XX PHY driver"
>> @@ -66,6 +67,107 @@ static int lan88xx_suspend(struct phy_device *phydev)
>>  	return 0;
>>  }
>>  
>> +static void lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr,
>> +			       u32 data)
>> +{
>> +	int val;
>> +	u16 buf;
>> +
>> +	/* Get access to token ring page */
>> +	phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS,
>> +		  LAN88XX_EXT_PAGE_ACCESS_TR);
> 
> Hi Raghuram
> 
> You might want to look at phy_read_paged(), phy_write_paged(), etc.
> 
> There can be race conditions with paged access.

Yep, so something like:

static void lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr,
			       u32 data)
{
	int save_page, val;
	u16 buf;

	save_page = phy_save_page(phydev);
	phy_write_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
			LAN88XX_EXT_PAGE_TR_LOW_DATA, (data & 0xFFFF));
	phy_write_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
			LAN88XX_EXT_PAGE_TR_HIGH_DATA,
			(data & 0x00FF0000) >> 16);

	/* Config control bits [15:13] of register */
	buf = (regaddr & ~(0x3 << 13));/* Clr [14:13] to write data in reg */
	buf |= 0x8000; /* Set [15] to Packet transmit */

	phy_write_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
			LAN88XX_EXT_PAGE_TR_CR, buf);
	usleep_range(1000, 2000);/* Wait for Data to be written */

	val = phy_read_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
			     LAN88XX_EXT_PAGE_TR_CR);
	if (!(val & 0x8000))
		pr_warn("TR Register[0x%X] configuration failed\n", regaddr);

	phy_restore_page(phydev, save_page, 0);
}

Since PHY accesses and thus things like phy_save_page() can fail, the
return type of this function should be changed to 'int' and some error
checking should be added.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
  2018-04-06 14:35   ` Andrew Lunn
@ 2018-04-10  2:23     ` RaghuramChary.Jallipalli
  2018-04-10  2:49       ` Andrew Lunn
  0 siblings, 1 reply; 21+ messages in thread
From: RaghuramChary.Jallipalli @ 2018-04-10  2:23 UTC (permalink / raw)
  To: andrew; +Cc: davem, netdev, UNGLinuxDriver, Woojung.Huh

> 
> What do you expect is connected to the MAC if there is no PHY?
> 
Hi Andrew,
We connect the Ethernet switch to this MAC. The Ethernet switch port connected to MAC do not have the phy.
In this case, need to load the MAC driver and link speed/duplex set.

Thanks,
Raghu

^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers
  2018-04-06 14:40   ` Andrew Lunn
@ 2018-04-10  2:25     ` RaghuramChary.Jallipalli
  0 siblings, 0 replies; 21+ messages in thread
From: RaghuramChary.Jallipalli @ 2018-04-10  2:25 UTC (permalink / raw)
  To: andrew; +Cc: davem, netdev, UNGLinuxDriver, Woojung.Huh

> If there is no PHY attached, you probably should not include PHY_REG_SIZE
> here.
> 
Sure, will address it.

Thanks,
Raghu

^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables
  2018-04-06 15:21     ` David Miller
@ 2018-04-10  2:27       ` RaghuramChary.Jallipalli
  0 siblings, 0 replies; 21+ messages in thread
From: RaghuramChary.Jallipalli @ 2018-04-10  2:27 UTC (permalink / raw)
  To: davem, andrew; +Cc: netdev, UNGLinuxDriver, Woojung.Huh

> >
> > Hi Raghuram
> >
> > You might want to look at phy_read_paged(), phy_write_paged(), etc.
> >
> > There can be race conditions with paged access.
> 
> Yep, so something like:
> 
> static void lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr,
> 			       u32 data)
> {
> 	int save_page, val;
> 	u16 buf;
> 
> 	save_page = phy_save_page(phydev);
> 	phy_write_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
> 			LAN88XX_EXT_PAGE_TR_LOW_DATA, (data &
> 0xFFFF));
> 	phy_write_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
> 			LAN88XX_EXT_PAGE_TR_HIGH_DATA,
> 			(data & 0x00FF0000) >> 16);
> 
> 	/* Config control bits [15:13] of register */
> 	buf = (regaddr & ~(0x3 << 13));/* Clr [14:13] to write data in reg */
> 	buf |= 0x8000; /* Set [15] to Packet transmit */
> 
> 	phy_write_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
> 			LAN88XX_EXT_PAGE_TR_CR, buf);
> 	usleep_range(1000, 2000);/* Wait for Data to be written */
> 
> 	val = phy_read_paged(phydev, LAN88XX_EXT_PAGE_ACCESS_TR,
> 			     LAN88XX_EXT_PAGE_TR_CR);
> 	if (!(val & 0x8000))
> 		pr_warn("TR Register[0x%X] configuration failed\n",
> regaddr);
> 
> 	phy_restore_page(phydev, save_page, 0); }
> 
> Since PHY accesses and thus things like phy_save_page() can fail, the return
> type of this function should be changed to 'int' and some error checking
> should be added.

Thanks David/Andrew.
Will take care of it.

Thanks,
Raghu

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
  2018-04-10  2:23     ` RaghuramChary.Jallipalli
@ 2018-04-10  2:49       ` Andrew Lunn
  2018-04-10  4:02         ` RaghuramChary.Jallipalli
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Lunn @ 2018-04-10  2:49 UTC (permalink / raw)
  To: RaghuramChary.Jallipalli; +Cc: davem, netdev, UNGLinuxDriver, Woojung.Huh

On Tue, Apr 10, 2018 at 02:23:23AM +0000, RaghuramChary.Jallipalli@microchip.com wrote:
> > 
> > What do you expect is connected to the MAC if there is no PHY?
> > 
> Hi Andrew,
> We connect the Ethernet switch to this MAC.

Ah, cool. I was thinking you were going to say an SFP cage.

What switch is it? Does it have a DSA driver?

     Andrew

^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
  2018-04-10  2:49       ` Andrew Lunn
@ 2018-04-10  4:02         ` RaghuramChary.Jallipalli
  0 siblings, 0 replies; 21+ messages in thread
From: RaghuramChary.Jallipalli @ 2018-04-10  4:02 UTC (permalink / raw)
  To: andrew; +Cc: davem, netdev, UNGLinuxDriver, Woojung.Huh

> Ah, cool. I was thinking you were going to say an SFP cage.
> 
> What switch is it? Does it have a DSA driver?
> 
We have 3 port switch KSZ9893 yet to release which is similar to the one KSZ9477/KSZ9897 which has DSA driver.
Most of the time 3 port switch being used with LAN7801 to extend the ports.

Thanks,
-Raghu

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 0/3] lan78xx: Fixes and enhancements
  2018-04-06  6:12 [PATCH net 0/3] lan78xx: Fixes and enhancements Raghuram Chary J
@ 2018-04-10 13:50   ` Sasha Levin
  2018-04-06  6:12 ` [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers Raghuram Chary J
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")

v4.14.33: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")

v4.9.93: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")

v4.4.127: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 0/3] lan78xx: Fixes and enhancements
@ 2018-04-10 13:50   ` Sasha Levin
  0 siblings, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")

v4.14.33: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")

v4.9.93: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")

v4.4.127: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    95fc5753103d ("lan78xx: Lan7801 Support for Fixed PHY")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")


--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers
  2018-04-06  6:12 ` [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers Raghuram Chary J
@ 2018-04-10 13:50     ` Sasha Levin
  2018-04-10 13:50     ` Sasha Levin
  1 sibling, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Failed to apply! Possible dependencies:
    6e76510e7e19 ("net: usb: lan78xx: use new api ethtool_{get|set}_link_ksettings")

v4.4.127: Failed to apply! Possible dependencies:
    20ff55655a93 ("lan78xx: handle statistics counter rollover")
    349e0c5e2237 ("lan78xx: add ethtool set & get pause functions")
    6e76510e7e19 ("net: usb: lan78xx: use new api ethtool_{get|set}_link_ksettings")

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers
@ 2018-04-10 13:50     ` Sasha Levin
  0 siblings, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Failed to apply! Possible dependencies:
    6e76510e7e19 ("net: usb: lan78xx: use new api ethtool_{get|set}_link_ksettings")

v4.4.127: Failed to apply! Possible dependencies:
    20ff55655a93 ("lan78xx: handle statistics counter rollover")
    349e0c5e2237 ("lan78xx: add ethtool set & get pause functions")
    6e76510e7e19 ("net: usb: lan78xx: use new api ethtool_{get|set}_link_ksettings")


--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
  2018-04-06  6:12 ` [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY Raghuram Chary J
@ 2018-04-10 13:50     ` Sasha Levin
  2018-04-10 13:50     ` Sasha Levin
  1 sibling, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")

v4.14.33: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")

v4.9.93: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")

v4.4.127: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY
@ 2018-04-10 13:50     ` Sasha Levin
  0 siblings, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")

v4.14.33: Failed to apply! Possible dependencies:
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")

v4.9.93: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")

v4.4.127: Failed to apply! Possible dependencies:
    02dc1f3d613d ("lan78xx: add LAN7801 MAC only support")
    3b51cc75eba2 ("lan78xx: remove redundant initialization of pointer 'phydev'")
    8c56ea410efb ("net: lan78xx: fix build errors when linux/phy*.h is removed from net/dsa.h")
    cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")


--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables
  2018-04-06  6:12 ` [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables Raghuram Chary J
@ 2018-04-10 13:50     ` Sasha Levin
  2018-04-10 13:50     ` Sasha Levin
  1 sibling, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has also determined it's probably a bug fixing patch. (score: 3.9486)

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Failed to apply! Possible dependencies:
    f6e3ef3e4d35 ("lan78xx: relocate mdix setting to phy driver")

v4.4.127: Failed to apply! Possible dependencies:
    f6e3ef3e4d35 ("lan78xx: relocate mdix setting to phy driver")

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables
@ 2018-04-10 13:50     ` Sasha Levin
  0 siblings, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Raghuram Chary J, davem; +Cc: netdev, unglinuxdriver, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 55d7de9de6c3 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver.

The bot has also determined it's probably a bug fixing patch. (score: 3.9486)

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Failed to apply! Possible dependencies:
    f6e3ef3e4d35 ("lan78xx: relocate mdix setting to phy driver")

v4.4.127: Failed to apply! Possible dependencies:
    f6e3ef3e4d35 ("lan78xx: relocate mdix setting to phy driver")


--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2018-04-10 13:50 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-06  6:12 [PATCH net 0/3] lan78xx: Fixes and enhancements Raghuram Chary J
2018-04-06  6:12 ` [PATCH net 1/3] lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables Raghuram Chary J
2018-04-06 14:43   ` Andrew Lunn
2018-04-06 15:21     ` David Miller
2018-04-10  2:27       ` RaghuramChary.Jallipalli
2018-04-10 13:50   ` Sasha Levin
2018-04-10 13:50     ` Sasha Levin
2018-04-06  6:12 ` [PATCH net 2/3] lan78xx: Add support to dump lan78xx registers Raghuram Chary J
2018-04-06 14:40   ` Andrew Lunn
2018-04-10  2:25     ` RaghuramChary.Jallipalli
2018-04-10 13:50   ` Sasha Levin
2018-04-10 13:50     ` Sasha Levin
2018-04-06  6:12 ` [PATCH net 3/3] lan78xx: Lan7801 Support for Fixed PHY Raghuram Chary J
2018-04-06 14:35   ` Andrew Lunn
2018-04-10  2:23     ` RaghuramChary.Jallipalli
2018-04-10  2:49       ` Andrew Lunn
2018-04-10  4:02         ` RaghuramChary.Jallipalli
2018-04-10 13:50   ` Sasha Levin
2018-04-10 13:50     ` Sasha Levin
2018-04-10 13:50 ` [PATCH net 0/3] lan78xx: Fixes and enhancements Sasha Levin
2018-04-10 13:50   ` Sasha Levin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.