Module Name:    src
Committed By:   macallan
Date:           Sun Jan 26 05:20:57 UTC 2025

Modified Files:
        src/sys/dev/ic: summitreg.h

Log Message:
document FIFO behaviour and cursor register access
NFC


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/ic/summitreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ic/summitreg.h
diff -u src/sys/dev/ic/summitreg.h:1.13 src/sys/dev/ic/summitreg.h:1.14
--- src/sys/dev/ic/summitreg.h:1.13	Fri Jan 24 07:43:42 2025
+++ src/sys/dev/ic/summitreg.h	Sun Jan 26 05:20:57 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: summitreg.h,v 1.13 2025/01/24 07:43:42 macallan Exp $	*/
+/*	$NetBSD: summitreg.h,v 1.14 2025/01/26 05:20:57 macallan Exp $	*/
 
 /*
  * Copyright (c) 2024 Michael Lorenz
@@ -42,6 +42,14 @@
 	#define CONTROL_WFC	0x00000200	// FIFO when 0, direct when 1
 #define VISFX_FC		0x641040	// Fault Control
 #define VISFX_STATUS		0x641400	// zero when idle
+/*
+ * about the FIFO register:
+ * - on FX4, there are 0x800 FIFO slots, quite a lot
+ * - based on observation, every register write seems to occupy *two* slots
+ * - we need to write 0 to VISFX_CONTROL to enable FIFO pacing
+ * - the FIFO is quite difficult to overrun but things like x11perf copywinwin
+ *   will do it if we're not careful
+ */
 #define VISFX_FIFO		0x641440
 #define VISFX_FOE		0x920404	// Fragment Operation Enable
 	#define FOE_TEXTURE	0x00000001
@@ -144,9 +152,7 @@
  */
 
 /*
- * Turns out 0x40xxxx and 0x80xxxx access the same registers, one difference
- * is that through 0x80xxxx we can read back at least some values, so use
- * that one
+ * use unbuffered space for cursor registers
  * The _POS, _INDEX and _DATA registers work exactly like on HCRX
  */
 

Reply via email to