From: "Alvin Šipraga" <alvin.sipraga@analog.com>
To: Iustin Stolniceanu <iustin.stolniceanu@analog.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@kernel.org>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Parthiban Veerasooran <parthiban.veerasooran@microchip.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Marcelo Schmitt <marcelo.schmitt@analog.com>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Ciprian Regus <ciprian.regus@analog.com>
Subject: Re: [PATCH net-next 5/5] net: phy: adin1100: Skip the soft reset on ADIN1110/ADIN2111
Date: Wed, 4 Nov 2026 15:29:09 +0100 [thread overview]
Message-ID: <autAidTgykOObtzp@analog.com> (raw)
In-Reply-To: <20261103160918.409701-6-iustin.stolniceanu@analog.com>
On Tue, Nov 03, 2026 at 06:09:18PM +0200, Iustin Stolniceanu wrote:
> The ADIN1110 and ADIN2111 MAC-PHYs integrate the ADIN1100 PHY and use
> this driver. On these devices, CRSM_SFT_RST resets the whole chip, not
> only the PHY, undoing the configuration done by the MAC driver before
> the PHY is attached. MDIO reads also return stale data until the reset
> completes.
>
> The MAC driver already resets the chip before attaching the PHY, so
> skip the soft reset on these devices.
Is this a bugfix?
>
> Signed-off-by: Iustin Stolniceanu <iustin.stolniceanu@analog.com>
> ---
> drivers/net/phy/adin1100.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/net/phy/adin1100.c b/drivers/net/phy/adin1100.c
> index 8f9753d4318c..7b4e68285a9d 100644
> --- a/drivers/net/phy/adin1100.c
> +++ b/drivers/net/phy/adin1100.c
> @@ -232,6 +232,15 @@ static int adin_soft_reset(struct phy_device *phydev)
> {
> int ret;
>
> + /* On the ADIN1110/ADIN2111 MAC-PHYs, CRSM_SFT_RST resets the whole
> + * chip, undoing the MAC driver's setup, and MDIO reads return stale
> + * data until it completes. The MAC driver has already reset the
> + * chip, so skip it here.
> + */
> + if (phy_id_compare_model(phydev->phy_id, PHY_ID_ADIN1110) ||
> + phy_id_compare_model(phydev->phy_id, PHY_ID_ADIN2111))
> + return 0;
It seems more common to have a separate struct phy_driver entry in the
array passed to module_phy_driver() with a more precise
phy_id/mask. Then for ADIN1110/ADIN2111 you'd omit the
.soft_reset. Maybe Andrew knows what is preferred here?
> +
> ret = phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, ADIN_CRSM_SFT_RST, ADIN_CRSM_SFT_RST_EN);
> if (ret < 0)
> return ret;
> --
> 2.43.0
>
next prev parent reply other threads:[~2026-11-04 14:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 16:09 [PATCH net-next 0/5] net: ethernet: adi: adin1110: Add OPEN Alliance TC6 support Iustin Stolniceanu
2026-11-03 16:09 ` [PATCH net-next 1/5] net: ethernet: oa_tc6: Allow custom reset settle time values Iustin Stolniceanu
2026-11-04 14:10 ` Alvin Šipraga
2026-11-03 16:09 ` [PATCH net-next 2/5] net: ethernet: oa_tc6: Add support for MDIO indirect access Iustin Stolniceanu
2026-11-04 14:08 ` Alvin Šipraga
2026-11-03 16:09 ` [PATCH net-next 3/5] dt-bindings: net: adi,adin1110: Add adi,spi-oa-tc6 Iustin Stolniceanu
2026-11-04 14:12 ` Alvin Šipraga
2026-11-03 16:09 ` [PATCH net-next 4/5] net: ethernet: adi: adin1110: Add OA TC6 protocol support for ADIN1110 Iustin Stolniceanu
2026-11-04 14:26 ` Alvin Šipraga
2026-11-04 21:06 ` Andrew Lunn
2026-11-04 16:10 ` sashiko-bot
2026-11-03 16:09 ` [PATCH net-next 5/5] net: phy: adin1100: Skip the soft reset on ADIN1110/ADIN2111 Iustin Stolniceanu
2026-11-04 14:29 ` Alvin Šipraga [this message]
2026-11-04 21:16 ` Andrew Lunn
2026-11-03 20:49 ` [PATCH net-next 0/5] net: ethernet: adi: adin1110: Add OPEN Alliance TC6 support Andrew Lunn
2026-11-04 8:06 ` Stolniceanu, Iustin
2026-11-04 14:59 ` Andrew Lunn
2026-11-04 15:14 ` Stolniceanu, Iustin
2026-11-03 20:54 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=autAidTgykOObtzp@analog.com \
--to=alvin.sipraga@analog.com \
--cc=andrew+netdev@lunn.ch \
--cc=ciprian.regus@analog.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@kernel.org \
--cc=hkallweit1@gmail.com \
--cc=iustin.stolniceanu@analog.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=marcelo.schmitt@analog.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=parthiban.veerasooran@microchip.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.