[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1b398b5c-ce16-fee7-6e83-c6cd6bc6c840@gmail.com>
Date: Thu, 5 Sep 2019 10:23:33 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: "Ardelean, Alexandru" <alexandru.Ardelean@...log.com>,
"andrew@...n.ch" <andrew@...n.ch>
Cc: "davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"hkallweit1@...il.com" <hkallweit1@...il.com>
Subject: Re: [PATCH v2 1/2] ethtool: implement Energy Detect Powerdown support
via phy-tunable
On 9/4/19 11:25 PM, Ardelean, Alexandru wrote:
> On Wed, 2019-09-04 at 21:53 +0200, Andrew Lunn wrote:
>> [External]
>>
>> On Wed, Sep 04, 2019 at 07:23:21PM +0300, Alexandru Ardelean wrote:
>>
>> Hi Alexandru
>>
>> Somewhere we need a comment stating what EDPD means. Here would be a
>> good place.
>
> ack
>
>>
>>> +#define ETHTOOL_PHY_EDPD_DFLT_TX_INTERVAL 0x7fff
>>> +#define ETHTOOL_PHY_EDPD_NO_TX 0x8000
>>> +#define ETHTOOL_PHY_EDPD_DISABLE 0
>>
>> I think you are passing a u16. So why not 0xfffe and 0xffff? We also
>> need to make it clear what the units are for interval. This file
>
> I initially thought about keeping this u8 and going with 0xff & 0xfe.
> But 254 or 253 could be too small to specify the value of an interval.
>
> Also (maybe due ti all the coding-patterns that I saw over the course of some time), make me feel that I should add a
> flag somewhere.
>
> Bottom line is: 0xfffe and 0xffff also work from my side, if it is acceptable (by the community).
>
> Another approach I considered, was to maybe have this EDPD just do enable & disable (which is sufficient for the `adin`
> PHY & `micrel` as well).
> That would mean that if we would ever want to configure the TX interval (in the future), we would need an extra PHY-
> tunable parameter just for that; because changing the enable/disable behavior would be dangerous.
> And also, deferring the TX-interval configuration, does not sound like good design/pattern, since it can allow for tons
> of PHY-tunable parameters for every little knob.
It seems to me that the interval is a better way to deal with that, if
you specify a non zero interval, you enable EDPD, even if your PHY can
only act on an enable/disable bit. For PHYs that do support setting a TX
internal, the non-zero interval can be translated into whatever
appropriate unit. In all cases, a 0 interval means disable.
Andrew, does that work for you?
--
Florian
Powered by blists - more mailing lists