From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AA1E6CF8840 for ; Fri, 4 Oct 2024 17:12:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=fSauzY14BbY+ha02xCBSKfLVVZxWv4ZQivu2DAFFQho=; b=MctkrLV0n0V0clNMkfjP19ChZK M1m3Ox2G70DMh4L2zMRzPphuRf9AYhKHIKPqr16yJPPrtoqBK8P7FWE62Efi7oVPeuDiNjwHBRyep u6cSjNuSjZUfWSweqc51Tt2g6Pb0/CAPl2WHi6n11nH9+fIP8kyMFfsRxDbkjbnvHH7ieoDyGm8BM uUKga5UqMOI7H9wBXXMlwhRVjus2etSXqOEk/yvg8XREEjAryuHvQleFJhU51CkUDl+/K4Xwr7dUW s557TiVOW3JqcvN2BjIp+azSR7oBqttkR5toVxLSEPKrAFcbcDsrbRmhI5MB7vHBf2sRotVuGvX27 cEeNb/rw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1swlqH-0000000DRxa-0HwA; Fri, 04 Oct 2024 17:11:49 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1swkyQ-0000000DCcP-1BA7 for linux-arm-kernel@lists.infradead.org; Fri, 04 Oct 2024 16:16:12 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id B271720002; Fri, 4 Oct 2024 16:16:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1728058565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=fSauzY14BbY+ha02xCBSKfLVVZxWv4ZQivu2DAFFQho=; b=AoPWYq1coI1dPPv7LOHsQpWy/qOiZeIDAjusnCcyjRbpP+s1KsbGZbnZX20u/LH9YRH4kJ 4f6U2QhZuu86MtyVLNbY5nSl4sPhX2OXssC9mE9nnVToc3alwhuFIL7BZ1Wdw58TGirBjB x4jJLcBg6qq70hG+fcYfKkn1C7V1WyvUQ70gsio2pZyFmqsX7fZ1RvFBb2oXpzOnKDtDLJ MEvLj0nqQTwsNU9bxq6dGRMqrQLYdlxpHDZg1l8oUVby4RZ1kh4XICk6+QP7aSKOLZ98VU IPAS5M/hhZd5FgW60u7BBf85+BnRFUqYeJwHdvCZitcXjVMRZ0tW9ek9fIipvg== From: Maxime Chevallier To: davem@davemloft.net Cc: Maxime Chevallier , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com, Andrew Lunn , Jakub Kicinski , Eric Dumazet , Paolo Abeni , Russell King , linux-arm-kernel@lists.infradead.org, Christophe Leroy , Herve Codina , Florian Fainelli , Heiner Kallweit , Vladimir Oltean , =?UTF-8?q?Marek=20Beh=C3=BAn?= , =?UTF-8?q?K=C3=B6ry=20Maincent?= , Oleksij Rempel Subject: [PATCH net-next v2 0/9] Allow isolating PHY devices Date: Fri, 4 Oct 2024 18:15:50 +0200 Message-ID: <20241004161601.2932901-1-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.46.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-GND-Sasl: maxime.chevallier@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241004_091610_604428_9E3ED3DC X-CRM114-Status: GOOD ( 12.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hello, This is the V2 of a series to add isolation support for PHY devices. As a remainder, this mode allows a PHY to set its MII lines in high-impedance mode to avoid interferences on this bus. So far, I've identified that : - Marvell 88e1512 isolation works fine - LXT973 claims to support isolation, but it's actually broken - Marvell 88x3310 doesn't support isolation, by design - Marvell 88e1111 claims to support isolation in GMII, RGMII, TBI (untested) but doesn't in SGMII (tested). Changes in V2 : - Removed the loopback mode that was included in the first iteration - Added phy_shutdown, to make sure we de-isolate the PHY when rebooting - Changes the "PHY_NO_ISOLATE" flag to a phy driver ops. Testing showed that some PHYs may or may not support isolation based on the interface that's being used. - Added isolation support reporting for the Marvell 88e1111 PHY. V1 : https://lore.kernel.org/netdev/20240911212713.2178943-1-maxime.chevallier@bootlin.com/ Maxime Chevallier (9): net: phy: allow isolating PHY devices net: phy: Introduce phy_shutdown for device quiescence. net: phy: Allow PHY drivers to report isolation support net: phy: lxt: Mark LXT973 PHYs as having a broken isolate mode net: phy: marvell10g: 88x3310 and 88x3340 don't support isolate mode net: phy: marvell: mv88e1111 doesn't support isolate in SGMII mode net: phy: introduce ethtool_phy_ops to get and set phy configuration net: ethtool: phy: allow reporting and setting the phy isolate status netlink: specs: introduce phy-set command along with configurable attributes Documentation/netlink/specs/ethtool.yaml | 15 +++ Documentation/networking/ethtool-netlink.rst | 1 + drivers/net/phy/lxt.c | 2 + drivers/net/phy/marvell.c | 9 ++ drivers/net/phy/marvell10g.c | 2 + drivers/net/phy/phy.c | 44 ++++++++ drivers/net/phy/phy_device.c | 101 +++++++++++++++++-- include/linux/ethtool.h | 8 ++ include/linux/phy.h | 42 ++++++++ include/uapi/linux/ethtool_netlink.h | 2 + net/ethtool/netlink.c | 8 ++ net/ethtool/netlink.h | 1 + net/ethtool/phy.c | 68 +++++++++++++ 13 files changed, 297 insertions(+), 6 deletions(-) -- 2.46.1