On 6/24/19 4:52 PM, Andrew Lunn wrote:
>> +static int mt7530_isolate_ephy(struct dsa_switch *ds,
>> + struct device_node *ephy_node)
>> +{
>> + struct phy_device *phydev = of_phy_find_device(ephy_node);
>> + int ret;
>> +
>> + if (!phydev)
>> + return 0;
>> +
>> + ret = phy_modify(phydev, MII_BMCR, 0, (BMCR_ISOLATE | BMCR_PDOWN));
> genphy_suspend() does what you want.
>
>> + if (ret)
>> + dev_err(ds->dev, "Failed to put phy %s in isolation mode!\n",
>> + ephy_node->full_name);
>> + else
>> + dev_info(ds->dev, "Phy %s in isolation mode!\n",
>> + ephy_node->full_name);
> No need to clog up the system with yet more kernel messages.
>
> Andrew
>
Yes, keep in mind that many mt7530-based devices have a 56k serial
console that gets ring buffer spew. This created a real problem on the
mt7620 wifi drivers when they spewed every time a packet needed to be
dropped. So at the very least, for any message that can be spammed,
rate limit it please.
Daniel