|
Added
Link Here
|
| 1 |
--- if_re.c.orig 2023-03-12 08:31:28 UTC |
| 2 |
+++ if_re.c |
| 3 |
@@ -158,6 +158,10 @@ static struct re_type re_devs[] = { |
| 4 |
RT_VENDORID, RT_DEVICEID_8125, |
| 5 |
"Realtek PCIe 2.5GbE Family Controller" |
| 6 |
}, |
| 7 |
+ { |
| 8 |
+ RT_VENDORID, RT_DEVICEID_3000, |
| 9 |
+ "Killer PCIe 3x00 2.5GbE Family Controller" |
| 10 |
+ }, |
| 11 |
{ 0, 0, NULL } |
| 12 |
}; |
| 13 |
|
| 14 |
@@ -2907,6 +2911,7 @@ static int re_check_mac_version(struct re_softc *sc) |
| 15 |
case RT_DEVICEID_8161: |
| 16 |
case RT_DEVICEID_8162: |
| 17 |
case RT_DEVICEID_8125: |
| 18 |
+ case RT_DEVICEID_3000: |
| 19 |
//do nothing |
| 20 |
break; |
| 21 |
default: |
| 22 |
@@ -2925,6 +2930,7 @@ static void re_init_software_variable(struct re_softc |
| 23 |
case RT_DEVICEID_8162: |
| 24 |
case RT_DEVICEID_8136: |
| 25 |
case RT_DEVICEID_8125: |
| 26 |
+ case RT_DEVICEID_3000: |
| 27 |
sc->re_if_flags |= RL_FLAG_PCIE; |
| 28 |
break; |
| 29 |
} |
| 30 |
@@ -3846,6 +3852,7 @@ static int re_attach(device_t dev) |
| 31 |
|
| 32 |
switch(sc->re_device_id) { |
| 33 |
case RT_DEVICEID_8125: |
| 34 |
+ case RT_DEVICEID_3000: |
| 35 |
ifp->if_baudrate = 25000000000; |
| 36 |
break; |
| 37 |
case RT_DEVICEID_8169: |
| 38 |
@@ -3932,6 +3939,7 @@ static int re_attach(device_t dev) |
| 39 |
ifmedia_add(&sc->media, IFM_ETHER | IFM_100_TX | IFM_FDX, 0, NULL); |
| 40 |
switch(sc->re_device_id) { |
| 41 |
case RT_DEVICEID_8125: |
| 42 |
+ case RT_DEVICEID_3000: |
| 43 |
case RT_DEVICEID_8169: |
| 44 |
case RT_DEVICEID_8169SC: |
| 45 |
case RT_DEVICEID_8168: |
| 46 |
@@ -3945,6 +3953,7 @@ static int re_attach(device_t dev) |
| 47 |
} |
| 48 |
switch(sc->re_device_id) { |
| 49 |
case RT_DEVICEID_8125: |
| 50 |
+ case RT_DEVICEID_3000: |
| 51 |
ifmedia_add(&sc->media, IFM_ETHER | IFM_2500_T | IFM_FDX, 0, NULL); |
| 52 |
break; |
| 53 |
default: |
| 54 |
@@ -6362,7 +6371,7 @@ re_set_wol_linkspeed(struct re_softc *sc) |
| 55 |
|
| 56 |
if (wol_link_speed == RE_WOL_LINK_SPEED_10M_FIRST) |
| 57 |
anar &= ~(ANAR_TX_FD | ANAR_TX); |
| 58 |
- if (sc->re_device_id==RT_DEVICEID_8125 || sc->re_device_id==RT_DEVICEID_8162) { |
| 59 |
+ if (sc->re_device_id==RT_DEVICEID_8125 || sc->re_device_id==RT_DEVICEID_8162 || sc->re_device_id==RT_DEVICEID_3000) { |
| 60 |
u_int16_t gbcr; |
| 61 |
|
| 62 |
ClearEthPhyOcpBit(sc, 0xA5D4, RTK_ADVERTISE_2500FULL); |
| 63 |
@@ -6607,8 +6616,8 @@ static void re_start(struct ifnet *ifp) /* Transmit |
| 64 |
break; |
| 65 |
} |
| 66 |
|
| 67 |
- if (sc->re_type == MACFG_80 || sc->re_type == MACFG_81 || |
| 68 |
- sc->re_type == MACFG_82 || sc->re_type == MACFG_83) { |
| 69 |
+ if (sc->re_device_id != RT_DEVICEID_3000 && (sc->re_type == MACFG_80 || sc->re_type == MACFG_81 || |
| 70 |
+ sc->re_type == MACFG_82 || sc->re_type == MACFG_83)) { |
| 71 |
if (re_8125_pad(sc, m_head) != 0) { |
| 72 |
IFQ_DRV_PREPEND(&ifp->if_snd, m_head); |
| 73 |
ifp->if_drv_flags |= IFF_DRV_OACTIVE; |