hdsp 429 sound/pci/rme9652/hdsp.c struct hdsp *hdsp;
hdsp 612 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 616 sound/pci/rme9652/hdsp.c if (hdsp->firmware_rev == 0xa)
hdsp 629 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 633 sound/pci/rme9652/hdsp.c if (hdsp->firmware_rev == 0xa)
hdsp 646 sound/pci/rme9652/hdsp.c writel(val, hdsp->iobase + reg);
hdsp 651 sound/pci/rme9652/hdsp.c return readl (hdsp->iobase + reg);
hdsp 657 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return 0;
hdsp 658 sound/pci/rme9652/hdsp.c if (hdsp_read (hdsp, HDSP_statusRegister) & HDSP_ConfigError) {
hdsp 660 sound/pci/rme9652/hdsp.c hdsp->state &= ~HDSP_FirmwareLoaded;
hdsp 672 sound/pci/rme9652/hdsp.c if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
hdsp 676 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, HDSP_S_PROGRAM);
hdsp 677 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_fifoData, 0);
hdsp 679 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait (hdsp, 0, HDSP_LONG_WAIT)) {
hdsp 684 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, HDSP_S_LOAD);
hdsp 687 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_fifoData, hdsp->firmware_cache[i]);
hdsp 688 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait (hdsp, 127, HDSP_LONG_WAIT)) {
hdsp 696 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait (hdsp, 0, HDSP_LONG_WAIT)) {
hdsp 702 sound/pci/rme9652/hdsp.c hdsp->control2_register = HDSP_BIGENDIAN_MODE;
hdsp 704 sound/pci/rme9652/hdsp.c hdsp->control2_register = 0;
hdsp 706 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register);
hdsp 710 sound/pci/rme9652/hdsp.c if (hdsp->state & HDSP_InitializationComplete) {
hdsp 712 sound/pci/rme9652/hdsp.c spin_lock_irqsave(&hdsp->lock, flags);
hdsp 713 sound/pci/rme9652/hdsp.c snd_hdsp_set_defaults(hdsp);
hdsp 714 sound/pci/rme9652/hdsp.c spin_unlock_irqrestore(&hdsp->lock, flags);
hdsp 717 sound/pci/rme9652/hdsp.c hdsp->state |= HDSP_FirmwareLoaded;
hdsp 724 sound/pci/rme9652/hdsp.c if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
hdsp 726 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, HDSP_PROGRAM);
hdsp 727 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_fifoData, 0);
hdsp 728 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait (hdsp, 0, HDSP_SHORT_WAIT) < 0)
hdsp 731 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, HDSP_S_LOAD);
hdsp 732 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_fifoData, 0);
hdsp 734 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait (hdsp, 0, HDSP_SHORT_WAIT)) {
hdsp 735 sound/pci/rme9652/hdsp.c hdsp->io_type = Multiface;
hdsp 736 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, HDSP_VERSION_BIT);
hdsp 737 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, HDSP_S_LOAD);
hdsp 738 sound/pci/rme9652/hdsp.c hdsp_fifo_wait (hdsp, 0, HDSP_SHORT_WAIT);
hdsp 740 sound/pci/rme9652/hdsp.c hdsp->io_type = Digiface;
hdsp 744 sound/pci/rme9652/hdsp.c if (hdsp_read(hdsp, HDSP_status2Register) & HDSP_version1)
hdsp 745 sound/pci/rme9652/hdsp.c hdsp->io_type = Multiface;
hdsp 747 sound/pci/rme9652/hdsp.c hdsp->io_type = Digiface;
hdsp 759 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632)
hdsp 761 sound/pci/rme9652/hdsp.c if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
hdsp 762 sound/pci/rme9652/hdsp.c hdsp->state &= ~HDSP_FirmwareLoaded;
hdsp 767 sound/pci/rme9652/hdsp.c if (! (hdsp->state & HDSP_FirmwareCached)) {
hdsp 769 sound/pci/rme9652/hdsp.c if (! hdsp_request_fw_loader(hdsp))
hdsp 777 sound/pci/rme9652/hdsp.c if (snd_hdsp_load_firmware_from_cache(hdsp) != 0) {
hdsp 798 sound/pci/rme9652/hdsp.c if ((int)(hdsp_read (hdsp, HDSP_fifoStatus) & 0xff) <= count)
hdsp 818 sound/pci/rme9652/hdsp.c return hdsp->mixer_matrix[addr];
hdsp 828 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632) {
hdsp 842 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632 && addr >= 512)
hdsp 845 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 && addr >= 1352)
hdsp 848 sound/pci/rme9652/hdsp.c hdsp->mixer_matrix[addr] = data;
hdsp 860 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, 4096 + (ad*4),
hdsp 861 sound/pci/rme9652/hdsp.c (hdsp->mixer_matrix[(addr&0x7fe)+1] << 16) +
hdsp 862 sound/pci/rme9652/hdsp.c hdsp->mixer_matrix[addr&0x7fe]);
hdsp 870 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait(hdsp, 127, HDSP_LONG_WAIT))
hdsp 873 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_fifoData, ad);
hdsp 874 sound/pci/rme9652/hdsp.c hdsp->mixer_matrix[addr] = data;
hdsp 886 sound/pci/rme9652/hdsp.c spin_lock_irqsave(&hdsp->lock, flags);
hdsp 887 sound/pci/rme9652/hdsp.c if ((hdsp->playback_pid != hdsp->capture_pid) &&
hdsp 888 sound/pci/rme9652/hdsp.c (hdsp->playback_pid >= 0) && (hdsp->capture_pid >= 0))
hdsp 890 sound/pci/rme9652/hdsp.c spin_unlock_irqrestore(&hdsp->lock, flags);
hdsp 896 sound/pci/rme9652/hdsp.c unsigned int status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 900 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632)
hdsp 914 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) return 128000;
hdsp 917 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) return 176400;
hdsp 920 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) return 192000;
hdsp 931 sound/pci/rme9652/hdsp.c unsigned int status2 = hdsp_read(hdsp, HDSP_status2Register);
hdsp 938 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632 &&
hdsp 939 sound/pci/rme9652/hdsp.c hdsp_autosync_ref(hdsp) == HDSP_AUTOSYNC_FROM_SPDIF)
hdsp 940 sound/pci/rme9652/hdsp.c return hdsp_spdif_sample_rate(hdsp);
hdsp 956 sound/pci/rme9652/hdsp.c hdsp->period_bytes = 1 << ((hdsp_decode_latency(hdsp->control_register) + 8));
hdsp 963 sound/pci/rme9652/hdsp.c position = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 965 sound/pci/rme9652/hdsp.c if (!hdsp->precise_ptr)
hdsp 966 sound/pci/rme9652/hdsp.c return (position & HDSP_BufferID) ? (hdsp->period_bytes / 4) : 0;
hdsp 970 sound/pci/rme9652/hdsp.c position &= (hdsp->period_bytes/2) - 1;
hdsp 976 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_resetPointer, 0);
hdsp 977 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632 && hdsp->firmware_rev >= 152)
hdsp 981 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_freqReg, hdsp->dds_value);
hdsp 998 sound/pci/rme9652/hdsp.c memset(hdsp->playback_buffer, 0, HDSP_DMA_AREA_BYTES);
hdsp 1042 sound/pci/rme9652/hdsp.c hdsp->dds_value = n;
hdsp 1043 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_freqReg, hdsp->dds_value);
hdsp 1057 sound/pci/rme9652/hdsp.c if (!(hdsp->control_register & HDSP_ClockModeMaster)) {
hdsp 1064 sound/pci/rme9652/hdsp.c int external_freq = hdsp_external_sample_rate(hdsp);
hdsp 1065 sound/pci/rme9652/hdsp.c int spdif_freq = hdsp_spdif_sample_rate(hdsp);
hdsp 1067 sound/pci/rme9652/hdsp.c if ((spdif_freq == external_freq*2) && (hdsp_autosync_ref(hdsp) >= HDSP_AUTOSYNC_FROM_ADAT1))
hdsp 1069 sound/pci/rme9652/hdsp.c else if (hdsp->io_type == H9632 && (spdif_freq == external_freq*4) && (hdsp_autosync_ref(hdsp) >= HDSP_AUTOSYNC_FROM_ADAT1))
hdsp 1078 sound/pci/rme9652/hdsp.c current_rate = hdsp->system_sample_rate;
hdsp 1090 sound/pci/rme9652/hdsp.c if (rate > 96000 && hdsp->io_type != H9632)
hdsp 1143 sound/pci/rme9652/hdsp.c if (reject_if_open && (hdsp->capture_pid >= 0 || hdsp->playback_pid >= 0)) {
hdsp 1145 sound/pci/rme9652/hdsp.c hdsp->capture_pid,
hdsp 1146 sound/pci/rme9652/hdsp.c hdsp->playback_pid);
hdsp 1150 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_FrequencyMask;
hdsp 1151 sound/pci/rme9652/hdsp.c hdsp->control_register |= rate_bits;
hdsp 1152 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1155 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632 && hdsp->firmware_rev >= 152)
hdsp 1156 sound/pci/rme9652/hdsp.c hdsp_set_dds_value(hdsp, rate);
hdsp 1159 sound/pci/rme9652/hdsp.c hdsp->channel_map = channel_map_H9632_qs;
hdsp 1161 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632)
hdsp 1162 sound/pci/rme9652/hdsp.c hdsp->channel_map = channel_map_H9632_ds;
hdsp 1164 sound/pci/rme9652/hdsp.c hdsp->channel_map = channel_map_ds;
hdsp 1166 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 1168 sound/pci/rme9652/hdsp.c hdsp->channel_map = channel_map_mf_ss;
hdsp 1172 sound/pci/rme9652/hdsp.c hdsp->channel_map = channel_map_df_ss;
hdsp 1175 sound/pci/rme9652/hdsp.c hdsp->channel_map = channel_map_H9632_ss;
hdsp 1183 sound/pci/rme9652/hdsp.c hdsp->system_sample_rate = rate;
hdsp 1196 sound/pci/rme9652/hdsp.c return hdsp_read(hdsp, HDSP_midiDataIn1);
hdsp 1198 sound/pci/rme9652/hdsp.c return hdsp_read(hdsp, HDSP_midiDataIn0);
hdsp 1205 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_midiDataOut1, val);
hdsp 1207 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_midiDataOut0, val);
hdsp 1213 sound/pci/rme9652/hdsp.c return (hdsp_read(hdsp, HDSP_midiStatusIn1) & 0xff);
hdsp 1215 sound/pci/rme9652/hdsp.c return (hdsp_read(hdsp, HDSP_midiStatusIn0) & 0xff);
hdsp 1223 sound/pci/rme9652/hdsp.c fifo_bytes_used = hdsp_read(hdsp, HDSP_midiStatusOut1) & 0xff;
hdsp 1225 sound/pci/rme9652/hdsp.c fifo_bytes_used = hdsp_read(hdsp, HDSP_midiStatusOut0) & 0xff;
hdsp 1235 sound/pci/rme9652/hdsp.c while (snd_hdsp_midi_input_available (hdsp, id))
hdsp 1236 sound/pci/rme9652/hdsp.c snd_hdsp_midi_read_byte (hdsp, id);
hdsp 1252 sound/pci/rme9652/hdsp.c if ((n_pending = snd_hdsp_midi_output_possible (hmidi->hdsp, hmidi->id)) > 0) {
hdsp 1258 sound/pci/rme9652/hdsp.c snd_hdsp_midi_write_byte (hmidi->hdsp, hmidi->id, buf[i]);
hdsp 1275 sound/pci/rme9652/hdsp.c if ((n_pending = snd_hdsp_midi_input_available (hmidi->hdsp, hmidi->id)) > 0) {
hdsp 1280 sound/pci/rme9652/hdsp.c buf[i] = snd_hdsp_midi_read_byte (hmidi->hdsp, hmidi->id);
hdsp 1286 sound/pci/rme9652/hdsp.c snd_hdsp_midi_read_byte (hmidi->hdsp, hmidi->id);
hdsp 1291 sound/pci/rme9652/hdsp.c hmidi->hdsp->control_register |= HDSP_Midi1InterruptEnable;
hdsp 1293 sound/pci/rme9652/hdsp.c hmidi->hdsp->control_register |= HDSP_Midi0InterruptEnable;
hdsp 1294 sound/pci/rme9652/hdsp.c hdsp_write(hmidi->hdsp, HDSP_controlRegister, hmidi->hdsp->control_register);
hdsp 1301 sound/pci/rme9652/hdsp.c struct hdsp *hdsp;
hdsp 1307 sound/pci/rme9652/hdsp.c hdsp = hmidi->hdsp;
hdsp 1309 sound/pci/rme9652/hdsp.c spin_lock_irqsave (&hdsp->lock, flags);
hdsp 1311 sound/pci/rme9652/hdsp.c if (!(hdsp->control_register & ie)) {
hdsp 1312 sound/pci/rme9652/hdsp.c snd_hdsp_flush_midi_input (hdsp, hmidi->id);
hdsp 1313 sound/pci/rme9652/hdsp.c hdsp->control_register |= ie;
hdsp 1316 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~ie;
hdsp 1317 sound/pci/rme9652/hdsp.c tasklet_kill(&hdsp->midi_tasklet);
hdsp 1320 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1321 sound/pci/rme9652/hdsp.c spin_unlock_irqrestore (&hdsp->lock, flags);
hdsp 1377 sound/pci/rme9652/hdsp.c snd_hdsp_flush_midi_input (hmidi->hdsp, hmidi->id);
hdsp 1442 sound/pci/rme9652/hdsp.c hdsp->midi[id].id = id;
hdsp 1443 sound/pci/rme9652/hdsp.c hdsp->midi[id].rmidi = NULL;
hdsp 1444 sound/pci/rme9652/hdsp.c hdsp->midi[id].input = NULL;
hdsp 1445 sound/pci/rme9652/hdsp.c hdsp->midi[id].output = NULL;
hdsp 1446 sound/pci/rme9652/hdsp.c hdsp->midi[id].hdsp = hdsp;
hdsp 1447 sound/pci/rme9652/hdsp.c hdsp->midi[id].istimer = 0;
hdsp 1448 sound/pci/rme9652/hdsp.c hdsp->midi[id].pending = 0;
hdsp 1449 sound/pci/rme9652/hdsp.c spin_lock_init (&hdsp->midi[id].lock);
hdsp 1452 sound/pci/rme9652/hdsp.c if (snd_rawmidi_new (card, buf, id, 1, 1, &hdsp->midi[id].rmidi) < 0)
hdsp 1455 sound/pci/rme9652/hdsp.c sprintf (hdsp->midi[id].rmidi->name, "%s MIDI %d", card->id, id+1);
hdsp 1456 sound/pci/rme9652/hdsp.c hdsp->midi[id].rmidi->private_data = &hdsp->midi[id];
hdsp 1458 sound/pci/rme9652/hdsp.c snd_rawmidi_set_ops (hdsp->midi[id].rmidi, SNDRV_RAWMIDI_STREAM_OUTPUT, &snd_hdsp_midi_output);
hdsp 1459 sound/pci/rme9652/hdsp.c snd_rawmidi_set_ops (hdsp->midi[id].rmidi, SNDRV_RAWMIDI_STREAM_INPUT, &snd_hdsp_midi_input);
hdsp 1461 sound/pci/rme9652/hdsp.c hdsp->midi[id].rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT |
hdsp 1503 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1505 sound/pci/rme9652/hdsp.c snd_hdsp_convert_to_aes(&ucontrol->value.iec958, hdsp->creg_spdif);
hdsp 1511 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1516 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1517 sound/pci/rme9652/hdsp.c change = val != hdsp->creg_spdif;
hdsp 1518 sound/pci/rme9652/hdsp.c hdsp->creg_spdif = val;
hdsp 1519 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1532 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1534 sound/pci/rme9652/hdsp.c snd_hdsp_convert_to_aes(&ucontrol->value.iec958, hdsp->creg_spdif_stream);
hdsp 1540 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1545 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1546 sound/pci/rme9652/hdsp.c change = val != hdsp->creg_spdif_stream;
hdsp 1547 sound/pci/rme9652/hdsp.c hdsp->creg_spdif_stream = val;
hdsp 1548 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~(HDSP_SPDIFProfessional | HDSP_SPDIFNonAudio | HDSP_SPDIFEmphasis);
hdsp 1549 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register |= val);
hdsp 1550 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1577 sound/pci/rme9652/hdsp.c return hdsp_decode_spdif_in(hdsp->control_register & HDSP_SPDIFInputMask);
hdsp 1582 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SPDIFInputMask;
hdsp 1583 sound/pci/rme9652/hdsp.c hdsp->control_register |= hdsp_encode_spdif_in(in);
hdsp 1584 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1591 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1595 sound/pci/rme9652/hdsp.c uinfo->value.enumerated.items = ((hdsp->io_type == H9632) ? 4 : 3);
hdsp 1596 sound/pci/rme9652/hdsp.c if (uinfo->value.enumerated.item > ((hdsp->io_type == H9632) ? 3 : 2))
hdsp 1597 sound/pci/rme9652/hdsp.c uinfo->value.enumerated.item = ((hdsp->io_type == H9632) ? 3 : 2);
hdsp 1604 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1606 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_spdif_in(hdsp);
hdsp 1612 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1616 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 1618 sound/pci/rme9652/hdsp.c val = ucontrol->value.enumerated.item[0] % ((hdsp->io_type == H9632) ? 4 : 3);
hdsp 1619 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1620 sound/pci/rme9652/hdsp.c change = val != hdsp_spdif_in(hdsp);
hdsp 1622 sound/pci/rme9652/hdsp.c hdsp_set_spdif_input(hdsp, val);
hdsp 1623 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1634 sound/pci/rme9652/hdsp.c return (hdsp->control_register & HDSP_SPDIFOpticalOut) ? 1 : 0;
hdsp 1640 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SPDIFOpticalOut;
hdsp 1642 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SPDIFOpticalOut;
hdsp 1643 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1651 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1653 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp_spdif_out(hdsp);
hdsp 1659 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1663 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 1666 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1667 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_spdif_out(hdsp);
hdsp 1668 sound/pci/rme9652/hdsp.c hdsp_set_spdif_output(hdsp, val);
hdsp 1669 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1680 sound/pci/rme9652/hdsp.c return (hdsp->control_register & HDSP_SPDIFProfessional) ? 1 : 0;
hdsp 1686 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SPDIFProfessional;
hdsp 1688 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SPDIFProfessional;
hdsp 1689 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1695 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1697 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp_spdif_professional(hdsp);
hdsp 1703 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1707 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 1710 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1711 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_spdif_professional(hdsp);
hdsp 1712 sound/pci/rme9652/hdsp.c hdsp_set_spdif_professional(hdsp, val);
hdsp 1713 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1724 sound/pci/rme9652/hdsp.c return (hdsp->control_register & HDSP_SPDIFEmphasis) ? 1 : 0;
hdsp 1730 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SPDIFEmphasis;
hdsp 1732 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SPDIFEmphasis;
hdsp 1733 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1739 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1741 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp_spdif_emphasis(hdsp);
hdsp 1747 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1751 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 1754 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1755 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_spdif_emphasis(hdsp);
hdsp 1756 sound/pci/rme9652/hdsp.c hdsp_set_spdif_emphasis(hdsp, val);
hdsp 1757 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1768 sound/pci/rme9652/hdsp.c return (hdsp->control_register & HDSP_SPDIFNonAudio) ? 1 : 0;
hdsp 1774 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SPDIFNonAudio;
hdsp 1776 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SPDIFNonAudio;
hdsp 1777 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 1783 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1785 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp_spdif_nonaudio(hdsp);
hdsp 1791 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1795 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 1798 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 1799 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_spdif_nonaudio(hdsp);
hdsp 1800 sound/pci/rme9652/hdsp.c hdsp_set_spdif_nonaudio(hdsp, val);
hdsp 1801 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 1817 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1821 sound/pci/rme9652/hdsp.c uinfo->value.enumerated.items = (hdsp->io_type == H9632) ? 10 : 7;
hdsp 1830 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1832 sound/pci/rme9652/hdsp.c switch (hdsp_spdif_sample_rate(hdsp)) {
hdsp 1884 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1886 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp->system_sample_rate;
hdsp 1901 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1905 sound/pci/rme9652/hdsp.c uinfo->value.enumerated.items = (hdsp->io_type == H9632) ? 10 : 7 ;
hdsp 1914 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1916 sound/pci/rme9652/hdsp.c switch (hdsp_external_sample_rate(hdsp)) {
hdsp 1961 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_ClockModeMaster)
hdsp 1963 sound/pci/rme9652/hdsp.c else if (hdsp_external_sample_rate(hdsp) != hdsp->system_sample_rate)
hdsp 1983 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 1985 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_system_clock_mode(hdsp);
hdsp 2000 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_ClockModeMaster) {
hdsp 2001 sound/pci/rme9652/hdsp.c switch (hdsp->system_sample_rate) {
hdsp 2033 sound/pci/rme9652/hdsp.c if (hdsp_external_sample_rate(hdsp) != 0) {
hdsp 2034 sound/pci/rme9652/hdsp.c if (!hdsp_set_rate(hdsp, hdsp_external_sample_rate(hdsp), 1)) {
hdsp 2035 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_ClockModeMaster;
hdsp 2036 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2071 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_ClockModeMaster;
hdsp 2072 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2073 sound/pci/rme9652/hdsp.c hdsp_set_rate(hdsp, rate, 1);
hdsp 2080 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2084 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632)
hdsp 2096 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2098 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_clock_source(hdsp);
hdsp 2104 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2108 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2112 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 2119 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2120 sound/pci/rme9652/hdsp.c if (val != hdsp_clock_source(hdsp))
hdsp 2121 sound/pci/rme9652/hdsp.c change = (hdsp_set_clock_source(hdsp, val) == 0) ? 1 : 0;
hdsp 2124 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2132 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2134 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp->clock_source_locked;
hdsp 2140 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2143 sound/pci/rme9652/hdsp.c change = (int)ucontrol->value.integer.value[0] != hdsp->clock_source_locked;
hdsp 2145 sound/pci/rme9652/hdsp.c hdsp->clock_source_locked = !!ucontrol->value.integer.value[0];
hdsp 2160 sound/pci/rme9652/hdsp.c switch (hdsp->control_register & HDSP_DAGainMask) {
hdsp 2174 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_DAGainMask;
hdsp 2177 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_DAGainHighGain;
hdsp 2180 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_DAGainPlus4dBu;
hdsp 2183 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_DAGainMinus10dBV;
hdsp 2189 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2208 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2210 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_da_gain(hdsp);
hdsp 2216 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2220 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2225 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2226 sound/pci/rme9652/hdsp.c if (val != hdsp_da_gain(hdsp))
hdsp 2227 sound/pci/rme9652/hdsp.c change = (hdsp_set_da_gain(hdsp, val) == 0) ? 1 : 0;
hdsp 2230 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2245 sound/pci/rme9652/hdsp.c switch (hdsp->control_register & HDSP_ADGainMask) {
hdsp 2259 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_ADGainMask;
hdsp 2262 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_ADGainMinus10dBV;
hdsp 2265 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_ADGainPlus4dBu;
hdsp 2268 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_ADGainLowGain;
hdsp 2274 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2293 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2295 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_ad_gain(hdsp);
hdsp 2301 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2305 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2310 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2311 sound/pci/rme9652/hdsp.c if (val != hdsp_ad_gain(hdsp))
hdsp 2312 sound/pci/rme9652/hdsp.c change = (hdsp_set_ad_gain(hdsp, val) == 0) ? 1 : 0;
hdsp 2315 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2330 sound/pci/rme9652/hdsp.c switch (hdsp->control_register & HDSP_PhoneGainMask) {
hdsp 2344 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_PhoneGainMask;
hdsp 2347 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_PhoneGain0dB;
hdsp 2350 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_PhoneGainMinus6dB;
hdsp 2353 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_PhoneGainMinus12dB;
hdsp 2359 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2378 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2380 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_phone_gain(hdsp);
hdsp 2386 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2390 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2395 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2396 sound/pci/rme9652/hdsp.c if (val != hdsp_phone_gain(hdsp))
hdsp 2397 sound/pci/rme9652/hdsp.c change = (hdsp_set_phone_gain(hdsp, val) == 0) ? 1 : 0;
hdsp 2400 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2415 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_XLRBreakoutCable)
hdsp 2423 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_XLRBreakoutCable;
hdsp 2425 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_XLRBreakoutCable;
hdsp 2426 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2434 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2436 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_xlr_breakout_cable(hdsp);
hdsp 2442 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2446 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2449 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2450 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_xlr_breakout_cable(hdsp);
hdsp 2451 sound/pci/rme9652/hdsp.c hdsp_set_xlr_breakout_cable(hdsp, val);
hdsp 2452 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2471 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_AnalogExtensionBoard)
hdsp 2479 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_AnalogExtensionBoard;
hdsp 2481 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_AnalogExtensionBoard;
hdsp 2482 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2490 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2492 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_aeb(hdsp);
hdsp 2498 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2502 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2505 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2506 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_aeb(hdsp);
hdsp 2507 sound/pci/rme9652/hdsp.c hdsp_set_aeb(hdsp, val);
hdsp 2508 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2527 sound/pci/rme9652/hdsp.c switch (hdsp->control_register & HDSP_SyncRefMask) {
hdsp 2548 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SyncRefMask;
hdsp 2551 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_SyncRefMask; /* clear SyncRef bits */
hdsp 2554 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SyncRef_ADAT2;
hdsp 2557 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SyncRef_ADAT3;
hdsp 2560 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SyncRef_SPDIF;
hdsp 2563 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SyncRef_WORD;
hdsp 2566 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_SyncRef_ADAT_SYNC;
hdsp 2571 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2578 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2583 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 2607 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2609 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_pref_sync_ref(hdsp);
hdsp 2615 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2619 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2622 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 2638 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2639 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_pref_sync_ref(hdsp);
hdsp 2640 sound/pci/rme9652/hdsp.c hdsp_set_pref_sync_ref(hdsp, val);
hdsp 2641 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2657 sound/pci/rme9652/hdsp.c unsigned int status2 = hdsp_read(hdsp, HDSP_status2Register);
hdsp 2695 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2697 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_autosync_ref(hdsp);
hdsp 2712 sound/pci/rme9652/hdsp.c return (hdsp->control_register & HDSP_LineOut) ? 1 : 0;
hdsp 2718 sound/pci/rme9652/hdsp.c hdsp->control_register |= HDSP_LineOut;
hdsp 2720 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_LineOut;
hdsp 2721 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 2729 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2731 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2732 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp_line_out(hdsp);
hdsp 2733 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2739 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2743 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2746 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2747 sound/pci/rme9652/hdsp.c change = (int)val != hdsp_line_out(hdsp);
hdsp 2748 sound/pci/rme9652/hdsp.c hdsp_set_line_output(hdsp, val);
hdsp 2749 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2765 sound/pci/rme9652/hdsp.c hdsp->precise_ptr = 1;
hdsp 2767 sound/pci/rme9652/hdsp.c hdsp->precise_ptr = 0;
hdsp 2775 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2777 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2778 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp->precise_ptr;
hdsp 2779 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2785 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2789 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2792 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2793 sound/pci/rme9652/hdsp.c change = (int)val != hdsp->precise_ptr;
hdsp 2794 sound/pci/rme9652/hdsp.c hdsp_set_precise_pointer(hdsp, val);
hdsp 2795 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2811 sound/pci/rme9652/hdsp.c hdsp->use_midi_tasklet = 1;
hdsp 2813 sound/pci/rme9652/hdsp.c hdsp->use_midi_tasklet = 0;
hdsp 2821 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2823 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2824 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[0] = hdsp->use_midi_tasklet;
hdsp 2825 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2831 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2835 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2838 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2839 sound/pci/rme9652/hdsp.c change = (int)val != hdsp->use_midi_tasklet;
hdsp 2840 sound/pci/rme9652/hdsp.c hdsp_set_use_midi_tasklet(hdsp, val);
hdsp 2841 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2869 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2877 sound/pci/rme9652/hdsp.c if (source >= hdsp->max_channels)
hdsp 2878 sound/pci/rme9652/hdsp.c addr = hdsp_playback_to_output_key(hdsp,source-hdsp->max_channels,destination);
hdsp 2880 sound/pci/rme9652/hdsp.c addr = hdsp_input_to_output_key(hdsp,source, destination);
hdsp 2882 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2883 sound/pci/rme9652/hdsp.c ucontrol->value.integer.value[2] = hdsp_read_gain (hdsp, addr);
hdsp 2884 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2890 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2897 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 2903 sound/pci/rme9652/hdsp.c if (source >= hdsp->max_channels)
hdsp 2904 sound/pci/rme9652/hdsp.c addr = hdsp_playback_to_output_key(hdsp,source-hdsp->max_channels, destination);
hdsp 2906 sound/pci/rme9652/hdsp.c addr = hdsp_input_to_output_key(hdsp,source, destination);
hdsp 2910 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 2911 sound/pci/rme9652/hdsp.c change = gain != hdsp_read_gain(hdsp, addr);
hdsp 2913 sound/pci/rme9652/hdsp.c hdsp_write_gain(hdsp, addr, gain);
hdsp 2914 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 2941 sound/pci/rme9652/hdsp.c int status2 = hdsp_read(hdsp, HDSP_status2Register);
hdsp 2954 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2956 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_wc_sync_check(hdsp);
hdsp 2971 sound/pci/rme9652/hdsp.c int status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 2985 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 2987 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_spdif_sync_check(hdsp);
hdsp 3002 sound/pci/rme9652/hdsp.c int status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 3014 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 3016 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_adatsync_sync_check(hdsp);
hdsp 3029 sound/pci/rme9652/hdsp.c int status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 3043 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 3048 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 3063 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_adat_sync_check(hdsp, offset);
hdsp 3080 sound/pci/rme9652/hdsp.c unsigned int dds_value = hdsp->dds_value;
hdsp 3081 sound/pci/rme9652/hdsp.c int system_sample_rate = hdsp->system_sample_rate;
hdsp 3101 sound/pci/rme9652/hdsp.c int rate = hdsp->system_sample_rate + offset_hz;
hdsp 3102 sound/pci/rme9652/hdsp.c hdsp_set_dds_value(hdsp, rate);
hdsp 3117 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 3119 sound/pci/rme9652/hdsp.c ucontrol->value.enumerated.item[0] = hdsp_dds_offset(hdsp);
hdsp 3125 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
hdsp 3129 sound/pci/rme9652/hdsp.c if (!snd_hdsp_use_is_exclusive(hdsp))
hdsp 3132 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 3133 sound/pci/rme9652/hdsp.c if (val != hdsp_dds_offset(hdsp))
hdsp 3134 sound/pci/rme9652/hdsp.c change = (hdsp_set_dds_offset(hdsp, val) == 0) ? 1 : 0;
hdsp 3137 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3225 sound/pci/rme9652/hdsp.c if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_controls[idx], hdsp))) < 0)
hdsp 3228 sound/pci/rme9652/hdsp.c hdsp->spdif_ctl = kctl;
hdsp 3234 sound/pci/rme9652/hdsp.c if ((err = snd_ctl_add (card, kctl = snd_ctl_new1(&snd_hdsp_adat_sync_check, hdsp))))
hdsp 3236 sound/pci/rme9652/hdsp.c if (hdsp->io_type == Digiface || hdsp->io_type == H9652) {
hdsp 3239 sound/pci/rme9652/hdsp.c if ((err = snd_ctl_add (card, kctl = snd_ctl_new1(&snd_hdsp_adat_sync_check, hdsp))))
hdsp 3245 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 3247 sound/pci/rme9652/hdsp.c if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_9632_controls[idx], hdsp))) < 0)
hdsp 3253 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632 || hdsp->io_type == H9652) {
hdsp 3254 sound/pci/rme9652/hdsp.c if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_96xx_aeb, hdsp))) < 0)
hdsp 3268 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = (struct hdsp *) entry->private_data;
hdsp 3277 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp)) {
hdsp 3282 sound/pci/rme9652/hdsp.c if (hdsp_check_for_firmware(hdsp, 0)) {
hdsp 3283 sound/pci/rme9652/hdsp.c if (hdsp->state & HDSP_FirmwareCached) {
hdsp 3284 sound/pci/rme9652/hdsp.c if (snd_hdsp_load_firmware_from_cache(hdsp) != 0) {
hdsp 3291 sound/pci/rme9652/hdsp.c err = hdsp_request_fw_loader(hdsp);
hdsp 3302 sound/pci/rme9652/hdsp.c status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 3303 sound/pci/rme9652/hdsp.c status2 = hdsp_read(hdsp, HDSP_status2Register);
hdsp 3305 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "%s (Card #%d)\n", hdsp->card_name, hdsp->card->number + 1);
hdsp 3307 sound/pci/rme9652/hdsp.c hdsp->capture_buffer, hdsp->playback_buffer);
hdsp 3309 sound/pci/rme9652/hdsp.c hdsp->irq, hdsp->port, (unsigned long)hdsp->iobase);
hdsp 3310 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Control register: 0x%x\n", hdsp->control_register);
hdsp 3311 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Control2 register: 0x%x\n", hdsp->control2_register);
hdsp 3314 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "FIFO status: %d\n", hdsp_read(hdsp, HDSP_fifoStatus) & 0xff);
hdsp 3315 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "MIDI1 Output status: 0x%x\n", hdsp_read(hdsp, HDSP_midiStatusOut0));
hdsp 3316 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "MIDI1 Input status: 0x%x\n", hdsp_read(hdsp, HDSP_midiStatusIn0));
hdsp 3317 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "MIDI2 Output status: 0x%x\n", hdsp_read(hdsp, HDSP_midiStatusOut1));
hdsp 3318 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "MIDI2 Input status: 0x%x\n", hdsp_read(hdsp, HDSP_midiStatusIn1));
hdsp 3319 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Use Midi Tasklet: %s\n", hdsp->use_midi_tasklet ? "on" : "off");
hdsp 3323 sound/pci/rme9652/hdsp.c x = 1 << (6 + hdsp_decode_latency(hdsp->control_register & HDSP_LatencyMask));
hdsp 3325 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Buffer Size (Latency): %d samples (2 periods of %lu bytes)\n", x, (unsigned long) hdsp->period_bytes);
hdsp 3326 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Hardware pointer (frames): %ld\n", hdsp_hw_pointer(hdsp));
hdsp 3327 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Precise pointer: %s\n", hdsp->precise_ptr ? "on" : "off");
hdsp 3328 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "Line out: %s\n", (hdsp->control_register & HDSP_LineOut) ? "on" : "off");
hdsp 3335 sound/pci/rme9652/hdsp.c switch (hdsp_clock_source(hdsp)) {
hdsp 3371 sound/pci/rme9652/hdsp.c if (hdsp_system_clock_mode(hdsp))
hdsp 3376 sound/pci/rme9652/hdsp.c switch (hdsp_pref_sync_ref (hdsp)) {
hdsp 3401 sound/pci/rme9652/hdsp.c switch (hdsp_autosync_ref (hdsp)) {
hdsp 3429 sound/pci/rme9652/hdsp.c snd_iprintf (buffer, "AutoSync Frequency: %d\n", hdsp_external_sample_rate(hdsp));
hdsp 3433 sound/pci/rme9652/hdsp.c snd_iprintf (buffer, "System Clock Frequency: %d\n", hdsp->system_sample_rate);
hdsp 3434 sound/pci/rme9652/hdsp.c snd_iprintf (buffer, "System Clock Locked: %s\n", hdsp->clock_source_locked ? "Yes" : "No");
hdsp 3438 sound/pci/rme9652/hdsp.c switch (hdsp_spdif_in(hdsp)) {
hdsp 3456 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_SPDIFOpticalOut)
hdsp 3461 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_SPDIFProfessional)
hdsp 3466 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_SPDIFEmphasis)
hdsp 3471 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_SPDIFNonAudio)
hdsp 3475 sound/pci/rme9652/hdsp.c if ((x = hdsp_spdif_sample_rate (hdsp)) != 0)
hdsp 3489 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 3529 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 3532 sound/pci/rme9652/hdsp.c switch (hdsp_ad_gain(hdsp)) {
hdsp 3545 sound/pci/rme9652/hdsp.c switch (hdsp_da_gain(hdsp)) {
hdsp 3558 sound/pci/rme9652/hdsp.c switch (hdsp_phone_gain(hdsp)) {
hdsp 3571 sound/pci/rme9652/hdsp.c snd_iprintf(buffer, "XLR Breakout Cable : %s\n", hdsp_xlr_breakout_cable(hdsp) ? "yes" : "no");
hdsp 3573 sound/pci/rme9652/hdsp.c if (hdsp->control_register & HDSP_AnalogExtensionBoard)
hdsp 3586 sound/pci/rme9652/hdsp.c if (! snd_card_proc_new(hdsp->card, "hdsp", &entry))
hdsp 3587 sound/pci/rme9652/hdsp.c snd_info_set_text_ops(entry, hdsp, snd_hdsp_proc_read);
hdsp 3592 sound/pci/rme9652/hdsp.c snd_hammerfall_free_buffer(&hdsp->capture_dma_buf, hdsp->pci);
hdsp 3593 sound/pci/rme9652/hdsp.c snd_hammerfall_free_buffer(&hdsp->playback_dma_buf, hdsp->pci);
hdsp 3600 sound/pci/rme9652/hdsp.c if (snd_hammerfall_get_buffer(hdsp->pci, &hdsp->capture_dma_buf, HDSP_DMA_AREA_BYTES) < 0 ||
hdsp 3601 sound/pci/rme9652/hdsp.c snd_hammerfall_get_buffer(hdsp->pci, &hdsp->playback_dma_buf, HDSP_DMA_AREA_BYTES) < 0) {
hdsp 3602 sound/pci/rme9652/hdsp.c if (hdsp->capture_dma_buf.area)
hdsp 3603 sound/pci/rme9652/hdsp.c snd_dma_free_pages(&hdsp->capture_dma_buf);
hdsp 3604 sound/pci/rme9652/hdsp.c printk(KERN_ERR "%s: no buffers available\n", hdsp->card_name);
hdsp 3610 sound/pci/rme9652/hdsp.c cb_bus = ALIGN(hdsp->capture_dma_buf.addr, 0x10000ul);
hdsp 3611 sound/pci/rme9652/hdsp.c pb_bus = ALIGN(hdsp->playback_dma_buf.addr, 0x10000ul);
hdsp 3615 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_inputBufferAddress, cb_bus);
hdsp 3616 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_outputBufferAddress, pb_bus);
hdsp 3618 sound/pci/rme9652/hdsp.c hdsp->capture_buffer = hdsp->capture_dma_buf.area + (cb_bus - hdsp->capture_dma_buf.addr);
hdsp 3619 sound/pci/rme9652/hdsp.c hdsp->playback_buffer = hdsp->playback_dma_buf.area + (pb_bus - hdsp->playback_dma_buf.addr);
hdsp 3642 sound/pci/rme9652/hdsp.c hdsp->control_register = HDSP_ClockModeMaster |
hdsp 3648 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 3651 sound/pci/rme9652/hdsp.c hdsp->control2_register = HDSP_BIGENDIAN_MODE;
hdsp 3653 sound/pci/rme9652/hdsp.c hdsp->control2_register = 0;
hdsp 3655 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652)
hdsp 3656 sound/pci/rme9652/hdsp.c snd_hdsp_9652_enable_mixer (hdsp);
hdsp 3658 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register);
hdsp 3660 sound/pci/rme9652/hdsp.c hdsp_reset_hw_pointer(hdsp);
hdsp 3661 sound/pci/rme9652/hdsp.c hdsp_compute_period_size(hdsp);
hdsp 3666 sound/pci/rme9652/hdsp.c hdsp->mixer_matrix[i] = MINUS_INFINITY_GAIN;
hdsp 3668 sound/pci/rme9652/hdsp.c for (i = 0; i < ((hdsp->io_type == H9652 || hdsp->io_type == H9632) ? 1352 : HDSP_MATRIX_MIXER_SIZE); ++i) {
hdsp 3669 sound/pci/rme9652/hdsp.c if (hdsp_write_gain (hdsp, i, MINUS_INFINITY_GAIN))
hdsp 3674 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 3675 sound/pci/rme9652/hdsp.c hdsp->control_register |= (HDSP_DAGainPlus4dBu | HDSP_ADGainPlus4dBu | HDSP_PhoneGain0dB);
hdsp 3676 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 3682 sound/pci/rme9652/hdsp.c hdsp_set_rate(hdsp, 48000, 1);
hdsp 3689 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = (struct hdsp *)arg;
hdsp 3691 sound/pci/rme9652/hdsp.c if (hdsp->midi[0].pending)
hdsp 3692 sound/pci/rme9652/hdsp.c snd_hdsp_midi_input_read (&hdsp->midi[0]);
hdsp 3693 sound/pci/rme9652/hdsp.c if (hdsp->midi[1].pending)
hdsp 3694 sound/pci/rme9652/hdsp.c snd_hdsp_midi_input_read (&hdsp->midi[1]);
hdsp 3699 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = (struct hdsp *) dev_id;
hdsp 3708 sound/pci/rme9652/hdsp.c status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 3717 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_interruptConfirmation, 0);
hdsp 3719 sound/pci/rme9652/hdsp.c midi0status = hdsp_read (hdsp, HDSP_midiStatusIn0) & 0xff;
hdsp 3720 sound/pci/rme9652/hdsp.c midi1status = hdsp_read (hdsp, HDSP_midiStatusIn1) & 0xff;
hdsp 3723 sound/pci/rme9652/hdsp.c if (hdsp->capture_substream)
hdsp 3724 sound/pci/rme9652/hdsp.c snd_pcm_period_elapsed(hdsp->pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream);
hdsp 3726 sound/pci/rme9652/hdsp.c if (hdsp->playback_substream)
hdsp 3727 sound/pci/rme9652/hdsp.c snd_pcm_period_elapsed(hdsp->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream);
hdsp 3731 sound/pci/rme9652/hdsp.c if (hdsp->use_midi_tasklet) {
hdsp 3733 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_Midi0InterruptEnable;
hdsp 3734 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 3735 sound/pci/rme9652/hdsp.c hdsp->midi[0].pending = 1;
hdsp 3738 sound/pci/rme9652/hdsp.c snd_hdsp_midi_input_read (&hdsp->midi[0]);
hdsp 3741 sound/pci/rme9652/hdsp.c if (hdsp->io_type != Multiface && hdsp->io_type != H9632 && midi1 && midi1status) {
hdsp 3742 sound/pci/rme9652/hdsp.c if (hdsp->use_midi_tasklet) {
hdsp 3744 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~HDSP_Midi1InterruptEnable;
hdsp 3745 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 3746 sound/pci/rme9652/hdsp.c hdsp->midi[1].pending = 1;
hdsp 3749 sound/pci/rme9652/hdsp.c snd_hdsp_midi_input_read (&hdsp->midi[1]);
hdsp 3752 sound/pci/rme9652/hdsp.c if (hdsp->use_midi_tasklet && schedule)
hdsp 3753 sound/pci/rme9652/hdsp.c tasklet_hi_schedule(&hdsp->midi_tasklet);
hdsp 3759 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3760 sound/pci/rme9652/hdsp.c return hdsp_hw_pointer(hdsp);
hdsp 3770 sound/pci/rme9652/hdsp.c if (snd_BUG_ON(channel < 0 || channel >= hdsp->max_channels))
hdsp 3773 sound/pci/rme9652/hdsp.c if ((mapped_channel = hdsp->channel_map[channel]) < 0)
hdsp 3777 sound/pci/rme9652/hdsp.c return hdsp->capture_buffer + (mapped_channel * HDSP_CHANNEL_BUFFER_BYTES);
hdsp 3779 sound/pci/rme9652/hdsp.c return hdsp->playback_buffer + (mapped_channel * HDSP_CHANNEL_BUFFER_BYTES);
hdsp 3785 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3791 sound/pci/rme9652/hdsp.c channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel);
hdsp 3802 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3808 sound/pci/rme9652/hdsp.c channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel);
hdsp 3819 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3822 sound/pci/rme9652/hdsp.c channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel);
hdsp 3832 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3835 sound/pci/rme9652/hdsp.c other = hdsp->capture_substream;
hdsp 3837 sound/pci/rme9652/hdsp.c other = hdsp->playback_substream;
hdsp 3838 sound/pci/rme9652/hdsp.c if (hdsp->running)
hdsp 3839 sound/pci/rme9652/hdsp.c runtime->status->hw_ptr = hdsp_hw_pointer(hdsp);
hdsp 3858 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3863 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp))
hdsp 3866 sound/pci/rme9652/hdsp.c if (hdsp_check_for_firmware(hdsp, 1))
hdsp 3869 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 3872 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~(HDSP_SPDIFProfessional | HDSP_SPDIFNonAudio | HDSP_SPDIFEmphasis);
hdsp 3873 sound/pci/rme9652/hdsp.c hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register |= hdsp->creg_spdif_stream);
hdsp 3874 sound/pci/rme9652/hdsp.c this_pid = hdsp->playback_pid;
hdsp 3875 sound/pci/rme9652/hdsp.c other_pid = hdsp->capture_pid;
hdsp 3877 sound/pci/rme9652/hdsp.c this_pid = hdsp->capture_pid;
hdsp 3878 sound/pci/rme9652/hdsp.c other_pid = hdsp->playback_pid;
hdsp 3888 sound/pci/rme9652/hdsp.c if (params_rate(params) != hdsp->system_sample_rate) {
hdsp 3889 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3894 sound/pci/rme9652/hdsp.c if (params_period_size(params) != hdsp->period_bytes / 4) {
hdsp 3895 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3902 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3906 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3912 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 3913 sound/pci/rme9652/hdsp.c if (! hdsp->clock_source_locked) {
hdsp 3914 sound/pci/rme9652/hdsp.c if ((err = hdsp_set_rate(hdsp, params_rate(params), 0)) < 0) {
hdsp 3915 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3920 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 3922 sound/pci/rme9652/hdsp.c if ((err = hdsp_set_interrupt_interval(hdsp, params_period_size(params))) < 0) {
hdsp 3933 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3936 sound/pci/rme9652/hdsp.c if (snd_BUG_ON(info->channel >= hdsp->max_channels))
hdsp 3939 sound/pci/rme9652/hdsp.c if ((mapped_channel = hdsp->channel_map[info->channel]) < 0)
hdsp 3965 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 3969 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp))
hdsp 3972 sound/pci/rme9652/hdsp.c if (hdsp_check_for_firmware(hdsp, 0)) /* no auto-loading in trigger */
hdsp 3975 sound/pci/rme9652/hdsp.c spin_lock(&hdsp->lock);
hdsp 3976 sound/pci/rme9652/hdsp.c running = hdsp->running;
hdsp 3986 sound/pci/rme9652/hdsp.c spin_unlock(&hdsp->lock);
hdsp 3990 sound/pci/rme9652/hdsp.c other = hdsp->capture_substream;
hdsp 3992 sound/pci/rme9652/hdsp.c other = hdsp->playback_substream;
hdsp 4009 sound/pci/rme9652/hdsp.c hdsp_silence_playback(hdsp);
hdsp 4013 sound/pci/rme9652/hdsp.c hdsp_silence_playback(hdsp);
hdsp 4017 sound/pci/rme9652/hdsp.c hdsp_silence_playback(hdsp);
hdsp 4021 sound/pci/rme9652/hdsp.c if (!hdsp->running && running)
hdsp 4022 sound/pci/rme9652/hdsp.c hdsp_start_audio(hdsp);
hdsp 4023 sound/pci/rme9652/hdsp.c else if (hdsp->running && !running)
hdsp 4024 sound/pci/rme9652/hdsp.c hdsp_stop_audio(hdsp);
hdsp 4025 sound/pci/rme9652/hdsp.c hdsp->running = running;
hdsp 4026 sound/pci/rme9652/hdsp.c spin_unlock(&hdsp->lock);
hdsp 4033 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 4036 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp))
hdsp 4039 sound/pci/rme9652/hdsp.c if (hdsp_check_for_firmware(hdsp, 1))
hdsp 4042 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 4043 sound/pci/rme9652/hdsp.c if (!hdsp->running)
hdsp 4044 sound/pci/rme9652/hdsp.c hdsp_reset_hw_pointer(hdsp);
hdsp 4045 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 4127 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private;
hdsp 4129 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 4131 sound/pci/rme9652/hdsp.c list[0] = hdsp->qs_in_channels;
hdsp 4132 sound/pci/rme9652/hdsp.c list[1] = hdsp->ds_in_channels;
hdsp 4133 sound/pci/rme9652/hdsp.c list[2] = hdsp->ss_in_channels;
hdsp 4137 sound/pci/rme9652/hdsp.c list[0] = hdsp->ds_in_channels;
hdsp 4138 sound/pci/rme9652/hdsp.c list[1] = hdsp->ss_in_channels;
hdsp 4147 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private;
hdsp 4149 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 4150 sound/pci/rme9652/hdsp.c list[0] = hdsp->qs_out_channels;
hdsp 4151 sound/pci/rme9652/hdsp.c list[1] = hdsp->ds_out_channels;
hdsp 4152 sound/pci/rme9652/hdsp.c list[2] = hdsp->ss_out_channels;
hdsp 4155 sound/pci/rme9652/hdsp.c list[0] = hdsp->ds_out_channels;
hdsp 4156 sound/pci/rme9652/hdsp.c list[1] = hdsp->ss_out_channels;
hdsp 4164 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private;
hdsp 4167 sound/pci/rme9652/hdsp.c if (r->min > 96000 && hdsp->io_type == H9632) {
hdsp 4169 sound/pci/rme9652/hdsp.c .min = hdsp->qs_in_channels,
hdsp 4170 sound/pci/rme9652/hdsp.c .max = hdsp->qs_in_channels,
hdsp 4176 sound/pci/rme9652/hdsp.c .min = hdsp->ds_in_channels,
hdsp 4177 sound/pci/rme9652/hdsp.c .max = hdsp->ds_in_channels,
hdsp 4183 sound/pci/rme9652/hdsp.c .min = hdsp->ss_in_channels,
hdsp 4184 sound/pci/rme9652/hdsp.c .max = hdsp->ss_in_channels,
hdsp 4195 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private;
hdsp 4198 sound/pci/rme9652/hdsp.c if (r->min > 96000 && hdsp->io_type == H9632) {
hdsp 4200 sound/pci/rme9652/hdsp.c .min = hdsp->qs_out_channels,
hdsp 4201 sound/pci/rme9652/hdsp.c .max = hdsp->qs_out_channels,
hdsp 4207 sound/pci/rme9652/hdsp.c .min = hdsp->ds_out_channels,
hdsp 4208 sound/pci/rme9652/hdsp.c .max = hdsp->ds_out_channels,
hdsp 4214 sound/pci/rme9652/hdsp.c .min = hdsp->ss_out_channels,
hdsp 4215 sound/pci/rme9652/hdsp.c .max = hdsp->ss_out_channels,
hdsp 4226 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private;
hdsp 4229 sound/pci/rme9652/hdsp.c if (c->min >= hdsp->ss_out_channels) {
hdsp 4236 sound/pci/rme9652/hdsp.c } else if (c->max <= hdsp->qs_out_channels && hdsp->io_type == H9632) {
hdsp 4243 sound/pci/rme9652/hdsp.c } else if (c->max <= hdsp->ds_out_channels) {
hdsp 4257 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private;
hdsp 4260 sound/pci/rme9652/hdsp.c if (c->min >= hdsp->ss_in_channels) {
hdsp 4267 sound/pci/rme9652/hdsp.c } else if (c->max <= hdsp->qs_in_channels && hdsp->io_type == H9632) {
hdsp 4274 sound/pci/rme9652/hdsp.c } else if (c->max <= hdsp->ds_in_channels) {
hdsp 4287 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 4290 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp))
hdsp 4293 sound/pci/rme9652/hdsp.c if (hdsp_check_for_firmware(hdsp, 1))
hdsp 4296 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 4301 sound/pci/rme9652/hdsp.c runtime->dma_area = hdsp->playback_buffer;
hdsp 4304 sound/pci/rme9652/hdsp.c hdsp->playback_pid = current->pid;
hdsp 4305 sound/pci/rme9652/hdsp.c hdsp->playback_substream = substream;
hdsp 4307 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 4311 sound/pci/rme9652/hdsp.c if (hdsp->clock_source_locked) {
hdsp 4312 sound/pci/rme9652/hdsp.c runtime->hw.rate_min = runtime->hw.rate_max = hdsp->system_sample_rate;
hdsp 4313 sound/pci/rme9652/hdsp.c } else if (hdsp->io_type == H9632) {
hdsp 4318 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 4319 sound/pci/rme9652/hdsp.c runtime->hw.channels_min = hdsp->qs_out_channels;
hdsp 4320 sound/pci/rme9652/hdsp.c runtime->hw.channels_max = hdsp->ss_out_channels;
hdsp 4324 sound/pci/rme9652/hdsp.c snd_hdsp_hw_rule_out_channels, hdsp,
hdsp 4327 sound/pci/rme9652/hdsp.c snd_hdsp_hw_rule_out_channels_rate, hdsp,
hdsp 4330 sound/pci/rme9652/hdsp.c snd_hdsp_hw_rule_rate_out_channels, hdsp,
hdsp 4333 sound/pci/rme9652/hdsp.c hdsp->creg_spdif_stream = hdsp->creg_spdif;
hdsp 4334 sound/pci/rme9652/hdsp.c hdsp->spdif_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
hdsp 4335 sound/pci/rme9652/hdsp.c snd_ctl_notify(hdsp->card, SNDRV_CTL_EVENT_MASK_VALUE |
hdsp 4336 sound/pci/rme9652/hdsp.c SNDRV_CTL_EVENT_MASK_INFO, &hdsp->spdif_ctl->id);
hdsp 4342 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 4344 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 4346 sound/pci/rme9652/hdsp.c hdsp->playback_pid = -1;
hdsp 4347 sound/pci/rme9652/hdsp.c hdsp->playback_substream = NULL;
hdsp 4349 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 4351 sound/pci/rme9652/hdsp.c hdsp->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
hdsp 4352 sound/pci/rme9652/hdsp.c snd_ctl_notify(hdsp->card, SNDRV_CTL_EVENT_MASK_VALUE |
hdsp 4353 sound/pci/rme9652/hdsp.c SNDRV_CTL_EVENT_MASK_INFO, &hdsp->spdif_ctl->id);
hdsp 4360 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 4363 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp))
hdsp 4366 sound/pci/rme9652/hdsp.c if (hdsp_check_for_firmware(hdsp, 1))
hdsp 4369 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 4374 sound/pci/rme9652/hdsp.c runtime->dma_area = hdsp->capture_buffer;
hdsp 4377 sound/pci/rme9652/hdsp.c hdsp->capture_pid = current->pid;
hdsp 4378 sound/pci/rme9652/hdsp.c hdsp->capture_substream = substream;
hdsp 4380 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 4384 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 4385 sound/pci/rme9652/hdsp.c runtime->hw.channels_min = hdsp->qs_in_channels;
hdsp 4386 sound/pci/rme9652/hdsp.c runtime->hw.channels_max = hdsp->ss_in_channels;
hdsp 4392 sound/pci/rme9652/hdsp.c snd_hdsp_hw_rule_in_channels, hdsp,
hdsp 4395 sound/pci/rme9652/hdsp.c snd_hdsp_hw_rule_in_channels_rate, hdsp,
hdsp 4398 sound/pci/rme9652/hdsp.c snd_hdsp_hw_rule_rate_in_channels, hdsp,
hdsp 4405 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = snd_pcm_substream_chip(substream);
hdsp 4407 sound/pci/rme9652/hdsp.c spin_lock_irq(&hdsp->lock);
hdsp 4409 sound/pci/rme9652/hdsp.c hdsp->capture_pid = -1;
hdsp 4410 sound/pci/rme9652/hdsp.c hdsp->capture_substream = NULL;
hdsp 4412 sound/pci/rme9652/hdsp.c spin_unlock_irq(&hdsp->lock);
hdsp 4455 sound/pci/rme9652/hdsp.c if (hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DoubleSpeedStatus)
hdsp 4462 sound/pci/rme9652/hdsp.c if (copy_u32_le(&peak_rms->input_peaks[i], hdsp->iobase + ofs))
hdsp 4465 sound/pci/rme9652/hdsp.c if (copy_u32_le(&peak_rms->playback_peaks[i], hdsp->iobase + ofs))
hdsp 4468 sound/pci/rme9652/hdsp.c if (copy_u32_le(&peak_rms->output_peaks[i], hdsp->iobase + ofs))
hdsp 4471 sound/pci/rme9652/hdsp.c if (copy_u48_le(&peak_rms->input_rms[i], hdsp->iobase + ofs,
hdsp 4472 sound/pci/rme9652/hdsp.c hdsp->iobase + ofs + 4))
hdsp 4475 sound/pci/rme9652/hdsp.c if (copy_u48_le(&peak_rms->playback_rms[i], hdsp->iobase + ofs,
hdsp 4476 sound/pci/rme9652/hdsp.c hdsp->iobase + ofs + 4))
hdsp 4479 sound/pci/rme9652/hdsp.c if (copy_u48_le(&peak_rms->output_rms[i], hdsp->iobase + ofs,
hdsp 4480 sound/pci/rme9652/hdsp.c hdsp->iobase + ofs + 4))
hdsp 4493 sound/pci/rme9652/hdsp.c if (hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DoubleSpeedStatus)
hdsp 4495 sound/pci/rme9652/hdsp.c m = (struct hdsp_9632_meters __iomem *)(hdsp->iobase+HDSP_9632_metersBase);
hdsp 4523 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_playbackPeakLevel + i * 4))
hdsp 4526 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_inputPeakLevel + i * 4))
hdsp 4531 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_outputPeakLevel + i * 4))
hdsp 4536 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_playbackRmsLevel + i * 8 + 4,
hdsp 4537 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_playbackRmsLevel + i * 8))
hdsp 4540 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_inputRmsLevel + i * 8 + 4,
hdsp 4541 sound/pci/rme9652/hdsp.c hdsp->iobase + HDSP_inputRmsLevel + i * 8))
hdsp 4549 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = (struct hdsp *)hw->private_data;
hdsp 4556 sound/pci/rme9652/hdsp.c if (!(hdsp->state & HDSP_FirmwareLoaded)) {
hdsp 4561 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 4563 sound/pci/rme9652/hdsp.c return hdsp_9652_get_peak(hdsp, peak_rms);
hdsp 4565 sound/pci/rme9652/hdsp.c return hdsp_9632_get_peak(hdsp, peak_rms);
hdsp 4567 sound/pci/rme9652/hdsp.c return hdsp_get_peak(hdsp, peak_rms);
hdsp 4575 sound/pci/rme9652/hdsp.c if (!(hdsp->state & HDSP_FirmwareLoaded)) {
hdsp 4579 sound/pci/rme9652/hdsp.c spin_lock_irqsave(&hdsp->lock, flags);
hdsp 4580 sound/pci/rme9652/hdsp.c info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp);
hdsp 4581 sound/pci/rme9652/hdsp.c info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp);
hdsp 4582 sound/pci/rme9652/hdsp.c if (hdsp->io_type != H9632)
hdsp 4583 sound/pci/rme9652/hdsp.c info.adatsync_sync_check = (unsigned char)hdsp_adatsync_sync_check(hdsp);
hdsp 4584 sound/pci/rme9652/hdsp.c info.spdif_sync_check = (unsigned char)hdsp_spdif_sync_check(hdsp);
hdsp 4585 sound/pci/rme9652/hdsp.c for (i = 0; i < ((hdsp->io_type != Multiface && hdsp->io_type != H9632) ? 3 : 1); ++i)
hdsp 4586 sound/pci/rme9652/hdsp.c info.adat_sync_check[i] = (unsigned char)hdsp_adat_sync_check(hdsp, i);
hdsp 4587 sound/pci/rme9652/hdsp.c info.spdif_in = (unsigned char)hdsp_spdif_in(hdsp);
hdsp 4588 sound/pci/rme9652/hdsp.c info.spdif_out = (unsigned char)hdsp_spdif_out(hdsp);
hdsp 4589 sound/pci/rme9652/hdsp.c info.spdif_professional = (unsigned char)hdsp_spdif_professional(hdsp);
hdsp 4590 sound/pci/rme9652/hdsp.c info.spdif_emphasis = (unsigned char)hdsp_spdif_emphasis(hdsp);
hdsp 4591 sound/pci/rme9652/hdsp.c info.spdif_nonaudio = (unsigned char)hdsp_spdif_nonaudio(hdsp);
hdsp 4592 sound/pci/rme9652/hdsp.c info.spdif_sample_rate = hdsp_spdif_sample_rate(hdsp);
hdsp 4593 sound/pci/rme9652/hdsp.c info.system_sample_rate = hdsp->system_sample_rate;
hdsp 4594 sound/pci/rme9652/hdsp.c info.autosync_sample_rate = hdsp_external_sample_rate(hdsp);
hdsp 4595 sound/pci/rme9652/hdsp.c info.system_clock_mode = (unsigned char)hdsp_system_clock_mode(hdsp);
hdsp 4596 sound/pci/rme9652/hdsp.c info.clock_source = (unsigned char)hdsp_clock_source(hdsp);
hdsp 4597 sound/pci/rme9652/hdsp.c info.autosync_ref = (unsigned char)hdsp_autosync_ref(hdsp);
hdsp 4598 sound/pci/rme9652/hdsp.c info.line_out = (unsigned char)hdsp_line_out(hdsp);
hdsp 4599 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632) {
hdsp 4600 sound/pci/rme9652/hdsp.c info.da_gain = (unsigned char)hdsp_da_gain(hdsp);
hdsp 4601 sound/pci/rme9652/hdsp.c info.ad_gain = (unsigned char)hdsp_ad_gain(hdsp);
hdsp 4602 sound/pci/rme9652/hdsp.c info.phone_gain = (unsigned char)hdsp_phone_gain(hdsp);
hdsp 4603 sound/pci/rme9652/hdsp.c info.xlr_breakout_cable = (unsigned char)hdsp_xlr_breakout_cable(hdsp);
hdsp 4606 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9632 || hdsp->io_type == H9652)
hdsp 4607 sound/pci/rme9652/hdsp.c info.analog_extension_board = (unsigned char)hdsp_aeb(hdsp);
hdsp 4608 sound/pci/rme9652/hdsp.c spin_unlock_irqrestore(&hdsp->lock, flags);
hdsp 4616 sound/pci/rme9652/hdsp.c if (hdsp->io_type != H9632) return -EINVAL;
hdsp 4617 sound/pci/rme9652/hdsp.c h9632_aeb.aebi = hdsp->ss_in_channels - H9632_SS_CHANNELS;
hdsp 4618 sound/pci/rme9652/hdsp.c h9632_aeb.aebo = hdsp->ss_out_channels - H9632_SS_CHANNELS;
hdsp 4627 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return -EINVAL;
hdsp 4628 sound/pci/rme9652/hdsp.c if (hdsp->io_type == Undefined) {
hdsp 4629 sound/pci/rme9652/hdsp.c if ((err = hdsp_get_iobox_version(hdsp)) < 0)
hdsp 4632 sound/pci/rme9652/hdsp.c hdsp_version.io_type = hdsp->io_type;
hdsp 4633 sound/pci/rme9652/hdsp.c hdsp_version.firmware_rev = hdsp->firmware_rev;
hdsp 4643 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return -EINVAL;
hdsp 4645 sound/pci/rme9652/hdsp.c if (hdsp->io_type == Undefined) return -EINVAL;
hdsp 4647 sound/pci/rme9652/hdsp.c if (hdsp->state & (HDSP_FirmwareCached | HDSP_FirmwareLoaded))
hdsp 4656 sound/pci/rme9652/hdsp.c if (hdsp_check_for_iobox (hdsp))
hdsp 4659 sound/pci/rme9652/hdsp.c if (copy_from_user(hdsp->firmware_cache, firmware_data, sizeof(hdsp->firmware_cache)) != 0)
hdsp 4662 sound/pci/rme9652/hdsp.c hdsp->state |= HDSP_FirmwareCached;
hdsp 4664 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_load_firmware_from_cache(hdsp)) < 0)
hdsp 4667 sound/pci/rme9652/hdsp.c if (!(hdsp->state & HDSP_InitializationComplete)) {
hdsp 4668 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_enable_io(hdsp)) < 0)
hdsp 4671 sound/pci/rme9652/hdsp.c snd_hdsp_initialize_channels(hdsp);
hdsp 4672 sound/pci/rme9652/hdsp.c snd_hdsp_initialize_midi_flush(hdsp);
hdsp 4674 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_alsa_devices(hdsp->card, hdsp)) < 0) {
hdsp 4683 sound/pci/rme9652/hdsp.c if (copy_to_user(mixer->matrix, hdsp->mixer_matrix, sizeof(unsigned short)*HDSP_MATRIX_MIXER_SIZE))
hdsp 4724 sound/pci/rme9652/hdsp.c hdsp->hwdep = hw;
hdsp 4725 sound/pci/rme9652/hdsp.c hw->private_data = hdsp;
hdsp 4740 sound/pci/rme9652/hdsp.c if ((err = snd_pcm_new(card, hdsp->card_name, 0, 1, 1, &pcm)) < 0)
hdsp 4743 sound/pci/rme9652/hdsp.c hdsp->pcm = pcm;
hdsp 4744 sound/pci/rme9652/hdsp.c pcm->private_data = hdsp;
hdsp 4745 sound/pci/rme9652/hdsp.c strcpy(pcm->name, hdsp->card_name);
hdsp 4757 sound/pci/rme9652/hdsp.c hdsp->control2_register |= HDSP_9652_ENABLE_MIXER;
hdsp 4758 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register);
hdsp 4765 sound/pci/rme9652/hdsp.c if (hdsp_fifo_wait (hdsp, 0, 100)) {
hdsp 4770 sound/pci/rme9652/hdsp.c for (i = 0; i < hdsp->max_channels; ++i) {
hdsp 4771 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_inputEnable + (4 * i), 1);
hdsp 4772 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_outputEnable + (4 * i), 1);
hdsp 4782 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 4784 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME Hammerfall DSP + Digiface";
hdsp 4785 sound/pci/rme9652/hdsp.c hdsp->ss_in_channels = hdsp->ss_out_channels = DIGIFACE_SS_CHANNELS;
hdsp 4786 sound/pci/rme9652/hdsp.c hdsp->ds_in_channels = hdsp->ds_out_channels = DIGIFACE_DS_CHANNELS;
hdsp 4790 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME Hammerfall HDSP 9652";
hdsp 4791 sound/pci/rme9652/hdsp.c hdsp->ss_in_channels = hdsp->ss_out_channels = H9652_SS_CHANNELS;
hdsp 4792 sound/pci/rme9652/hdsp.c hdsp->ds_in_channels = hdsp->ds_out_channels = H9652_DS_CHANNELS;
hdsp 4796 sound/pci/rme9652/hdsp.c status = hdsp_read(hdsp, HDSP_statusRegister);
hdsp 4800 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME Hammerfall HDSP 9632";
hdsp 4801 sound/pci/rme9652/hdsp.c hdsp->ss_in_channels = H9632_SS_CHANNELS+aebi_channels;
hdsp 4802 sound/pci/rme9652/hdsp.c hdsp->ds_in_channels = H9632_DS_CHANNELS+aebi_channels;
hdsp 4803 sound/pci/rme9652/hdsp.c hdsp->qs_in_channels = H9632_QS_CHANNELS+aebi_channels;
hdsp 4804 sound/pci/rme9652/hdsp.c hdsp->ss_out_channels = H9632_SS_CHANNELS+aebo_channels;
hdsp 4805 sound/pci/rme9652/hdsp.c hdsp->ds_out_channels = H9632_DS_CHANNELS+aebo_channels;
hdsp 4806 sound/pci/rme9652/hdsp.c hdsp->qs_out_channels = H9632_QS_CHANNELS+aebo_channels;
hdsp 4810 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME Hammerfall DSP + Multiface";
hdsp 4811 sound/pci/rme9652/hdsp.c hdsp->ss_in_channels = hdsp->ss_out_channels = MULTIFACE_SS_CHANNELS;
hdsp 4812 sound/pci/rme9652/hdsp.c hdsp->ds_in_channels = hdsp->ds_out_channels = MULTIFACE_DS_CHANNELS;
hdsp 4823 sound/pci/rme9652/hdsp.c snd_hdsp_flush_midi_input (hdsp, 0);
hdsp 4824 sound/pci/rme9652/hdsp.c snd_hdsp_flush_midi_input (hdsp, 1);
hdsp 4831 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_pcm(card, hdsp)) < 0) {
hdsp 4837 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_midi(card, hdsp, 0)) < 0) {
hdsp 4842 sound/pci/rme9652/hdsp.c if (hdsp->io_type == Digiface || hdsp->io_type == H9652) {
hdsp 4843 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_midi(card, hdsp, 1)) < 0) {
hdsp 4849 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_controls(card, hdsp)) < 0) {
hdsp 4854 sound/pci/rme9652/hdsp.c snd_hdsp_proc_init(hdsp);
hdsp 4856 sound/pci/rme9652/hdsp.c hdsp->system_sample_rate = -1;
hdsp 4857 sound/pci/rme9652/hdsp.c hdsp->playback_pid = -1;
hdsp 4858 sound/pci/rme9652/hdsp.c hdsp->capture_pid = -1;
hdsp 4859 sound/pci/rme9652/hdsp.c hdsp->capture_substream = NULL;
hdsp 4860 sound/pci/rme9652/hdsp.c hdsp->playback_substream = NULL;
hdsp 4862 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_set_defaults(hdsp)) < 0) {
hdsp 4867 sound/pci/rme9652/hdsp.c if (!(hdsp->state & HDSP_InitializationComplete)) {
hdsp 4869 sound/pci/rme9652/hdsp.c sprintf(card->longname, "%s at 0x%lx, irq %d", hdsp->card_name,
hdsp 4870 sound/pci/rme9652/hdsp.c hdsp->port, hdsp->irq);
hdsp 4876 sound/pci/rme9652/hdsp.c hdsp->state |= HDSP_InitializationComplete;
hdsp 4890 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632)
hdsp 4892 sound/pci/rme9652/hdsp.c if (hdsp->io_type == Undefined) {
hdsp 4893 sound/pci/rme9652/hdsp.c if ((err = hdsp_get_iobox_version(hdsp)) < 0)
hdsp 4895 sound/pci/rme9652/hdsp.c if (hdsp->io_type == H9652 || hdsp->io_type == H9632)
hdsp 4900 sound/pci/rme9652/hdsp.c switch (hdsp->io_type) {
hdsp 4902 sound/pci/rme9652/hdsp.c if (hdsp->firmware_rev == 0xa)
hdsp 4908 sound/pci/rme9652/hdsp.c if (hdsp->firmware_rev == 0xa)
hdsp 4914 sound/pci/rme9652/hdsp.c snd_printk(KERN_ERR "Hammerfall-DSP: invalid io_type %d\n", hdsp->io_type);
hdsp 4918 sound/pci/rme9652/hdsp.c if (request_firmware(&fw, fwfile, &hdsp->pci->dev)) {
hdsp 4922 sound/pci/rme9652/hdsp.c if (fw->size < sizeof(hdsp->firmware_cache)) {
hdsp 4924 sound/pci/rme9652/hdsp.c (int)fw->size, (int)sizeof(hdsp->firmware_cache));
hdsp 4929 sound/pci/rme9652/hdsp.c memcpy(hdsp->firmware_cache, fw->data, sizeof(hdsp->firmware_cache));
hdsp 4933 sound/pci/rme9652/hdsp.c hdsp->state |= HDSP_FirmwareCached;
hdsp 4935 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_load_firmware_from_cache(hdsp)) < 0)
hdsp 4938 sound/pci/rme9652/hdsp.c if (!(hdsp->state & HDSP_InitializationComplete)) {
hdsp 4939 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_enable_io(hdsp)) < 0)
hdsp 4942 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_hwdep(hdsp->card, hdsp)) < 0) {
hdsp 4946 sound/pci/rme9652/hdsp.c snd_hdsp_initialize_channels(hdsp);
hdsp 4947 sound/pci/rme9652/hdsp.c snd_hdsp_initialize_midi_flush(hdsp);
hdsp 4948 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_alsa_devices(hdsp->card, hdsp)) < 0) {
hdsp 4960 sound/pci/rme9652/hdsp.c struct pci_dev *pci = hdsp->pci;
hdsp 4965 sound/pci/rme9652/hdsp.c hdsp->irq = -1;
hdsp 4966 sound/pci/rme9652/hdsp.c hdsp->state = 0;
hdsp 4967 sound/pci/rme9652/hdsp.c hdsp->midi[0].rmidi = NULL;
hdsp 4968 sound/pci/rme9652/hdsp.c hdsp->midi[1].rmidi = NULL;
hdsp 4969 sound/pci/rme9652/hdsp.c hdsp->midi[0].input = NULL;
hdsp 4970 sound/pci/rme9652/hdsp.c hdsp->midi[1].input = NULL;
hdsp 4971 sound/pci/rme9652/hdsp.c hdsp->midi[0].output = NULL;
hdsp 4972 sound/pci/rme9652/hdsp.c hdsp->midi[1].output = NULL;
hdsp 4973 sound/pci/rme9652/hdsp.c hdsp->midi[0].pending = 0;
hdsp 4974 sound/pci/rme9652/hdsp.c hdsp->midi[1].pending = 0;
hdsp 4975 sound/pci/rme9652/hdsp.c spin_lock_init(&hdsp->midi[0].lock);
hdsp 4976 sound/pci/rme9652/hdsp.c spin_lock_init(&hdsp->midi[1].lock);
hdsp 4977 sound/pci/rme9652/hdsp.c hdsp->iobase = NULL;
hdsp 4978 sound/pci/rme9652/hdsp.c hdsp->control_register = 0;
hdsp 4979 sound/pci/rme9652/hdsp.c hdsp->control2_register = 0;
hdsp 4980 sound/pci/rme9652/hdsp.c hdsp->io_type = Undefined;
hdsp 4981 sound/pci/rme9652/hdsp.c hdsp->max_channels = 26;
hdsp 4983 sound/pci/rme9652/hdsp.c hdsp->card = card;
hdsp 4985 sound/pci/rme9652/hdsp.c spin_lock_init(&hdsp->lock);
hdsp 4987 sound/pci/rme9652/hdsp.c tasklet_init(&hdsp->midi_tasklet, hdsp_midi_tasklet, (unsigned long)hdsp);
hdsp 4989 sound/pci/rme9652/hdsp.c pci_read_config_word(hdsp->pci, PCI_CLASS_REVISION, &hdsp->firmware_rev);
hdsp 4990 sound/pci/rme9652/hdsp.c hdsp->firmware_rev &= 0xff;
hdsp 4999 sound/pci/rme9652/hdsp.c pci_write_config_byte(hdsp->pci, PCI_LATENCY_TIMER, 0xFF);
hdsp 5004 sound/pci/rme9652/hdsp.c if (hdsp->firmware_rev < 0xa)
hdsp 5006 sound/pci/rme9652/hdsp.c else if (hdsp->firmware_rev < 0x64)
hdsp 5007 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME Hammerfall DSP";
hdsp 5008 sound/pci/rme9652/hdsp.c else if (hdsp->firmware_rev < 0x96) {
hdsp 5009 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME HDSP 9652";
hdsp 5012 sound/pci/rme9652/hdsp.c hdsp->card_name = "RME HDSP 9632";
hdsp 5013 sound/pci/rme9652/hdsp.c hdsp->max_channels = 16;
hdsp 5020 sound/pci/rme9652/hdsp.c pci_set_master(hdsp->pci);
hdsp 5024 sound/pci/rme9652/hdsp.c hdsp->port = pci_resource_start(pci, 0);
hdsp 5025 sound/pci/rme9652/hdsp.c if ((hdsp->iobase = ioremap_nocache(hdsp->port, HDSP_IO_EXTENT)) == NULL) {
hdsp 5026 sound/pci/rme9652/hdsp.c snd_printk(KERN_ERR "Hammerfall-DSP: unable to remap region 0x%lx-0x%lx\n", hdsp->port, hdsp->port + HDSP_IO_EXTENT - 1);
hdsp 5031 sound/pci/rme9652/hdsp.c "hdsp", hdsp)) {
hdsp 5036 sound/pci/rme9652/hdsp.c hdsp->irq = pci->irq;
hdsp 5037 sound/pci/rme9652/hdsp.c hdsp->precise_ptr = 0;
hdsp 5038 sound/pci/rme9652/hdsp.c hdsp->use_midi_tasklet = 1;
hdsp 5039 sound/pci/rme9652/hdsp.c hdsp->dds_value = 0;
hdsp 5041 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_initialize_memory(hdsp)) < 0)
hdsp 5048 sound/pci/rme9652/hdsp.c if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
hdsp 5050 sound/pci/rme9652/hdsp.c if ((err = hdsp_request_fw_loader(hdsp)) < 0)
hdsp 5062 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0)
hdsp 5067 sound/pci/rme9652/hdsp.c if (hdsp_read(hdsp, HDSP_status2Register) & HDSP_version1)
hdsp 5068 sound/pci/rme9652/hdsp.c hdsp->io_type = Multiface;
hdsp 5070 sound/pci/rme9652/hdsp.c hdsp->io_type = Digiface;
hdsp 5074 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_enable_io(hdsp)) != 0)
hdsp 5078 sound/pci/rme9652/hdsp.c hdsp->io_type = H9652;
hdsp 5081 sound/pci/rme9652/hdsp.c hdsp->io_type = H9632;
hdsp 5083 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0)
hdsp 5086 sound/pci/rme9652/hdsp.c snd_hdsp_initialize_channels(hdsp);
hdsp 5087 sound/pci/rme9652/hdsp.c snd_hdsp_initialize_midi_flush(hdsp);
hdsp 5089 sound/pci/rme9652/hdsp.c hdsp->state |= HDSP_FirmwareLoaded;
hdsp 5091 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create_alsa_devices(card, hdsp)) < 0)
hdsp 5099 sound/pci/rme9652/hdsp.c if (hdsp->port) {
hdsp 5101 sound/pci/rme9652/hdsp.c tasklet_kill(&hdsp->midi_tasklet);
hdsp 5102 sound/pci/rme9652/hdsp.c hdsp->control_register &= ~(HDSP_Start|HDSP_AudioInterruptEnable|HDSP_Midi0InterruptEnable|HDSP_Midi1InterruptEnable);
hdsp 5103 sound/pci/rme9652/hdsp.c hdsp_write (hdsp, HDSP_controlRegister, hdsp->control_register);
hdsp 5106 sound/pci/rme9652/hdsp.c if (hdsp->irq >= 0)
hdsp 5107 sound/pci/rme9652/hdsp.c free_irq(hdsp->irq, (void *)hdsp);
hdsp 5109 sound/pci/rme9652/hdsp.c snd_hdsp_free_buffers(hdsp);
hdsp 5111 sound/pci/rme9652/hdsp.c if (hdsp->iobase)
hdsp 5112 sound/pci/rme9652/hdsp.c iounmap(hdsp->iobase);
hdsp 5114 sound/pci/rme9652/hdsp.c if (hdsp->port)
hdsp 5115 sound/pci/rme9652/hdsp.c pci_release_regions(hdsp->pci);
hdsp 5117 sound/pci/rme9652/hdsp.c pci_disable_device(hdsp->pci);
hdsp 5123 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = (struct hdsp *) card->private_data;
hdsp 5125 sound/pci/rme9652/hdsp.c if (hdsp)
hdsp 5126 sound/pci/rme9652/hdsp.c snd_hdsp_free(hdsp);
hdsp 5133 sound/pci/rme9652/hdsp.c struct hdsp *hdsp;
hdsp 5144 sound/pci/rme9652/hdsp.c if (!(card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof(struct hdsp))))
hdsp 5147 sound/pci/rme9652/hdsp.c hdsp = (struct hdsp *) card->private_data;
hdsp 5149 sound/pci/rme9652/hdsp.c hdsp->dev = dev;
hdsp 5150 sound/pci/rme9652/hdsp.c hdsp->pci = pci;
hdsp 5153 sound/pci/rme9652/hdsp.c if ((err = snd_hdsp_create(card, hdsp)) < 0) {
hdsp 5159 sound/pci/rme9652/hdsp.c sprintf(card->longname, "%s at 0x%lx, irq %d", hdsp->card_name,
hdsp 5160 sound/pci/rme9652/hdsp.c hdsp->port, hdsp->irq);