Skip to content

Commit 0866cd1

Browse files
khfengdavem330
authored andcommitted
r8169: enable ASPM on RTL8106E
The Intel SoC was prevented from entering lower idle state because of RTL8106E's ASPM was not enabled. So enable ASPM on RTL8106E (chip version 39). Now the Intel SoC can enter lower idle state, power consumption and temperature are much lower. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 9423546 commit 0866cd1

File tree

1 file changed

+3
-0
lines changed
  • drivers/net/ethernet/realtek

1 file changed

+3
-0
lines changed

drivers/net/ethernet/realtek/r8169.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5627,6 +5627,8 @@ static void rtl_hw_start_8402(struct rtl8169_private *tp)
56275627

56285628
static void rtl_hw_start_8106(struct rtl8169_private *tp)
56295629
{
5630+
rtl_hw_aspm_clkreq_enable(tp, false);
5631+
56305632
/* Force LAN exit from ASPM if Rx/Tx are not idle */
56315633
RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) | 0x002800);
56325634

@@ -5635,6 +5637,7 @@ static void rtl_hw_start_8106(struct rtl8169_private *tp)
56355637
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN);
56365638

56375639
rtl_pcie_state_l2l3_enable(tp, false);
5640+
rtl_hw_aspm_clkreq_enable(tp, true);
56385641
}
56395642

56405643
static void rtl_hw_start_8101(struct rtl8169_private *tp)

0 commit comments

Comments
 (0)