| From dbae02c390f06658242904d56ad82cd1a3dbea52 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 2 May 2022 12:57:49 +0530 |
| Subject: net: emaclite: Don't advertise 1000BASE-T and do auto negotiation |
| |
| From: Shravya Kumbham <shravya.kumbham@xilinx.com> |
| |
| [ Upstream commit b800528b97d0adc3a5ba42d78a8b0d3f07a31f44 ] |
| |
| In xemaclite_open() function we are setting the max speed of |
| emaclite to 100Mb using phy_set_max_speed() function so, |
| there is no need to write the advertising registers to stop |
| giga-bit speed and the phy_start() function starts the |
| auto-negotiation so, there is no need to handle it separately |
| using advertising registers. Remove the phy_read and phy_write |
| of advertising registers in xemaclite_open() function. |
| |
| Signed-off-by: Shravya Kumbham <shravya.kumbham@xilinx.com> |
| Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> |
| Reviewed-by: Andrew Lunn <andrew@lunn.ch> |
| Signed-off-by: Paolo Abeni <pabeni@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/xilinx/xilinx_emaclite.c | 15 --------------- |
| 1 file changed, 15 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c |
| index 08a670bf2cd1..c2b142cf75eb 100644 |
| --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c |
| +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c |
| @@ -935,8 +935,6 @@ static int xemaclite_open(struct net_device *dev) |
| xemaclite_disable_interrupts(lp); |
| |
| if (lp->phy_node) { |
| - u32 bmcr; |
| - |
| lp->phy_dev = of_phy_connect(lp->ndev, lp->phy_node, |
| xemaclite_adjust_link, 0, |
| PHY_INTERFACE_MODE_MII); |
| @@ -947,19 +945,6 @@ static int xemaclite_open(struct net_device *dev) |
| |
| /* EmacLite doesn't support giga-bit speeds */ |
| phy_set_max_speed(lp->phy_dev, SPEED_100); |
| - |
| - /* Don't advertise 1000BASE-T Full/Half duplex speeds */ |
| - phy_write(lp->phy_dev, MII_CTRL1000, 0); |
| - |
| - /* Advertise only 10 and 100mbps full/half duplex speeds */ |
| - phy_write(lp->phy_dev, MII_ADVERTISE, ADVERTISE_ALL | |
| - ADVERTISE_CSMA); |
| - |
| - /* Restart auto negotiation */ |
| - bmcr = phy_read(lp->phy_dev, MII_BMCR); |
| - bmcr |= (BMCR_ANENABLE | BMCR_ANRESTART); |
| - phy_write(lp->phy_dev, MII_BMCR, bmcr); |
| - |
| phy_start(lp->phy_dev); |
| } |
| |
| -- |
| 2.35.1 |
| |