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