mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
6221316711
net: dsa: mt7530: detect PHY muxing when PHY is defined on switch MDIO bus Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
137 lines
6.5 KiB
Diff
137 lines
6.5 KiB
Diff
From patchwork Tue Apr 30 05:01:33 2024
|
||
Content-Type: text/plain; charset="utf-8"
|
||
MIME-Version: 1.0
|
||
Content-Transfer-Encoding: 8bit
|
||
X-Patchwork-Submitter: =?utf-8?b?QXLEsW7DpyDDnE5BTCB2aWEgQjQgUmVsYXk=?=
|
||
<devnull+arinc.unal.arinc9.com@kernel.org>
|
||
X-Patchwork-Id: 13648264
|
||
X-Patchwork-Delegate: kuba@kernel.org
|
||
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org
|
||
[10.30.226.201])
|
||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||
(No client certificate requested)
|
||
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4C9C114A89;
|
||
Tue, 30 Apr 2024 05:01:39 +0000 (UTC)
|
||
Authentication-Results: smtp.subspace.kernel.org;
|
||
arc=none smtp.client-ip=10.30.226.201
|
||
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
|
||
t=1714453299; cv=none;
|
||
b=gV4Z0elIASLrrICjPPmDeR0kBaXtdjeqbz/cnj3/0V74cRGmjd5sMQ4PtMYq5iPdJkWbhn4mzf/WX9xcqituDcVV7Vj68zrsE5d6NavvrMK9kf7Ef3Yyr8gEbekALfL9fKuF6ul7TeVFQiFoGQyAJNFzB9YAiQGJlWzw98bldMQ=
|
||
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
|
||
s=arc-20240116; t=1714453299; c=relaxed/simple;
|
||
bh=GGkybB3RbZ4yacytPZCe3ceKcaWca6ygWTw/PJtmpsk=;
|
||
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc;
|
||
b=QRWD6k4Qg1t5nZj6oj2xdwWDCGHQWHG2xj0lkYcEMm3dMkvPpLbCIOptpZBJtSq06TMxRjVJhgVJ9ATDTIYGKwCHJTx3JTxspI+YkxLsXsfnz9jNxMyQ/+CO3xzRjTuKg0mGP3fl1Q1xznm/8cenWMDUOrv/p1Wlg1XZ8s01edY=
|
||
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
|
||
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
|
||
header.b=LTwGL2cB; arc=none smtp.client-ip=10.30.226.201
|
||
Authentication-Results: smtp.subspace.kernel.org;
|
||
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org
|
||
header.b="LTwGL2cB"
|
||
Received: by smtp.kernel.org (Postfix) with ESMTPS id 1A3AEC2BBFC;
|
||
Tue, 30 Apr 2024 05:01:39 +0000 (UTC)
|
||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
|
||
s=k20201202; t=1714453299;
|
||
bh=GGkybB3RbZ4yacytPZCe3ceKcaWca6ygWTw/PJtmpsk=;
|
||
h=From:Date:Subject:To:Cc:Reply-To:From;
|
||
b=LTwGL2cBtvmG8vpW/5yPEkA2A4EWbBIHkpxGRp6NhmQcwKx6T+Q4Gt/MKTUdGZ6pp
|
||
FHxkNOtF/KeqTZc814r9H7gtR+6rzRBCcQfWYl2TIdj+1edX/UrwUARQa8CQYwWK3V
|
||
jqfD9pCOCm+hptOHs6o0+j5FaW5TtN6QJTG/1GpftEfJkQYpsp/jEL28MY35u99DBK
|
||
yZErlS77MlNQEMScOR7McNtMj0pYnTvgrZLefdORzeWQhX6REODGKFL2xoSWjtg9jw
|
||
QeQUp07wKwtuwHpKI07IBsFwIsclZYD3/oXrjBSSZmvwHCCvAYT+PXRiH0moLzHERn
|
||
aa8XczXBSlBVw==
|
||
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||
(localhost.localdomain [127.0.0.1])
|
||
by smtp.lore.kernel.org (Postfix) with ESMTP id 04CA2C25B10;
|
||
Tue, 30 Apr 2024 05:01:39 +0000 (UTC)
|
||
From: =?utf-8?b?QXLEsW7DpyDDnE5BTCB2aWEgQjQgUmVsYXk=?=
|
||
<devnull+arinc.unal.arinc9.com@kernel.org>
|
||
Date: Tue, 30 Apr 2024 08:01:33 +0300
|
||
Subject: [PATCH net-next v2] net: dsa: mt7530: detect PHY muxing when PHY
|
||
is defined on switch MDIO bus
|
||
Precedence: bulk
|
||
X-Mailing-List: netdev@vger.kernel.org
|
||
List-Id: <netdev.vger.kernel.org>
|
||
List-Subscribe: <mailto:netdev+subscribe@vger.kernel.org>
|
||
List-Unsubscribe: <mailto:netdev+unsubscribe@vger.kernel.org>
|
||
MIME-Version: 1.0
|
||
Message-Id:
|
||
<20240430-b4-for-netnext-mt7530-use-switch-mdio-bus-for-phy-muxing-v2-1-9104d886d0db@arinc9.com>
|
||
X-B4-Tracking: v=1; b=H4sIACx7MGYC/6WOSw6DMBBDr1LNulNBIHy66j0qFhAGmAUJSgIFI
|
||
e7eNFeovLJsPfsER5bJwfN2gqWNHRsdjLjfQE2tHgm5Dx5EIvIkFzV2OQ7Goiavafc4+1JmCa6
|
||
O0H3Yqwnnng12q4u1ZTpwXnfWI8qqEEWdlamSEgJ+sTTwHqffEHD440ETkomdN/aIn7Y05v/Pb
|
||
ykGDWUp6yqjVMpXa1mr+qHMDM11XV8dryM7CwEAAA==
|
||
To: Daniel Golle <daniel@makrotopia.org>, DENG Qingfang <dqfext@gmail.com>,
|
||
Sean Wang <sean.wang@mediatek.com>, Andrew Lunn <andrew@lunn.ch>,
|
||
Florian Fainelli <f.fainelli@gmail.com>,
|
||
Vladimir Oltean <olteanv@gmail.com>,
|
||
"David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
|
||
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
|
||
Matthias Brugger <matthias.bgg@gmail.com>,
|
||
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
||
Cc: Bartel Eerdekens <bartel.eerdekens@constell8.be>,
|
||
mithat.guner@xeront.com, erkin.bozoglu@xeront.com, netdev@vger.kernel.org,
|
||
linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
|
||
linux-mediatek@lists.infradead.org,
|
||
=?utf-8?b?QXLEsW7DpyDDnE5BTA==?= <arinc.unal@arinc9.com>
|
||
X-Mailer: b4 0.13.0
|
||
X-Developer-Signature: v=1; a=ed25519-sha256; t=1714453297; l=1949;
|
||
i=arinc.unal@arinc9.com; s=arinc9-PC; h=from:subject:message-id;
|
||
bh=c3IRARdnxa6x5otHszH4xrnla2RxJAal1114ej/d2wE=;
|
||
b=FL4WEHh4zYu1gBE7wbaN+X2OMCOIMJVsYBkXurHM0IC3CnI6XfpKE1V5QLUSXby75WZfvQ0se
|
||
lrMQos/eOAaCNbkyxUkmwb3opbC915iywMECA0lv/g0IAo6snRYzMae
|
||
X-Developer-Key: i=arinc.unal@arinc9.com; a=ed25519;
|
||
pk=Bd1s2kQtNfZAWyeLHg39jaWBDqt8Ud1WJXLFh7gxl20=
|
||
X-Endpoint-Received: by B4 Relay for arinc.unal@arinc9.com/arinc9-PC with
|
||
auth_id=158
|
||
X-Original-From: =?utf-8?b?QXLEsW7DpyDDnE5BTA==?= <arinc.unal@arinc9.com>
|
||
Reply-To: arinc.unal@arinc9.com
|
||
X-Patchwork-Delegate: kuba@kernel.org
|
||
|
||
From: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||
|
||
Currently, the MT7530 DSA subdriver configures the MT7530 switch to provide
|
||
direct access to switch PHYs, meaning, the switch PHYs listen on the MDIO
|
||
bus the switch listens on. The PHY muxing feature makes use of this.
|
||
|
||
This is problematic as the PHY may be attached before the switch is
|
||
initialised, in which case, the PHY will fail to be attached.
|
||
|
||
Since commit 91374ba537bd ("net: dsa: mt7530: support OF-based registration
|
||
of switch MDIO bus"), we can describe the switch PHYs on the MDIO bus of
|
||
the switch on the device tree. Extend the check to detect PHY muxing when
|
||
the PHY is defined on the MDIO bus of the switch on the device tree.
|
||
|
||
When the PHY is described this way, the switch will be initialised first,
|
||
then the switch MDIO bus will be registered. Only after these steps, the
|
||
PHY will be attached.
|
||
|
||
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||
---
|
||
Changes in v2:
|
||
- Address the terminology on the patch log.
|
||
- Link to v1: https://lore.kernel.org/r/20240429-b4-for-netnext-mt7530-use-switch-mdio-bus-for-phy-muxing-v1-1-1f775983e155@arinc9.com
|
||
---
|
||
drivers/net/dsa/mt7530.c | 3 ++-
|
||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
||
|
||
---
|
||
base-commit: 5c4c0edca68a5841a8d53ccd49596fe199c8334c
|
||
change-id: 20240429-b4-for-netnext-mt7530-use-switch-mdio-bus-for-phy-muxing-586269371c55
|
||
|
||
Best regards,
|
||
|
||
--- a/drivers/net/dsa/mt7530.c
|
||
+++ b/drivers/net/dsa/mt7530.c
|
||
@@ -2488,7 +2488,8 @@ mt7530_setup(struct dsa_switch *ds)
|
||
if (!phy_node)
|
||
continue;
|
||
|
||
- if (phy_node->parent == priv->dev->of_node->parent) {
|
||
+ if (phy_node->parent == priv->dev->of_node->parent ||
|
||
+ phy_node->parent->parent == priv->dev->of_node) {
|
||
ret = of_get_phy_mode(mac_np, &interface);
|
||
if (ret && ret != -ENODEV) {
|
||
of_node_put(mac_np);
|