From: Donggeun Yoo <donggeunyoo.kernel@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
"David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: Russell King <linux@armlinux.org.uk>,
Daniel Golle <daniel@makrotopia.org>,
Rosen Penev <rosenp@gmail.com>,
Christian Marangi <ansuelsmth@gmail.com>,
Sashiko <sashiko-bot@kernel.org>,
netdev@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Donggeun Yoo <donggeunyoo.kernel@gmail.com>
Subject: [PATCH net v3 0/2] net: phy: qca808x: fix the active-high LED polarity mode
Date: Wed, 16 Sep 2026 07:31:36 +0900 [thread overview]
Message-ID: <20260915223138.321307-1-donggeunyoo.kernel@gmail.com> (raw)
A QCA8081 with an 'active-high' LED node does not work today, in two
separate ways, so this is now two patches: qca808x_led_polarity_set()
rejects the mode outright, and once it stops doing that
qca808x_config_init() still will not put the bit back after the reset
phy_init_hw() runs.
Tested in QEMU against a synthetic MDIO bus that answers as a QCA8081 and
emulates MMD7 0x901a, with the reset clearing BIT(6) as f203c8c77c76
describes. One kernel, one harness, three arms, x86_64, 7.3.0-rc2+:
DT node base 1/2 only 1/2 + 2/2
active-high -EINVAL inverted correct
active-low correct correct correct
no polarity node correct correct correct
high-impedance -EINVAL -EINVAL -EINVAL
Still no QCA808x hardware here; the harness emulates the one register, so
a confirmation on a real board would be welcome.
Changes since v2: https://lore.kernel.org/netdev/20260914214720.2467586-1-donggeunyoo.kernel@gmail.com/
- Split in two, one defect each, per Christian Marangi.
- Add QCA808X_PHY_LED_UNSET and express the condition as
PHY_LED_ACTIVE_LOW instead of bare -1/0/1, per Christian Marangi.
- Tested rather than compile-tested; see the table above.
Donggeun Yoo (2):
net: phy: qca808x: accept the active-high LED polarity mode
net: phy: qca808x: keep an explicit active-high LED across the reset
drivers/net/phy/qcom/qca808x.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
--
2.53.0
next reply other threads:[~2026-09-15 22:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 22:31 Donggeun Yoo [this message]
2026-09-15 22:31 ` [PATCH net v3 1/2] net: phy: qca808x: accept the active-high LED polarity mode Donggeun Yoo
2026-09-16 23:56 ` Christian Marangi
2026-09-15 22:31 ` [PATCH net v3 2/2] net: phy: qca808x: keep an explicit active-high LED across the reset Donggeun Yoo
2026-09-16 23:57 ` Christian Marangi
2026-09-18 0:10 ` [PATCH net v3 0/2] net: phy: qca808x: fix the active-high LED polarity mode patchwork-bot+netdevbpf
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=20260915223138.321307-1-donggeunyoo.kernel@gmail.com \
--to=donggeunyoo.kernel@gmail.com \
--cc=andrew@lunn.ch \
--cc=ansuelsmth@gmail.com \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.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=pabeni@redhat.com \
--cc=rosenp@gmail.com \
--cc=sashiko-bot@kernel.org \
--cc=stable@vger.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.