1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-29 12:03:03 +00:00

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.
This commit is contained in:
David E. O'Brien 2003-04-18 03:57:22 +00:00
parent bae1233ffa
commit 11e9b2d70a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor-sys/alsa/dist/; revision=113651
svn path=/vendor-sys/alsa/1.39/; revision=113652; tag=vendor/alsa/1.39

View File

@ -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
#include <linux/types.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
#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 TMEMSIZE 256*1024
#define TMEMSIZEREG 4
#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 */