diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /sound/pci/au88x0/au88x0_a3d.h |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'sound/pci/au88x0/au88x0_a3d.h')
-rw-r--r-- | sound/pci/au88x0/au88x0_a3d.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/sound/pci/au88x0/au88x0_a3d.h b/sound/pci/au88x0/au88x0_a3d.h new file mode 100644 index 000000000000..0584c65bcab0 --- /dev/null +++ b/sound/pci/au88x0/au88x0_a3d.h | |||
@@ -0,0 +1,123 @@ | |||
1 | /*************************************************************************** | ||
2 | * au88x0_a3d.h | ||
3 | * | ||
4 | * Fri Jul 18 14:16:03 2003 | ||
5 | * Copyright 2003 mjander | ||
6 | * mjander@users.sourceforge.net | ||
7 | ****************************************************************************/ | ||
8 | |||
9 | /* | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU Library General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
23 | */ | ||
24 | |||
25 | #ifndef _AU88X0_A3D_H | ||
26 | #define _AU88X0_A3D_H | ||
27 | |||
28 | //#include <openal.h> | ||
29 | |||
30 | #define HRTF_SZ 0x38 | ||
31 | #define DLINE_SZ 0x28 | ||
32 | |||
33 | #define CTRLID_HRTF 1 | ||
34 | #define CTRLID_ITD 2 | ||
35 | #define CTRLID_ILD 4 | ||
36 | #define CTRLID_FILTER 8 | ||
37 | #define CTRLID_GAINS 16 | ||
38 | |||
39 | /* 3D parameter structs */ | ||
40 | typedef unsigned short int a3d_Hrtf_t[HRTF_SZ]; | ||
41 | typedef unsigned short int a3d_ItdDline_t[DLINE_SZ]; | ||
42 | typedef unsigned short int a3d_atmos_t[5]; | ||
43 | typedef unsigned short int a3d_LRGains_t[2]; | ||
44 | typedef unsigned short int a3d_Itd_t[2]; | ||
45 | typedef unsigned short int a3d_Ild_t[2]; | ||
46 | |||
47 | typedef struct { | ||
48 | void *vortex; // Formerly CAsp4HwIO*, now vortex_t*. | ||
49 | unsigned int source; /* this_04 */ | ||
50 | unsigned int slice; /* this_08 */ | ||
51 | a3d_Hrtf_t hrtf[2]; | ||
52 | a3d_Itd_t itd; | ||
53 | a3d_Ild_t ild; | ||
54 | a3d_ItdDline_t dline; | ||
55 | a3d_atmos_t filter; | ||
56 | } a3dsrc_t; | ||
57 | |||
58 | /* First Register bank */ | ||
59 | |||
60 | #define A3D_A_HrtfCurrent 0x18000 /* 56 ULONG */ | ||
61 | #define A3D_A_GainCurrent 0x180E0 | ||
62 | #define A3D_A_GainTarget 0x180E4 | ||
63 | #define A3D_A_A12Current 0x180E8 /* Atmospheric current. */ | ||
64 | #define A3D_A_A21Target 0x180EC /* Atmospheric target */ | ||
65 | #define A3D_A_B01Current 0x180F0 /* Atmospheric current */ | ||
66 | #define A3D_A_B10Target 0x180F4 /* Atmospheric target */ | ||
67 | #define A3D_A_B2Current 0x180F8 /* Atmospheric current */ | ||
68 | #define A3D_A_B2Target 0x180FC /* Atmospheric target */ | ||
69 | #define A3D_A_HrtfTarget 0x18100 /* 56 ULONG */ | ||
70 | #define A3D_A_ITDCurrent 0x181E0 | ||
71 | #define A3D_A_ITDTarget 0x181E4 | ||
72 | #define A3D_A_HrtfDelayLine 0x181E8 /* 56 ULONG */ | ||
73 | #define A3D_A_ITDDelayLine 0x182C8 /* 40/45 ULONG */ | ||
74 | #define A3D_A_HrtfTrackTC 0x1837C /* Time Constants */ | ||
75 | #define A3D_A_GainTrackTC 0x18380 | ||
76 | #define A3D_A_CoeffTrackTC 0x18384 | ||
77 | #define A3D_A_ITDTrackTC 0x18388 | ||
78 | #define A3D_A_x1 0x1838C | ||
79 | #define A3D_A_x2 0x18390 | ||
80 | #define A3D_A_y1 0x18394 | ||
81 | #define A3D_A_y2 0x18398 | ||
82 | #define A3D_A_HrtfOutL 0x1839C | ||
83 | #define A3D_A_HrtfOutR 0x183A0 | ||
84 | #define A3D_A_TAIL 0x183A4 | ||
85 | |||
86 | /* Second register bank */ | ||
87 | #define A3D_B_HrtfCurrent 0x19000 /* 56 ULONG */ | ||
88 | #define A3D_B_GainCurrent 0x190E0 | ||
89 | #define A3D_B_GainTarget 0x190E4 | ||
90 | #define A3D_B_A12Current 0x190E8 | ||
91 | #define A3D_B_A21Target 0x190EC | ||
92 | #define A3D_B_B01Current 0x190F0 | ||
93 | #define A3D_B_B10Target 0x190F4 | ||
94 | #define A3D_B_B2Current 0x190F8 | ||
95 | #define A3D_B_B2Target 0x190FC | ||
96 | #define A3D_B_HrtfTarget 0x19100 /* 56 ULONG */ | ||
97 | #define A3D_B_ITDCurrent 0x191E0 | ||
98 | #define A3D_B_ITDTarget 0x191E4 | ||
99 | #define A3D_B_HrtfDelayLine 0x191E8 /* 56 ULONG */ | ||
100 | #define A3D_B_TAIL 0x192C8 | ||
101 | |||
102 | /* There are 4 slices, 4 a3d each = 16 a3d sources. */ | ||
103 | #define A3D_SLICE_BANK_A 0x18000 /* 4 sources */ | ||
104 | #define A3D_SLICE_BANK_B 0x19000 /* 4 sources */ | ||
105 | #define A3D_SLICE_VDBDest 0x19C00 /* 8 ULONG */ | ||
106 | #define A3D_SLICE_VDBSource 0x19C20 /* 4 ULONG */ | ||
107 | #define A3D_SLICE_ABReg 0x19C30 | ||
108 | #define A3D_SLICE_CReg 0x19C34 | ||
109 | #define A3D_SLICE_Control 0x19C38 | ||
110 | #define A3D_SLICE_DebugReserved 0x19C3c /* Dangerous! */ | ||
111 | #define A3D_SLICE_Pointers 0x19C40 | ||
112 | #define A3D_SLICE_TAIL 0x1A000 | ||
113 | |||
114 | // Slice size: 0x2000 | ||
115 | // Source size: 0x3A4, 0x2C8 | ||
116 | |||
117 | /* Address generator macro. */ | ||
118 | #define a3d_addrA(slice,source,reg) (((slice)<<0xd)+((source)*0x3A4)+(reg)) | ||
119 | #define a3d_addrB(slice,source,reg) (((slice)<<0xd)+((source)*0x2C8)+(reg)) | ||
120 | #define a3d_addrS(slice,reg) (((slice)<<0xd)+(reg)) | ||
121 | //#define a3d_addr(slice,source,reg) (((reg)>=0x19000) ? a3d_addr2((slice),(source),(reg)) : a3d_addr1((slice),(source),(reg))) | ||
122 | |||
123 | #endif /* _AU88X0_A3D_H */ | ||