linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: Woojung Huh <woojung.huh@microchip.com>,
	Andrew Lunn <andrew@lunn.ch>,
	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: Fri, 24 Feb 2023 16:09:40 -0800	[thread overview]
Message-ID: <52f8bb78-0913-6e9a-7816-f32cdad688f2@roeck-us.net> (raw)
In-Reply-To: <20230224200207.GA8437@pengutronix.de>

On 2/24/23 12:02, Oleksij Rempel wrote:
[ ... ]
>>
>> For cubieboard:
>>
>> MDIO_PCS_EEE_ABLE = 0x0000
>>
>> qemu reports attempts to access unsupported registers.
>>
>> I had a look at the Allwinner mdio driver. There is no indication suggesting
>> what the real hardware would return when trying to access unsupported registers,
>> and the Ethernet controller datasheet is not public.
> 
> These are PHY accesses over MDIO bus. Ethernet controller should not
> care about content of this operations. But on qemu side, it is implemented as
> part of Ethernet controller emulation...
> 
> Since MDIO_PCS_EEE_ABLE == 0x0000, phydev->supported_eee should prevent
> other EEE related operations. But may be actual phy_read_mmd() went
> wrong. It is a combination of simple phy_read/write to different
> registers.
> 

Adding MDD read/write support in qemu doesn't help. Something else in your patch
prevents the PHY from coming up. After reverting your patch, I see

sun4i-emac 1c0b000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

in the log. This is missing with your patch in place.

Anyway, the key difference is not really the qemu emulation, but the added
unconditional call to genphy_c45_write_eee_adv() in your patch. If you look
closely into that function, you may notice that the 'changed' variable is
never set to 0.

diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
index 3813b86689d0..fee514b96ab1 100644
--- a/drivers/net/phy/phy-c45.c
+++ b/drivers/net/phy/phy-c45.c
@@ -672,7 +672,7 @@ EXPORT_SYMBOL_GPL(genphy_c45_read_mdix);
   */
  int genphy_c45_write_eee_adv(struct phy_device *phydev, unsigned long *adv)
  {
-       int val, changed;
+       int val, changed = 0;

         if (linkmode_intersects(phydev->supported_eee, PHY_EEE_CAP1_FEATURES)) {
                 val = linkmode_to_mii_eee_cap1_t(adv);

fixes the problem, both for cubieboard and xtensa.

Guenter


  reply	other threads:[~2023-02-25  0: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 [this message]
2023-02-25  6:08                       ` Oleksij Rempel
2023-02-25  6:32                         ` Guenter Roeck
2023-02-27 13:08                   ` Andrew Lunn
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=52f8bb78-0913-6e9a-7816-f32cdad688f2@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=Arun.Ramadoss@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=andrew@lunn.ch \
    --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=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).