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 linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <637891aa-19fa-4f13-9ed2-f2e14a4b1ee2@gmail.com> Date: Sat, 25 Nov 2023 16:52:19 -0800 From: Florian Fainelli <f.fainelli@...il.com> To: Christian Marangi <ansuelsmth@...il.com>, Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>, Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>, Russell King <linux@...linux.org.uk>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Vladimir Oltean <olteanv@...il.com>, David Epping <david.epping@...singlinkelectronics.com>, Harini Katakam <harini.katakam@....com>, "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [net-next PATCH 3/3] net: phy: add support for PHY package MMD read/write On 11/25/2023 4:37 PM, Christian Marangi wrote: > Some PHY in PHY package may require to read/write MMD regs to correctly > configure the PHY package. > > Add support for these additional required function in both lock and no > lock variant. > > Signed-off-by: Christian Marangi <ansuelsmth@...il.com> > --- > include/linux/phy.h | 74 +++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 74 insertions(+) > > diff --git a/include/linux/phy.h b/include/linux/phy.h > index 984bca9a82f4..1799133c8387 100644 > --- a/include/linux/phy.h > +++ b/include/linux/phy.h > @@ -2067,6 +2067,80 @@ static inline int __phy_package_write(struct phy_device *phydev, > return __mdiobus_write(phydev->mdio.bus, addr, regnum, val); > } > > +static inline int phy_package_read_mmd(struct phy_device *phydev, > + unsigned int addr_offset, int devad, > + u32 regnum) > +{ > + struct phy_package_shared *shared = phydev->shared; > + struct mii_bus *bus = phydev->mdio.bus; > + int addr, val; > + > + if (!shared || shared->base_addr + addr_offset > PHY_MAX_ADDR) > + return -EIO; You might be off by one here, should not that >= PHY_MAX_ADDR here and below? -- Florian
Powered by blists - more mailing lists