Lines Matching +full:0 +full:x00000083

99 	unsigned right_bit = (mode & EMU8000_RAM_RIGHT) ? 0x01000000 : 0;  in snd_emu8000_dma_chan()
102 EMU8000_CCCA_WRITE(emu, ch, 0); in snd_emu8000_dma_chan()
103 EMU8000_DCYSUSV_WRITE(emu, ch, 0x807F); in snd_emu8000_dma_chan()
106 EMU8000_DCYSUSV_WRITE(emu, ch, 0x80); in snd_emu8000_dma_chan()
107 EMU8000_VTFT_WRITE(emu, ch, 0); in snd_emu8000_dma_chan()
108 EMU8000_CVCF_WRITE(emu, ch, 0); in snd_emu8000_dma_chan()
109 EMU8000_PTRX_WRITE(emu, ch, 0x40000000); in snd_emu8000_dma_chan()
110 EMU8000_CPF_WRITE(emu, ch, 0x40000000); in snd_emu8000_dma_chan()
111 EMU8000_PSST_WRITE(emu, ch, 0); in snd_emu8000_dma_chan()
112 EMU8000_CSL_WRITE(emu, ch, 0); in snd_emu8000_dma_chan()
114 EMU8000_CCCA_WRITE(emu, ch, 0x06000000 | right_bit); in snd_emu8000_dma_chan()
116 EMU8000_CCCA_WRITE(emu, ch, 0x04000000 | right_bit); in snd_emu8000_dma_chan()
124 while ((EMU8000_SMALR_READ(emu) & 0x80000000) != 0) { in snd_emu8000_read_wait()
136 while ((EMU8000_SMALW_READ(emu) & 0x80000000) != 0) { in snd_emu8000_write_wait()
150 EMU8000_HWCF1_WRITE(emu, 0x0059); in snd_emu8000_detect()
151 EMU8000_HWCF2_WRITE(emu, 0x0020); in snd_emu8000_detect()
152 EMU8000_HWCF3_WRITE(emu, 0x0000); in snd_emu8000_detect()
155 if ((EMU8000_U1_READ(emu) & 0x000f) != 0x000c) in snd_emu8000_detect()
158 if ((EMU8000_HWCF1_READ(emu) & 0x007e) != 0x0058) in snd_emu8000_detect()
160 if ((EMU8000_HWCF2_READ(emu) & 0x0003) != 0x0003) in snd_emu8000_detect()
163 dev_dbg(emu->card->dev, "EMU8000 [0x%lx]: Synth chip found\n", in snd_emu8000_detect()
165 return 0; in snd_emu8000_detect()
178 for (ch = 0; ch < EMU8000_CHANNELS; ch++) in init_audio()
179 EMU8000_DCYSUSV_WRITE(emu, ch, 0x80); in init_audio()
182 for (ch = 0; ch < EMU8000_CHANNELS; ch++) { in init_audio()
183 EMU8000_ENVVOL_WRITE(emu, ch, 0); in init_audio()
184 EMU8000_ENVVAL_WRITE(emu, ch, 0); in init_audio()
185 EMU8000_DCYSUS_WRITE(emu, ch, 0); in init_audio()
186 EMU8000_ATKHLDV_WRITE(emu, ch, 0); in init_audio()
187 EMU8000_LFO1VAL_WRITE(emu, ch, 0); in init_audio()
188 EMU8000_ATKHLD_WRITE(emu, ch, 0); in init_audio()
189 EMU8000_LFO2VAL_WRITE(emu, ch, 0); in init_audio()
190 EMU8000_IP_WRITE(emu, ch, 0); in init_audio()
191 EMU8000_IFATN_WRITE(emu, ch, 0); in init_audio()
192 EMU8000_PEFE_WRITE(emu, ch, 0); in init_audio()
193 EMU8000_FMMOD_WRITE(emu, ch, 0); in init_audio()
194 EMU8000_TREMFRQ_WRITE(emu, ch, 0); in init_audio()
195 EMU8000_FM2FRQ2_WRITE(emu, ch, 0); in init_audio()
196 EMU8000_PTRX_WRITE(emu, ch, 0); in init_audio()
197 EMU8000_VTFT_WRITE(emu, ch, 0); in init_audio()
198 EMU8000_PSST_WRITE(emu, ch, 0); in init_audio()
199 EMU8000_CSL_WRITE(emu, ch, 0); in init_audio()
200 EMU8000_CCCA_WRITE(emu, ch, 0); in init_audio()
203 for (ch = 0; ch < EMU8000_CHANNELS; ch++) { in init_audio()
204 EMU8000_CPF_WRITE(emu, ch, 0); in init_audio()
205 EMU8000_CVCF_WRITE(emu, ch, 0); in init_audio()
216 EMU8000_SMALR_WRITE(emu, 0); in init_dma()
217 EMU8000_SMARR_WRITE(emu, 0); in init_dma()
218 EMU8000_SMALW_WRITE(emu, 0); in init_dma()
219 EMU8000_SMARW_WRITE(emu, 0); in init_dma()
226 0x03ff, 0x0030, 0x07ff, 0x0130, 0x0bff, 0x0230, 0x0fff, 0x0330,
227 0x13ff, 0x0430, 0x17ff, 0x0530, 0x1bff, 0x0630, 0x1fff, 0x0730,
228 0x23ff, 0x0830, 0x27ff, 0x0930, 0x2bff, 0x0a30, 0x2fff, 0x0b30,
229 0x33ff, 0x0c30, 0x37ff, 0x0d30, 0x3bff, 0x0e30, 0x3fff, 0x0f30,
231 0x43ff, 0x0030, 0x47ff, 0x0130, 0x4bff, 0x0230, 0x4fff, 0x0330,
232 0x53ff, 0x0430, 0x57ff, 0x0530, 0x5bff, 0x0630, 0x5fff, 0x0730,
233 0x63ff, 0x0830, 0x67ff, 0x0930, 0x6bff, 0x0a30, 0x6fff, 0x0b30,
234 0x73ff, 0x0c30, 0x77ff, 0x0d30, 0x7bff, 0x0e30, 0x7fff, 0x0f30,
236 0x83ff, 0x0030, 0x87ff, 0x0130, 0x8bff, 0x0230, 0x8fff, 0x0330,
237 0x93ff, 0x0430, 0x97ff, 0x0530, 0x9bff, 0x0630, 0x9fff, 0x0730,
238 0xa3ff, 0x0830, 0xa7ff, 0x0930, 0xabff, 0x0a30, 0xafff, 0x0b30,
239 0xb3ff, 0x0c30, 0xb7ff, 0x0d30, 0xbbff, 0x0e30, 0xbfff, 0x0f30,
241 0xc3ff, 0x0030, 0xc7ff, 0x0130, 0xcbff, 0x0230, 0xcfff, 0x0330,
242 0xd3ff, 0x0430, 0xd7ff, 0x0530, 0xdbff, 0x0630, 0xdfff, 0x0730,
243 0xe3ff, 0x0830, 0xe7ff, 0x0930, 0xebff, 0x0a30, 0xefff, 0x0b30,
244 0xf3ff, 0x0c30, 0xf7ff, 0x0d30, 0xfbff, 0x0e30, 0xffff, 0x0f30,
248 0x03ff, 0x8030, 0x07ff, 0x8130, 0x0bff, 0x8230, 0x0fff, 0x8330,
249 0x13ff, 0x8430, 0x17ff, 0x8530, 0x1bff, 0x8630, 0x1fff, 0x8730,
250 0x23ff, 0x8830, 0x27ff, 0x8930, 0x2bff, 0x8a30, 0x2fff, 0x8b30,
251 0x33ff, 0x8c30, 0x37ff, 0x8d30, 0x3bff, 0x8e30, 0x3fff, 0x8f30,
253 0x43ff, 0x8030, 0x47ff, 0x8130, 0x4bff, 0x8230, 0x4fff, 0x8330,
254 0x53ff, 0x8430, 0x57ff, 0x8530, 0x5bff, 0x8630, 0x5fff, 0x8730,
255 0x63ff, 0x8830, 0x67ff, 0x8930, 0x6bff, 0x8a30, 0x6fff, 0x8b30,
256 0x73ff, 0x8c30, 0x77ff, 0x8d30, 0x7bff, 0x8e30, 0x7fff, 0x8f30,
258 0x83ff, 0x8030, 0x87ff, 0x8130, 0x8bff, 0x8230, 0x8fff, 0x8330,
259 0x93ff, 0x8430, 0x97ff, 0x8530, 0x9bff, 0x8630, 0x9fff, 0x8730,
260 0xa3ff, 0x8830, 0xa7ff, 0x8930, 0xabff, 0x8a30, 0xafff, 0x8b30,
261 0xb3ff, 0x8c30, 0xb7ff, 0x8d30, 0xbbff, 0x8e30, 0xbfff, 0x8f30,
263 0xc3ff, 0x8030, 0xc7ff, 0x8130, 0xcbff, 0x8230, 0xcfff, 0x8330,
264 0xd3ff, 0x8430, 0xd7ff, 0x8530, 0xdbff, 0x8630, 0xdfff, 0x8730,
265 0xe3ff, 0x8830, 0xe7ff, 0x8930, 0xebff, 0x8a30, 0xefff, 0x8b30,
266 0xf3ff, 0x8c30, 0xf7ff, 0x8d30, 0xfbff, 0x8e30, 0xffff, 0x8f30,
270 0x0C10, 0x8470, 0x14FE, 0xB488, 0x167F, 0xA470, 0x18E7, 0x84B5,
271 0x1B6E, 0x842A, 0x1F1D, 0x852A, 0x0DA3, 0x8F7C, 0x167E, 0xF254,
272 0x0000, 0x842A, 0x0001, 0x852A, 0x18E6, 0x8BAA, 0x1B6D, 0xF234,
273 0x229F, 0x8429, 0x2746, 0x8529, 0x1F1C, 0x86E7, 0x229E, 0xF224,
275 0x0DA4, 0x8429, 0x2C29, 0x8529, 0x2745, 0x87F6, 0x2C28, 0xF254,
276 0x383B, 0x8428, 0x320F, 0x8528, 0x320E, 0x8F02, 0x1341, 0xF264,
277 0x3EB6, 0x8428, 0x3EB9, 0x8528, 0x383A, 0x8FA9, 0x3EB5, 0xF294,
278 0x3EB7, 0x8474, 0x3EBA, 0x8575, 0x3EB8, 0xC4C3, 0x3EBB, 0xC5C3,
280 0x0000, 0xA404, 0x0001, 0xA504, 0x141F, 0x8671, 0x14FD, 0x8287,
281 0x3EBC, 0xE610, 0x3EC8, 0x8C7B, 0x031A, 0x87E6, 0x3EC8, 0x86F7,
282 0x3EC0, 0x821E, 0x3EBE, 0xD208, 0x3EBD, 0x821F, 0x3ECA, 0x8386,
283 0x3EC1, 0x8C03, 0x3EC9, 0x831E, 0x3ECA, 0x8C4C, 0x3EBF, 0x8C55,
285 0x3EC9, 0xC208, 0x3EC4, 0xBC84, 0x3EC8, 0x8EAD, 0x3EC8, 0xD308,
286 0x3EC2, 0x8F7E, 0x3ECB, 0x8219, 0x3ECB, 0xD26E, 0x3EC5, 0x831F,
287 0x3EC6, 0xC308, 0x3EC3, 0xB2FF, 0x3EC9, 0x8265, 0x3EC9, 0x8319,
288 0x1342, 0xD36E, 0x3EC7, 0xB3FF, 0x0000, 0x8365, 0x1420, 0x9570,
292 0x0C10, 0x8470, 0x14FE, 0xB488, 0x167F, 0xA470, 0x18E7, 0x84B5,
293 0x1B6E, 0x842A, 0x1F1D, 0x852A, 0x0DA3, 0x0F7C, 0x167E, 0x7254,
294 0x0000, 0x842A, 0x0001, 0x852A, 0x18E6, 0x0BAA, 0x1B6D, 0x7234,
295 0x229F, 0x8429, 0x2746, 0x8529, 0x1F1C, 0x06E7, 0x229E, 0x7224,
297 0x0DA4, 0x8429, 0x2C29, 0x8529, 0x2745, 0x07F6, 0x2C28, 0x7254,
298 0x383B, 0x8428, 0x320F, 0x8528, 0x320E, 0x0F02, 0x1341, 0x7264,
299 0x3EB6, 0x8428, 0x3EB9, 0x8528, 0x383A, 0x0FA9, 0x3EB5, 0x7294,
300 0x3EB7, 0x8474, 0x3EBA, 0x8575, 0x3EB8, 0x44C3, 0x3EBB, 0x45C3,
302 0x0000, 0xA404, 0x0001, 0xA504, 0x141F, 0x0671, 0x14FD, 0x0287,
303 0x3EBC, 0xE610, 0x3EC8, 0x0C7B, 0x031A, 0x07E6, 0x3EC8, 0x86F7,
304 0x3EC0, 0x821E, 0x3EBE, 0xD208, 0x3EBD, 0x021F, 0x3ECA, 0x0386,
305 0x3EC1, 0x0C03, 0x3EC9, 0x031E, 0x3ECA, 0x8C4C, 0x3EBF, 0x0C55,
307 0x3EC9, 0xC208, 0x3EC4, 0xBC84, 0x3EC8, 0x0EAD, 0x3EC8, 0xD308,
308 0x3EC2, 0x8F7E, 0x3ECB, 0x0219, 0x3ECB, 0xD26E, 0x3EC5, 0x031F,
309 0x3EC6, 0xC308, 0x3EC3, 0x32FF, 0x3EC9, 0x0265, 0x3EC9, 0x8319,
310 0x1342, 0xD36E, 0x3EC7, 0x33FF, 0x0000, 0x8365, 0x1420, 0x9570,
324 for (i = 0; i < size; i++, p++) in send_array()
326 for (i = 0; i < size; i++, p++) in send_array()
328 for (i = 0; i < size; i++, p++) in send_array()
330 for (i = 0; i < size; i++, p++) in send_array()
348 EMU8000_HWCF4_WRITE(emu, 0); in init_arrays()
349 EMU8000_HWCF5_WRITE(emu, 0x83); in init_arrays()
350 EMU8000_HWCF6_WRITE(emu, 0x8000); in init_arrays()
356 #define UNIQUE_ID1 0xa5b9
357 #define UNIQUE_ID2 0x9d53
373 size = 0; in size_dram()
376 snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_WRITE); in size_dram()
397 * 0x200000(=EMU8000_DRAM_OFFSET). Then the id word is in size_dram()
400 /*snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_WRITE);*/ in size_dram()
409 /*snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_READ);*/ in size_dram()
433 for (i = 0; i < 10000; i++) { in size_dram()
434 if ((EMU8000_SMALW_READ(emu) & 0x80000000) == 0) in size_dram()
440 snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_CLOSE); in size_dram()
443 pr_info("EMU8000 [0x%lx]: %d KiB on-board DRAM detected\n", in size_dram()
463 /* 31: FM left channel, 0xffffe0-0xffffe8 */ in snd_emu8000_init_fm()
464 EMU8000_DCYSUSV_WRITE(emu, 30, 0x80); in snd_emu8000_init_fm()
465 EMU8000_PSST_WRITE(emu, 30, 0xFFFFFFE0); /* full left */ in snd_emu8000_init_fm()
466 EMU8000_CSL_WRITE(emu, 30, 0x00FFFFE8 | (emu->fm_chorus_depth << 24)); in snd_emu8000_init_fm()
468 EMU8000_CPF_WRITE(emu, 30, 0); in snd_emu8000_init_fm()
469 EMU8000_CCCA_WRITE(emu, 30, 0x00FFFFE3); in snd_emu8000_init_fm()
471 /* 32: FM right channel, 0xfffff0-0xfffff8 */ in snd_emu8000_init_fm()
472 EMU8000_DCYSUSV_WRITE(emu, 31, 0x80); in snd_emu8000_init_fm()
473 EMU8000_PSST_WRITE(emu, 31, 0x00FFFFF0); /* full right */ in snd_emu8000_init_fm()
474 EMU8000_CSL_WRITE(emu, 31, 0x00FFFFF8 | (emu->fm_chorus_depth << 24)); in snd_emu8000_init_fm()
476 EMU8000_CPF_WRITE(emu, 31, 0x8000); in snd_emu8000_init_fm()
477 EMU8000_CCCA_WRITE(emu, 31, 0x00FFFFF3); in snd_emu8000_init_fm()
479 snd_emu8000_poke((emu), EMU8000_DATA0(emu), EMU8000_CMD(1, (30)), 0); in snd_emu8000_init_fm()
482 while (!(inw(EMU8000_PTR(emu)) & 0x1000)) in snd_emu8000_init_fm()
484 while ((inw(EMU8000_PTR(emu)) & 0x1000)) in snd_emu8000_init_fm()
487 snd_emu8000_poke((emu), EMU8000_DATA0(emu), EMU8000_CMD(1, (30)), 0x4828); in snd_emu8000_init_fm()
489 outb(0x3C, EMU8000_PTR(emu)); in snd_emu8000_init_fm()
490 outb(0, EMU8000_DATA1(emu)); in snd_emu8000_init_fm()
493 EMU8000_VTFT_WRITE(emu, 30, 0x8000FFFF); in snd_emu8000_init_fm()
494 EMU8000_VTFT_WRITE(emu, 31, 0x8000FFFF); in snd_emu8000_init_fm()
506 emu->last_reg = 0xffff; /* reset the last register index */ in snd_emu8000_init_hw()
509 EMU8000_HWCF1_WRITE(emu, 0x0059); in snd_emu8000_init_hw()
510 EMU8000_HWCF2_WRITE(emu, 0x0020); in snd_emu8000_init_hw()
513 EMU8000_HWCF3_WRITE(emu, 0); in snd_emu8000_init_hw()
531 for (i = 0; i < EMU8000_DRAM_VOICES; i++) in snd_emu8000_init_hw()
532 EMU8000_DCYSUSV_WRITE(emu, 0, 0x807F); in snd_emu8000_init_hw()
538 EMU8000_HWCF3_WRITE(emu, 0x4); in snd_emu8000_init_hw()
552 {0xD26A, 0xD36A, 0x0000}, /* -12 dB */
553 {0xD25B, 0xD35B, 0x0000}, /* -8 */
554 {0xD24C, 0xD34C, 0x0000}, /* -6 */
555 {0xD23D, 0xD33D, 0x0000}, /* -4 */
556 {0xD21F, 0xD31F, 0x0000}, /* -2 */
557 {0xC208, 0xC308, 0x0001}, /* 0 (HW default) */
558 {0xC219, 0xC319, 0x0001}, /* +2 */
559 {0xC22A, 0xC32A, 0x0001}, /* +4 */
560 {0xC24C, 0xC34C, 0x0001}, /* +6 */
561 {0xC26E, 0xC36E, 0x0001}, /* +8 */
562 {0xC248, 0xC384, 0x0002}, /* +10 */
563 {0xC26A, 0xC36A, 0x0002}, /* +12 dB */
567 {0x821E, 0xC26A, 0x031E, 0xC36A, 0x021E, 0xD208, 0x831E, 0xD308, 0x0001}, /* -12 dB */
568 {0x821E, 0xC25B, 0x031E, 0xC35B, 0x021E, 0xD208, 0x831E, 0xD308, 0x0001},
569 {0x821E, 0xC24C, 0x031E, 0xC34C, 0x021E, 0xD208, 0x831E, 0xD308, 0x0001},
570 {0x821E, 0xC23D, 0x031E, 0xC33D, 0x021E, 0xD208, 0x831E, 0xD308, 0x0001},
571 {0x821E, 0xC21F, 0x031E, 0xC31F, 0x021E, 0xD208, 0x831E, 0xD308, 0x0001},
572 {0x821E, 0xD208, 0x031E, 0xD308, 0x021E, 0xD208, 0x831E, 0xD308, 0x0002},
573 {0x821E, 0xD208, 0x031E, 0xD308, 0x021D, 0xD219, 0x831D, 0xD319, 0x0002},
574 {0x821E, 0xD208, 0x031E, 0xD308, 0x021C, 0xD22A, 0x831C, 0xD32A, 0x0002},
575 {0x821E, 0xD208, 0x031E, 0xD308, 0x021A, 0xD24C, 0x831A, 0xD34C, 0x0002},
576 {0x821E, 0xD208, 0x031E, 0xD308, 0x0219, 0xD26E, 0x8319, 0xD36E, 0x0002}, /* +8 (HW default) */
577 {0x821D, 0xD219, 0x031D, 0xD319, 0x0219, 0xD26E, 0x8319, 0xD36E, 0x0002},
578 {0x821C, 0xD22A, 0x031C, 0xD32A, 0x0219, 0xD26E, 0x8319, 0xD36E, 0x0002} /* +12 dB */
583 * set Emu8000 digital equalizer; from 0 to 11 [-12dB - 12dB]
592 if (bass < 0 || bass > 11 || treble < 0 || treble > 11) in snd_emu8000_update_equalizer()
594 EMU8000_INIT4_WRITE(emu, 0x01, bass_parm[bass][0]); in snd_emu8000_update_equalizer()
595 EMU8000_INIT4_WRITE(emu, 0x11, bass_parm[bass][1]); in snd_emu8000_update_equalizer()
596 EMU8000_INIT3_WRITE(emu, 0x11, treble_parm[treble][0]); in snd_emu8000_update_equalizer()
597 EMU8000_INIT3_WRITE(emu, 0x13, treble_parm[treble][1]); in snd_emu8000_update_equalizer()
598 EMU8000_INIT3_WRITE(emu, 0x1b, treble_parm[treble][2]); in snd_emu8000_update_equalizer()
599 EMU8000_INIT4_WRITE(emu, 0x07, treble_parm[treble][3]); in snd_emu8000_update_equalizer()
600 EMU8000_INIT4_WRITE(emu, 0x0b, treble_parm[treble][4]); in snd_emu8000_update_equalizer()
601 EMU8000_INIT4_WRITE(emu, 0x0d, treble_parm[treble][5]); in snd_emu8000_update_equalizer()
602 EMU8000_INIT4_WRITE(emu, 0x17, treble_parm[treble][6]); in snd_emu8000_update_equalizer()
603 EMU8000_INIT4_WRITE(emu, 0x19, treble_parm[treble][7]); in snd_emu8000_update_equalizer()
605 EMU8000_INIT4_WRITE(emu, 0x15, (unsigned short)(w + 0x0262)); in snd_emu8000_update_equalizer()
606 EMU8000_INIT4_WRITE(emu, 0x1d, (unsigned short)(w + 0x8362)); in snd_emu8000_update_equalizer()
617 #define SNDRV_EMU8000_CHORUS_1 0
630 unsigned short feedback; /* feedback level (0xE600-0xE6FF) */
631 unsigned short delay_offset; /* delay (0-0x0DA3) [1/44100 sec] */
632 unsigned short lfo_depth; /* LFO depth (0xBC00-0xBCFF) */
633 unsigned int delay; /* right delay (0-0xFFFFFFFF) [1/256/44100 sec] */
634 unsigned int lfo_freq; /* LFO freq LFO freq (0-0xFFFFFFFF) */
640 {0xE600, 0x03F6, 0xBC2C ,0x00000000, 0x0000006D}, /* chorus 1 */
641 {0xE608, 0x031A, 0xBC6E, 0x00000000, 0x0000017C}, /* chorus 2 */
642 {0xE610, 0x031A, 0xBC84, 0x00000000, 0x00000083}, /* chorus 3 */
643 {0xE620, 0x0269, 0xBC6E, 0x00000000, 0x0000017C}, /* chorus 4 */
644 {0xE680, 0x04D3, 0xBCA6, 0x00000000, 0x0000005B}, /* feedback */
645 {0xE6E0, 0x044E, 0xBC37, 0x00000000, 0x00000026}, /* flanger */
646 {0xE600, 0x0B06, 0xBC00, 0x0006E000, 0x00000083}, /* short delay */
647 {0xE6C0, 0x0B06, 0xBC00, 0x0006E000, 0x00000083}, /* short delay + feedback */
662 return 0; in snd_emu8000_load_chorus_fx()
669 if (effect < 0 || effect >= SNDRV_EMU8000_CHORUS_NUMBERS || in snd_emu8000_update_chorus_mode()
672 EMU8000_INIT3_WRITE(emu, 0x09, chorus_parm[effect].feedback); in snd_emu8000_update_chorus_mode()
673 EMU8000_INIT3_WRITE(emu, 0x0c, chorus_parm[effect].delay_offset); in snd_emu8000_update_chorus_mode()
674 EMU8000_INIT4_WRITE(emu, 0x03, chorus_parm[effect].lfo_depth); in snd_emu8000_update_chorus_mode()
677 EMU8000_HWCF6_WRITE(emu, 0x8000); in snd_emu8000_update_chorus_mode()
678 EMU8000_HWCF7_WRITE(emu, 0x0000); in snd_emu8000_update_chorus_mode()
688 #define SNDRV_EMU8000_REVERB_ROOM1 0
710 0xB488, 0xA450, 0x9550, 0x84B5, 0x383A, 0x3EB5, 0x72F4,
711 0x72A4, 0x7254, 0x7204, 0x7204, 0x7204, 0x4416, 0x4516,
712 0xA490, 0xA590, 0x842A, 0x852A, 0x842A, 0x852A, 0x8429,
713 0x8529, 0x8429, 0x8529, 0x8428, 0x8528, 0x8428, 0x8528,
716 0xB488, 0xA458, 0x9558, 0x84B5, 0x383A, 0x3EB5, 0x7284,
717 0x7254, 0x7224, 0x7224, 0x7254, 0x7284, 0x4448, 0x4548,
718 0xA440, 0xA540, 0x842A, 0x852A, 0x842A, 0x852A, 0x8429,
719 0x8529, 0x8429, 0x8529, 0x8428, 0x8528, 0x8428, 0x8528,
722 0xB488, 0xA460, 0x9560, 0x84B5, 0x383A, 0x3EB5, 0x7284,
723 0x7254, 0x7224, 0x7224, 0x7254, 0x7284, 0x4416, 0x4516,
724 0xA490, 0xA590, 0x842C, 0x852C, 0x842C, 0x852C, 0x842B,
725 0x852B, 0x842B, 0x852B, 0x842A, 0x852A, 0x842A, 0x852A,
728 0xB488, 0xA470, 0x9570, 0x84B5, 0x383A, 0x3EB5, 0x7284,
729 0x7254, 0x7224, 0x7224, 0x7254, 0x7284, 0x4448, 0x4548,
730 0xA440, 0xA540, 0x842B, 0x852B, 0x842B, 0x852B, 0x842A,
731 0x852A, 0x842A, 0x852A, 0x8429, 0x8529, 0x8429, 0x8529,
734 0xB488, 0xA470, 0x9570, 0x84B5, 0x383A, 0x3EB5, 0x7254,
735 0x7234, 0x7224, 0x7254, 0x7264, 0x7294, 0x44C3, 0x45C3,
736 0xA404, 0xA504, 0x842A, 0x852A, 0x842A, 0x852A, 0x8429,
737 0x8529, 0x8429, 0x8529, 0x8428, 0x8528, 0x8428, 0x8528,
740 0xB4FF, 0xA470, 0x9570, 0x84B5, 0x383A, 0x3EB5, 0x7234,
741 0x7234, 0x7234, 0x7234, 0x7234, 0x7234, 0x4448, 0x4548,
742 0xA440, 0xA540, 0x842A, 0x852A, 0x842A, 0x852A, 0x8429,
743 0x8529, 0x8429, 0x8529, 0x8428, 0x8528, 0x8428, 0x8528,
746 0xB4FF, 0xA470, 0x9500, 0x84B5, 0x333A, 0x39B5, 0x7204,
747 0x7204, 0x7204, 0x7204, 0x7204, 0x72F4, 0x4400, 0x4500,
748 0xA4FF, 0xA5FF, 0x8420, 0x8520, 0x8420, 0x8520, 0x8420,
749 0x8520, 0x8420, 0x8520, 0x8420, 0x8520, 0x8420, 0x8520,
752 0xB4FF, 0xA490, 0x9590, 0x8474, 0x333A, 0x39B5, 0x7204,
753 0x7204, 0x7204, 0x7204, 0x7204, 0x72F4, 0x4400, 0x4500,
754 0xA4FF, 0xA5FF, 0x8420, 0x8520, 0x8420, 0x8520, 0x8420,
755 0x8520, 0x8420, 0x8520, 0x8420, 0x8520, 0x8420, 0x8520,
768 {AWE_INIT1(0x03)}, {AWE_INIT1(0x05)}, {AWE_INIT4(0x1F)}, {AWE_INIT1(0x07)},
769 {AWE_INIT2(0x14)}, {AWE_INIT2(0x16)}, {AWE_INIT1(0x0F)}, {AWE_INIT1(0x17)},
770 {AWE_INIT1(0x1F)}, {AWE_INIT2(0x07)}, {AWE_INIT2(0x0F)}, {AWE_INIT2(0x17)},
771 {AWE_INIT2(0x1D)}, {AWE_INIT2(0x1F)}, {AWE_INIT3(0x01)}, {AWE_INIT3(0x03)},
772 {AWE_INIT1(0x09)}, {AWE_INIT1(0x0B)}, {AWE_INIT1(0x11)}, {AWE_INIT1(0x13)},
773 {AWE_INIT1(0x19)}, {AWE_INIT1(0x1B)}, {AWE_INIT2(0x01)}, {AWE_INIT2(0x03)},
774 {AWE_INIT2(0x09)}, {AWE_INIT2(0x0B)}, {AWE_INIT2(0x11)}, {AWE_INIT2(0x13)},
790 return 0; in snd_emu8000_load_reverb_fx()
799 if (effect < 0 || effect >= SNDRV_EMU8000_REVERB_NUMBERS || in snd_emu8000_update_reverb_mode()
802 for (i = 0; i < 28; i++) { in snd_emu8000_update_reverb_mode()
824 uinfo->value.integer.min = 0; in mixer_bass_treble_info()
826 return 0; in mixer_bass_treble_info()
833 ucontrol->value.integer.value[0] = kcontrol->private_value ? emu->treble_level : emu->bass_level; in mixer_bass_treble_get()
834 return 0; in mixer_bass_treble_get()
844 val1 = ucontrol->value.integer.value[0] % 12; in mixer_bass_treble_put()
865 .private_value = 0,
885 uinfo->value.integer.min = 0; in mixer_chorus_reverb_info()
887 return 0; in mixer_chorus_reverb_info()
894 ucontrol->value.integer.value[0] = kcontrol->private_value ? emu->chorus_mode : emu->reverb_mode; in mixer_chorus_reverb_get()
895 return 0; in mixer_chorus_reverb_get()
907 val1 = ucontrol->value.integer.value[0] % SNDRV_EMU8000_CHORUS_NUMBERS; in mixer_chorus_reverb_put()
911 val1 = ucontrol->value.integer.value[0] % SNDRV_EMU8000_REVERB_NUMBERS; in mixer_chorus_reverb_put()
942 .private_value = 0,
952 uinfo->value.integer.min = 0; in mixer_fm_depth_info()
954 return 0; in mixer_fm_depth_info()
961 …ucontrol->value.integer.value[0] = kcontrol->private_value ? emu->fm_chorus_depth : emu->fm_reverb… in mixer_fm_depth_get()
962 return 0; in mixer_fm_depth_get()
972 val1 = ucontrol->value.integer.value[0] % 256; in mixer_fm_depth_put()
1004 .private_value = 0,
1024 int i, err = 0; in snd_emu8000_create_mixer()
1031 memset(emu->controls, 0, sizeof(emu->controls)); in snd_emu8000_create_mixer()
1032 for (i = 0; i < EMU8000_NUM_CONTROLS; i++) { in snd_emu8000_create_mixer()
1035 if (err < 0) in snd_emu8000_create_mixer()
1039 return 0; in snd_emu8000_create_mixer()
1042 for (i = 0; i < EMU8000_NUM_CONTROLS; i++) in snd_emu8000_create_mixer()
1061 if (seq_ports <= 0) in snd_emu8000_new()
1062 return 0; in snd_emu8000_new()
1070 hw->port2 = port + 0x400; in snd_emu8000_new()
1071 hw->port3 = port + 0x800; in snd_emu8000_new()
1075 dev_err(card->dev, "sbawe: can't grab ports 0x%lx, 0x%lx, 0x%lx\n", in snd_emu8000_new()
1079 hw->mem_size = 0; in snd_emu8000_new()
1086 hw->fm_chorus_depth = 0; in snd_emu8000_new()
1087 hw->fm_reverb_depth = 0; in snd_emu8000_new()
1089 if (snd_emu8000_detect(hw) < 0) in snd_emu8000_new()
1094 if (err < 0) in snd_emu8000_new()
1098 sizeof(struct snd_emu8000*), &awe) >= 0) { in snd_emu8000_new()
1108 return 0; in snd_emu8000_new()