Thread (6 messages) flat view 6 messages, 3 authors, 2023-01-29

Re: [PATCH 1/1] net: phy: meson-gxl: Add generic dummy stubs for MMD register access

From: Chris Healy <hidden>
Date: 2023-01-29 21:26:18
Also in: linux-amlogic, linux-arm-kernel, lkml

On Sun, Jan 29, 2023 at 2:26 AM Heiner Kallweit [off-list ref] wrote:
On 29.01.2023 03:26, Chris Healy wrote:
quoted
From: Chris Healy <redacted>
Hi Chris,
quoted
The Meson G12A Internal PHY does not support standard IEEE MMD extended
register access, therefore add generic dummy stubs to fail the read and
write MMD calls. This is necessary to prevent the core PHY code from
erroneously believing that EEE is supported by this PHY even though this
PHY does not support EEE, as MMD register access returns all FFFFs.

Signed-off-by: Chris Healy <redacted>
---
 drivers/net/phy/meson-gxl.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/meson-gxl.c
index c49062ad72c6..5e41658b1e2f 100644
--- a/drivers/net/phy/meson-gxl.c
+++ b/drivers/net/phy/meson-gxl.c
@@ -271,6 +271,8 @@ static struct phy_driver meson_gxl_phy[] = {
              .handle_interrupt = meson_gxl_handle_interrupt,
              .suspend        = genphy_suspend,
              .resume         = genphy_resume,
+             .read_mmd       = genphy_read_mmd_unsupported,
+             .write_mmd      = genphy_write_mmd_unsupported,
      },
 };
thanks for catching this. The same issue we may have for the GXL-internal PHY.
Did you check this?
I do not have HW with GXL-internal PHY so I cannot test it and don't
feel comfortable making the change for that PHY ID without someone
providing the necessary feedback.  If someone can confirm the same all
FFFFs with the MMD registers, I'd be happy to add the read/write MMD
callbacks for that PHY in v2.
One result of the issue is the invalid ethtool --show-eee output given below.
Therefore the patch should go to stable, please annotate it as [PATCH net].

Fixes tag should be:
5c3407abb338 ("net: phy: meson-gxl: add g12a support")
Yep, looking at the ethtool --show-eee output is what got me looking
at this in the first place.  I was hoping to enable EEE... ;-)

I'll add the fixes tag in v2.

EEE settings for eth0:
        EEE status: enabled - active
        Tx LPI: 1000000 (us)
        Supported EEE link modes:  100baseT/Full
                                   1000baseT/Full
                                   10000baseT/Full
                                   1000baseKX/Full
                                   10000baseKX4/Full
                                   10000baseKR/Full
        Advertised EEE link modes:  100baseT/Full
                                    1000baseT/Full
                                    10000baseT/Full
                                    1000baseKX/Full
                                    10000baseKX4/Full
                                    10000baseKR/Full
        Link partner advertised EEE link modes:  100baseT/Full
                                                 1000baseT/Full
                                                 10000baseT/Full
                                                 1000baseKX/Full
                                                 10000baseKX4/Full
                                                 10000baseKR/Full
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help