r8168: bump to 8.050.02

This commit is contained in:
sbwml 2022-05-20 04:53:06 +08:00
parent 280d1cd164
commit 43700d46b3
5 changed files with 25 additions and 13 deletions

View File

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=r8168 PKG_NAME:=r8168
PKG_VERSION:=8.050.00 PKG_VERSION:=8.050.02
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -8,7 +8,7 @@
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/crc32.h> #include <linux/crc32.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
@@ -24605,6 +24606,22 @@ rtl8168_set_bios_setting(struct net_device *dev) @@ -24607,6 +24608,22 @@ rtl8168_set_bios_setting(struct net_device *dev)
} }
} }
@ -31,7 +31,7 @@
static void static void
rtl8168_init_software_variable(struct net_device *dev) rtl8168_init_software_variable(struct net_device *dev)
{ {
@@ -25164,6 +25181,8 @@ rtl8168_init_software_variable(struct net_device *dev) @@ -25169,6 +25186,8 @@ rtl8168_init_software_variable(struct net_device *dev)
tp->NotWrMcuPatchCode = TRUE; tp->NotWrMcuPatchCode = TRUE;
} }

View File

@ -344,7 +344,7 @@ do { \
#define DASH_SUFFIX "" #define DASH_SUFFIX ""
#endif #endif
#define RTL8168_VERSION "8.050.00" NAPI_SUFFIX FIBER_SUFFIX REALWOW_SUFFIX DASH_SUFFIX #define RTL8168_VERSION "8.050.02" NAPI_SUFFIX FIBER_SUFFIX REALWOW_SUFFIX DASH_SUFFIX
#define MODULENAME "r8168" #define MODULENAME "r8168"
#define PFX MODULENAME ": " #define PFX MODULENAME ": "
@ -1599,6 +1599,7 @@ struct rtl8168_private {
u32 HwFiberModeVer; u32 HwFiberModeVer;
u32 HwFiberStat; u32 HwFiberStat;
u8 HwFiberLedMode;
u8 HwSwitchMdiToFiber; u8 HwSwitchMdiToFiber;
u8 HwSuppSerDesPhyVer; u8 HwSuppSerDesPhyVer;
@ -1781,7 +1782,7 @@ enum mcfg {
#define NIC_MAX_PHYS_BUF_COUNT_LSO2 (16*4) #define NIC_MAX_PHYS_BUF_COUNT_LSO2 (16*4)
#define GTTCPHO_SHIFT 18 #define GTTCPHO_SHIFT 18
#define GTTCPHO_MAX 0x7fU #define GTTCPHO_MAX 0x70U
#define GTPKTSIZE_MAX 0x3ffffU #define GTPKTSIZE_MAX 0x3ffffU
#define TCPHO_SHIFT 18 #define TCPHO_SHIFT 18
#define TCPHO_MAX 0x3ffU #define TCPHO_MAX 0x3ffU

View File

@ -50,6 +50,12 @@ enum {
FIBER_STAT_MAX FIBER_STAT_MAX
}; };
enum {
FIBER_LED_MODE_DEFAULT = 0,
FIBER_LED_MODE_1,
FIBER_LED_MODE_MAX
};
#define HW_FIBER_MODE_ENABLED(_M) ((_M)->HwFiberModeVer > 0) #define HW_FIBER_MODE_ENABLED(_M) ((_M)->HwFiberModeVer > 0)
#define HW_FIBER_STATUS_CONNECTED(_M) (((_M)->HwFiberStat == FIBER_STAT_CONNECT_EEPROM) || ((_M)->HwFiberStat == FIBER_STAT_CONNECT_GPO)) #define HW_FIBER_STATUS_CONNECTED(_M) (((_M)->HwFiberStat == FIBER_STAT_CONNECT_EEPROM) || ((_M)->HwFiberStat == FIBER_STAT_CONNECT_GPO))
#define HW_FIBER_STATUS_DISCONNECTED(_M) ((_M)->HwFiberStat == FIBER_STAT_DISCONNECT) #define HW_FIBER_STATUS_DISCONNECTED(_M) ((_M)->HwFiberStat == FIBER_STAT_DISCONNECT)

View File

@ -3900,7 +3900,7 @@ rtl8168_enable_exit_l1_mask(struct rtl8168_private *tp)
csi_tmp |= (BIT_10 | BIT_11); csi_tmp |= (BIT_10 | BIT_11);
rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC); rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC);
break; break;
case CFG_METHOD_21 ... CFG_METHOD_34: case CFG_METHOD_21 ... CFG_METHOD_35:
csi_tmp = rtl8168_eri_read(tp, 0xD4, 4, ERIAR_ExGMAC); csi_tmp = rtl8168_eri_read(tp, 0xD4, 4, ERIAR_ExGMAC);
csi_tmp |= (BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12); csi_tmp |= (BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12);
rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC); rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC);
@ -3927,7 +3927,7 @@ rtl8168_disable_exit_l1_mask(struct rtl8168_private *tp)
csi_tmp &= ~(BIT_10 | BIT_11); csi_tmp &= ~(BIT_10 | BIT_11);
rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC); rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC);
break; break;
case CFG_METHOD_21 ... CFG_METHOD_34: case CFG_METHOD_21 ... CFG_METHOD_35:
csi_tmp = rtl8168_eri_read(tp, 0xD4, 4, ERIAR_ExGMAC); csi_tmp = rtl8168_eri_read(tp, 0xD4, 4, ERIAR_ExGMAC);
csi_tmp &= ~(BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12); csi_tmp &= ~(BIT_7 | BIT_8 | BIT_9 | BIT_10 | BIT_11 | BIT_12);
rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC); rtl8168_eri_write(tp, 0xD4, 4, csi_tmp, ERIAR_ExGMAC);
@ -5069,7 +5069,7 @@ rtl8168_powerdown_pll(struct net_device *dev)
case CFG_METHOD_14 ... CFG_METHOD_15: case CFG_METHOD_14 ... CFG_METHOD_15:
RTL_W8(tp, 0xD0, RTL_R8(tp, 0xD0) & ~BIT_6); RTL_W8(tp, 0xD0, RTL_R8(tp, 0xD0) & ~BIT_6);
break; break;
case CFG_METHOD_16 ... CFG_METHOD_34: case CFG_METHOD_16 ... CFG_METHOD_35:
RTL_W8(tp, 0xD0, RTL_R8(tp, 0xD0) & ~BIT_6); RTL_W8(tp, 0xD0, RTL_R8(tp, 0xD0) & ~BIT_6);
RTL_W8(tp, 0xF2, RTL_R8(tp, 0xF2) & ~BIT_6); RTL_W8(tp, 0xF2, RTL_R8(tp, 0xF2) & ~BIT_6);
break; break;
@ -5912,7 +5912,7 @@ static void rtl8168_get_ringparam(struct net_device *dev,
struct rtl8168_private *tp = netdev_priv(dev); struct rtl8168_private *tp = netdev_priv(dev);
ring->rx_max_pending = MAX_NUM_TX_DESC; ring->rx_max_pending = MAX_NUM_TX_DESC;
ring->tx_max_pending = MAX_NUM_RX_DESC;; ring->tx_max_pending = MAX_NUM_RX_DESC;
ring->rx_pending = tp->num_rx_desc; ring->rx_pending = tp->num_rx_desc;
ring->tx_pending = tp->num_tx_desc; ring->tx_pending = tp->num_tx_desc;
} }
@ -6702,7 +6702,7 @@ rtl_ethtool_get_eee(struct net_device *net, struct ethtool_eee *eee)
u16 val; u16 val;
switch (tp->mcfg) { switch (tp->mcfg) {
case CFG_METHOD_21 ... CFG_METHOD_34: case CFG_METHOD_21 ... CFG_METHOD_35:
break; break;
default: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
@ -6749,7 +6749,7 @@ rtl_ethtool_set_eee(struct net_device *net, struct ethtool_eee *eee)
unsigned long flags; unsigned long flags;
switch (tp->mcfg) { switch (tp->mcfg) {
case CFG_METHOD_21 ... CFG_METHOD_34: case CFG_METHOD_21 ... CFG_METHOD_35:
break; break;
default: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
@ -7516,6 +7516,8 @@ rtl8168_test_phy_ocp_v3(struct rtl8168_private *tp)
u8 nctl_pc_range_fail; u8 nctl_pc_range_fail;
u8 nctl_pc_stuck_fail; u8 nctl_pc_stuck_fail;
if (FALSE == HW_HAS_WRITE_PHY_MCU_RAM_CODE(tp)) goto exit;
rtl8168_mdio_write(tp, 0x1F, 0x0B82); rtl8168_mdio_write(tp, 0x1F, 0x0B82);
uc_response = !!(rtl8168_mdio_read(tp, 0x10) & BIT_5); uc_response = !!(rtl8168_mdio_read(tp, 0x10) & BIT_5);
rtl8168_mdio_write(tp, 0x1F, 0x0B84); rtl8168_mdio_write(tp, 0x1F, 0x0B84);
@ -9767,7 +9769,7 @@ rtl8168_set_phy_mcu_patch_request(struct rtl8168_private *tp)
int retval = TRUE; int retval = TRUE;
switch (tp->mcfg) { switch (tp->mcfg) {
case CFG_METHOD_21 ... CFG_METHOD_34: case CFG_METHOD_21 ... CFG_METHOD_35:
rtl8168_mdio_write(tp,0x1f, 0x0B82); rtl8168_mdio_write(tp,0x1f, 0x0B82);
rtl8168_set_eth_phy_bit(tp, 0x10, BIT_4); rtl8168_set_eth_phy_bit(tp, 0x10, BIT_4);
@ -9796,7 +9798,7 @@ rtl8168_clear_phy_mcu_patch_request(struct rtl8168_private *tp)
int retval = TRUE; int retval = TRUE;
switch (tp->mcfg) { switch (tp->mcfg) {
case CFG_METHOD_21 ... CFG_METHOD_34: case CFG_METHOD_21 ... CFG_METHOD_35:
rtl8168_mdio_write(tp, 0x1f, 0x0B82); rtl8168_mdio_write(tp, 0x1f, 0x0B82);
rtl8168_clear_eth_phy_bit(tp, 0x10, BIT_4); rtl8168_clear_eth_phy_bit(tp, 0x10, BIT_4);
@ -25080,6 +25082,9 @@ rtl8168_init_software_variable(struct net_device *dev)
rtl8168_mdio_write(tp, 0x1F, 0x0000); rtl8168_mdio_write(tp, 0x1F, 0x0000);
tp->TestPhyOcpReg = TRUE; tp->TestPhyOcpReg = TRUE;
#ifdef ENABLE_USE_FIRMWARE_FILE
if (tp->HwSuppEsdVer == 3) tp->TestPhyOcpReg = FALSE;
#endif
} }
switch (tp->mcfg) { switch (tp->mcfg) {