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);