On 9/14/2019 8:29 AM, Andrew Lunn wrote:
> On Thu, Sep 12, 2019 at 07:28:12PM +0300, Alexandru Ardelean wrote:
> 
>> +static int adin_set_edpd(struct phy_device *phydev, u16 tx_interval)
>> +{
>> +    u16 val;
>> +
>> +    if (tx_interval == ETHTOOL_PHY_EDPD_DISABLE)
>> +            return phy_clear_bits(phydev, ADIN1300_PHY_CTRL_STATUS2,
>> +                            (ADIN1300_NRG_PD_EN | ADIN1300_NRG_PD_TX_EN));
>> +
>> +    val = ADIN1300_NRG_PD_EN;
>> +
>> +    switch (tx_interval) {
>> +    case 1000: /* 1 second */
>> +            /* fallthrough */
>> +    case ETHTOOL_PHY_EDPD_DFLT_TX_MSECS:
>> +            val |= ADIN1300_NRG_PD_TX_EN;
>> +            /* fallthrough */
>> +    case ETHTOOL_PHY_EDPD_NO_TX:
>> +            break;
>> +    default:
>> +            return -EINVAL;
>> +    }
>> +
>> +    return phy_modify(phydev, ADIN1300_PHY_CTRL_STATUS2,
>> +                      (ADIN1300_NRG_PD_EN | ADIN1300_NRG_PD_TX_EN),
>> +                      val);
>> +}
>> +
> 
>>  
>> +    rc = adin_set_edpd(phydev, 1);
>> +    if (rc < 0)
>> +            return rc;
> 
> Hi Alexandru
> 
> Shouldn't this be adin_set_edpd(phydev, 1000);

That does sound like the intended use, or use
ETHTOOL_PHY_EDPD_DFLT_TX_MSECS, with that fixed:

Reviewed-by: Florian Fainelli <f.faine...@gmail.com>
-- 
Florian

Reply via email to