diff options
author | obrien <obrien@FreeBSD.org> | 2003-04-18 03:57:22 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2003-04-18 03:57:22 +0000 |
commit | 6c86bcc82d56f7bf1e0db0c78e6274d48ae6e7b1 (patch) | |
tree | a4a023e8dbef2effad5e5eae6f04df2e1c271506 /sys/gnu/dev | |
parent | b42951578188c5aab5c9f8cbcde4a743f8092cdc (diff) | |
download | FreeBSD-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.h | 41 |
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 */ |