From: Heiner Kallweit <hkallweit1@gmail.com>
To: "Krzysztof Hałasa" <khalasa@piap.pl>
Cc: Andrew Lunn <andrew@lunn.ch>, netdev <netdev@vger.kernel.org>,
Oliver Neukum <oneukum@suse.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
Jose Ignacio Tornos Martinez <jtornosm@redhat.com>,
Ming Lei <ming.lei@redhat.com>
Subject: Re: [PATCH] PHY: Fix no autoneg corner case
Date: Wed, 19 Mar 2025 22:00:34 +0100 [thread overview]
Message-ID: <b9270400-4081-4df9-a644-0c6d22a1973e@gmail.com> (raw)
In-Reply-To: <m3ldwyh5yw.fsf@t19.piap.pl>
On 02.12.2024 08:57, Krzysztof Hałasa wrote:
> Heiner,
>
> Heiner Kallweit <hkallweit1@gmail.com> writes:
>
>> If autoneg is supported, then phylib defaults to enable it. I don't see
>> anything wrong with this. BaseT modes from 1000Mbps on require autoneg.
>> Your original commit message seems to refer to a use case where a certain
>> operation mode of the PHY doesn't support autoneg. Then the PHY driver
>> should detect this operation mode and clear the autoneg-supported bit.
>
> I'm not sure about it, but if there is consensus it should stay this
> way, no problem.
>
> WRT specific case, It seems the SFP port doesn't support autoneg on
> AX88772BL (I don't have any SFP copper 10/100 module).
>
> The PHY registers (100BASE-FX, no link currently):
> x0 x1 x2 x3 x4 x5 x6 x7 x8
> 0000: 2100 7809 3B 1881 501
> 0010: 250 80C 8620 20 2314 3C8 4716 724F 8024
>
> BMCR: fixed speed 100 Mb/s
> The datasheet says "autoneg is fixed to 1 and speed to 100", but
> it's apparently the case only with 100BASE-TX, not FX.
>
> It seems autoneg, speed and duplex bits are read only
> (bits 13, 12, 9, 8). So, basically, you can't enable autoneg at
> all and this is maybe the source of the "bug".
>
> BMSR: 10 and 100 Mb/s FD/HD autoneg support indicated. Hmm. R/O.
>
> ANAR: quite standard, but doesn't matter since autoneg is disabled.
>
> I will think about it a bit more.
The PHY in your case should be handled by the ax88796b driver, based on PHY ID
in your register dump being PHY_ID_ASIX_AX88772C. Maybe the PHY driver needs
an extension for handling fiber mode properly. That's something you should check
based on the datasheet. There are examples like the Marvell PHY driver which
has quite some fiber-specific handling.
prev parent reply other threads:[~2025-03-19 21:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-27 8:56 [PATCH] PHY: Fix no autoneg corner case Krzysztof Hałasa
2024-11-27 17:37 ` Andrew Lunn
2024-11-28 6:31 ` Krzysztof Hałasa
2024-11-28 14:54 ` Andrew Lunn
2024-11-28 19:35 ` Heiner Kallweit
2024-11-29 6:17 ` Krzysztof Hałasa
2024-11-29 6:49 ` Heiner Kallweit
2024-12-02 7:57 ` Krzysztof Hałasa
2025-03-19 21:00 ` Heiner Kallweit [this message]
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=b9270400-4081-4df9-a644-0c6d22a1973e@gmail.com \
--to=hkallweit1@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jtornosm@redhat.com \
--cc=khalasa@piap.pl \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=ming.lei@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=oneukum@suse.com \
--cc=pabeni@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox