mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
net: emaclite: Don't advertise 1000BASE-T and do auto negotiation
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>
This commit is contained in:
parent
79396934e2
commit
b800528b97
@ -926,8 +926,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);
|
||||
@ -938,19 +936,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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user