summaryrefslogtreecommitdiffstats
path: root/sys/gnu/dev
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2003-04-18 03:57:22 +0000
committerobrien <obrien@FreeBSD.org>2003-04-18 03:57:22 +0000
commit6c86bcc82d56f7bf1e0db0c78e6274d48ae6e7b1 (patch)
treea4a023e8dbef2effad5e5eae6f04df2e1c271506 /sys/gnu/dev
parentb42951578188c5aab5c9f8cbcde4a743f8092cdc (diff)
downloadFreeBSD-src-6c86bcc82d56f7bf1e0db0c78e6274d48ae6e7b1.zip
FreeBSD-src-6c86bcc82d56f7bf1e0db0c78e6274d48ae6e7b1.tar.gz
Vendor import revision 1.39 of 8010.h (we renamed the file) from
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/emu10k1/emu10k1/8010.h. Rev 1.39 best matches our rev 1.3.
Diffstat (limited to 'sys/gnu/dev')
-rw-r--r--sys/gnu/dev/sound/pci/emu10k1.h41
1 files changed, 23 insertions, 18 deletions
diff --git a/sys/gnu/dev/sound/pci/emu10k1.h b/sys/gnu/dev/sound/pci/emu10k1.h
index 69a1df6..f79ec65 100644
--- a/sys/gnu/dev/sound/pci/emu10k1.h
+++ b/sys/gnu/dev/sound/pci/emu10k1.h
@@ -1,6 +1,6 @@
/*
**********************************************************************
- * emu10k1.h, derived from 8010.h
+ * 8010.h
* Copyright 1999, 2000 Creative Labs, Inc.
*
**********************************************************************
@@ -31,28 +31,29 @@
*
*
**********************************************************************
- * $FreeBSD$
*/
#ifndef _8010_H
#define _8010_H
-/* ------------------- DEFINES -------------------- */
-
-#define EMUPAGESIZE 4096 /* don't change */
-#define MAXREQVOICES 8
-#define MAXPAGES (32768 * 64 / EMUPAGESIZE) /* WAVEOUT_MAXBUFSIZE * NUM_G / EMUPAGESIZE */
-#define RESERVED 0
-#define NUM_MIDI 16
-#define NUM_G 64 /* use all channels */
-#define NUM_FXSENDS 4
+#include <linux/types.h>
+/* ------------------- DEFINES -------------------- */
-#define TMEMSIZE 256*1024
-#define TMEMSIZEREG 4
+#define CMD_WRITEFN0 0x0
+#define CMD_READFN0 0x1
+#define CMD_WRITEPTR 0x2
+#define CMD_READPTR 0x3
+#define CMD_SETRECSRC 0x4
+#define CMD_GETRECSRC 0x5
+#define CMD_GETVOICEPARAM 0x6
+#define CMD_SETVOICEPARAM 0x7
-#define IP_TO_CP(ip) ((ip == 0) ? 0 : (((0x00001000uL | (ip & 0x00000FFFL)) << (((ip >> 12) & 0x000FL) + 4)) & 0xFFFF0000uL))
+struct mixer_private_ioctl {
+ u32 cmd;
+ u32 val[10];
+};
/************************************************************************************************/
/* PCI function 0 registers, address = <val> + PCIBASE0 */
@@ -178,14 +179,16 @@
#define HCFG_AC3ENABLE_MASK 0x0x0000e0 /* AC3 async input control - Not implemented */
#define HCFG_AC3ENABLE_ZVIDEO 0x00000080 /* Channels 0 and 1 replace ZVIDEO */
#define HCFG_AC3ENABLE_CDSPDIF 0x00000040 /* Channels 0 and 1 replace CDSPDIF */
+#define HCFG_AC3ENABLE_GPSPDIF 0x00000020 /* Channels 0 and 1 replace GPSPDIF */
#define HCFG_AUTOMUTE 0x00000010 /* When set, the async sample rate convertors */
/* will automatically mute their output when */
/* they are not rate-locked to the external */
/* async audio source */
#define HCFG_LOCKSOUNDCACHE 0x00000008 /* 1 = Cancel bustmaster accesses to soundcache */
/* NOTE: This should generally never be used. */
-#define HCFG_LOCKTANKCACHE 0x00000004 /* 1 = Cancel bustmaster accesses to tankcache */
+#define HCFG_LOCKTANKCACHE_MASK 0x00000004 /* 1 = Cancel bustmaster accesses to tankcache */
/* NOTE: This should generally never be used. */
+#define HCFG_LOCKTANKCACHE 0x01020014
#define HCFG_MUTEBUTTONENABLE 0x00000002 /* 1 = Master mute button sets AUDIOENABLE = 0. */
/* NOTE: This is a 'cheap' way to implement a */
/* master mute function on the mute button, and */
@@ -260,7 +263,7 @@
#define AC97_RECORDSELECT 0x1a
#define AC97_RECORDGAIN 0x1c
#define AC97_RECORDGAINMIC 0x1e
-#define AC97_GENERALPUPOSE 0x20
+#define AC97_GENERALPURPOSE 0x20
#define AC97_3DCONTROL 0x22
#define AC97_MODEMRATE 0x24
#define AC97_POWERDOWN 0x26
@@ -339,10 +342,12 @@
#define CCCA_CURRADDR 0x18000008
#define CCR 0x09 /* Cache control register */
-#define CCR_CACHEINVALIDSIZE 0xfe000000 /* Number of invalid samples cache for this channel */
+#define CCR_CACHEINVALIDSIZE 0x07190009
+#define CCR_CACHEINVALIDSIZE_MASK 0xfe000000 /* Number of invalid samples cache for this channel */
#define CCR_CACHELOOPFLAG 0x01000000 /* 1 = Cache has a loop service pending */
#define CCR_INTERLEAVEDSAMPLES 0x00800000 /* 1 = A cache service will fetch interleaved samples */
#define CCR_WORDSIZEDSAMPLES 0x00400000 /* 1 = A cache service will fetch word sized samples */
+#define CCR_READADDRESS 0x06100009
#define CCR_READADDRESS_MASK 0x003f0000 /* Location of cache just beyond current cache service */
#define CCR_LOOPINVALSIZE 0x0000fe00 /* Number of invalid samples in cache prior to loop */
/* NOTE: This is valid only if CACHELOOPFLAG is set */
@@ -369,7 +374,7 @@
#define MAP_PTI_MASK 0x00001fff /* The 13 bit index to one of the 8192 PTE dwords */
#define ENVVOL 0x10 /* Volume envelope register */
-#define ENVVOL_MASK 0x0000ffff /* Current value of volume envelope state variable */
+#define ENVVOL_MASK 0x0000ffff /* Current value of volume envelope state variable */
/* 0x8000-n == 666*n usec delay */
#define ATKHLDV 0x11 /* Volume envelope hold and attack register */
OpenPOWER on IntegriCloud