[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7866cb18-b50e-7e1f-545a-86f4678f868b@gmail.com>
Date: Tue, 23 Feb 2021 19:54:17 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Joakim Zhang <qiangqing.zhang@....com>,
Jakub Kicinski <kuba@...nel.org>
Cc: "peppe.cavallaro@...com" <peppe.cavallaro@...com>,
"alexandre.torgue@...com" <alexandre.torgue@...com>,
"joabreu@...opsys.com" <joabreu@...opsys.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
dl-linux-imx <linux-imx@....com>
Subject: Re: [PATCH V1 net-next 0/3] net: stmmac: implement clocks
On 2/23/2021 6:47 PM, Joakim Zhang wrote:
>
>> -----Original Message-----
>> From: Jakub Kicinski <kuba@...nel.org>
>> Sent: 2021年2月24日 10:35
>> To: Joakim Zhang <qiangqing.zhang@....com>
>> Cc: peppe.cavallaro@...com; alexandre.torgue@...com;
>> joabreu@...opsys.com; davem@...emloft.net; netdev@...r.kernel.org;
>> dl-linux-imx <linux-imx@....com>
>> Subject: Re: [PATCH V1 net-next 0/3] net: stmmac: implement clocks
>>
>> On Wed, 24 Feb 2021 02:13:05 +0000 Joakim Zhang wrote:
>>>>> The aim is to enable clocks when it needs, others keep clocks disabled.
>>>>
>>>> Understood. Please double check ethtool callbacks work fine. People
>>>> often forget about those when disabling clocks in .close.
>>>
>>> Hi Jakub,
>>>
>>> If NIC is open then clocks are always enabled, so all ethtool
>>> callbacks should be okay.
>>>
>>> Could you point me which ethtool callbacks could be invoked when NIC
>>> is closed? I'm not very familiar with ethtool use case. Thanks.
>>
>> Well, all of them - ethtool does not check if the device is open.
>> User can access and configure the device when it's closed.
>> Often the callbacks access only driver data, but it's implementation specific so
>> you'll need to validate the callbacks stmmac implements.
>
> Thanks Jakub, I will check these callbacks.
You can implement ethtool_ops::begin and ethtool_ops::complete where you
would enable the clock, and respectively disable it just for the time of
the operation. The ethtool framework guarantees that begin is called at
the beginning and complete at the end. You can also make sure that if
the interface is disabled you only return a cached copy of the
settings/MIB counters (they are not updating since the HW is disabled)
and conversely only store parameters in a cached structure and apply
those when the network device gets opened again. Either way would work.
--
Florian
Powered by blists - more mailing lists