@@ -5235,12 +5235,7 @@ static void rtl_csi_access_enable(struct rtl8169_private *tp, u8 val)
52355235 rtl_csi_write (tp , 0x070c , csi | val << 24 );
52365236}
52375237
5238- static void rtl_csi_access_enable_1 (struct rtl8169_private * tp )
5239- {
5240- rtl_csi_access_enable (tp , 0x17 );
5241- }
5242-
5243- static void rtl_csi_access_enable_2 (struct rtl8169_private * tp )
5238+ static void rtl_set_def_aspm_entry_latency (struct rtl8169_private * tp )
52445239{
52455240 rtl_csi_access_enable (tp , 0x27 );
52465241}
@@ -5347,7 +5342,7 @@ static void rtl_hw_start_8168cp_1(struct rtl8169_private *tp)
53475342 { 0x07 , 0 , 0x2000 }
53485343 };
53495344
5350- rtl_csi_access_enable_2 (tp );
5345+ rtl_set_def_aspm_entry_latency (tp );
53515346
53525347 rtl_ephy_init (tp , e_info_8168cp , ARRAY_SIZE (e_info_8168cp ));
53535348
@@ -5356,7 +5351,7 @@ static void rtl_hw_start_8168cp_1(struct rtl8169_private *tp)
53565351
53575352static void rtl_hw_start_8168cp_2 (struct rtl8169_private * tp )
53585353{
5359- rtl_csi_access_enable_2 (tp );
5354+ rtl_set_def_aspm_entry_latency (tp );
53605355
53615356 RTL_W8 (tp , Config3 , RTL_R8 (tp , Config3 ) & ~Beacon_en );
53625357
@@ -5369,7 +5364,7 @@ static void rtl_hw_start_8168cp_2(struct rtl8169_private *tp)
53695364
53705365static void rtl_hw_start_8168cp_3 (struct rtl8169_private * tp )
53715366{
5372- rtl_csi_access_enable_2 (tp );
5367+ rtl_set_def_aspm_entry_latency (tp );
53735368
53745369 RTL_W8 (tp , Config3 , RTL_R8 (tp , Config3 ) & ~Beacon_en );
53755370
@@ -5393,7 +5388,7 @@ static void rtl_hw_start_8168c_1(struct rtl8169_private *tp)
53935388 { 0x06 , 0x0080 , 0x0000 }
53945389 };
53955390
5396- rtl_csi_access_enable_2 (tp );
5391+ rtl_set_def_aspm_entry_latency (tp );
53975392
53985393 RTL_W8 (tp , DBG_REG , 0x06 | FIX_NAK_1 | FIX_NAK_2 );
53995394
@@ -5409,7 +5404,7 @@ static void rtl_hw_start_8168c_2(struct rtl8169_private *tp)
54095404 { 0x03 , 0x0400 , 0x0220 }
54105405 };
54115406
5412- rtl_csi_access_enable_2 (tp );
5407+ rtl_set_def_aspm_entry_latency (tp );
54135408
54145409 rtl_ephy_init (tp , e_info_8168c_2 , ARRAY_SIZE (e_info_8168c_2 ));
54155410
@@ -5423,14 +5418,14 @@ static void rtl_hw_start_8168c_3(struct rtl8169_private *tp)
54235418
54245419static void rtl_hw_start_8168c_4 (struct rtl8169_private * tp )
54255420{
5426- rtl_csi_access_enable_2 (tp );
5421+ rtl_set_def_aspm_entry_latency (tp );
54275422
54285423 __rtl_hw_start_8168cp (tp );
54295424}
54305425
54315426static void rtl_hw_start_8168d (struct rtl8169_private * tp )
54325427{
5433- rtl_csi_access_enable_2 (tp );
5428+ rtl_set_def_aspm_entry_latency (tp );
54345429
54355430 rtl_disable_clock_request (tp );
54365431
@@ -5445,7 +5440,7 @@ static void rtl_hw_start_8168d(struct rtl8169_private *tp)
54455440
54465441static void rtl_hw_start_8168dp (struct rtl8169_private * tp )
54475442{
5448- rtl_csi_access_enable_1 (tp );
5443+ rtl_set_def_aspm_entry_latency (tp );
54495444
54505445 if (tp -> dev -> mtu <= ETH_DATA_LEN )
54515446 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
@@ -5463,7 +5458,7 @@ static void rtl_hw_start_8168d_4(struct rtl8169_private *tp)
54635458 { 0x0c , 0x0100 , 0x0020 }
54645459 };
54655460
5466- rtl_csi_access_enable_1 (tp );
5461+ rtl_set_def_aspm_entry_latency (tp );
54675462
54685463 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
54695464
@@ -5492,7 +5487,7 @@ static void rtl_hw_start_8168e_1(struct rtl8169_private *tp)
54925487 { 0x0a , 0x0000 , 0x0040 }
54935488 };
54945489
5495- rtl_csi_access_enable_2 (tp );
5490+ rtl_set_def_aspm_entry_latency (tp );
54965491
54975492 rtl_ephy_init (tp , e_info_8168e_1 , ARRAY_SIZE (e_info_8168e_1 ));
54985493
@@ -5517,7 +5512,7 @@ static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)
55175512 { 0x19 , 0x0000 , 0x0224 }
55185513 };
55195514
5520- rtl_csi_access_enable_1 (tp );
5515+ rtl_set_def_aspm_entry_latency (tp );
55215516
55225517 rtl_ephy_init (tp , e_info_8168e_2 , ARRAY_SIZE (e_info_8168e_2 ));
55235518
@@ -5546,11 +5541,13 @@ static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)
55465541 RTL_W8 (tp , DLLPR , RTL_R8 (tp , DLLPR ) | PFM_EN );
55475542 RTL_W32 (tp , MISC , RTL_R32 (tp , MISC ) | PWM_EN );
55485543 RTL_W8 (tp , Config5 , RTL_R8 (tp , Config5 ) & ~Spi_en );
5544+
5545+ rtl_hw_aspm_clkreq_enable (tp , true);
55495546}
55505547
55515548static void rtl_hw_start_8168f (struct rtl8169_private * tp )
55525549{
5553- rtl_csi_access_enable_2 (tp );
5550+ rtl_set_def_aspm_entry_latency (tp );
55545551
55555552 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
55565553
@@ -5621,7 +5618,7 @@ static void rtl_hw_start_8168g(struct rtl8169_private *tp)
56215618 rtl_eri_write (tp , 0xd0 , ERIAR_MASK_0001 , 0x48 , ERIAR_EXGMAC );
56225619 rtl_eri_write (tp , 0xe8 , ERIAR_MASK_1111 , 0x00100006 , ERIAR_EXGMAC );
56235620
5624- rtl_csi_access_enable_1 (tp );
5621+ rtl_set_def_aspm_entry_latency (tp );
56255622
56265623 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
56275624
@@ -5720,7 +5717,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
57205717 rtl_eri_write (tp , 0xd0 , ERIAR_MASK_0001 , 0x48 , ERIAR_EXGMAC );
57215718 rtl_eri_write (tp , 0xe8 , ERIAR_MASK_1111 , 0x00100006 , ERIAR_EXGMAC );
57225719
5723- rtl_csi_access_enable_1 (tp );
5720+ rtl_set_def_aspm_entry_latency (tp );
57245721
57255722 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
57265723
@@ -5804,7 +5801,7 @@ static void rtl_hw_start_8168ep(struct rtl8169_private *tp)
58045801 rtl_eri_write (tp , 0xd0 , ERIAR_MASK_0001 , 0x5f , ERIAR_EXGMAC );
58055802 rtl_eri_write (tp , 0xe8 , ERIAR_MASK_1111 , 0x00100006 , ERIAR_EXGMAC );
58065803
5807- rtl_csi_access_enable_1 (tp );
5804+ rtl_set_def_aspm_entry_latency (tp );
58085805
58095806 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
58105807
@@ -6040,7 +6037,7 @@ static void rtl_hw_start_8102e_1(struct rtl8169_private *tp)
60406037 };
60416038 u8 cfg1 ;
60426039
6043- rtl_csi_access_enable_2 (tp );
6040+ rtl_set_def_aspm_entry_latency (tp );
60446041
60456042 RTL_W8 (tp , DBG_REG , FIX_NAK_1 );
60466043
@@ -6059,7 +6056,7 @@ static void rtl_hw_start_8102e_1(struct rtl8169_private *tp)
60596056
60606057static void rtl_hw_start_8102e_2 (struct rtl8169_private * tp )
60616058{
6062- rtl_csi_access_enable_2 (tp );
6059+ rtl_set_def_aspm_entry_latency (tp );
60636060
60646061 rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
60656062
@@ -6114,7 +6111,7 @@ static void rtl_hw_start_8402(struct rtl8169_private *tp)
61146111 { 0x1e , 0 , 0x4000 }
61156112 };
61166113
6117- rtl_csi_access_enable_2 (tp );
6114+ rtl_set_def_aspm_entry_latency (tp );
61186115
61196116 /* Force LAN exit from ASPM if Rx/Tx are not idle */
61206117 RTL_W32 (tp , FuncEvent , RTL_R32 (tp , FuncEvent ) | 0x002800 );
0 commit comments