96 lines
3.2 KiB
Diff
96 lines
3.2 KiB
Diff
diff --git a/src/dkms.conf b/src/dkms.conf
|
|
index 78eaf8b..9d93675 100644
|
|
--- a/src/dkms.conf
|
|
+++ b/src/dkms.conf
|
|
@@ -3,6 +3,3 @@
|
|
-CLEAN="make clean"
|
|
-MAKE[0]="make"
|
|
BUILT_MODULE_NAME[0]="yt6801"
|
|
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/ethernet/motorcomm"
|
|
AUTOINSTALL="yes"
|
|
-REMAKE_INITRD="yes"
|
|
diff --git a/src/fuxi-gmac-net.c b/src/fuxi-gmac-net.c
|
|
index 3e643f9..fea4c97 100644
|
|
--- a/src/fuxi-gmac-net.c
|
|
+++ b/src/fuxi-gmac-net.c
|
|
@@ -771,7 +771,9 @@ static void fxgmac_tx_hang_timer_handler(struct timer_list *t)
|
|
static void fxgmac_tx_hang_timer_handler(unsigned long data)
|
|
#endif
|
|
{
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,16,0))
|
|
+ struct fxgmac_channel *channel = timer_container_of(channel, t, expansion.tx_hang_timer);
|
|
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
|
|
struct fxgmac_channel *channel = from_timer(channel, t, expansion.tx_hang_timer);
|
|
#else
|
|
struct fxgmac_channel *channel = (struct fxgmac_channel *)data;
|
|
diff --git a/src/fuxi-gmac.h b/src/fuxi-gmac.h
|
|
index 539b507..2435f0c 100644
|
|
--- a/src/fuxi-gmac.h
|
|
+++ b/src/fuxi-gmac.h
|
|
@@ -50,6 +50,8 @@
|
|
#define FXGMAC_NS_IFA_LOCAL_LINK 1
|
|
#define FXGMAC_NS_IFA_GLOBAL_UNICAST 2
|
|
|
|
+#define FXGMAC_INT_MODERATION_ENABLED 1
|
|
+
|
|
#define FXGMAX_ASPM_WAR_EN
|
|
/* Descriptor related parameters */
|
|
#if FXGMAC_TX_HANG_TIMER_ENABLED
|
|
diff --git a/src/fuxi-gmac-net.c b/src/fuxi-gmac-net.c
|
|
--- a/src/fuxi-gmac-net.c
|
|
+++ b/src/fuxi-gmac-net.c
|
|
@@ -2133,41 +2133,0 @@
|
|
-/*
|
|
- * cmd = [0x89F0, 0x89FF]
|
|
- * When using it, we must pay attention to the thread synchronization
|
|
- * of this interface. Because it's an external call that isn't
|
|
- * initiated by the OS.
|
|
- */
|
|
-static int fxgmac_ioctl(struct net_device *netdev,
|
|
- struct ifreq *ifr, int cmd)
|
|
-{
|
|
- struct file f;
|
|
- int ret = FXGMAC_SUCCESS;
|
|
- struct fxgmac_pdata *pdata = netdev_priv(netdev);
|
|
-
|
|
- if (!netif_running(netdev) ||
|
|
- pdata->expansion.dev_state != FXGMAC_DEV_START)
|
|
- return -ENODEV;
|
|
-
|
|
- f.private_data = pdata;
|
|
-
|
|
- switch (cmd) {
|
|
- case FXGMAC_DEV_CMD:
|
|
- ret = fxgmac_netdev_ops_ioctl(&f, FXGMAC_IOCTL_DFS_COMMAND, (unsigned long)(ifr->ifr_data));
|
|
- break;
|
|
- default:
|
|
- ret = -EINVAL;
|
|
- break;
|
|
- }
|
|
-
|
|
- return ret;
|
|
-}
|
|
-
|
|
-#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0) )
|
|
-static int fxgmac_siocdevprivate(struct net_device *dev,
|
|
- struct ifreq *ifr,
|
|
- void __user *data,
|
|
- int cmd)
|
|
-{
|
|
- return fxgmac_ioctl(dev, ifr, cmd);
|
|
-}
|
|
-#endif
|
|
-
|
|
@@ -2369,4 +2328,0 @@
|
|
- .ndo_do_ioctl = fxgmac_ioctl,
|
|
-#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0) )
|
|
- .ndo_siocdevprivate = fxgmac_siocdevprivate,
|
|
-#endif
|
|
diff --git a/src/Makefile b/src/Makefile
|
|
--- a/src/Makefile
|
|
+++ b/src/Makefile
|
|
@@ -70 +70 @@
|
|
-yt6801-objs := fuxi-gmac-common.o fuxi-gmac-desc.o fuxi-gmac-ethtool.o fuxi-gmac-hw.o fuxi-gmac-net.o fuxi-gmac-pci.o fuxi-gmac-phy.o fuxi-efuse.o fuxi-gmac-ioctl.o
|
|
+yt6801-objs := fuxi-gmac-common.o fuxi-gmac-desc.o fuxi-gmac-ethtool.o fuxi-gmac-hw.o fuxi-gmac-net.o fuxi-gmac-pci.o fuxi-gmac-phy.o fuxi-efuse.o
|