Messages in this thread |  | | Date | Fri, 5 Sep 2025 21:57:18 +0200 | | Subject | Re: [PATCH net-next] r8169: set EEE speed down ratio to 1 | | From | Heiner Kallweit <> |
| |
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 || >
|  |