Messages in this thread | | | From | <> | Subject | Re: [PATCH net-next v2 2/6] net: phy: microchip_t1s: replace read-modify-write code with phy_modify_mmd | Date | Tue, 23 May 2023 06:15:38 +0000 |
| |
Hi Andrew,
On 22/05/23 6:01 pm, Andrew Lunn wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > >> >> /* Read-Modified Write Pseudocode (from AN1699) >> * current_val = read_register(mmd, addr) // Read current register value > > Hi Parthiban > > Maybe extend the comment to indicate that although AN1699 says Read, > Modify, Write, the write is not required if the register already has > the required value. That is what phy_modify_mmd() actually does. Sure, I will add it in the next version.
Best Regards, Parthiban V > >> @@ -74,12 +72,11 @@ static int lan867x_config_init(struct phy_device *phydev) >> * write_register(mmd, addr, new_val) // Write back updated register value >> */ >> for (int i = 0; i < ARRAY_SIZE(lan867x_fixup_registers); i++) { >> - reg = lan867x_fixup_registers[i]; >> - reg_value = phy_read_mmd(phydev, MDIO_MMD_VEND2, reg); >> - reg_value &= ~lan867x_fixup_masks[i]; >> - reg_value |= lan867x_fixup_values[i]; >> - err = phy_write_mmd(phydev, MDIO_MMD_VEND2, reg, reg_value); >> - if (err != 0) >> + err = phy_modify_mmd(phydev, MDIO_MMD_VEND2, >> + lan867x_fixup_registers[i], >> + lan867x_fixup_masks[i], >> + lan867x_fixup_values[i]); >> + if (err) >> return err; >> } > > > Andrew > > --- > pw-bot: cr
| |