49
49
#define FIRMWARE_8106E_2 "rtl_nic/rtl8106e-2.fw"
50
50
#define FIRMWARE_8168G_2 "rtl_nic/rtl8168g-2.fw"
51
51
#define FIRMWARE_8168G_3 "rtl_nic/rtl8168g-3.fw"
52
- #define FIRMWARE_8168H_1 "rtl_nic/rtl8168h-1.fw"
53
52
#define FIRMWARE_8168H_2 "rtl_nic/rtl8168h-2.fw"
54
53
#define FIRMWARE_8168FP_3 "rtl_nic/rtl8168fp-3.fw"
55
- #define FIRMWARE_8107E_1 "rtl_nic/rtl8107e-1.fw"
56
54
#define FIRMWARE_8107E_2 "rtl_nic/rtl8107e-2.fw"
57
55
#define FIRMWARE_8125A_3 "rtl_nic/rtl8125a-3.fw"
58
56
#define FIRMWARE_8125B_2 "rtl_nic/rtl8125b-2.fw"
@@ -131,20 +129,14 @@ static const struct {
131
129
[RTL_GIGA_MAC_VER_38 ] = {"RTL8411" , FIRMWARE_8411_1 },
132
130
[RTL_GIGA_MAC_VER_39 ] = {"RTL8106e" , FIRMWARE_8106E_1 },
133
131
[RTL_GIGA_MAC_VER_40 ] = {"RTL8168g/8111g" , FIRMWARE_8168G_2 },
134
- [RTL_GIGA_MAC_VER_41 ] = {"RTL8168g/8111g" },
135
132
[RTL_GIGA_MAC_VER_42 ] = {"RTL8168gu/8111gu" , FIRMWARE_8168G_3 },
136
133
[RTL_GIGA_MAC_VER_43 ] = {"RTL8106eus" , FIRMWARE_8106E_2 },
137
134
[RTL_GIGA_MAC_VER_44 ] = {"RTL8411b" , FIRMWARE_8411_2 },
138
- [RTL_GIGA_MAC_VER_45 ] = {"RTL8168h/8111h" , FIRMWARE_8168H_1 },
139
135
[RTL_GIGA_MAC_VER_46 ] = {"RTL8168h/8111h" , FIRMWARE_8168H_2 },
140
- [RTL_GIGA_MAC_VER_47 ] = {"RTL8107e" , FIRMWARE_8107E_1 },
141
136
[RTL_GIGA_MAC_VER_48 ] = {"RTL8107e" , FIRMWARE_8107E_2 },
142
- [RTL_GIGA_MAC_VER_49 ] = {"RTL8168ep/8111ep" },
143
- [RTL_GIGA_MAC_VER_50 ] = {"RTL8168ep/8111ep" },
144
137
[RTL_GIGA_MAC_VER_51 ] = {"RTL8168ep/8111ep" },
145
138
[RTL_GIGA_MAC_VER_52 ] = {"RTL8168fp/RTL8117" , FIRMWARE_8168FP_3 },
146
139
[RTL_GIGA_MAC_VER_53 ] = {"RTL8168fp/RTL8117" , },
147
- [RTL_GIGA_MAC_VER_60 ] = {"RTL8125A" },
148
140
[RTL_GIGA_MAC_VER_61 ] = {"RTL8125A" , FIRMWARE_8125A_3 },
149
141
/* reserve 62 for CFG_METHOD_4 in the vendor driver */
150
142
[RTL_GIGA_MAC_VER_63 ] = {"RTL8125B" , FIRMWARE_8125B_2 },
@@ -658,10 +650,8 @@ MODULE_FIRMWARE(FIRMWARE_8106E_1);
658
650
MODULE_FIRMWARE (FIRMWARE_8106E_2 );
659
651
MODULE_FIRMWARE (FIRMWARE_8168G_2 );
660
652
MODULE_FIRMWARE (FIRMWARE_8168G_3 );
661
- MODULE_FIRMWARE (FIRMWARE_8168H_1 );
662
653
MODULE_FIRMWARE (FIRMWARE_8168H_2 );
663
654
MODULE_FIRMWARE (FIRMWARE_8168FP_3 );
664
- MODULE_FIRMWARE (FIRMWARE_8107E_1 );
665
655
MODULE_FIRMWARE (FIRMWARE_8107E_2 );
666
656
MODULE_FIRMWARE (FIRMWARE_8125A_3 );
667
657
MODULE_FIRMWARE (FIRMWARE_8125B_2 );
@@ -689,7 +679,7 @@ static void rtl_pci_commit(struct rtl8169_private *tp)
689
679
690
680
static bool rtl_is_8125 (struct rtl8169_private * tp )
691
681
{
692
- return tp -> mac_version >= RTL_GIGA_MAC_VER_60 ;
682
+ return tp -> mac_version >= RTL_GIGA_MAC_VER_61 ;
693
683
}
694
684
695
685
static bool rtl_is_8168evl_up (struct rtl8169_private * tp )
@@ -892,8 +882,6 @@ static void rtl8168g_phy_suspend_quirk(struct rtl8169_private *tp, int value)
892
882
{
893
883
switch (tp -> mac_version ) {
894
884
case RTL_GIGA_MAC_VER_40 :
895
- case RTL_GIGA_MAC_VER_41 :
896
- case RTL_GIGA_MAC_VER_49 :
897
885
if (value & BMCR_RESET || !(value & BMCR_PDOWN ))
898
886
rtl_eri_set_bits (tp , 0x1a8 , 0xfc000000 );
899
887
else
@@ -1207,7 +1195,7 @@ static enum rtl_dash_type rtl_check_dash(struct rtl8169_private *tp)
1207
1195
case RTL_GIGA_MAC_VER_28 :
1208
1196
case RTL_GIGA_MAC_VER_31 :
1209
1197
return r8168dp_check_dash (tp ) ? RTL_DASH_DP : RTL_DASH_NONE ;
1210
- case RTL_GIGA_MAC_VER_49 ... RTL_GIGA_MAC_VER_53 :
1198
+ case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_53 :
1211
1199
return r8168ep_check_dash (tp ) ? RTL_DASH_EP : RTL_DASH_NONE ;
1212
1200
default :
1213
1201
return RTL_DASH_NONE ;
@@ -2088,8 +2076,6 @@ static enum mac_version rtl8169_get_mac_version(u16 xid, bool gmii)
2088
2076
if (ver != RTL_GIGA_MAC_NONE && !gmii ) {
2089
2077
if (ver == RTL_GIGA_MAC_VER_42 )
2090
2078
ver = RTL_GIGA_MAC_VER_43 ;
2091
- else if (ver == RTL_GIGA_MAC_VER_45 )
2092
- ver = RTL_GIGA_MAC_VER_47 ;
2093
2079
else if (ver == RTL_GIGA_MAC_VER_46 )
2094
2080
ver = RTL_GIGA_MAC_VER_48 ;
2095
2081
}
@@ -2271,7 +2257,7 @@ static void rtl_init_rxcfg(struct rtl8169_private *tp)
2271
2257
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_53 :
2272
2258
RTL_W32 (tp , RxConfig , RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST | RX_EARLY_OFF );
2273
2259
break ;
2274
- case RTL_GIGA_MAC_VER_60 ... RTL_GIGA_MAC_VER_63 :
2260
+ case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_63 :
2275
2261
RTL_W32 (tp , RxConfig , RX_FETCH_DFLT_8125 | RX_DMA_BURST );
2276
2262
break ;
2277
2263
default :
@@ -2455,7 +2441,7 @@ static void rtl_wait_txrx_fifo_empty(struct rtl8169_private *tp)
2455
2441
rtl_loop_wait_high (tp , & rtl_txcfg_empty_cond , 100 , 42 );
2456
2442
rtl_loop_wait_high (tp , & rtl_rxtx_empty_cond , 100 , 42 );
2457
2443
break ;
2458
- case RTL_GIGA_MAC_VER_60 ... RTL_GIGA_MAC_VER_61 :
2444
+ case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_61 :
2459
2445
rtl_loop_wait_high (tp , & rtl_rxtx_empty_cond , 100 , 42 );
2460
2446
break ;
2461
2447
case RTL_GIGA_MAC_VER_63 :
@@ -2700,8 +2686,8 @@ static void rtl_hw_aspm_clkreq_enable(struct rtl8169_private *tp, bool enable)
2700
2686
RTL_W8 (tp , Config2 , RTL_R8 (tp , Config2 ) | ClkReqEn );
2701
2687
2702
2688
switch (tp -> mac_version ) {
2703
- case RTL_GIGA_MAC_VER_45 ... RTL_GIGA_MAC_VER_48 :
2704
- case RTL_GIGA_MAC_VER_60 ... RTL_GIGA_MAC_VER_63 :
2689
+ case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48 :
2690
+ case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_63 :
2705
2691
/* reset ephy tx/rx disable timer */
2706
2692
r8168_mac_ocp_modify (tp , 0xe094 , 0xff00 , 0 );
2707
2693
/* chip can trigger L1.2 */
@@ -2712,8 +2698,8 @@ static void rtl_hw_aspm_clkreq_enable(struct rtl8169_private *tp, bool enable)
2712
2698
}
2713
2699
} else {
2714
2700
switch (tp -> mac_version ) {
2715
- case RTL_GIGA_MAC_VER_45 ... RTL_GIGA_MAC_VER_48 :
2716
- case RTL_GIGA_MAC_VER_60 ... RTL_GIGA_MAC_VER_63 :
2701
+ case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48 :
2702
+ case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_63 :
2717
2703
r8168_mac_ocp_modify (tp , 0xe092 , 0x00ff , 0 );
2718
2704
break ;
2719
2705
default :
@@ -3288,45 +3274,6 @@ static void rtl_hw_start_8168ep(struct rtl8169_private *tp)
3288
3274
rtl_pcie_state_l2l3_disable (tp );
3289
3275
}
3290
3276
3291
- static void rtl_hw_start_8168ep_1 (struct rtl8169_private * tp )
3292
- {
3293
- static const struct ephy_info e_info_8168ep_1 [] = {
3294
- { 0x00 , 0xffff , 0x10ab },
3295
- { 0x06 , 0xffff , 0xf030 },
3296
- { 0x08 , 0xffff , 0x2006 },
3297
- { 0x0d , 0xffff , 0x1666 },
3298
- { 0x0c , 0x3ff0 , 0x0000 }
3299
- };
3300
-
3301
- /* disable aspm and clock request before access ephy */
3302
- rtl_hw_aspm_clkreq_enable (tp , false);
3303
- rtl_ephy_init (tp , e_info_8168ep_1 );
3304
-
3305
- rtl_hw_start_8168ep (tp );
3306
-
3307
- rtl_hw_aspm_clkreq_enable (tp , true);
3308
- }
3309
-
3310
- static void rtl_hw_start_8168ep_2 (struct rtl8169_private * tp )
3311
- {
3312
- static const struct ephy_info e_info_8168ep_2 [] = {
3313
- { 0x00 , 0xffff , 0x10a3 },
3314
- { 0x19 , 0xffff , 0xfc00 },
3315
- { 0x1e , 0xffff , 0x20ea }
3316
- };
3317
-
3318
- /* disable aspm and clock request before access ephy */
3319
- rtl_hw_aspm_clkreq_enable (tp , false);
3320
- rtl_ephy_init (tp , e_info_8168ep_2 );
3321
-
3322
- rtl_hw_start_8168ep (tp );
3323
-
3324
- RTL_W8 (tp , DLLPR , RTL_R8 (tp , DLLPR ) & ~PFM_EN );
3325
- RTL_W8 (tp , MISC_1 , RTL_R8 (tp , MISC_1 ) & ~PFM_D3COLD_EN );
3326
-
3327
- rtl_hw_aspm_clkreq_enable (tp , true);
3328
- }
3329
-
3330
3277
static void rtl_hw_start_8168ep_3 (struct rtl8169_private * tp )
3331
3278
{
3332
3279
static const struct ephy_info e_info_8168ep_3 [] = {
@@ -3625,46 +3572,6 @@ static void rtl_hw_start_8125_common(struct rtl8169_private *tp)
3625
3572
udelay (10 );
3626
3573
}
3627
3574
3628
- static void rtl_hw_start_8125a_1 (struct rtl8169_private * tp )
3629
- {
3630
- static const struct ephy_info e_info_8125a_1 [] = {
3631
- { 0x01 , 0xffff , 0xa812 },
3632
- { 0x09 , 0xffff , 0x520c },
3633
- { 0x04 , 0xffff , 0xd000 },
3634
- { 0x0d , 0xffff , 0xf702 },
3635
- { 0x0a , 0xffff , 0x8653 },
3636
- { 0x06 , 0xffff , 0x001e },
3637
- { 0x08 , 0xffff , 0x3595 },
3638
- { 0x20 , 0xffff , 0x9455 },
3639
- { 0x21 , 0xffff , 0x99ff },
3640
- { 0x02 , 0xffff , 0x6046 },
3641
- { 0x29 , 0xffff , 0xfe00 },
3642
- { 0x23 , 0xffff , 0xab62 },
3643
-
3644
- { 0x41 , 0xffff , 0xa80c },
3645
- { 0x49 , 0xffff , 0x520c },
3646
- { 0x44 , 0xffff , 0xd000 },
3647
- { 0x4d , 0xffff , 0xf702 },
3648
- { 0x4a , 0xffff , 0x8653 },
3649
- { 0x46 , 0xffff , 0x001e },
3650
- { 0x48 , 0xffff , 0x3595 },
3651
- { 0x60 , 0xffff , 0x9455 },
3652
- { 0x61 , 0xffff , 0x99ff },
3653
- { 0x42 , 0xffff , 0x6046 },
3654
- { 0x69 , 0xffff , 0xfe00 },
3655
- { 0x63 , 0xffff , 0xab62 },
3656
- };
3657
-
3658
- rtl_set_def_aspm_entry_latency (tp );
3659
-
3660
- /* disable aspm and clock request before access ephy */
3661
- rtl_hw_aspm_clkreq_enable (tp , false);
3662
- rtl_ephy_init (tp , e_info_8125a_1 );
3663
-
3664
- rtl_hw_start_8125_common (tp );
3665
- rtl_hw_aspm_clkreq_enable (tp , true);
3666
- }
3667
-
3668
3575
static void rtl_hw_start_8125a_2 (struct rtl8169_private * tp )
3669
3576
{
3670
3577
static const struct ephy_info e_info_8125a_2 [] = {
@@ -3748,20 +3655,14 @@ static void rtl_hw_config(struct rtl8169_private *tp)
3748
3655
[RTL_GIGA_MAC_VER_38 ] = rtl_hw_start_8411 ,
3749
3656
[RTL_GIGA_MAC_VER_39 ] = rtl_hw_start_8106 ,
3750
3657
[RTL_GIGA_MAC_VER_40 ] = rtl_hw_start_8168g_1 ,
3751
- [RTL_GIGA_MAC_VER_41 ] = rtl_hw_start_8168g_1 ,
3752
3658
[RTL_GIGA_MAC_VER_42 ] = rtl_hw_start_8168g_2 ,
3753
3659
[RTL_GIGA_MAC_VER_43 ] = rtl_hw_start_8168g_2 ,
3754
3660
[RTL_GIGA_MAC_VER_44 ] = rtl_hw_start_8411_2 ,
3755
- [RTL_GIGA_MAC_VER_45 ] = rtl_hw_start_8168h_1 ,
3756
3661
[RTL_GIGA_MAC_VER_46 ] = rtl_hw_start_8168h_1 ,
3757
- [RTL_GIGA_MAC_VER_47 ] = rtl_hw_start_8168h_1 ,
3758
3662
[RTL_GIGA_MAC_VER_48 ] = rtl_hw_start_8168h_1 ,
3759
- [RTL_GIGA_MAC_VER_49 ] = rtl_hw_start_8168ep_1 ,
3760
- [RTL_GIGA_MAC_VER_50 ] = rtl_hw_start_8168ep_2 ,
3761
3663
[RTL_GIGA_MAC_VER_51 ] = rtl_hw_start_8168ep_3 ,
3762
3664
[RTL_GIGA_MAC_VER_52 ] = rtl_hw_start_8117 ,
3763
3665
[RTL_GIGA_MAC_VER_53 ] = rtl_hw_start_8117 ,
3764
- [RTL_GIGA_MAC_VER_60 ] = rtl_hw_start_8125a_1 ,
3765
3666
[RTL_GIGA_MAC_VER_61 ] = rtl_hw_start_8125a_2 ,
3766
3667
[RTL_GIGA_MAC_VER_63 ] = rtl_hw_start_8125b ,
3767
3668
};
@@ -4156,7 +4057,6 @@ static unsigned int rtl_quirk_packet_padto(struct rtl8169_private *tp,
4156
4057
4157
4058
switch (tp -> mac_version ) {
4158
4059
case RTL_GIGA_MAC_VER_34 :
4159
- case RTL_GIGA_MAC_VER_60 :
4160
4060
case RTL_GIGA_MAC_VER_61 :
4161
4061
case RTL_GIGA_MAC_VER_63 :
4162
4062
padto = max_t (unsigned int , padto , ETH_ZLEN );
@@ -5194,13 +5094,13 @@ static void rtl_hw_init_8125(struct rtl8169_private *tp)
5194
5094
static void rtl_hw_initialize (struct rtl8169_private * tp )
5195
5095
{
5196
5096
switch (tp -> mac_version ) {
5197
- case RTL_GIGA_MAC_VER_49 ... RTL_GIGA_MAC_VER_53 :
5097
+ case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_53 :
5198
5098
rtl8168ep_stop_cmac (tp );
5199
5099
fallthrough ;
5200
5100
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48 :
5201
5101
rtl_hw_init_8168g (tp );
5202
5102
break ;
5203
- case RTL_GIGA_MAC_VER_60 ... RTL_GIGA_MAC_VER_63 :
5103
+ case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_63 :
5204
5104
rtl_hw_init_8125 (tp );
5205
5105
break ;
5206
5106
default :
@@ -5291,7 +5191,7 @@ static void rtl_init_mac_address(struct rtl8169_private *tp)
5291
5191
/* register is set if system vendor successfully tested ASPM 1.2 */
5292
5192
static bool rtl_aspm_is_safe (struct rtl8169_private * tp )
5293
5193
{
5294
- if (tp -> mac_version >= RTL_GIGA_MAC_VER_60 &&
5194
+ if (tp -> mac_version >= RTL_GIGA_MAC_VER_61 &&
5295
5195
r8168_mac_ocp_read (tp , 0xc0b2 ) & 0xf )
5296
5196
return true;
5297
5197
@@ -5378,7 +5278,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
5378
5278
*/
5379
5279
if (rtl_aspm_is_safe (tp ))
5380
5280
rc = 0 ;
5381
- else if (tp -> mac_version >= RTL_GIGA_MAC_VER_45 )
5281
+ else if (tp -> mac_version >= RTL_GIGA_MAC_VER_46 )
5382
5282
rc = pci_disable_link_state (pdev , PCIE_LINK_STATE_L1_2 );
5383
5283
else
5384
5284
rc = pci_disable_link_state (pdev , PCIE_LINK_STATE_L1 );
0 commit comments