linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Oleksij Rempel <o.rempel@pengutronix.de>,
	Woojung Huh <woojung.huh@microchip.com>,
	Arun.Ramadoss@microchip.com,
	Florian Fainelli <f.fainelli@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	UNGLinuxDriver@microchip.com, Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>, Wei Fang <wei.fang@nxp.com>,
	kernel@pengutronix.de, intel-wired-lan@lists.osuosl.org,
	Jakub Kicinski <kuba@kernel.org>,
	Vladimir Oltean <olteanv@gmail.com>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [PATCH net-next v8 6/9] net: phy: c22: migrate to genphy_c45_write_eee_adv()
Date: Mon, 27 Feb 2023 14:08:27 +0100	[thread overview]
Message-ID: <Y/yrS65V7h5vG7xN@lunn.ch> (raw)
In-Reply-To: <b0af4518-3c07-726e-79a0-19c53f799204@roeck-us.net>

> > diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
> > index f595acd0a895..67dac9f0e71d 100644
> > --- a/drivers/net/phy/phy-c45.c
> > +++ b/drivers/net/phy/phy-c45.c
> > @@ -799,6 +799,7 @@ static int genphy_c45_read_eee_cap1(struct phy_device *phydev)
> >           * (Register 3.20)
> >           */
> >          val = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
> > +       printk("MDIO_PCS_EEE_ABLE = 0x%04x", val);
> >          if (val < 0)
> >                  return val;
> > 
> 
> For cubieboard:
> 
> MDIO_PCS_EEE_ABLE = 0x0000
> 
> qemu reports attempts to access unsupported registers.

MDIO is a serial bus with two lines, clock driven by the bus master
and data. There is a pull up on the data line, so if the device does
not respond to a read request, you get 0xffff. That value is all i've
ever seen a real PHY do when asked to read a register which does not
exist. So i would say QEMU could be better emulate this.

The code actually looks for the value 0xffff and then decides that EEE
is not supporting in the PHY.

The value of 0x0 is probably being interpreted as meaning EEE is
supported, but none of the link modes, 10Mbps, 100Mbps etc support
EEE. I would say it is then legitimate to read/write other EEE
registers, so long as those writes take into account that no link
modes are actually supported.

Reading the other messages in this thread, a bug has been found in the
patches. But i would also say QEMU could do better.

      Andrew

  parent reply	other threads:[~2023-02-27 13:09 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-11  7:41 [PATCH net-next v8 0/9] net: add EEE support for KSZ9477 switch family Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 1/9] net: dsa: microchip: enable EEE support Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 2/9] net: phy: add genphy_c45_read_eee_abilities() function Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 3/9] net: phy: micrel: add ksz9477_get_features() Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 4/9] net: phy: export phy_check_valid() function Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 5/9] net: phy: add genphy_c45_ethtool_get/set_eee() support Oleksij Rempel
2023-02-26 18:06   ` Mark Brown
2023-02-27  5:52     ` Oleksij Rempel
2023-02-27 13:06       ` Mark Brown
2023-02-27 18:49         ` Jakub Kicinski
2023-02-11  7:41 ` [PATCH net-next v8 6/9] net: phy: c22: migrate to genphy_c45_write_eee_adv() Oleksij Rempel
2023-02-24  3:55   ` Guenter Roeck
2023-02-24  4:16     ` Guenter Roeck
2023-02-24  4:53       ` Oleksij Rempel
2023-02-24 16:00         ` Guenter Roeck
2023-02-24 16:52           ` Oleksij Rempel
2023-02-24 17:41             ` Guenter Roeck
2023-02-24 18:36               ` Oleksij Rempel
2023-02-24 19:17                 ` Guenter Roeck
2023-02-24 20:02                   ` Oleksij Rempel
2023-02-25  0:09                     ` Guenter Roeck
2023-02-25  6:08                       ` Oleksij Rempel
2023-02-25  6:32                         ` Guenter Roeck
2023-02-27 13:08                   ` Andrew Lunn [this message]
2023-02-27 17:03                     ` Guenter Roeck
2023-02-24 17:20       ` Guenter Roeck
2023-02-28 18:43         ` Guenter Roeck
2023-02-11  7:41 ` [PATCH net-next v8 7/9] net: phy: c45: " Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 8/9] net: phy: migrate phy_init_eee() to genphy_c45_eee_is_active() Oleksij Rempel
2023-02-11  7:41 ` [PATCH net-next v8 9/9] net: phy: start using genphy_c45_ethtool_get/set_eee() Oleksij Rempel
2023-02-13 11:30 ` [PATCH net-next v8 0/9] net: add EEE support for KSZ9477 switch family 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=Y/yrS65V7h5vG7xN@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=Arun.Ramadoss@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=kernel@pengutronix.de \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=netdev@vger.kernel.org \
    --cc=o.rempel@pengutronix.de \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=vivien.didelot@gmail.com \
    --cc=wei.fang@nxp.com \
    --cc=woojung.huh@microchip.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;
as well as URLs for NNTP newsgroup(s).