Re: [PATCH net-next v3 04/13] ax88179_178a: Add EEE HW configuration support for AX88179A
From: Andrew Lunn
Date: Fri Jul 24 2026 - 09:35:55 EST
On Fri, Jul 24, 2026 at 09:36:47AM +0200, Birger Koblitz wrote:
> The AX88179A uses a much simpler HW configuration for EEE
> via a single EEE configuration register. Add support for
> this register and replace the EEE enable/disable functions
> with a single EEE configuration function which enables/disables
> EEE in the hardware.
EEE is split between the MAC and the PHY. All the PHY parts will move
into the PHY driver when you convert to phylink.
It looks like this is about the PHY?
> +static void ax88179_eee_config(struct usbnet *dev, bool enable)
> {
> + struct ax88179_data *priv = dev->driver_priv;
> u16 tmp16;
>
> - tmp16 = GMII_PHY_PGSEL_PAGE3;
> - ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> - GMII_PHY_PAGE_SELECT, 2, &tmp16);
> -
> - tmp16 = 0x3247;
> - ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> - MII_PHYADDR, 2, &tmp16);
> -
> - tmp16 = GMII_PHY_PGSEL_PAGE5;
> - ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> - GMII_PHY_PAGE_SELECT, 2, &tmp16);
> -
> - tmp16 = 0x0680;
> - ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> - MII_BMSR, 2, &tmp16);
> + if (priv->chip_version < AX_VERSION_AX88179A) {
> + tmp16 = GMII_PHY_PGSEL_PAGE3;
> + ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> + GMII_PHY_PAGE_SELECT, 2, &tmp16);
> +
> + tmp16 = enable ? 0x3247 : 0x3246;
> + ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> + MII_PHYADDR, 2, &tmp16);
> + if (enable) {
> + tmp16 = GMII_PHY_PGSEL_PAGE5;
> + ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> + GMII_PHY_PAGE_SELECT, 2, &tmp16);
> +
> + tmp16 = 0x0680;
> + ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> + MII_BMSR, 2, &tmp16);
> + }
>
> - tmp16 = GMII_PHY_PGSEL_PAGE0;
> - ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> - GMII_PHY_PAGE_SELECT, 2, &tmp16);
> + tmp16 = GMII_PHY_PGSEL_PAGE0;
> + ax88179_write_cmd(dev, AX_ACCESS_PHY, AX88179_PHY_ID,
> + GMII_PHY_PAGE_SELECT, 2, &tmp16);
I would maybe put this into a helper. When this code gets moved in the
PHY driver it is probably going to be a function per PHY.
Andrew