Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6649b205 authored by Nikita Kiryanov's avatar Nikita Kiryanov Committed by David S. Miller
Browse files

dm9000: during init reset phy only for dm9000b



Some of the changes introduced in commit 6741f40d (DM9000B: driver
initialization upgrade) break functionality on DM9000A
(error message during NFS boot: "dm9000 dm9000.0: eth0: link down")

Since the changes were meant to serve only DM9000B, make them
dependent on the chip type.

Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e9e4ea74
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -891,8 +891,13 @@ dm9000_init_dm9000(struct net_device *dev)

	iow(db, DM9000_GPCR, GPCR_GEP_CNTL);	/* Let GPIO0 output */

	dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); /* PHY RESET */
	dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM); /* Init */
	/* If we are dealing with DM9000B, some extra steps are required: a
	 * manual phy reset, and setting init params.
	 */
	if (db->type == TYPE_DM9000B) {
		dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET);
		dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM);
	}

	ncr = (db->flags & DM9000_PLATF_EXT_PHY) ? NCR_EXT_PHY : 0;