From: Yongzhao Chen <yongzhao.derek@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Vladimir Oltean <olteanv@gmail.com>,
Christian Marangi <ansuelsmth@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
Ziyang Huang <hzyitc@outlook.com>
Subject: Re: [RFC PATCH net-next v3 4/5] net: dsa: qca8k: flag QCA8337 internal CPU PHYs for SmartSpeed
Date: Sat, 26 Sep 2026 23:51:52 +0200 [thread overview]
Message-ID: <20260926215152.376-1-yongzhao.derek@gmail.com> (raw)
In-Reply-To: <426f9dcb-7473-48d5-a473-4435cc81312c@lunn.ch>
Hi Andrew,
> The IPQ5018 PHY driver does have cable test support, have you tried it
> out?
Yes. I ran it seven times on the IPQ5018 PHY under OpenWrt 6.18.44
(NSS build). All four pairs reported OK each time. This was a working
link, so the result does not show what the QCA8337 sees during a failed
boot, or confirm or rule out insufficient attenuation.
I also ran an A/B test on the OpenWrt 6.18.52 backport, using identical
kernel and rootfs contents. Before the initial PHY software reset,
both paths read register 0x14 once and unconditionally wrote it once:
either the original value, or the value with SmartSpeed disabled.
Across six alternating warm boots on this board:
- Writing back 0x082c failed all three times. PHY4's CTRL1000 read
0x0400, register 0x11 read 0x1030, and the CPU link did not come up.
- Writing 0x080c worked all three times. CTRL1000 read 0x0600 and the
CPU link came up at 1 Gb/s.
The pre-reset value was 0x082c in every run; the two written values
therefore differed only in the SmartSpeed enable bit. Writing the
original value back did not avoid the failure, despite the same MDIO
access sequence. This strengthens the case for disabling SmartSpeed
on this link, but does not establish the electrical cause.
I'm open to selecting the workaround through DT, so that it is enabled
only on boards known to need it. What I can document at this point is
the PHY-to-PHY connection, the reproducible boot failure and the effect
of disabling SmartSpeed. I have not established whether the cause is
the board's electrical design or something else.
Would that be sufficient justification for a DT property, with the
underlying cause left open in the commit message? If so, would you
prefer a generic PHY property to disable downshift, or a
Qualcomm-specific property for this workaround?
Thanks,
Yongzhao Chen
next prev parent reply other threads:[~2026-09-26 21:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-23 21:58 [RFC PATCH net-next v3 0/5] net: dsa: qca8k: add a QCA8337 CPU PHY consumer Yongzhao Chen
2026-09-23 21:58 ` [RFC PATCH net-next v3 1/5] net: dsa: pass PHY flags when connecting shared ports Yongzhao Chen
2026-09-23 21:58 ` [RFC PATCH net-next v3 2/5] net: dsa: qca8k: serialize CPU MAC pause during MTU changes Yongzhao Chen
2026-09-23 21:58 ` [RFC PATCH net-next v3 3/5] net: dsa: qca8k: support QCA8337 internal PHY CPU links Yongzhao Chen
2026-09-23 21:58 ` [RFC PATCH net-next v3 4/5] net: dsa: qca8k: flag QCA8337 internal CPU PHYs for SmartSpeed Yongzhao Chen
2026-09-24 2:51 ` Andrew Lunn
2026-09-24 23:48 ` Yongzhao Chen
2026-09-25 15:17 ` Andrew Lunn
2026-09-25 21:01 ` Yongzhao Chen
2026-09-25 21:26 ` Andrew Lunn
2026-09-26 8:21 ` Yongzhao Chen
2026-09-26 13:11 ` Andrew Lunn
2026-09-26 21:51 ` Yongzhao Chen [this message]
2026-09-27 14:48 ` Andrew Lunn
2026-09-27 15:36 ` Yongzhao Chen
2026-09-28 6:57 ` Yongzhao Chen
2026-09-27 8:05 ` Ziyang Huang
2026-09-27 15:35 ` Yongzhao Chen
2026-09-23 21:58 ` [RFC PATCH net-next v3 5/5] net: phy: qca83xx: disable SmartSpeed before resetting CPU PHYs Yongzhao Chen
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=20260926215152.376-1-yongzhao.derek@gmail.com \
--to=yongzhao.derek@gmail.com \
--cc=andrew@lunn.ch \
--cc=ansuelsmth@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=florian.fainelli@broadcom.com \
--cc=hkallweit1@gmail.com \
--cc=hzyitc@outlook.com \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.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
all inboxes | Powered by JetHome®