


























Hi, I created this patch for the 6.16 kernel and it runs very well on my machine.
--- a/src/fuxi-gmac-net.c 2025-04-28 13:51:16.000000000 +0800
+++ b/src/fuxi-gmac-net.c 2025-08-14 23:12:32.145205587 +0800
@@ -772,7 +772,9 @@
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;
--- a/src/fuxi-gmac-phy.c 2025-04-28 13:51:16.000000000 +0800
+++ b/src/fuxi-gmac-phy.c 2025-08-14 23:18:43.972276438 +0800
@@ -322,7 +322,9 @@
static void fxgmac_phy_link_poll(unsigned long data)
#endif
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,16,0))
+ struct fxgmac_pdata *pdata = timer_container_of(pdata, t, expansion.phy_poll_tm);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
struct fxgmac_pdata *pdata = from_timer(pdata, t, expansion.phy_poll_tm);
#else
struct fxgmac_pdata *pdata = (struct fxgmac_pdata*)data;
@@ -350,7 +352,9 @@
int fxgmac_phy_timer_init(struct fxgmac_pdata *pdata)
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,16,0))
+ timer_init_key(&pdata->expansion.phy_poll_tm, NULL, 0, "fuxi_phy_link_update_timer", NULL);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
init_timer_key(&pdata->expansion.phy_poll_tm, NULL, 0, "fuxi_phy_link_update_timer", NULL);
#else
init_timer_key(&pdata->expansion.phy_poll_tm, 0, "fuxi_phy_link_update_timer", NULL);
@@ -368,6 +372,10 @@
void fxgmac_phy_timer_destroy(struct fxgmac_pdata *pdata)
{
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,15,0))
+ timer_shutdown_sync(&pdata->expansion.phy_poll_tm);
+#else
del_timer_sync(&pdata->expansion.phy_poll_tm);
+#endif
DPRINTK("fxgmac_phy_timer removed\n");
}
@eniac I have tried to local patch myself based on the EndeavourOS patching to build....failed miserably
@wrdn I'm using it on EndeavourOS and it works here. Maybe try asking on the CachyOS forum.
Package Fails to install 2/5) Install DKMS modules ==> dkms install --no-depmod yt6801/1.0.30 -k 6.16.0-5-cachyos
Error! Bad return status for module build on kernel: 6.16.0-5-cachyos (x86_64) Consult /var/lib/dkms/yt6801/1.0.30/build/make.log for more information.
fuxi-gmac-phy.c: In function ‘fxgmac_phy_link_poll’:
fuxi-gmac-phy.c:326:34: error: implicit declaration of function ‘from_timer’; did you mean ‘mod_timer’? [-Wimplicit-function-declaration]
326 | struct fxgmac_pdata pdata = from_timer(pdata, t, expansion.phy_poll_tm);
| ^~
| mod_timer
fuxi-gmac-phy.c:326:55: error: ‘expansion’ undeclared (first use in this function)
326 | struct fxgmac_pdata pdata = from_timer(pdata, t, expansion.phy_poll_tm);
| ^
fuxi-gmac-phy.c:326:55: note: each undeclared identifier is reported only once for each function it appears in
fuxi-gmac-hw.c: In function ‘fxgmac_config_rss’:
fuxi-gmac-hw.c:2715:62: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body]
2715 | DPRINTK("fxgmac_config_rss: error configuring RSS\n");
| ^
fuxi-gmac-phy.c: In function ‘fxgmac_phy_timer_init’:
fuxi-gmac-phy.c:354:5: error: implicit declaration of function ‘init_timer_key’ [-Wimplicit-function-declaration]
354 | init_timer_key(&pdata->expansion.phy_poll_tm, NULL, 0, "fuxi_phy_link_update_timer", NULL);
| ^~
make[3]: *** [/usr/lib/modules/6.16.0-5-cachyos/build/scripts/Makefile.build:287: fuxi-gmac-phy.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/usr/lib/modules/6.16.0-5-cachyos/build/Makefile:2008: .] Error 2
make[1]: *** [/usr/lib/modules/6.16.0-5-cachyos/build/Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/var/lib/dkms/yt6801/1.0.30/build'
make: *** [Makefile:248: __sub-make] Error 2
make: Leaving directory '/usr/lib/modules/6.16.0-5-cachyos/build'
I see this in dmesg with this driver, any idea?
yt6801 0000:64:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0015 address=0x0 flags=0x0020]
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
Thanks Rikka for the updates from tuxedo!