[Intel-wired-lan] [PATCH v1 3/3] e1000e: Additional PHY power saving in s0ix

Paul Menzel pmenzel at molgen.mpg.de
Wed Jul 14 06:09:48 UTC 2021


Dear Sasha,


Am 13.07.21 um 18:40 schrieb Sasha Neftin:
> On 7/13/2021 10:12, Paul Menzel wrote:

>> Am 24.06.21 um 10:19 schrieb Sasha Neftin:
>>
>> Could you please use a statement in the commit message summary? Maybe:
>>
>>> Disable additional PHY features(?) in S0ix
>>
>>> After transferring the MAC-PHY interface to the SMBus the PHY
>>> will save power in S0ix low power idle mode.
>>
>> I do not understand this. Please rewrite, and mention the three PHY 
>> features(?) you change.
>>
>> Please document how you tested this, and exactly how much power is saved.

> The PHY will save 47-85mW in s0ix. It is tested (by our electrical 
> validation team) on a sense resistor on a specific external board over 
> the TGL platform.
> 
> This measurement could variate from platform to platform and depends on 
> the specific platform design.

Thank you for sharing the data. Please add it to the commit message in v2.

>>> Suggested-by: Dima Ruinskiy <dima.ruinskiy at intel.com>
>>> Signed-off-by: Sasha Neftin <sasha.neftin at intel.com>
>>> ---
>>>   drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
>>>   1 file changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
>>> b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> index 6e6e2e685e9d..c4f3e5ca7294 100644
>>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> @@ -6380,10 +6380,16 @@ static void e1000e_s0ix_entry_flow(struct 
>>> e1000_adapter *adapter)
>>>           ew32(CTRL_EXT, mac_data);
>>>             /* DFT control: PHY bit: page769_20[0] = 1
>>> +         * page769_20[7] - PHY PLL stop
>>> +         * page769_20[8] - PHY go to the electrical idle
>>> +         * page769_20[9] - PHY serdes disable
>>>            * Gate PPW via EXTCNF_CTRL - set 0x0F00[7] = 1
>>>            */
>>>           e1e_rphy(hw, I82579_DFT_CTRL, &phy_data);
>>>           phy_data |= BIT(0);
>>> +        phy_data |= BIT(7);
>>> +        phy_data |= BIT(8);
>>> +        phy_data |= BIT(9);
>>>           e1e_wphy(hw, I82579_DFT_CTRL, phy_data);
>>>             mac_data = er32(EXTCNF_CTRL);
>>>


Kind regards,

Paul


More information about the Intel-wired-lan mailing list