From 7e05cdcce55687d2e60588ebcc2e9ab5d9e316c1 Mon Sep 17 00:00:00 2001 From: AITUS95 <48457684+AITUS95@users.noreply.github.com> Date: Wed, 17 Dec 2025 03:51:19 +0100 Subject: [PATCH 1/3] Voodoo 1: Change cmdfifo_depth threshold from >300 to <80 --- src/video/vid_voodoo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/vid_voodoo.c b/src/video/vid_voodoo.c index b070e7aba..62f7159ef 100644 --- a/src/video/vid_voodoo.c +++ b/src/video/vid_voodoo.c @@ -432,7 +432,7 @@ voodoo_writel(uint32_t addr, uint32_t val, void *priv) /* Voodoo1: use higher CMDFIFO threshold to reduce wake frequency */ if (voodoo->type == VOODOO_1) { - if ((voodoo->cmdfifo_depth_wr - voodoo->cmdfifo_depth_rd) > 300) + if ((voodoo->cmdfifo_depth_wr - voodoo->cmdfifo_depth_rd) < 80) voodoo_wake_fifo_thread(voodoo); } /* Other cards (Voodoo2, Banshee, Voodoo3, ...) keep the original behavior */ From df3fa897985d113882c62e2c70a6417f93be2e2f Mon Sep 17 00:00:00 2001 From: AITUS95 <48457684+AITUS95@users.noreply.github.com> Date: Wed, 17 Dec 2025 03:53:05 +0100 Subject: [PATCH 2/3] Voodoo 1: Reduce FIFO wake delay from 2000 to 500 --- src/video/vid_voodoo_fifo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/vid_voodoo_fifo.c b/src/video/vid_voodoo_fifo.c index 4530e6b01..a7ce0850e 100644 --- a/src/video/vid_voodoo_fifo.c +++ b/src/video/vid_voodoo_fifo.c @@ -63,7 +63,7 @@ voodoo_fifo_log(const char *fmt, ...) #define WAKE_DELAY_DEFAULT (TIMER_USEC * 100) /* Per-card wake delay: Voodoo1 uses a larger delay to reduce FIFO wake frequency */ -#define WAKE_DELAY_OF(v) ((v)->type == VOODOO_1 ? (TIMER_USEC * 2000) : WAKE_DELAY_DEFAULT) +#define WAKE_DELAY_OF(v) ((v)->type == VOODOO_1 ? (TIMER_USEC * 500) : WAKE_DELAY_DEFAULT) void voodoo_wake_fifo_thread(voodoo_t *voodoo) { From bd29eadfd80913317dd8f861543b730a4877e21e Mon Sep 17 00:00:00 2001 From: AITUS95 <48457684+AITUS95@users.noreply.github.com> Date: Wed, 17 Dec 2025 10:00:19 +0100 Subject: [PATCH 3/3] Reduce cmdfifo_depth to 20 --- src/video/vid_voodoo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/vid_voodoo.c b/src/video/vid_voodoo.c index 62f7159ef..960b913a9 100644 --- a/src/video/vid_voodoo.c +++ b/src/video/vid_voodoo.c @@ -432,7 +432,7 @@ voodoo_writel(uint32_t addr, uint32_t val, void *priv) /* Voodoo1: use higher CMDFIFO threshold to reduce wake frequency */ if (voodoo->type == VOODOO_1) { - if ((voodoo->cmdfifo_depth_wr - voodoo->cmdfifo_depth_rd) < 80) + if ((voodoo->cmdfifo_depth_wr - voodoo->cmdfifo_depth_rd) < 20) voodoo_wake_fifo_thread(voodoo); } /* Other cards (Voodoo2, Banshee, Voodoo3, ...) keep the original behavior */