lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 14 Mar 2020 22:48:00 +0100
From:   Andrew Lunn <andrew@...n.ch>
To:     Russell King <rmk+kernel@...linux.org.uk>
Cc:     Florian Fainelli <f.fainelli@...il.com>,
        Heiner Kallweit <hkallweit1@...il.com>,
        "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 3/3] net: phylink: pcs: add 802.3 clause 45
 helpers

On Sat, Mar 14, 2020 at 10:31:34AM +0000, Russell King wrote:
> Implement helpers for PCS accessed via the MII bus using 802.3 clause
> 45 cycles for 10GBASE-R. Only link up/down is supported, 10G full
> duplex is assumed.
> 
> Signed-off-by: Russell King <rmk+kernel@...linux.org.uk>
> ---
>  drivers/net/phy/phylink.c | 30 ++++++++++++++++++++++++++++++
>  include/linux/phylink.h   |  2 ++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> index 7ca427c46d9f..bff570f59d5c 100644
> --- a/drivers/net/phy/phylink.c
> +++ b/drivers/net/phy/phylink.c
> @@ -2247,4 +2247,34 @@ void phylink_mii_c22_pcs_an_restart(struct mdio_device *pcs)
>  }
>  EXPORT_SYMBOL_GPL(phylink_mii_c22_pcs_an_restart);
>  
> +#define C45_ADDR(d,a)	(MII_ADDR_C45 | (d) << 16 | (a))

Hi Russell

That seems like a macro that should be made global.

dsa/mv88e6xxx/serdes.c: int reg_c45 = MII_ADDR_C45 | device << 16 | reg;
dsa/mv88e6xxx/serdes.c: int reg_c45 = MII_ADDR_C45 | device << 16 | reg;
ethernet/intel/ixgbe/ixgbe_main.c:                      regnum |= (devad << 16) | MII_ADDR_C45;
ethernet/intel/ixgbe/ixgbe_main.c:                      regnum |= (devad << 16) | MII_ADDR_C45;
phy/phylink.c:          devad = MII_ADDR_C45 | devad << 16 | reg;
phy/phylink.c:          devad = MII_ADDR_C45 | devad << 16 | reg;
phy/phylink.c:          devad = MII_ADDR_C45 | devad << 16 | reg;
phy/phylink.c:          devad = MII_ADDR_C45 | devad << 16 | reg;
phy/phy-core.c:         u32 addr = MII_ADDR_C45 | (devad << 16) | (regnum & 0xffff);
phy/phy-core.c:         u32 addr = MII_ADDR_C45 | (devad << 16) | (regnum & 0xffff);
phy/phy_device.c:       reg_addr = MII_ADDR_C45 | dev_addr << 16 | MDIO_DEVS2;
phy/phy_device.c:       reg_addr = MII_ADDR_C45 | dev_addr << 16 | MDIO_DEVS1;
phy/phy_device.c:               reg_addr = MII_ADDR_C45 | i << 16 | MII_PHYSID1;
phy/phy_device.c:               reg_addr = MII_ADDR_C45 | i << 16 | MII_PHYSID2;
phy/phy.c:                      devad = MII_ADDR_C45 | devad << 16 | mii_data->reg_num;
phy/phy.c:                      devad = MII_ADDR_C45 | devad << 16 | mii_data->reg_num;
phy/bcm87xx.c:          u32 regnum = MII_ADDR_C45 | (devid << 16) | reg;

I'm not suggesting you convert all these cases, just make the macro
available and we can make more use of it later.

Thanks
	Andrew

Powered by blists - more mailing lists