Lines Matching refs:dev

73 					 dev.play_sample_size / 8 /	\
74 dev.play_sample_rate / \
75 dev.play_channels)
78 dev.rec_sample_size / 8 / \
79 dev.rec_sample_rate / \
80 dev.rec_channels)
83 static multisound_dev_t dev; variable
93 static __inline__ int chk_send_dsp_cmd(multisound_dev_t *dev, register BYTE cmd) in chk_send_dsp_cmd() argument
95 if (msnd_send_dsp_cmd(dev, cmd) == 0) in chk_send_dsp_cmd()
98 return msnd_send_dsp_cmd(dev, cmd); in chk_send_dsp_cmd()
106 dev.last_playbank = -1; in reset_play_queue()
107 writew(PCTODSP_OFFSET(0 * DAQDS__size), dev.DAPQ + JQS_wHead); in reset_play_queue()
108 writew(PCTODSP_OFFSET(0 * DAQDS__size), dev.DAPQ + JQS_wTail); in reset_play_queue()
110 for (n = 0, lpDAQ = dev.base + DAPQ_DATA_BUFF; n < 3; ++n, lpDAQ += DAQDS__size) { in reset_play_queue()
114 writew(dev.play_sample_size, lpDAQ + DAQDS_wSampleSize); in reset_play_queue()
115 writew(dev.play_channels, lpDAQ + DAQDS_wChannels); in reset_play_queue()
116 writew(dev.play_sample_rate, lpDAQ + DAQDS_wSampleRate); in reset_play_queue()
128 dev.last_recbank = 2; in reset_record_queue()
129 writew(PCTODSP_OFFSET(0 * DAQDS__size), dev.DARQ + JQS_wHead); in reset_record_queue()
130 writew(PCTODSP_OFFSET(dev.last_recbank * DAQDS__size), dev.DARQ + JQS_wTail); in reset_record_queue()
133 spin_lock_irqsave(&dev.lock, flags); in reset_record_queue()
134 msnd_outb(HPBLKSEL_1, dev.io + HP_BLKS); in reset_record_queue()
135 memset_io(dev.base, 0, DAR_BUFF_SIZE * 3); in reset_record_queue()
136 msnd_outb(HPBLKSEL_0, dev.io + HP_BLKS); in reset_record_queue()
137 spin_unlock_irqrestore(&dev.lock, flags); in reset_record_queue()
139 for (n = 0, lpDAQ = dev.base + DARQ_DATA_BUFF; n < 3; ++n, lpDAQ += DAQDS__size) { in reset_record_queue()
143 writew(dev.rec_sample_size, lpDAQ + DAQDS_wSampleSize); in reset_record_queue()
144 writew(dev.rec_channels, lpDAQ + DAQDS_wChannels); in reset_record_queue()
145 writew(dev.rec_sample_rate, lpDAQ + DAQDS_wSampleRate); in reset_record_queue()
153 if (dev.mode & FMODE_WRITE) { in reset_queues()
154 msnd_fifo_make_empty(&dev.DAPF); in reset_queues()
157 if (dev.mode & FMODE_READ) { in reset_queues()
158 msnd_fifo_make_empty(&dev.DARF); in reset_queues()
168 lpDAQ = dev.base + DAPQ_DATA_BUFF; in dsp_set_format()
169 lpDARQ = dev.base + DARQ_DATA_BUFF; in dsp_set_format()
188 dev.play_sample_size = data; in dsp_set_format()
190 dev.rec_sample_size = data; in dsp_set_format()
198 size = dev.fifosize / 4; in dsp_get_frag_size()
212 lpDAQ = dev.base + DAPQ_DATA_BUFF; in dsp_ioctl()
213 lpDARQ = dev.base + DARQ_DATA_BUFF; in dsp_ioctl()
231 spin_lock_irqsave(&dev.lock, flags); in dsp_ioctl()
233 abinfo.bytes = dev.DAPF.n - dev.DAPF.len; in dsp_ioctl()
234 abinfo.fragstotal = dev.DAPF.n / abinfo.fragsize; in dsp_ioctl()
236 spin_unlock_irqrestore(&dev.lock, flags); in dsp_ioctl()
242 spin_lock_irqsave(&dev.lock, flags); in dsp_ioctl()
244 abinfo.bytes = dev.DARF.n - dev.DARF.len; in dsp_ioctl()
245 abinfo.fragstotal = dev.DARF.n / abinfo.fragsize; in dsp_ioctl()
247 spin_unlock_irqrestore(&dev.lock, flags); in dsp_ioctl()
251 dev.nresets = 0; in dsp_ioctl()
277 ? dev.play_sample_size in dsp_ioctl()
281 ? dev.rec_sample_size in dsp_ioctl()
289 if (!test_bit(F_DISABLE_WRITE_NDELAY, &dev.flags) && in dsp_ioctl()
291 dev.play_ndelay = 1; in dsp_ioctl()
293 dev.rec_ndelay = 1; in dsp_ioctl()
321 dev.play_sample_rate = data; in dsp_ioctl()
323 dev.rec_sample_rate = data; in dsp_ioctl()
364 dev.play_channels = data; in dsp_ioctl()
366 dev.rec_channels = data; in dsp_ioctl()
391 return (dev.left_levels[d] >> 8) * 100 / 0xff | in mixer_get()
392 (((dev.right_levels[d] >> 8) * 100 / 0xff) << 8); in mixer_get()
399 writew((dev.left_levels[a] >> 1) * \
400 readw(dev.SMA + SMA_wCurrMastVolLeft) / 0xffff, \
401 dev.SMA + SMA_##b##Left); \
402 writew((dev.right_levels[a] >> 1) * \
403 readw(dev.SMA + SMA_wCurrMastVolRight) / 0xffff, \
404 dev.SMA + SMA_##b##Right);
407 writeb((dev.left_levels[d] >> 8) * \
408 readw(dev.SMA + SMA_wCurrMastVolLeft) / 0xffff, \
409 dev.SMA + SMA_##s##Left); \
410 writeb((dev.right_levels[d] >> 8) * \
411 readw(dev.SMA + SMA_wCurrMastVolRight) / 0xffff, \
412 dev.SMA + SMA_##s##Right); \
413 if (msnd_send_word(&dev, 0, 0, ar) == 0) \
414 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ);
417 writeb(dev.left_levels[d] >> 8, \
418 dev.SMA + SMA_##s##Left); \
419 writeb(dev.right_levels[d] >> 8, \
420 dev.SMA + SMA_##s##Right); \
421 if (msnd_send_word(&dev, 0, 0, ar) == 0) \
422 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ);
441 dev.left_levels[d] = wLeft; in mixer_set()
442 dev.right_levels[d] = wRight; in mixer_set()
448 writeb(bLeft, dev.SMA + SMA_bInPotPosLeft); in mixer_set()
449 writeb(bRight, dev.SMA + SMA_bInPotPosRight); in mixer_set()
450 if (msnd_send_word(&dev, 0, 0, HDEXAR_IN_SET_POTS) == 0) in mixer_set()
451 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ); in mixer_set()
456 writeb(bLeft, dev.SMA + SMA_bMicPotPosLeft); in mixer_set()
457 writeb(bRight, dev.SMA + SMA_bMicPotPosRight); in mixer_set()
458 if (msnd_send_word(&dev, 0, 0, HDEXAR_MIC_SET_POTS) == 0) in mixer_set()
459 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ); in mixer_set()
463 writew(wLeft, dev.SMA + SMA_wCurrMastVolLeft); in mixer_set()
464 writew(wRight, dev.SMA + SMA_wCurrMastVolRight); in mixer_set()
510 if (dev.recsrc == recsrc) in set_recsrc()
511 return dev.recsrc; in set_recsrc()
514 dev.recsrc = 0; in set_recsrc()
517 dev.recsrc ^= recsrc; in set_recsrc()
520 if (dev.recsrc & SOUND_MASK_IMIX) { in set_recsrc()
521 if (msnd_send_word(&dev, 0, 0, HDEXAR_SET_ANA_IN) == 0) in set_recsrc()
522 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ); in set_recsrc()
524 else if (dev.recsrc & SOUND_MASK_SYNTH) { in set_recsrc()
525 if (msnd_send_word(&dev, 0, 0, HDEXAR_SET_SYNTH_IN) == 0) in set_recsrc()
526 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ); in set_recsrc()
528 else if ((dev.recsrc & SOUND_MASK_DIGITAL1) && test_bit(F_HAVEDIGITAL, &dev.flags)) { in set_recsrc()
529 if (msnd_send_word(&dev, 0, 0, HDEXAR_SET_DAT_IN) == 0) in set_recsrc()
530 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ); in set_recsrc()
535 dev.recsrc = 0; in set_recsrc()
537 dev.recsrc = SOUND_MASK_IMIX; in set_recsrc()
538 if (msnd_send_word(&dev, 0, 0, HDEXAR_SET_ANA_IN) == 0) in set_recsrc()
539 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ); in set_recsrc()
544 return dev.recsrc; in set_recsrc()
549 dev.recsrc = 0; in force_recsrc()
563 info.modify_counter = dev.mixer_mod_count; in mixer_ioctl()
574 dev.nresets = 0; in mixer_ioctl()
594 ++dev.mixer_mod_count; in mixer_ioctl()
599 val = dev.recsrc; in mixer_ioctl()
621 if (test_bit(F_HAVEDIGITAL, &dev.flags)) in mixer_ioctl()
656 if (minor == dev.dsp_minor) in dev_ioctl()
658 else if (minor == dev.mixer_minor) in dev_ioctl()
667 int timeout = get_play_delay_jiffies(dev.DAPF.len); in dsp_write_flush()
669 if (!(dev.mode & FMODE_WRITE) || !test_bit(F_WRITING, &dev.flags)) in dsp_write_flush()
671 set_bit(F_WRITEFLUSH, &dev.flags); in dsp_write_flush()
673 dev.writeflush, in dsp_write_flush()
674 !test_bit(F_WRITEFLUSH, &dev.flags), in dsp_write_flush()
676 clear_bit(F_WRITEFLUSH, &dev.flags); in dsp_write_flush()
681 clear_bit(F_WRITING, &dev.flags); in dsp_write_flush()
686 if ((file ? file->f_mode : dev.mode) & FMODE_READ) { in dsp_halt()
687 clear_bit(F_READING, &dev.flags); in dsp_halt()
688 chk_send_dsp_cmd(&dev, HDEX_RECORD_STOP); in dsp_halt()
689 msnd_disable_irq(&dev); in dsp_halt()
692 dev.mode &= ~FMODE_READ; in dsp_halt()
694 clear_bit(F_AUDIO_READ_INUSE, &dev.flags); in dsp_halt()
696 if ((file ? file->f_mode : dev.mode) & FMODE_WRITE) { in dsp_halt()
697 if (test_bit(F_WRITING, &dev.flags)) { in dsp_halt()
699 chk_send_dsp_cmd(&dev, HDEX_PLAY_STOP); in dsp_halt()
701 msnd_disable_irq(&dev); in dsp_halt()
704 dev.mode &= ~FMODE_WRITE; in dsp_halt()
706 clear_bit(F_AUDIO_WRITE_INUSE, &dev.flags); in dsp_halt()
718 if ((file ? file->f_mode : dev.mode) & FMODE_WRITE) { in dsp_open()
719 set_bit(F_AUDIO_WRITE_INUSE, &dev.flags); in dsp_open()
720 clear_bit(F_WRITING, &dev.flags); in dsp_open()
721 msnd_fifo_make_empty(&dev.DAPF); in dsp_open()
725 dev.mode |= FMODE_WRITE; in dsp_open()
727 msnd_enable_irq(&dev); in dsp_open()
729 if ((file ? file->f_mode : dev.mode) & FMODE_READ) { in dsp_open()
730 set_bit(F_AUDIO_READ_INUSE, &dev.flags); in dsp_open()
731 clear_bit(F_READING, &dev.flags); in dsp_open()
732 msnd_fifo_make_empty(&dev.DARF); in dsp_open()
736 dev.mode |= FMODE_READ; in dsp_open()
738 msnd_enable_irq(&dev); in dsp_open()
745 dev.play_sample_size = DEFSAMPLESIZE; in set_default_play_audio_parameters()
746 dev.play_sample_rate = DEFSAMPLERATE; in set_default_play_audio_parameters()
747 dev.play_channels = DEFCHANNELS; in set_default_play_audio_parameters()
752 dev.rec_sample_size = DEFSAMPLESIZE; in set_default_rec_audio_parameters()
753 dev.rec_sample_rate = DEFSAMPLERATE; in set_default_rec_audio_parameters()
754 dev.rec_channels = DEFCHANNELS; in set_default_rec_audio_parameters()
769 if (minor == dev.dsp_minor) { in dev_open()
771 test_bit(F_AUDIO_WRITE_INUSE, &dev.flags)) || in dev_open()
773 test_bit(F_AUDIO_READ_INUSE, &dev.flags))) { in dev_open()
779 dev.nresets = 0; in dev_open()
782 if (!test_bit(F_DISABLE_WRITE_NDELAY, &dev.flags)) in dev_open()
783 dev.play_ndelay = (file->f_flags & O_NDELAY) ? 1 : 0; in dev_open()
785 dev.play_ndelay = 0; in dev_open()
789 dev.rec_ndelay = (file->f_flags & O_NDELAY) ? 1 : 0; in dev_open()
793 else if (minor == dev.mixer_minor) { in dev_open()
808 if (minor == dev.dsp_minor) in dev_release()
810 else if (minor == dev.mixer_minor) { in dev_release()
825 wTmp = readw(dev.DARQ + JQS_wTail) + PCTODSP_OFFSET(DAQDS__size); in pack_DARQ_to_DARF()
826 if (wTmp > readw(dev.DARQ + JQS_wSize)) in pack_DARQ_to_DARF()
828 while (wTmp == readw(dev.DARQ + JQS_wHead) && timeout--) in pack_DARQ_to_DARF()
830 writew(wTmp, dev.DARQ + JQS_wTail); in pack_DARQ_to_DARF()
833 DAQD = bank * DAQDS__size + dev.base + DARQ_DATA_BUFF; in pack_DARQ_to_DARF()
840 msnd_outb(HPBLKSEL_1, dev.io + HP_BLKS); in pack_DARQ_to_DARF()
842 &dev.DARF, in pack_DARQ_to_DARF()
843 dev.base + bank * DAR_BUFF_SIZE, in pack_DARQ_to_DARF()
845 msnd_outb(HPBLKSEL_0, dev.io + HP_BLKS); in pack_DARQ_to_DARF()
856 DAPQ_tail = readw(dev.DAPQ + JQS_wTail); in pack_DAPF_to_DAPQ()
857 while (DAPQ_tail != readw(dev.DAPQ + JQS_wHead) || start) { in pack_DAPF_to_DAPQ()
865 spin_lock_irqsave(&dev.lock, flags); in pack_DAPF_to_DAPQ()
867 &dev.DAPF, in pack_DAPF_to_DAPQ()
868 dev.base + bank_num * DAP_BUFF_SIZE, in pack_DAPF_to_DAPQ()
870 spin_unlock_irqrestore(&dev.lock, flags); in pack_DAPF_to_DAPQ()
873 &dev.DAPF, in pack_DAPF_to_DAPQ()
874 dev.base + bank_num * DAP_BUFF_SIZE, in pack_DAPF_to_DAPQ()
884 DAQD = bank_num * DAQDS__size + dev.base + DAPQ_DATA_BUFF; in pack_DAPF_to_DAPQ()
892 writew(DAPQ_tail, dev.DAPQ + JQS_wTail); in pack_DAPF_to_DAPQ()
894 msnd_send_dsp_cmd(&dev, HDEX_PLAY_START); in pack_DAPF_to_DAPQ()
917 spin_lock_irqsave(&dev.lock, flags); in dsp_read()
918 n = msnd_fifo_read(&dev.DARF, page, k); in dsp_read()
919 spin_unlock_irqrestore(&dev.lock, flags); in dsp_read()
930 if (!test_bit(F_READING, &dev.flags) && dev.mode & FMODE_READ) { in dsp_read()
931 dev.last_recbank = -1; in dsp_read()
932 if (chk_send_dsp_cmd(&dev, HDEX_RECORD_START) == 0) in dsp_read()
933 set_bit(F_READING, &dev.flags); in dsp_read()
936 if (dev.rec_ndelay) { in dsp_read()
942 set_bit(F_READBLOCK, &dev.flags); in dsp_read()
944 dev.readblock, in dsp_read()
945 test_bit(F_READBLOCK, &dev.flags), in dsp_read()
947 clear_bit(F_READING, &dev.flags); in dsp_read()
981 spin_lock_irqsave(&dev.lock, flags); in dsp_write()
982 n = msnd_fifo_write(&dev.DAPF, page, k); in dsp_write()
983 spin_unlock_irqrestore(&dev.lock, flags); in dsp_write()
990 if (!test_bit(F_WRITING, &dev.flags) && (dev.mode & FMODE_WRITE)) { in dsp_write()
991 dev.last_playbank = -1; in dsp_write()
993 set_bit(F_WRITING, &dev.flags); in dsp_write()
996 if (dev.play_ndelay) { in dsp_write()
1002 set_bit(F_WRITEBLOCK, &dev.flags); in dsp_write()
1004 dev.writeblock, in dsp_write()
1005 test_bit(F_WRITEBLOCK, &dev.flags), in dsp_write()
1021 if (minor == dev.dsp_minor) in dev_read()
1030 if (minor == dev.dsp_minor) in dev_write()
1040 if (dev.last_playbank == LOBYTE(wMessage) || !test_bit(F_WRITING, &dev.flags)) in eval_dsp_msg()
1042 dev.last_playbank = LOBYTE(wMessage); in eval_dsp_msg()
1045 if (!test_bit(F_WRITEBLOCK, &dev.flags)) { in eval_dsp_msg()
1046 if (test_and_clear_bit(F_WRITEFLUSH, &dev.flags)) in eval_dsp_msg()
1047 wake_up_interruptible(&dev.writeflush); in eval_dsp_msg()
1049 clear_bit(F_WRITING, &dev.flags); in eval_dsp_msg()
1052 if (test_and_clear_bit(F_WRITEBLOCK, &dev.flags)) in eval_dsp_msg()
1053 wake_up_interruptible(&dev.writeblock); in eval_dsp_msg()
1057 if (dev.last_recbank == LOBYTE(wMessage)) in eval_dsp_msg()
1059 dev.last_recbank = LOBYTE(wMessage); in eval_dsp_msg()
1061 pack_DARQ_to_DARF(dev.last_recbank); in eval_dsp_msg()
1063 if (test_and_clear_bit(F_READBLOCK, &dev.flags)) in eval_dsp_msg()
1064 wake_up_interruptible(&dev.readblock); in eval_dsp_msg()
1074 clear_bit(F_WRITING, &dev.flags); in eval_dsp_msg()
1079 clear_bit(F_READING, &dev.flags); in eval_dsp_msg()
1090 if (dev.midi_in_interrupt) in eval_dsp_msg()
1091 (*dev.midi_in_interrupt)(&dev); in eval_dsp_msg()
1103 msnd_inb(dev.io + HP_RXL); in intr()
1106 while (readw(dev.DSPQ + JQS_wTail) != readw(dev.DSPQ + JQS_wHead)) { in intr()
1109 eval_dsp_msg(readw(dev.pwDSPQData + 2*readw(dev.DSPQ + JQS_wHead))); in intr()
1111 if ((wTmp = readw(dev.DSPQ + JQS_wHead) + 1) > readw(dev.DSPQ + JQS_wSize)) in intr()
1112 writew(0, dev.DSPQ + JQS_wHead); in intr()
1114 writew(wTmp, dev.DSPQ + JQS_wHead); in intr()
1133 msnd_outb(HPDSPRESET_ON, dev.io + HP_DSPR); in reset_dsp()
1136 dev.info = msnd_inb(dev.io + HP_INFO); in reset_dsp()
1138 msnd_outb(HPDSPRESET_OFF, dev.io + HP_DSPR); in reset_dsp()
1141 if (msnd_inb(dev.io + HP_CVR) == HP_CVR_DEF) in reset_dsp()
1158 if (!request_region(dev.io, dev.numio, "probing")) { in probe_multisound()
1164 release_region(dev.io, dev.numio); in probe_multisound()
1169 dev.name = "Classic/Tahiti/Monterey"; in probe_multisound()
1172 switch (dev.info >> 4) { in probe_multisound()
1180 switch (dev.info & 0x7) { in probe_multisound()
1181 case 0x0: rev = "I"; dev.name = pin; break; in probe_multisound()
1182 case 0x1: rev = "F"; dev.name = pin; break; in probe_multisound()
1183 case 0x2: rev = "G"; dev.name = pin; break; in probe_multisound()
1184 case 0x3: rev = "H"; dev.name = pin; break; in probe_multisound()
1185 case 0x4: rev = "E"; dev.name = fiji; break; in probe_multisound()
1186 case 0x5: rev = "C"; dev.name = fiji; break; in probe_multisound()
1187 case 0x6: rev = "D"; dev.name = fiji; break; in probe_multisound()
1190 dev.name = pinfiji; in probe_multisound()
1196 dev.name, in probe_multisound()
1200 dev.io, dev.io + dev.numio - 1, in probe_multisound()
1201 dev.irq, in probe_multisound()
1202 dev.base, dev.base + 0x7fff); in probe_multisound()
1204 release_region(dev.io, dev.numio); in probe_multisound()
1215 msnd_outb(dev.memid, dev.io + HP_MEMM); in init_sma()
1217 msnd_outb(HPBLKSEL_0, dev.io + HP_BLKS); in init_sma()
1219 mastVolLeft = readw(dev.SMA + SMA_wCurrMastVolLeft); in init_sma()
1220 mastVolRight = readw(dev.SMA + SMA_wCurrMastVolRight); in init_sma()
1223 memset_io(dev.base, 0, 0x8000); in init_sma()
1226 spin_lock_irqsave(&dev.lock, flags); in init_sma()
1227 msnd_outb(HPBLKSEL_1, dev.io + HP_BLKS); in init_sma()
1228 memset_io(dev.base, 0, 0x8000); in init_sma()
1229 msnd_outb(HPBLKSEL_0, dev.io + HP_BLKS); in init_sma()
1230 spin_unlock_irqrestore(&dev.lock, flags); in init_sma()
1232 dev.pwDSPQData = (dev.base + DSPQ_DATA_BUFF); in init_sma()
1233 dev.pwMODQData = (dev.base + MODQ_DATA_BUFF); in init_sma()
1234 dev.pwMIDQData = (dev.base + MIDQ_DATA_BUFF); in init_sma()
1237 dev.SMA = dev.base + SMA_STRUCT_START; in init_sma()
1240 dev.DAPQ = dev.base + DAPQ_OFFSET; in init_sma()
1241 msnd_init_queue(dev.DAPQ, DAPQ_DATA_BUFF, DAPQ_BUFF_SIZE); in init_sma()
1244 dev.DARQ = dev.base + DARQ_OFFSET; in init_sma()
1245 msnd_init_queue(dev.DARQ, DARQ_DATA_BUFF, DARQ_BUFF_SIZE); in init_sma()
1248 dev.MODQ = dev.base + MODQ_OFFSET; in init_sma()
1249 msnd_init_queue(dev.MODQ, MODQ_DATA_BUFF, MODQ_BUFF_SIZE); in init_sma()
1252 dev.MIDQ = dev.base + MIDQ_OFFSET; in init_sma()
1253 msnd_init_queue(dev.MIDQ, MIDQ_DATA_BUFF, MIDQ_BUFF_SIZE); in init_sma()
1256 dev.DSPQ = dev.base + DSPQ_OFFSET; in init_sma()
1257 msnd_init_queue(dev.DSPQ, DSPQ_DATA_BUFF, DSPQ_BUFF_SIZE); in init_sma()
1261 writew(1, dev.SMA + SMA_wCurrPlayFormat); in init_sma()
1262 writew(dev.play_sample_size, dev.SMA + SMA_wCurrPlaySampleSize); in init_sma()
1263 writew(dev.play_channels, dev.SMA + SMA_wCurrPlayChannels); in init_sma()
1264 writew(dev.play_sample_rate, dev.SMA + SMA_wCurrPlaySampleRate); in init_sma()
1266 writew(dev.play_sample_rate, dev.SMA + SMA_wCalFreqAtoD); in init_sma()
1267 writew(mastVolLeft, dev.SMA + SMA_wCurrMastVolLeft); in init_sma()
1268 writew(mastVolRight, dev.SMA + SMA_wCurrMastVolRight); in init_sma()
1270 writel(0x00010000, dev.SMA + SMA_dwCurrPlayPitch); in init_sma()
1271 writel(0x00000001, dev.SMA + SMA_dwCurrPlayRate); in init_sma()
1273 writew(0x303, dev.SMA + SMA_wCurrInputTagBits); in init_sma()
1282 writew(srate, dev.SMA + SMA_wCalFreqAtoD); in calibrate_adc()
1283 if (dev.calibrate_signal == 0) in calibrate_adc()
1284 writew(readw(dev.SMA + SMA_wCurrHostStatusFlags) in calibrate_adc()
1285 | 0x0001, dev.SMA + SMA_wCurrHostStatusFlags); in calibrate_adc()
1287 writew(readw(dev.SMA + SMA_wCurrHostStatusFlags) in calibrate_adc()
1288 & ~0x0001, dev.SMA + SMA_wCurrHostStatusFlags); in calibrate_adc()
1289 if (msnd_send_word(&dev, 0, 0, HDEXAR_CAL_A_TO_D) == 0 && in calibrate_adc()
1290 chk_send_dsp_cmd(&dev, HDEX_AUX_REQ) == 0) { in calibrate_adc()
1303 msnd_outb(HPBLKSEL_0, dev.io + HP_BLKS); in upload_dsp_code()
1318 memcpy_toio(dev.base, PERMCODE, PERMCODESIZE); in upload_dsp_code()
1319 if (msnd_upload_host(&dev, INITCODE, INITCODESIZE) < 0) { in upload_dsp_code()
1342 msnd_outb(HPPRORESET_ON, dev.io + HP_PROR); in reset_proteus()
1344 msnd_outb(HPPRORESET_OFF, dev.io + HP_PROR); in reset_proteus()
1354 msnd_outb(HPWAITSTATE_0, dev.io + HP_WAIT); in initialize()
1355 msnd_outb(HPBITMODE_16, dev.io + HP_BITM); in initialize()
1373 while (readw(dev.base)) { in initialize()
1390 if (test_bit(F_RESETTING, &dev.flags) || ++dev.nresets > 10) in dsp_full_reset()
1393 set_bit(F_RESETTING, &dev.flags); in dsp_full_reset()
1398 force_recsrc(dev.recsrc); in dsp_full_reset()
1400 clear_bit(F_RESETTING, &dev.flags); in dsp_full_reset()
1409 if ((err = request_irq(dev.irq, intr, 0, dev.name, &dev)) < 0) { in attach_multisound()
1410 printk(KERN_ERR LOGNAME ": Couldn't grab IRQ %d\n", dev.irq); in attach_multisound()
1413 if (request_region(dev.io, dev.numio, dev.name) == NULL) { in attach_multisound()
1414 free_irq(dev.irq, &dev); in attach_multisound()
1420 release_region(dev.io, dev.numio); in attach_multisound()
1421 free_irq(dev.irq, &dev); in attach_multisound()
1425 if ((err = msnd_register(&dev)) < 0) { in attach_multisound()
1427 release_region(dev.io, dev.numio); in attach_multisound()
1428 free_irq(dev.irq, &dev); in attach_multisound()
1432 if ((dev.dsp_minor = register_sound_dsp(&dev_fileops, -1)) < 0) { in attach_multisound()
1434 msnd_unregister(&dev); in attach_multisound()
1435 release_region(dev.io, dev.numio); in attach_multisound()
1436 free_irq(dev.irq, &dev); in attach_multisound()
1437 return dev.dsp_minor; in attach_multisound()
1440 if ((dev.mixer_minor = register_sound_mixer(&dev_fileops, -1)) < 0) { in attach_multisound()
1442 unregister_sound_mixer(dev.mixer_minor); in attach_multisound()
1443 msnd_unregister(&dev); in attach_multisound()
1444 release_region(dev.io, dev.numio); in attach_multisound()
1445 free_irq(dev.irq, &dev); in attach_multisound()
1446 return dev.mixer_minor; in attach_multisound()
1449 dev.ext_midi_dev = dev.hdr_midi_dev = -1; in attach_multisound()
1451 disable_irq(dev.irq); in attach_multisound()
1452 calibrate_adc(dev.play_sample_rate); in attach_multisound()
1462 release_region(dev.io, dev.numio); in unload_multisound()
1463 free_irq(dev.irq, &dev); in unload_multisound()
1464 unregister_sound_mixer(dev.mixer_minor); in unload_multisound()
1465 unregister_sound_dsp(dev.dsp_minor); in unload_multisound()
1466 msnd_unregister(&dev); in unload_multisound()
1807 case 5: dev.irqid = HPIRQ_5; break; in msnd_init()
1808 case 7: dev.irqid = HPIRQ_7; break; in msnd_init()
1809 case 9: dev.irqid = HPIRQ_9; break; in msnd_init()
1810 case 10: dev.irqid = HPIRQ_10; break; in msnd_init()
1811 case 11: dev.irqid = HPIRQ_11; break; in msnd_init()
1812 case 12: dev.irqid = HPIRQ_12; break; in msnd_init()
1816 case 0xb0000: dev.memid = HPMEM_B000; break; in msnd_init()
1817 case 0xc8000: dev.memid = HPMEM_C800; break; in msnd_init()
1818 case 0xd0000: dev.memid = HPMEM_D000; break; in msnd_init()
1819 case 0xd8000: dev.memid = HPMEM_D800; break; in msnd_init()
1820 case 0xe0000: dev.memid = HPMEM_E000; break; in msnd_init()
1821 case 0xe8000: dev.memid = HPMEM_E800; break; in msnd_init()
1873 dev.type = msndClassic; in msnd_init()
1875 dev.type = msndPinnacle; in msnd_init()
1877 dev.io = io; in msnd_init()
1878 dev.numio = DSP_NUMIO; in msnd_init()
1879 dev.irq = irq; in msnd_init()
1880 dev.base = ioremap(mem, 0x8000); in msnd_init()
1881 dev.fifosize = fifosize * 1024; in msnd_init()
1882 dev.calibrate_signal = calibrate_signal ? 1 : 0; in msnd_init()
1883 dev.recsrc = 0; in msnd_init()
1884 dev.dspq_data_buff = DSPQ_DATA_BUFF; in msnd_init()
1885 dev.dspq_buff_size = DSPQ_BUFF_SIZE; in msnd_init()
1889 clear_bit(F_DISABLE_WRITE_NDELAY, &dev.flags); in msnd_init()
1891 set_bit(F_DISABLE_WRITE_NDELAY, &dev.flags); in msnd_init()
1894 set_bit(F_HAVEDIGITAL, &dev.flags); in msnd_init()
1896 init_waitqueue_head(&dev.writeblock); in msnd_init()
1897 init_waitqueue_head(&dev.readblock); in msnd_init()
1898 init_waitqueue_head(&dev.writeflush); in msnd_init()
1899 msnd_fifo_init(&dev.DAPF); in msnd_init()
1900 msnd_fifo_init(&dev.DARF); in msnd_init()
1901 spin_lock_init(&dev.lock); in msnd_init()
1902 printk(KERN_INFO LOGNAME ": %u byte audio FIFOs (x2)\n", dev.fifosize); in msnd_init()
1903 if ((err = msnd_fifo_alloc(&dev.DAPF, dev.fifosize)) < 0) { in msnd_init()
1908 if ((err = msnd_fifo_alloc(&dev.DARF, dev.fifosize)) < 0) { in msnd_init()
1910 msnd_fifo_free(&dev.DAPF); in msnd_init()
1916 msnd_fifo_free(&dev.DAPF); in msnd_init()
1917 msnd_fifo_free(&dev.DARF); in msnd_init()
1923 msnd_fifo_free(&dev.DAPF); in msnd_init()
1924 msnd_fifo_free(&dev.DARF); in msnd_init()
1934 msnd_fifo_free(&dev.DAPF); in msdn_cleanup()
1935 msnd_fifo_free(&dev.DARF); in msdn_cleanup()