@@ -5235,12 +5235,7 @@ static void rtl_csi_access_enable(struct rtl8169_private *tp, u8 val)
5235
5235
rtl_csi_write (tp , 0x070c , csi | val << 24 );
5236
5236
}
5237
5237
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 )
5244
5239
{
5245
5240
rtl_csi_access_enable (tp , 0x27 );
5246
5241
}
@@ -5347,7 +5342,7 @@ static void rtl_hw_start_8168cp_1(struct rtl8169_private *tp)
5347
5342
{ 0x07 , 0 , 0x2000 }
5348
5343
};
5349
5344
5350
- rtl_csi_access_enable_2 (tp );
5345
+ rtl_set_def_aspm_entry_latency (tp );
5351
5346
5352
5347
rtl_ephy_init (tp , e_info_8168cp , ARRAY_SIZE (e_info_8168cp ));
5353
5348
@@ -5356,7 +5351,7 @@ static void rtl_hw_start_8168cp_1(struct rtl8169_private *tp)
5356
5351
5357
5352
static void rtl_hw_start_8168cp_2 (struct rtl8169_private * tp )
5358
5353
{
5359
- rtl_csi_access_enable_2 (tp );
5354
+ rtl_set_def_aspm_entry_latency (tp );
5360
5355
5361
5356
RTL_W8 (tp , Config3 , RTL_R8 (tp , Config3 ) & ~Beacon_en );
5362
5357
@@ -5369,7 +5364,7 @@ static void rtl_hw_start_8168cp_2(struct rtl8169_private *tp)
5369
5364
5370
5365
static void rtl_hw_start_8168cp_3 (struct rtl8169_private * tp )
5371
5366
{
5372
- rtl_csi_access_enable_2 (tp );
5367
+ rtl_set_def_aspm_entry_latency (tp );
5373
5368
5374
5369
RTL_W8 (tp , Config3 , RTL_R8 (tp , Config3 ) & ~Beacon_en );
5375
5370
@@ -5393,7 +5388,7 @@ static void rtl_hw_start_8168c_1(struct rtl8169_private *tp)
5393
5388
{ 0x06 , 0x0080 , 0x0000 }
5394
5389
};
5395
5390
5396
- rtl_csi_access_enable_2 (tp );
5391
+ rtl_set_def_aspm_entry_latency (tp );
5397
5392
5398
5393
RTL_W8 (tp , DBG_REG , 0x06 | FIX_NAK_1 | FIX_NAK_2 );
5399
5394
@@ -5409,7 +5404,7 @@ static void rtl_hw_start_8168c_2(struct rtl8169_private *tp)
5409
5404
{ 0x03 , 0x0400 , 0x0220 }
5410
5405
};
5411
5406
5412
- rtl_csi_access_enable_2 (tp );
5407
+ rtl_set_def_aspm_entry_latency (tp );
5413
5408
5414
5409
rtl_ephy_init (tp , e_info_8168c_2 , ARRAY_SIZE (e_info_8168c_2 ));
5415
5410
@@ -5423,14 +5418,14 @@ static void rtl_hw_start_8168c_3(struct rtl8169_private *tp)
5423
5418
5424
5419
static void rtl_hw_start_8168c_4 (struct rtl8169_private * tp )
5425
5420
{
5426
- rtl_csi_access_enable_2 (tp );
5421
+ rtl_set_def_aspm_entry_latency (tp );
5427
5422
5428
5423
__rtl_hw_start_8168cp (tp );
5429
5424
}
5430
5425
5431
5426
static void rtl_hw_start_8168d (struct rtl8169_private * tp )
5432
5427
{
5433
- rtl_csi_access_enable_2 (tp );
5428
+ rtl_set_def_aspm_entry_latency (tp );
5434
5429
5435
5430
rtl_disable_clock_request (tp );
5436
5431
@@ -5445,7 +5440,7 @@ static void rtl_hw_start_8168d(struct rtl8169_private *tp)
5445
5440
5446
5441
static void rtl_hw_start_8168dp (struct rtl8169_private * tp )
5447
5442
{
5448
- rtl_csi_access_enable_1 (tp );
5443
+ rtl_set_def_aspm_entry_latency (tp );
5449
5444
5450
5445
if (tp -> dev -> mtu <= ETH_DATA_LEN )
5451
5446
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)
5463
5458
{ 0x0c , 0x0100 , 0x0020 }
5464
5459
};
5465
5460
5466
- rtl_csi_access_enable_1 (tp );
5461
+ rtl_set_def_aspm_entry_latency (tp );
5467
5462
5468
5463
rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
5469
5464
@@ -5492,7 +5487,7 @@ static void rtl_hw_start_8168e_1(struct rtl8169_private *tp)
5492
5487
{ 0x0a , 0x0000 , 0x0040 }
5493
5488
};
5494
5489
5495
- rtl_csi_access_enable_2 (tp );
5490
+ rtl_set_def_aspm_entry_latency (tp );
5496
5491
5497
5492
rtl_ephy_init (tp , e_info_8168e_1 , ARRAY_SIZE (e_info_8168e_1 ));
5498
5493
@@ -5517,7 +5512,7 @@ static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)
5517
5512
{ 0x19 , 0x0000 , 0x0224 }
5518
5513
};
5519
5514
5520
- rtl_csi_access_enable_1 (tp );
5515
+ rtl_set_def_aspm_entry_latency (tp );
5521
5516
5522
5517
rtl_ephy_init (tp , e_info_8168e_2 , ARRAY_SIZE (e_info_8168e_2 ));
5523
5518
@@ -5546,11 +5541,13 @@ static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)
5546
5541
RTL_W8 (tp , DLLPR , RTL_R8 (tp , DLLPR ) | PFM_EN );
5547
5542
RTL_W32 (tp , MISC , RTL_R32 (tp , MISC ) | PWM_EN );
5548
5543
RTL_W8 (tp , Config5 , RTL_R8 (tp , Config5 ) & ~Spi_en );
5544
+
5545
+ rtl_hw_aspm_clkreq_enable (tp , true);
5549
5546
}
5550
5547
5551
5548
static void rtl_hw_start_8168f (struct rtl8169_private * tp )
5552
5549
{
5553
- rtl_csi_access_enable_2 (tp );
5550
+ rtl_set_def_aspm_entry_latency (tp );
5554
5551
5555
5552
rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
5556
5553
@@ -5621,7 +5618,7 @@ static void rtl_hw_start_8168g(struct rtl8169_private *tp)
5621
5618
rtl_eri_write (tp , 0xd0 , ERIAR_MASK_0001 , 0x48 , ERIAR_EXGMAC );
5622
5619
rtl_eri_write (tp , 0xe8 , ERIAR_MASK_1111 , 0x00100006 , ERIAR_EXGMAC );
5623
5620
5624
- rtl_csi_access_enable_1 (tp );
5621
+ rtl_set_def_aspm_entry_latency (tp );
5625
5622
5626
5623
rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
5627
5624
@@ -5720,7 +5717,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
5720
5717
rtl_eri_write (tp , 0xd0 , ERIAR_MASK_0001 , 0x48 , ERIAR_EXGMAC );
5721
5718
rtl_eri_write (tp , 0xe8 , ERIAR_MASK_1111 , 0x00100006 , ERIAR_EXGMAC );
5722
5719
5723
- rtl_csi_access_enable_1 (tp );
5720
+ rtl_set_def_aspm_entry_latency (tp );
5724
5721
5725
5722
rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
5726
5723
@@ -5804,7 +5801,7 @@ static void rtl_hw_start_8168ep(struct rtl8169_private *tp)
5804
5801
rtl_eri_write (tp , 0xd0 , ERIAR_MASK_0001 , 0x5f , ERIAR_EXGMAC );
5805
5802
rtl_eri_write (tp , 0xe8 , ERIAR_MASK_1111 , 0x00100006 , ERIAR_EXGMAC );
5806
5803
5807
- rtl_csi_access_enable_1 (tp );
5804
+ rtl_set_def_aspm_entry_latency (tp );
5808
5805
5809
5806
rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
5810
5807
@@ -6040,7 +6037,7 @@ static void rtl_hw_start_8102e_1(struct rtl8169_private *tp)
6040
6037
};
6041
6038
u8 cfg1 ;
6042
6039
6043
- rtl_csi_access_enable_2 (tp );
6040
+ rtl_set_def_aspm_entry_latency (tp );
6044
6041
6045
6042
RTL_W8 (tp , DBG_REG , FIX_NAK_1 );
6046
6043
@@ -6059,7 +6056,7 @@ static void rtl_hw_start_8102e_1(struct rtl8169_private *tp)
6059
6056
6060
6057
static void rtl_hw_start_8102e_2 (struct rtl8169_private * tp )
6061
6058
{
6062
- rtl_csi_access_enable_2 (tp );
6059
+ rtl_set_def_aspm_entry_latency (tp );
6063
6060
6064
6061
rtl_tx_performance_tweak (tp , PCI_EXP_DEVCTL_READRQ_4096B );
6065
6062
@@ -6114,7 +6111,7 @@ static void rtl_hw_start_8402(struct rtl8169_private *tp)
6114
6111
{ 0x1e , 0 , 0x4000 }
6115
6112
};
6116
6113
6117
- rtl_csi_access_enable_2 (tp );
6114
+ rtl_set_def_aspm_entry_latency (tp );
6118
6115
6119
6116
/* Force LAN exit from ASPM if Rx/Tx are not idle */
6120
6117
RTL_W32 (tp , FuncEvent , RTL_R32 (tp , FuncEvent ) | 0x002800 );
0 commit comments