From nobody Thu May 01 03:01:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZnzMz2Qq5z5vQFc; Thu, 01 May 2025 03:01:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZnzMy0QYmz3nkw; Thu, 01 May 2025 03:01:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746068478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rTi568aLC4hUsCvxreih1wb+DVdrrhHEifIakpkceME=; b=HNfCeGPgo/AMilchJeu8N0V6fL5wUT4F48NeYfHdO1Q9V3mOLyQh5Ic9j4Hs5y07t2nGqE W2FlV8e3SQk3zszI/x74NwWDFznPm04UXAuU4HJXuza9qgVXuHt9KBA2HKgfIhazzCCXKH Du/q9hf6/txNpf660MXjzQErz25OVQd6mQlsY4okc/V+hRMqD5Uyp9+kQWbLsigsjnwcXz DqOaYpX3YsgPMUWv1s2kcdt36zN/qwFDnfgo5wi1TroodWa9GGDe2u4GsFJrrklPTV7IQZ hxnAziR2DcNRByrY25x3sbrUM5zFoS7x9N1PHvOR/hkyRZC22SEODL4B5D1Igw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746068478; a=rsa-sha256; cv=none; b=ZxaSz3oA2bAKDde9q68KL6hWDBuT9IR0PKpsxbr9eD624eSC7Tb2taX1WogSL5ExJlj84r /ltedAQ5zcQvGl9QwtoFpU4R5xaAyl1mYCUc9jphMba9gIRfjIqn0H7xCshAbS9907xXAe je4/9x9PEXsl8QGjMuUzbdhWVAf3BtdoU/pwUlPkrONsKu7Y05/8XXKxI9ycCyeDLVvkv0 V16Vcj7ZGF6AdNCG4AnHLNdDzC/R4eDZeMz1fVdZ9wy4fKTDDo7dYE6sFV+5Fx62t7SOgG RetbBS24mZ/W6Xo9gvXZ4mQwjsW/4HyNseedp4YOw7P46P+Y5toJCiQZPepCFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746068478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rTi568aLC4hUsCvxreih1wb+DVdrrhHEifIakpkceME=; b=TvQoq4EB4OyOIkYXm9XiJXVYBF7aCcA4mDCsAJ1yL9oWAlwfNZv/edMHik7JblP0JMIWZC JR2LHygMCsEJQeUOg9zfG5zuPKJjQ26BccD44s3iwe5Kq0w+1oTxPh+9Yor90EWOLdcDj4 QSn9o1ri6YIfHW7PGBLTG8pvCfjxGx7jVELQDHBRpAc+RfSzct0+Dh7wZ1sMrTQBKzpbGR Us4hKu9wyv1p2/CSue0RUVpHqBcOEHDFBI9BMN7SOXWWARUAforUlQQxdQALJJv06L1uGn JorMwLGfTl0CMxQOQ7RdbKjvRN21NuMOWLTkSXBlbU0y8llUsfS+U/b3dsEv0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZnzMy02MVzYrP; Thu, 01 May 2025 03:01:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54131HXq078857; Thu, 1 May 2025 03:01:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54131HQR078854; Thu, 1 May 2025 03:01:17 GMT (envelope-from git) Date: Thu, 1 May 2025 03:01:17 GMT Message-Id: <202505010301.54131HQR078854@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 67fb9dc457ee - main - mii: Change e1000phy (Marvell 88E1000) PHYs to disable power down / isolate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67fb9dc457eee048768fe467228c394154cc28f9 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=67fb9dc457eee048768fe467228c394154cc28f9 commit 67fb9dc457eee048768fe467228c394154cc28f9 Author: Adrian Chadd AuthorDate: 2025-04-25 03:21:50 +0000 Commit: Adrian Chadd CommitDate: 2025-05-01 03:00:56 +0000 mii: Change e1000phy (Marvell 88E1000) PHYs to disable power down / isolate The reset sequence doesn't clear the power down / isolate bits during power up and configuration. Change that to make sure things are consistent. If the PHY is initialised by something external (eg a bootloader, config EEPROM driving a switch chip, etc) which sets the power down and/or isolate bits in E1000_CR, then the reset path wouldn't undo it and the PHY will look permanently down. Even when we configure autonegotiate or statically nail the port up, it's still not coming out of the power mode. Differential Revision: https://reviews.freebsd.org/D50045 --- sys/dev/mii/e1000phy.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/dev/mii/e1000phy.c b/sys/dev/mii/e1000phy.c index e978c043d72a..050e9db71577 100644 --- a/sys/dev/mii/e1000phy.c +++ b/sys/dev/mii/e1000phy.c @@ -185,6 +185,11 @@ e1000phy_reset(struct mii_softc *sc) { uint16_t reg, page; + /* Undo power-down / isolate */ + reg = PHY_READ(sc, E1000_CR); + reg &= ~(E1000_CR_ISOLATE | E1000_CR_POWER_DOWN); + PHY_WRITE(sc, E1000_CR, reg); + reg = PHY_READ(sc, E1000_SCR); if ((sc->mii_flags & MIIF_HAVEFIBER) != 0) { reg &= ~E1000_SCR_AUTO_X_MODE; @@ -353,6 +358,8 @@ e1000phy_service(struct mii_softc *sc, struct mii_data *mii, int cmd) reg = PHY_READ(sc, E1000_CR); reg &= ~E1000_CR_AUTO_NEG_ENABLE; + /* Undo power-down / isolate */ + reg &= ~(E1000_CR_ISOLATE | E1000_CR_POWER_DOWN); PHY_WRITE(sc, E1000_CR, reg | E1000_CR_RESET); if (IFM_SUBTYPE(ife->ifm_media) == IFM_1000_T) {