lkml.org 
[lkml]   [2025]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH net-next] r8169: set EEE speed down ratio to 1
From
On 9/5/2025 3:43 PM, Hau wrote:
>>
>> On 9/4/2025 4:11 AM, ChunHao Lin wrote:
>>> EEE speed down ratio (mac ocp 0xe056[7:4]) is used to control EEE
>>> speed down rate. The larger this value is, the more power can save.
>>> But it actually save less power then expected, but will impact
>>> compatibility. So set it to 1 (mac ocp 0xe056[7:4] = 0) to improve
>> compatibility.
>>>
>> Hi Hau,
>>
>> what kind of speed is this referring to? Some clock, or link speed, or ..?
>> Is EEE speed down a Realtek-specific feature?
>>
>> Are there known issues with the values used currently? Depending on the
>> answer we might consider this a fix.
>>
> It means clock (MAC MCU) speed down. It is not from spec, so it is kind of Realtek specific feature.
> It may cause packet drop or interrupt loss (different hardware may have different issue).
>
Thanks, Hau!

>>
>>> Signed-off-by: ChunHao Lin <hau@realtek.com>
>>> ---
>>> drivers/net/ethernet/realtek/r8169_main.c | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/realtek/r8169_main.c
>>> b/drivers/net/ethernet/realtek/r8169_main.c
>>> index 9c601f271c02..e5427dfce268 100644
>>> --- a/drivers/net/ethernet/realtek/r8169_main.c
>>> +++ b/drivers/net/ethernet/realtek/r8169_main.c
>>> @@ -3409,7 +3409,7 @@ static void rtl_hw_start_8168h_1(struct
>> rtl8169_private *tp)
>>> r8168_mac_ocp_modify(tp, 0xd412, 0x0fff, sw_cnt_1ms_ini);
>>> }
>>>
>>> - r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0070);
>>> + r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
>>> r8168_mac_ocp_modify(tp, 0xe052, 0x6000, 0x8008);
>>> r8168_mac_ocp_modify(tp, 0xe0d6, 0x01ff, 0x017f);
>>> r8168_mac_ocp_modify(tp, 0xd420, 0x0fff, 0x047f); @@ -3514,7
>>> +3514,7 @@ static void rtl_hw_start_8117(struct rtl8169_private *tp)
>>> r8168_mac_ocp_modify(tp, 0xd412, 0x0fff, sw_cnt_1ms_ini);
>>> }
>>>
>>> - r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0070);
>>> + r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
>>> r8168_mac_ocp_write(tp, 0xea80, 0x0003);
>>> r8168_mac_ocp_modify(tp, 0xe052, 0x0000, 0x0009);
>>> r8168_mac_ocp_modify(tp, 0xd420, 0x0fff, 0x047f); @@ -3715,7
>>> +3715,7 @@ static void rtl_hw_start_8125_common(struct rtl8169_private
>> *tp)
>>> r8168_mac_ocp_modify(tp, 0xc0b4, 0x0000, 0x000c);
>>> r8168_mac_ocp_modify(tp, 0xeb6a, 0x00ff, 0x0033);
>>> r8168_mac_ocp_modify(tp, 0xeb50, 0x03e0, 0x0040);
>>> - r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
>>> + r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
>>> r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
>>> r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
>>> if (tp->mac_version == RTL_GIGA_MAC_VER_70 ||
>


\
 
 \ /
  Last update: 2025-09-05 21:58    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog