hdspm             956 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm;
hdspm            1086 sound/pci/rme9652/hdspm.c 					 struct hdspm *hdspm);
hdspm            1088 sound/pci/rme9652/hdspm.c 				struct hdspm *hdspm);
hdspm            1090 sound/pci/rme9652/hdspm.c static inline void snd_hdspm_initialize_midi_flush(struct hdspm *hdspm);
hdspm            1091 sound/pci/rme9652/hdspm.c static inline int hdspm_get_pll_freq(struct hdspm *hdspm);
hdspm            1092 sound/pci/rme9652/hdspm.c static int hdspm_update_simple_mixer_controls(struct hdspm *hdspm);
hdspm            1093 sound/pci/rme9652/hdspm.c static int hdspm_autosync_ref(struct hdspm *hdspm);
hdspm            1094 sound/pci/rme9652/hdspm.c static int hdspm_set_toggle_setting(struct hdspm *hdspm, u32 regmask, int out);
hdspm            1095 sound/pci/rme9652/hdspm.c static int snd_hdspm_set_defaults(struct hdspm *hdspm);
hdspm            1096 sound/pci/rme9652/hdspm.c static int hdspm_system_clock_mode(struct hdspm *hdspm);
hdspm            1097 sound/pci/rme9652/hdspm.c static void hdspm_set_channel_dma_addr(struct hdspm *hdspm,
hdspm            1101 sound/pci/rme9652/hdspm.c static int hdspm_aes_sync_check(struct hdspm *hdspm, int idx);
hdspm            1102 sound/pci/rme9652/hdspm.c static int hdspm_wc_sync_check(struct hdspm *hdspm);
hdspm            1103 sound/pci/rme9652/hdspm.c static int hdspm_tco_sync_check(struct hdspm *hdspm);
hdspm            1104 sound/pci/rme9652/hdspm.c static int hdspm_sync_in_sync_check(struct hdspm *hdspm);
hdspm            1106 sound/pci/rme9652/hdspm.c static int hdspm_get_aes_sample_rate(struct hdspm *hdspm, int index);
hdspm            1107 sound/pci/rme9652/hdspm.c static int hdspm_get_tco_sample_rate(struct hdspm *hdspm);
hdspm            1108 sound/pci/rme9652/hdspm.c static int hdspm_get_wc_sample_rate(struct hdspm *hdspm);
hdspm            1122 sound/pci/rme9652/hdspm.c static bool hdspm_is_raydat_or_aio(struct hdspm *hdspm)
hdspm            1124 sound/pci/rme9652/hdspm.c 	return ((AIO == hdspm->io_type) || (RayDAT == hdspm->io_type));
hdspm            1131 sound/pci/rme9652/hdspm.c static inline void hdspm_write(struct hdspm * hdspm, unsigned int reg,
hdspm            1134 sound/pci/rme9652/hdspm.c 	writel(val, hdspm->iobase + reg);
hdspm            1137 sound/pci/rme9652/hdspm.c static inline unsigned int hdspm_read(struct hdspm * hdspm, unsigned int reg)
hdspm            1139 sound/pci/rme9652/hdspm.c 	return readl(hdspm->iobase + reg);
hdspm            1146 sound/pci/rme9652/hdspm.c static inline int hdspm_read_in_gain(struct hdspm * hdspm, unsigned int chan,
hdspm            1152 sound/pci/rme9652/hdspm.c 	return hdspm->mixer->ch[chan].in[in];
hdspm            1155 sound/pci/rme9652/hdspm.c static inline int hdspm_read_pb_gain(struct hdspm * hdspm, unsigned int chan,
hdspm            1160 sound/pci/rme9652/hdspm.c 	return hdspm->mixer->ch[chan].pb[pb];
hdspm            1163 sound/pci/rme9652/hdspm.c static int hdspm_write_in_gain(struct hdspm *hdspm, unsigned int chan,
hdspm            1169 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm,
hdspm            1172 sound/pci/rme9652/hdspm.c 		    (hdspm->mixer->ch[chan].in[in] = data & 0xFFFF));
hdspm            1176 sound/pci/rme9652/hdspm.c static int hdspm_write_pb_gain(struct hdspm *hdspm, unsigned int chan,
hdspm            1182 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm,
hdspm            1185 sound/pci/rme9652/hdspm.c 		    (hdspm->mixer->ch[chan].pb[pb] = data & 0xFFFF));
hdspm            1191 sound/pci/rme9652/hdspm.c static inline void snd_hdspm_enable_in(struct hdspm * hdspm, int i, int v)
hdspm            1193 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_inputEnableBase + (4 * i), v);
hdspm            1196 sound/pci/rme9652/hdspm.c static inline void snd_hdspm_enable_out(struct hdspm * hdspm, int i, int v)
hdspm            1198 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_outputEnableBase + (4 * i), v);
hdspm            1202 sound/pci/rme9652/hdspm.c static int snd_hdspm_use_is_exclusive(struct hdspm *hdspm)
hdspm            1207 sound/pci/rme9652/hdspm.c 	spin_lock_irqsave(&hdspm->lock, flags);
hdspm            1208 sound/pci/rme9652/hdspm.c 	if ((hdspm->playback_pid != hdspm->capture_pid) &&
hdspm            1209 sound/pci/rme9652/hdspm.c 	    (hdspm->playback_pid >= 0) && (hdspm->capture_pid >= 0)) {
hdspm            1212 sound/pci/rme9652/hdspm.c 	spin_unlock_irqrestore(&hdspm->lock, flags);
hdspm            1235 sound/pci/rme9652/hdspm.c static int hdspm_rate_multiplier(struct hdspm *hdspm, int rate)
hdspm            1238 sound/pci/rme9652/hdspm.c 		if (hdspm->control_register & HDSPM_QuadSpeed)
hdspm            1240 sound/pci/rme9652/hdspm.c 		else if (hdspm->control_register &
hdspm            1248 sound/pci/rme9652/hdspm.c static int hdspm_external_sample_rate(struct hdspm *hdspm)
hdspm            1253 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            1255 sound/pci/rme9652/hdspm.c 		status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            1256 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            1258 sound/pci/rme9652/hdspm.c 		syncref = hdspm_autosync_ref(hdspm);
hdspm            1262 sound/pci/rme9652/hdspm.c 			if (hdspm_wc_sync_check(hdspm))
hdspm            1263 sound/pci/rme9652/hdspm.c 				return HDSPM_bit2freq(hdspm_get_wc_sample_rate(hdspm));
hdspm            1275 sound/pci/rme9652/hdspm.c 			if (hdspm_aes_sync_check(hdspm, syncref - HDSPM_AES32_AUTOSYNC_FROM_AES1))
hdspm            1276 sound/pci/rme9652/hdspm.c 				return HDSPM_bit2freq(hdspm_get_aes_sample_rate(hdspm,
hdspm            1283 sound/pci/rme9652/hdspm.c 			if (hdspm_tco_sync_check(hdspm))
hdspm            1284 sound/pci/rme9652/hdspm.c 				return HDSPM_bit2freq(hdspm_get_tco_sample_rate(hdspm));
hdspm            1292 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            1326 sound/pci/rme9652/hdspm.c 		status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            1327 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            1376 sound/pci/rme9652/hdspm.c 			return hdspm_rate_multiplier(hdspm, rate);
hdspm            1422 sound/pci/rme9652/hdspm.c 			syncref = hdspm_autosync_ref(hdspm);
hdspm            1426 sound/pci/rme9652/hdspm.c 					hdspm_tco_sync_check(hdspm));
hdspm            1430 sound/pci/rme9652/hdspm.c 					hdspm_sync_in_sync_check(hdspm));
hdspm            1435 sound/pci/rme9652/hdspm.c 					hdspm_get_pll_freq(hdspm));
hdspm            1439 sound/pci/rme9652/hdspm.c 		rate = hdspm_rate_multiplier(hdspm, rate);
hdspm            1448 sound/pci/rme9652/hdspm.c static int hdspm_get_latency(struct hdspm *hdspm)
hdspm            1452 sound/pci/rme9652/hdspm.c 	n = hdspm_decode_latency(hdspm->control_register);
hdspm            1461 sound/pci/rme9652/hdspm.c 	if ((7 == n) && (RayDAT == hdspm->io_type || AIO == hdspm->io_type))
hdspm            1468 sound/pci/rme9652/hdspm.c static inline void hdspm_compute_period_size(struct hdspm *hdspm)
hdspm            1470 sound/pci/rme9652/hdspm.c 	hdspm->period_bytes = 4 * hdspm_get_latency(hdspm);
hdspm            1474 sound/pci/rme9652/hdspm.c static snd_pcm_uframes_t hdspm_hw_pointer(struct hdspm *hdspm)
hdspm            1478 sound/pci/rme9652/hdspm.c 	position = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            1480 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            1488 sound/pci/rme9652/hdspm.c 			(hdspm->period_bytes / 4) : 0;
hdspm            1495 sound/pci/rme9652/hdspm.c static inline void hdspm_start_audio(struct hdspm * s)
hdspm            1501 sound/pci/rme9652/hdspm.c static inline void hdspm_stop_audio(struct hdspm * s)
hdspm            1508 sound/pci/rme9652/hdspm.c static void hdspm_silence_playback(struct hdspm *hdspm)
hdspm            1511 sound/pci/rme9652/hdspm.c 	int n = hdspm->period_bytes;
hdspm            1512 sound/pci/rme9652/hdspm.c 	void *buf = hdspm->playback_buffer;
hdspm            1523 sound/pci/rme9652/hdspm.c static int hdspm_set_interrupt_interval(struct hdspm *s, unsigned int frames)
hdspm            1562 sound/pci/rme9652/hdspm.c static u64 hdspm_calc_dds_value(struct hdspm *hdspm, u64 period)
hdspm            1569 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            1590 sound/pci/rme9652/hdspm.c static void hdspm_set_dds_value(struct hdspm *hdspm, int rate)
hdspm            1602 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            1622 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_freqReg, (u32)n);
hdspm            1626 sound/pci/rme9652/hdspm.c static int hdspm_set_rate(struct hdspm * hdspm, int rate, int called_internally)
hdspm            1637 sound/pci/rme9652/hdspm.c 	if (!(hdspm->control_register & HDSPM_ClockModeMaster)) {
hdspm            1646 sound/pci/rme9652/hdspm.c 			dev_warn(hdspm->card->dev,
hdspm            1653 sound/pci/rme9652/hdspm.c 			    hdspm_external_sample_rate(hdspm);
hdspm            1655 sound/pci/rme9652/hdspm.c 			if (hdspm_autosync_ref(hdspm) ==
hdspm            1658 sound/pci/rme9652/hdspm.c 				dev_warn(hdspm->card->dev,
hdspm            1664 sound/pci/rme9652/hdspm.c 				dev_warn(hdspm->card->dev,
hdspm            1671 sound/pci/rme9652/hdspm.c 	current_rate = hdspm->system_sample_rate;
hdspm            1730 sound/pci/rme9652/hdspm.c 	    && (hdspm->capture_pid >= 0 || hdspm->playback_pid >= 0)) {
hdspm            1731 sound/pci/rme9652/hdspm.c 		dev_err(hdspm->card->dev,
hdspm            1735 sound/pci/rme9652/hdspm.c 			hdspm->capture_pid, hdspm->playback_pid);
hdspm            1739 sound/pci/rme9652/hdspm.c 	hdspm->control_register &= ~HDSPM_FrequencyMask;
hdspm            1740 sound/pci/rme9652/hdspm.c 	hdspm->control_register |= rate_bits;
hdspm            1741 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            1745 sound/pci/rme9652/hdspm.c 	hdspm_set_dds_value(hdspm, rate);
hdspm            1747 sound/pci/rme9652/hdspm.c 	if (AES32 == hdspm->io_type && rate != current_rate)
hdspm            1748 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, HDSPM_eeprom_wr, 0);
hdspm            1750 sound/pci/rme9652/hdspm.c 	hdspm->system_sample_rate = rate;
hdspm            1753 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in = hdspm->channel_map_in_ss;
hdspm            1754 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_out = hdspm->channel_map_out_ss;
hdspm            1755 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_in = hdspm->ss_in_channels;
hdspm            1756 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_out = hdspm->ss_out_channels;
hdspm            1757 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in = hdspm->port_names_in_ss;
hdspm            1758 sound/pci/rme9652/hdspm.c 		hdspm->port_names_out = hdspm->port_names_out_ss;
hdspm            1760 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in = hdspm->channel_map_in_ds;
hdspm            1761 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_out = hdspm->channel_map_out_ds;
hdspm            1762 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_in = hdspm->ds_in_channels;
hdspm            1763 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_out = hdspm->ds_out_channels;
hdspm            1764 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in = hdspm->port_names_in_ds;
hdspm            1765 sound/pci/rme9652/hdspm.c 		hdspm->port_names_out = hdspm->port_names_out_ds;
hdspm            1767 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in = hdspm->channel_map_in_qs;
hdspm            1768 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_out = hdspm->channel_map_out_qs;
hdspm            1769 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_in = hdspm->qs_in_channels;
hdspm            1770 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_out = hdspm->qs_out_channels;
hdspm            1771 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in = hdspm->port_names_in_qs;
hdspm            1772 sound/pci/rme9652/hdspm.c 		hdspm->port_names_out = hdspm->port_names_out_qs;
hdspm            1782 sound/pci/rme9652/hdspm.c static void all_in_all_mixer(struct hdspm * hdspm, int sgain)
hdspm            1796 sound/pci/rme9652/hdspm.c 			hdspm_write_in_gain(hdspm, i, j, gain);
hdspm            1797 sound/pci/rme9652/hdspm.c 			hdspm_write_pb_gain(hdspm, i, j, gain);
hdspm            1805 sound/pci/rme9652/hdspm.c static inline unsigned char snd_hdspm_midi_read_byte (struct hdspm *hdspm,
hdspm            1809 sound/pci/rme9652/hdspm.c 	return hdspm_read(hdspm, hdspm->midi[id].dataIn);
hdspm            1812 sound/pci/rme9652/hdspm.c static inline void snd_hdspm_midi_write_byte (struct hdspm *hdspm, int id,
hdspm            1816 sound/pci/rme9652/hdspm.c 	return hdspm_write(hdspm, hdspm->midi[id].dataOut, val);
hdspm            1819 sound/pci/rme9652/hdspm.c static inline int snd_hdspm_midi_input_available (struct hdspm *hdspm, int id)
hdspm            1821 sound/pci/rme9652/hdspm.c 	return hdspm_read(hdspm, hdspm->midi[id].statusIn) & 0xFF;
hdspm            1824 sound/pci/rme9652/hdspm.c static inline int snd_hdspm_midi_output_possible (struct hdspm *hdspm, int id)
hdspm            1828 sound/pci/rme9652/hdspm.c 	fifo_bytes_used = hdspm_read(hdspm, hdspm->midi[id].statusOut) & 0xFF;
hdspm            1836 sound/pci/rme9652/hdspm.c static void snd_hdspm_flush_midi_input(struct hdspm *hdspm, int id)
hdspm            1838 sound/pci/rme9652/hdspm.c 	while (snd_hdspm_midi_input_available (hdspm, id))
hdspm            1839 sound/pci/rme9652/hdspm.c 		snd_hdspm_midi_read_byte (hdspm, id);
hdspm            1855 sound/pci/rme9652/hdspm.c 		n_pending = snd_hdspm_midi_output_possible (hmidi->hdspm,
hdspm            1865 sound/pci/rme9652/hdspm.c 					snd_hdspm_midi_write_byte (hmidi->hdspm,
hdspm            1885 sound/pci/rme9652/hdspm.c 	n_pending = snd_hdspm_midi_input_available (hmidi->hdspm, hmidi->id);
hdspm            1891 sound/pci/rme9652/hdspm.c 				buf[i] = snd_hdspm_midi_read_byte (hmidi->hdspm,
hdspm            1899 sound/pci/rme9652/hdspm.c 				snd_hdspm_midi_read_byte (hmidi->hdspm,
hdspm            1906 sound/pci/rme9652/hdspm.c 	spin_lock_irqsave(&hmidi->hdspm->lock, flags);
hdspm            1907 sound/pci/rme9652/hdspm.c 	hmidi->hdspm->control_register |= hmidi->ie;
hdspm            1908 sound/pci/rme9652/hdspm.c 	hdspm_write(hmidi->hdspm, HDSPM_controlRegister,
hdspm            1909 sound/pci/rme9652/hdspm.c 		    hmidi->hdspm->control_register);
hdspm            1910 sound/pci/rme9652/hdspm.c 	spin_unlock_irqrestore(&hmidi->hdspm->lock, flags);
hdspm            1918 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm;
hdspm            1923 sound/pci/rme9652/hdspm.c 	hdspm = hmidi->hdspm;
hdspm            1925 sound/pci/rme9652/hdspm.c 	spin_lock_irqsave (&hdspm->lock, flags);
hdspm            1927 sound/pci/rme9652/hdspm.c 		if (!(hdspm->control_register & hmidi->ie)) {
hdspm            1928 sound/pci/rme9652/hdspm.c 			snd_hdspm_flush_midi_input (hdspm, hmidi->id);
hdspm            1929 sound/pci/rme9652/hdspm.c 			hdspm->control_register |= hmidi->ie;
hdspm            1932 sound/pci/rme9652/hdspm.c 		hdspm->control_register &= ~hmidi->ie;
hdspm            1935 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            1936 sound/pci/rme9652/hdspm.c 	spin_unlock_irqrestore (&hdspm->lock, flags);
hdspm            1989 sound/pci/rme9652/hdspm.c 	snd_hdspm_flush_midi_input (hmidi->hdspm, hmidi->id);
hdspm            2051 sound/pci/rme9652/hdspm.c 				 struct hdspm *hdspm, int id)
hdspm            2056 sound/pci/rme9652/hdspm.c 	hdspm->midi[id].id = id;
hdspm            2057 sound/pci/rme9652/hdspm.c 	hdspm->midi[id].hdspm = hdspm;
hdspm            2058 sound/pci/rme9652/hdspm.c 	spin_lock_init (&hdspm->midi[id].lock);
hdspm            2061 sound/pci/rme9652/hdspm.c 		if (MADIface == hdspm->io_type) {
hdspm            2063 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].dataIn = HDSPM_midiDataIn2;
hdspm            2064 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].statusIn = HDSPM_midiStatusIn2;
hdspm            2065 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].dataOut = HDSPM_midiDataOut2;
hdspm            2066 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].statusOut = HDSPM_midiStatusOut2;
hdspm            2067 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].ie = HDSPM_Midi2InterruptEnable;
hdspm            2068 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].irq = HDSPM_midi2IRQPending;
hdspm            2070 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].dataIn = HDSPM_midiDataIn0;
hdspm            2071 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].statusIn = HDSPM_midiStatusIn0;
hdspm            2072 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].dataOut = HDSPM_midiDataOut0;
hdspm            2073 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].statusOut = HDSPM_midiStatusOut0;
hdspm            2074 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].ie = HDSPM_Midi0InterruptEnable;
hdspm            2075 sound/pci/rme9652/hdspm.c 			hdspm->midi[0].irq = HDSPM_midi0IRQPending;
hdspm            2078 sound/pci/rme9652/hdspm.c 		hdspm->midi[1].dataIn = HDSPM_midiDataIn1;
hdspm            2079 sound/pci/rme9652/hdspm.c 		hdspm->midi[1].statusIn = HDSPM_midiStatusIn1;
hdspm            2080 sound/pci/rme9652/hdspm.c 		hdspm->midi[1].dataOut = HDSPM_midiDataOut1;
hdspm            2081 sound/pci/rme9652/hdspm.c 		hdspm->midi[1].statusOut = HDSPM_midiStatusOut1;
hdspm            2082 sound/pci/rme9652/hdspm.c 		hdspm->midi[1].ie = HDSPM_Midi1InterruptEnable;
hdspm            2083 sound/pci/rme9652/hdspm.c 		hdspm->midi[1].irq = HDSPM_midi1IRQPending;
hdspm            2084 sound/pci/rme9652/hdspm.c 	} else if ((2 == id) && (MADI == hdspm->io_type)) {
hdspm            2086 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].dataIn = HDSPM_midiDataIn2;
hdspm            2087 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].statusIn = HDSPM_midiStatusIn2;
hdspm            2088 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].dataOut = HDSPM_midiDataOut2;
hdspm            2089 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].statusOut = HDSPM_midiStatusOut2;
hdspm            2090 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].ie = HDSPM_Midi2InterruptEnable;
hdspm            2091 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].irq = HDSPM_midi2IRQPending;
hdspm            2094 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].dataIn = HDSPM_midiDataIn2;
hdspm            2095 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].statusIn = HDSPM_midiStatusIn2;
hdspm            2096 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].dataOut = -1;
hdspm            2097 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].statusOut = -1;
hdspm            2098 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].ie = HDSPM_Midi2InterruptEnable;
hdspm            2099 sound/pci/rme9652/hdspm.c 		hdspm->midi[2].irq = HDSPM_midi2IRQPendingAES;
hdspm            2102 sound/pci/rme9652/hdspm.c 		hdspm->midi[3].dataIn = HDSPM_midiDataIn3;
hdspm            2103 sound/pci/rme9652/hdspm.c 		hdspm->midi[3].statusIn = HDSPM_midiStatusIn3;
hdspm            2104 sound/pci/rme9652/hdspm.c 		hdspm->midi[3].dataOut = -1;
hdspm            2105 sound/pci/rme9652/hdspm.c 		hdspm->midi[3].statusOut = -1;
hdspm            2106 sound/pci/rme9652/hdspm.c 		hdspm->midi[3].ie = HDSPM_Midi3InterruptEnable;
hdspm            2107 sound/pci/rme9652/hdspm.c 		hdspm->midi[3].irq = HDSPM_midi3IRQPending;
hdspm            2110 sound/pci/rme9652/hdspm.c 	if ((id < 2) || ((2 == id) && ((MADI == hdspm->io_type) ||
hdspm            2111 sound/pci/rme9652/hdspm.c 					(MADIface == hdspm->io_type)))) {
hdspm            2112 sound/pci/rme9652/hdspm.c 		if ((id == 0) && (MADIface == hdspm->io_type)) {
hdspm            2115 sound/pci/rme9652/hdspm.c 		} else if ((id == 2) && (MADI == hdspm->io_type)) {
hdspm            2123 sound/pci/rme9652/hdspm.c 				&hdspm->midi[id].rmidi);
hdspm            2127 sound/pci/rme9652/hdspm.c 		snprintf(hdspm->midi[id].rmidi->name,
hdspm            2128 sound/pci/rme9652/hdspm.c 			 sizeof(hdspm->midi[id].rmidi->name),
hdspm            2130 sound/pci/rme9652/hdspm.c 		hdspm->midi[id].rmidi->private_data = &hdspm->midi[id];
hdspm            2132 sound/pci/rme9652/hdspm.c 		snd_rawmidi_set_ops(hdspm->midi[id].rmidi,
hdspm            2135 sound/pci/rme9652/hdspm.c 		snd_rawmidi_set_ops(hdspm->midi[id].rmidi,
hdspm            2139 sound/pci/rme9652/hdspm.c 		hdspm->midi[id].rmidi->info_flags |=
hdspm            2148 sound/pci/rme9652/hdspm.c 				&hdspm->midi[id].rmidi);
hdspm            2152 sound/pci/rme9652/hdspm.c 		snprintf(hdspm->midi[id].rmidi->name,
hdspm            2153 sound/pci/rme9652/hdspm.c 			 sizeof(hdspm->midi[id].rmidi->name),
hdspm            2155 sound/pci/rme9652/hdspm.c 		hdspm->midi[id].rmidi->private_data = &hdspm->midi[id];
hdspm            2157 sound/pci/rme9652/hdspm.c 		snd_rawmidi_set_ops(hdspm->midi[id].rmidi,
hdspm            2161 sound/pci/rme9652/hdspm.c 		hdspm->midi[id].rmidi->info_flags |= SNDRV_RAWMIDI_INFO_INPUT;
hdspm            2170 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = (struct hdspm *)arg;
hdspm            2173 sound/pci/rme9652/hdspm.c 	while (i < hdspm->midiPorts) {
hdspm            2174 sound/pci/rme9652/hdspm.c 		if (hdspm->midi[i].pending)
hdspm            2175 sound/pci/rme9652/hdspm.c 			snd_hdspm_midi_input_read(&hdspm->midi[i]);
hdspm            2189 sound/pci/rme9652/hdspm.c static inline int hdspm_get_pll_freq(struct hdspm *hdspm)
hdspm            2193 sound/pci/rme9652/hdspm.c 	period = hdspm_read(hdspm, HDSPM_RD_PLL_FREQ);
hdspm            2194 sound/pci/rme9652/hdspm.c 	rate = hdspm_calc_dds_value(hdspm, period);
hdspm            2203 sound/pci/rme9652/hdspm.c static int hdspm_get_system_sample_rate(struct hdspm *hdspm)
hdspm            2207 sound/pci/rme9652/hdspm.c 	rate = hdspm_get_pll_freq(hdspm);
hdspm            2211 sound/pci/rme9652/hdspm.c 		if (0 == hdspm_system_clock_mode(hdspm)) {
hdspm            2213 sound/pci/rme9652/hdspm.c 			rate = hdspm->system_sample_rate;
hdspm            2216 sound/pci/rme9652/hdspm.c 			rate = hdspm_external_sample_rate(hdspm);
hdspm            2218 sound/pci/rme9652/hdspm.c 				rate = hdspm->system_sample_rate;
hdspm            2253 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2255 sound/pci/rme9652/hdspm.c 	ucontrol->value.integer.value[0] = hdspm_get_system_sample_rate(hdspm);
hdspm            2263 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2268 sound/pci/rme9652/hdspm.c 	hdspm_set_dds_value(hdspm, ucontrol->value.integer.value[0]);
hdspm            2276 sound/pci/rme9652/hdspm.c static int hdspm_get_wc_sample_rate(struct hdspm *hdspm)
hdspm            2280 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2283 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_RD_STATUS_1);
hdspm            2287 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            2301 sound/pci/rme9652/hdspm.c static int hdspm_get_tco_sample_rate(struct hdspm *hdspm)
hdspm            2305 sound/pci/rme9652/hdspm.c 	if (hdspm->tco) {
hdspm            2306 sound/pci/rme9652/hdspm.c 		switch (hdspm->io_type) {
hdspm            2309 sound/pci/rme9652/hdspm.c 			status = hdspm_read(hdspm, HDSPM_RD_STATUS_1);
hdspm            2313 sound/pci/rme9652/hdspm.c 			status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            2327 sound/pci/rme9652/hdspm.c static int hdspm_get_sync_in_sample_rate(struct hdspm *hdspm)
hdspm            2331 sound/pci/rme9652/hdspm.c 	if (hdspm->tco) {
hdspm            2332 sound/pci/rme9652/hdspm.c 		switch (hdspm->io_type) {
hdspm            2335 sound/pci/rme9652/hdspm.c 			status = hdspm_read(hdspm, HDSPM_RD_STATUS_2);
hdspm            2349 sound/pci/rme9652/hdspm.c static int hdspm_get_aes_sample_rate(struct hdspm *hdspm, int index)
hdspm            2353 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2355 sound/pci/rme9652/hdspm.c 		timecode = hdspm_read(hdspm, HDSPM_timecodeRegister);
hdspm            2368 sound/pci/rme9652/hdspm.c static int hdspm_get_s1_sample_rate(struct hdspm *hdspm, unsigned int idx)
hdspm            2370 sound/pci/rme9652/hdspm.c 	int status = hdspm_read(hdspm, HDSPM_RD_STATUS_2);
hdspm            2382 sound/pci/rme9652/hdspm.c static int hdspm_external_rate_to_enum(struct hdspm *hdspm)
hdspm            2384 sound/pci/rme9652/hdspm.c 	int rate = hdspm_external_sample_rate(hdspm);
hdspm            2417 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2419 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2424 sound/pci/rme9652/hdspm.c 				hdspm_get_wc_sample_rate(hdspm);
hdspm            2428 sound/pci/rme9652/hdspm.c 				hdspm_get_tco_sample_rate(hdspm);
hdspm            2432 sound/pci/rme9652/hdspm.c 				hdspm_get_sync_in_sample_rate(hdspm);
hdspm            2436 sound/pci/rme9652/hdspm.c 				hdspm_get_s1_sample_rate(hdspm,
hdspm            2445 sound/pci/rme9652/hdspm.c 				hdspm_get_wc_sample_rate(hdspm);
hdspm            2449 sound/pci/rme9652/hdspm.c 				hdspm_get_tco_sample_rate(hdspm);
hdspm            2453 sound/pci/rme9652/hdspm.c 				hdspm_get_sync_in_sample_rate(hdspm);
hdspm            2457 sound/pci/rme9652/hdspm.c 				hdspm_get_s1_sample_rate(hdspm,
hdspm            2467 sound/pci/rme9652/hdspm.c 				hdspm_get_wc_sample_rate(hdspm);
hdspm            2471 sound/pci/rme9652/hdspm.c 				hdspm_get_tco_sample_rate(hdspm);
hdspm            2475 sound/pci/rme9652/hdspm.c 				hdspm_get_sync_in_sample_rate(hdspm);
hdspm            2479 sound/pci/rme9652/hdspm.c 				hdspm_external_rate_to_enum(hdspm);
hdspm            2483 sound/pci/rme9652/hdspm.c 				hdspm_get_aes_sample_rate(hdspm,
hdspm            2493 sound/pci/rme9652/hdspm.c 			hdspm_external_rate_to_enum(hdspm);
hdspm            2519 sound/pci/rme9652/hdspm.c static int hdspm_system_clock_mode(struct hdspm *hdspm)
hdspm            2521 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2524 sound/pci/rme9652/hdspm.c 		if (hdspm->settings_register & HDSPM_c0Master)
hdspm            2529 sound/pci/rme9652/hdspm.c 		if (hdspm->control_register & HDSPM_ClockModeMaster)
hdspm            2541 sound/pci/rme9652/hdspm.c static void hdspm_set_system_clock_mode(struct hdspm *hdspm, int mode)
hdspm            2543 sound/pci/rme9652/hdspm.c 	hdspm_set_toggle_setting(hdspm,
hdspm            2544 sound/pci/rme9652/hdspm.c 			(hdspm_is_raydat_or_aio(hdspm)) ?
hdspm            2561 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2563 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_system_clock_mode(hdspm);
hdspm            2570 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2573 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            2582 sound/pci/rme9652/hdspm.c 	hdspm_set_system_clock_mode(hdspm, val);
hdspm            2598 sound/pci/rme9652/hdspm.c static int hdspm_clock_source(struct hdspm * hdspm)
hdspm            2600 sound/pci/rme9652/hdspm.c 	switch (hdspm->system_sample_rate) {
hdspm            2615 sound/pci/rme9652/hdspm.c static int hdspm_set_clock_source(struct hdspm * hdspm, int mode)
hdspm            2640 sound/pci/rme9652/hdspm.c 	hdspm_set_rate(hdspm, rate, 1);
hdspm            2653 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2655 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_clock_source(hdspm);
hdspm            2662 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2666 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            2673 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            2674 sound/pci/rme9652/hdspm.c 	if (val != hdspm_clock_source(hdspm))
hdspm            2675 sound/pci/rme9652/hdspm.c 		change = (hdspm_set_clock_source(hdspm, val) == 0) ? 1 : 0;
hdspm            2678 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            2700 sound/pci/rme9652/hdspm.c static int hdspm_pref_sync_ref(struct hdspm * hdspm)
hdspm            2702 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2704 sound/pci/rme9652/hdspm.c 		switch (hdspm->control_register & HDSPM_SyncRefMask) {
hdspm            2721 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            2722 sound/pci/rme9652/hdspm.c 			switch (hdspm->control_register & HDSPM_SyncRefMask) {
hdspm            2730 sound/pci/rme9652/hdspm.c 			switch (hdspm->control_register & HDSPM_SyncRefMask) {
hdspm            2740 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            2741 sound/pci/rme9652/hdspm.c 			switch ((hdspm->settings_register &
hdspm            2754 sound/pci/rme9652/hdspm.c 			switch ((hdspm->settings_register &
hdspm            2770 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            2771 sound/pci/rme9652/hdspm.c 			switch ((hdspm->settings_register &
hdspm            2781 sound/pci/rme9652/hdspm.c 			switch ((hdspm->settings_register &
hdspm            2803 sound/pci/rme9652/hdspm.c static int hdspm_set_pref_sync_ref(struct hdspm * hdspm, int pref)
hdspm            2807 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2809 sound/pci/rme9652/hdspm.c 		hdspm->control_register &= ~HDSPM_SyncRefMask;
hdspm            2814 sound/pci/rme9652/hdspm.c 			hdspm->control_register |= HDSPM_SyncRef0;
hdspm            2817 sound/pci/rme9652/hdspm.c 			hdspm->control_register |= HDSPM_SyncRef1;
hdspm            2820 sound/pci/rme9652/hdspm.c 			hdspm->control_register |=
hdspm            2824 sound/pci/rme9652/hdspm.c 			hdspm->control_register |= HDSPM_SyncRef2;
hdspm            2827 sound/pci/rme9652/hdspm.c 			hdspm->control_register |=
hdspm            2831 sound/pci/rme9652/hdspm.c 			hdspm->control_register |=
hdspm            2835 sound/pci/rme9652/hdspm.c 			hdspm->control_register |=
hdspm            2839 sound/pci/rme9652/hdspm.c 			hdspm->control_register |= HDSPM_SyncRef3;
hdspm            2842 sound/pci/rme9652/hdspm.c 			hdspm->control_register |=
hdspm            2853 sound/pci/rme9652/hdspm.c 		hdspm->control_register &= ~HDSPM_SyncRefMask;
hdspm            2854 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            2859 sound/pci/rme9652/hdspm.c 				hdspm->control_register |= HDSPM_SyncRef0;
hdspm            2862 sound/pci/rme9652/hdspm.c 				hdspm->control_register |= HDSPM_SyncRef1;
hdspm            2865 sound/pci/rme9652/hdspm.c 				hdspm->control_register |=
hdspm            2876 sound/pci/rme9652/hdspm.c 				hdspm->control_register |= HDSPM_SyncRef0;
hdspm            2879 sound/pci/rme9652/hdspm.c 				hdspm->control_register |=
hdspm            2890 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            2919 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            2942 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            2945 sound/pci/rme9652/hdspm.c 		hdspm->settings_register &= ~HDSPM_c0_SyncRefMask;
hdspm            2946 sound/pci/rme9652/hdspm.c 		hdspm->settings_register |= HDSPM_c0_SyncRef0 * p;
hdspm            2947 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, HDSPM_WR_SETTINGS, hdspm->settings_register);
hdspm            2953 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, HDSPM_controlRegister,
hdspm            2954 sound/pci/rme9652/hdspm.c 				hdspm->control_register);
hdspm            2964 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2966 sound/pci/rme9652/hdspm.c 	snd_ctl_enum_info(uinfo, 1, hdspm->texts_autosync_items, hdspm->texts_autosync);
hdspm            2974 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2975 sound/pci/rme9652/hdspm.c 	int psf = hdspm_pref_sync_ref(hdspm);
hdspm            2988 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            2991 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            2998 sound/pci/rme9652/hdspm.c 	else if (val >= hdspm->texts_autosync_items)
hdspm            2999 sound/pci/rme9652/hdspm.c 		val = hdspm->texts_autosync_items-1;
hdspm            3001 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3002 sound/pci/rme9652/hdspm.c 	if (val != hdspm_pref_sync_ref(hdspm))
hdspm            3003 sound/pci/rme9652/hdspm.c 		change = (0 == hdspm_set_pref_sync_ref(hdspm, val)) ? 1 : 0;
hdspm            3005 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3019 sound/pci/rme9652/hdspm.c static int hdspm_autosync_ref(struct hdspm *hdspm)
hdspm            3022 sound/pci/rme9652/hdspm.c 	if (AES32 == hdspm->io_type) {
hdspm            3024 sound/pci/rme9652/hdspm.c 		unsigned int status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3032 sound/pci/rme9652/hdspm.c 	} else if (MADI == hdspm->io_type) {
hdspm            3034 sound/pci/rme9652/hdspm.c 		unsigned int status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            3058 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3060 sound/pci/rme9652/hdspm.c 	if (AES32 == hdspm->io_type) {
hdspm            3065 sound/pci/rme9652/hdspm.c 	} else if (MADI == hdspm->io_type) {
hdspm            3077 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3079 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_autosync_ref(hdspm);
hdspm            3108 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3109 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_RD_TCO + 4);
hdspm            3149 sound/pci/rme9652/hdspm.c static int hdspm_tco_ltc_frames(struct hdspm *hdspm)
hdspm            3154 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_RD_TCO + 4);
hdspm            3183 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3185 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_tco_ltc_frames(hdspm);
hdspm            3198 sound/pci/rme9652/hdspm.c static int hdspm_toggle_setting(struct hdspm *hdspm, u32 regmask)
hdspm            3202 sound/pci/rme9652/hdspm.c 	if (hdspm_is_raydat_or_aio(hdspm))
hdspm            3203 sound/pci/rme9652/hdspm.c 		reg = hdspm->settings_register;
hdspm            3205 sound/pci/rme9652/hdspm.c 		reg = hdspm->control_register;
hdspm            3210 sound/pci/rme9652/hdspm.c static int hdspm_set_toggle_setting(struct hdspm *hdspm, u32 regmask, int out)
hdspm            3215 sound/pci/rme9652/hdspm.c 	if (hdspm_is_raydat_or_aio(hdspm)) {
hdspm            3216 sound/pci/rme9652/hdspm.c 		reg = &(hdspm->settings_register);
hdspm            3219 sound/pci/rme9652/hdspm.c 		reg = &(hdspm->control_register);
hdspm            3228 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, target_reg, *reg);
hdspm            3238 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3241 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3242 sound/pci/rme9652/hdspm.c 	ucontrol->value.integer.value[0] = hdspm_toggle_setting(hdspm, regmask);
hdspm            3243 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3250 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3255 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3258 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3259 sound/pci/rme9652/hdspm.c 	change = (int) val != hdspm_toggle_setting(hdspm, regmask);
hdspm            3260 sound/pci/rme9652/hdspm.c 	hdspm_set_toggle_setting(hdspm, regmask, val);
hdspm            3261 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3274 sound/pci/rme9652/hdspm.c static int hdspm_input_select(struct hdspm * hdspm)
hdspm            3276 sound/pci/rme9652/hdspm.c 	return (hdspm->control_register & HDSPM_InputSelect0) ? 1 : 0;
hdspm            3279 sound/pci/rme9652/hdspm.c static int hdspm_set_input_select(struct hdspm * hdspm, int out)
hdspm            3282 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPM_InputSelect0;
hdspm            3284 sound/pci/rme9652/hdspm.c 		hdspm->control_register &= ~HDSPM_InputSelect0;
hdspm            3285 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            3301 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3303 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3304 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_input_select(hdspm);
hdspm            3305 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3312 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3316 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3319 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3320 sound/pci/rme9652/hdspm.c 	change = (int) val != hdspm_input_select(hdspm);
hdspm            3321 sound/pci/rme9652/hdspm.c 	hdspm_set_input_select(hdspm, val);
hdspm            3322 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3336 sound/pci/rme9652/hdspm.c static int hdspm_ds_wire(struct hdspm * hdspm)
hdspm            3338 sound/pci/rme9652/hdspm.c 	return (hdspm->control_register & HDSPM_DS_DoubleWire) ? 1 : 0;
hdspm            3341 sound/pci/rme9652/hdspm.c static int hdspm_set_ds_wire(struct hdspm * hdspm, int ds)
hdspm            3344 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPM_DS_DoubleWire;
hdspm            3346 sound/pci/rme9652/hdspm.c 		hdspm->control_register &= ~HDSPM_DS_DoubleWire;
hdspm            3347 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            3363 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3365 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3366 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_ds_wire(hdspm);
hdspm            3367 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3374 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3378 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3381 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3382 sound/pci/rme9652/hdspm.c 	change = (int) val != hdspm_ds_wire(hdspm);
hdspm            3383 sound/pci/rme9652/hdspm.c 	hdspm_set_ds_wire(hdspm, val);
hdspm            3384 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3398 sound/pci/rme9652/hdspm.c static int hdspm_qs_wire(struct hdspm * hdspm)
hdspm            3400 sound/pci/rme9652/hdspm.c 	if (hdspm->control_register & HDSPM_QS_DoubleWire)
hdspm            3402 sound/pci/rme9652/hdspm.c 	if (hdspm->control_register & HDSPM_QS_QuadWire)
hdspm            3407 sound/pci/rme9652/hdspm.c static int hdspm_set_qs_wire(struct hdspm * hdspm, int mode)
hdspm            3409 sound/pci/rme9652/hdspm.c 	hdspm->control_register &= ~(HDSPM_QS_DoubleWire | HDSPM_QS_QuadWire);
hdspm            3414 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPM_QS_DoubleWire;
hdspm            3417 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPM_QS_QuadWire;
hdspm            3420 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            3436 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3438 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3439 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_qs_wire(hdspm);
hdspm            3440 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3447 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3451 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3458 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3459 sound/pci/rme9652/hdspm.c 	change = val != hdspm_qs_wire(hdspm);
hdspm            3460 sound/pci/rme9652/hdspm.c 	hdspm_set_qs_wire(hdspm, val);
hdspm            3461 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3474 sound/pci/rme9652/hdspm.c static int hdspm_tristate(struct hdspm *hdspm, u32 regmask)
hdspm            3476 sound/pci/rme9652/hdspm.c 	u32 reg = hdspm->settings_register & (regmask * 3);
hdspm            3480 sound/pci/rme9652/hdspm.c static int hdspm_set_tristate(struct hdspm *hdspm, int mode, u32 regmask)
hdspm            3482 sound/pci/rme9652/hdspm.c 	hdspm->settings_register &= ~(regmask * 3);
hdspm            3483 sound/pci/rme9652/hdspm.c 	hdspm->settings_register |= (regmask * mode);
hdspm            3484 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_WR_SETTINGS, hdspm->settings_register);
hdspm            3511 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3514 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3515 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_tristate(hdspm, regmask);
hdspm            3516 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3523 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3528 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3536 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3537 sound/pci/rme9652/hdspm.c 	change = val != hdspm_tristate(hdspm, regmask);
hdspm            3538 sound/pci/rme9652/hdspm.c 	hdspm_set_tristate(hdspm, val, regmask);
hdspm            3539 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3552 sound/pci/rme9652/hdspm.c static int hdspm_madi_speedmode(struct hdspm *hdspm)
hdspm            3554 sound/pci/rme9652/hdspm.c 	if (hdspm->control_register & HDSPM_QuadSpeed)
hdspm            3556 sound/pci/rme9652/hdspm.c 	if (hdspm->control_register & HDSPM_DoubleSpeed)
hdspm            3561 sound/pci/rme9652/hdspm.c static int hdspm_set_madi_speedmode(struct hdspm *hdspm, int mode)
hdspm            3563 sound/pci/rme9652/hdspm.c 	hdspm->control_register &= ~(HDSPM_DoubleSpeed | HDSPM_QuadSpeed);
hdspm            3568 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPM_DoubleSpeed;
hdspm            3571 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPM_QuadSpeed;
hdspm            3574 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            3590 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3592 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3593 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm_madi_speedmode(hdspm);
hdspm            3594 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3601 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3605 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3612 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3613 sound/pci/rme9652/hdspm.c 	change = val != hdspm_madi_speedmode(hdspm);
hdspm            3614 sound/pci/rme9652/hdspm.c 	hdspm_set_madi_speedmode(hdspm, val);
hdspm            3615 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3645 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3661 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3664 sound/pci/rme9652/hdspm.c 		    hdspm_read_pb_gain(hdspm, destination,
hdspm            3668 sound/pci/rme9652/hdspm.c 		    hdspm_read_in_gain(hdspm, destination, source);
hdspm            3670 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3678 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3684 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3697 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3700 sound/pci/rme9652/hdspm.c 		change = gain != hdspm_read_pb_gain(hdspm, destination,
hdspm            3704 sound/pci/rme9652/hdspm.c 		change = gain != hdspm_read_in_gain(hdspm, destination,
hdspm            3709 sound/pci/rme9652/hdspm.c 			hdspm_write_pb_gain(hdspm, destination,
hdspm            3713 sound/pci/rme9652/hdspm.c 			hdspm_write_in_gain(hdspm, destination, source,
hdspm            3716 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3749 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3757 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3759 sound/pci/rme9652/hdspm.c 	  (hdspm_read_pb_gain(hdspm, channel, channel)*64)/UNITY_GAIN;
hdspm            3760 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3768 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            3773 sound/pci/rme9652/hdspm.c 	if (!snd_hdspm_use_is_exclusive(hdspm))
hdspm            3783 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            3785 sound/pci/rme9652/hdspm.c 	    gain != hdspm_read_pb_gain(hdspm, channel,
hdspm            3788 sound/pci/rme9652/hdspm.c 		hdspm_write_pb_gain(hdspm, channel, channel,
hdspm            3790 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            3830 sound/pci/rme9652/hdspm.c static int hdspm_wc_sync_check(struct hdspm *hdspm)
hdspm            3834 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            3836 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3847 sound/pci/rme9652/hdspm.c 		status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            3859 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3878 sound/pci/rme9652/hdspm.c static int hdspm_madi_sync_check(struct hdspm *hdspm)
hdspm            3880 sound/pci/rme9652/hdspm.c 	int status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3891 sound/pci/rme9652/hdspm.c static int hdspm_s1_sync_check(struct hdspm *hdspm, int idx)
hdspm            3895 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_RD_STATUS_1);
hdspm            3908 sound/pci/rme9652/hdspm.c static int hdspm_sync_in_sync_check(struct hdspm *hdspm)
hdspm            3912 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            3915 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_RD_STATUS_3);
hdspm            3921 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3927 sound/pci/rme9652/hdspm.c 		status = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            3944 sound/pci/rme9652/hdspm.c static int hdspm_aes_sync_check(struct hdspm *hdspm, int idx)
hdspm            3947 sound/pci/rme9652/hdspm.c 	status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            3959 sound/pci/rme9652/hdspm.c static int hdspm_tco_input_check(struct hdspm *hdspm, u32 mask)
hdspm            3962 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_RD_TCO + 4);
hdspm            3968 sound/pci/rme9652/hdspm.c static int hdspm_tco_sync_check(struct hdspm *hdspm)
hdspm            3972 sound/pci/rme9652/hdspm.c 	if (hdspm->tco) {
hdspm            3973 sound/pci/rme9652/hdspm.c 		switch (hdspm->io_type) {
hdspm            3975 sound/pci/rme9652/hdspm.c 			status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3984 sound/pci/rme9652/hdspm.c 			status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            3994 sound/pci/rme9652/hdspm.c 			status = hdspm_read(hdspm, HDSPM_RD_STATUS_1);
hdspm            4014 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4017 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            4021 sound/pci/rme9652/hdspm.c 			val = hdspm_wc_sync_check(hdspm); break;
hdspm            4023 sound/pci/rme9652/hdspm.c 			val = hdspm_tco_sync_check(hdspm); break;
hdspm            4025 sound/pci/rme9652/hdspm.c 			val = hdspm_sync_in_sync_check(hdspm); break;
hdspm            4027 sound/pci/rme9652/hdspm.c 			val = hdspm_s1_sync_check(hdspm,
hdspm            4035 sound/pci/rme9652/hdspm.c 			val = hdspm_wc_sync_check(hdspm); break;
hdspm            4037 sound/pci/rme9652/hdspm.c 			val = hdspm_tco_sync_check(hdspm); break;
hdspm            4039 sound/pci/rme9652/hdspm.c 			val = hdspm_sync_in_sync_check(hdspm); break;
hdspm            4041 sound/pci/rme9652/hdspm.c 			val = hdspm_s1_sync_check(hdspm,
hdspm            4049 sound/pci/rme9652/hdspm.c 			val = hdspm_wc_sync_check(hdspm); break;
hdspm            4051 sound/pci/rme9652/hdspm.c 			val = hdspm_madi_sync_check(hdspm); break;
hdspm            4053 sound/pci/rme9652/hdspm.c 			val = hdspm_tco_sync_check(hdspm); break;
hdspm            4055 sound/pci/rme9652/hdspm.c 			val = hdspm_sync_in_sync_check(hdspm); break;
hdspm            4060 sound/pci/rme9652/hdspm.c 		val = hdspm_madi_sync_check(hdspm); /* MADI */
hdspm            4066 sound/pci/rme9652/hdspm.c 			val = hdspm_wc_sync_check(hdspm); break;
hdspm            4068 sound/pci/rme9652/hdspm.c 			val = hdspm_tco_sync_check(hdspm); break;
hdspm            4070 sound/pci/rme9652/hdspm.c 			val = hdspm_sync_in_sync_check(hdspm); break;
hdspm            4072 sound/pci/rme9652/hdspm.c 			 val = hdspm_aes_sync_check(hdspm,
hdspm            4079 sound/pci/rme9652/hdspm.c 	if (hdspm->tco) {
hdspm            4083 sound/pci/rme9652/hdspm.c 			val = hdspm_tco_input_check(hdspm, HDSPM_TCO1_TCO_lock);
hdspm            4087 sound/pci/rme9652/hdspm.c 			val = hdspm_tco_input_check(hdspm,
hdspm            4107 sound/pci/rme9652/hdspm.c static void hdspm_tco_write(struct hdspm *hdspm)
hdspm            4111 sound/pci/rme9652/hdspm.c 	switch (hdspm->tco->input) {
hdspm            4122 sound/pci/rme9652/hdspm.c 	switch (hdspm->tco->framerate) {
hdspm            4146 sound/pci/rme9652/hdspm.c 	switch (hdspm->tco->wordclock) {
hdspm            4157 sound/pci/rme9652/hdspm.c 	switch (hdspm->tco->samplerate) {
hdspm            4168 sound/pci/rme9652/hdspm.c 	switch (hdspm->tco->pull) {
hdspm            4185 sound/pci/rme9652/hdspm.c 	if (1 == hdspm->tco->term) {
hdspm            4189 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_WR_TCO, tc[0]);
hdspm            4190 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_WR_TCO+4, tc[1]);
hdspm            4191 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_WR_TCO+8, tc[2]);
hdspm            4192 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_WR_TCO+12, tc[3]);
hdspm            4219 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4221 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm->tco->samplerate;
hdspm            4229 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4231 sound/pci/rme9652/hdspm.c 	if (hdspm->tco->samplerate != ucontrol->value.enumerated.item[0]) {
hdspm            4232 sound/pci/rme9652/hdspm.c 		hdspm->tco->samplerate = ucontrol->value.enumerated.item[0];
hdspm            4234 sound/pci/rme9652/hdspm.c 		hdspm_tco_write(hdspm);
hdspm            4266 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4268 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm->tco->pull;
hdspm            4276 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4278 sound/pci/rme9652/hdspm.c 	if (hdspm->tco->pull != ucontrol->value.enumerated.item[0]) {
hdspm            4279 sound/pci/rme9652/hdspm.c 		hdspm->tco->pull = ucontrol->value.enumerated.item[0];
hdspm            4281 sound/pci/rme9652/hdspm.c 		hdspm_tco_write(hdspm);
hdspm            4311 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4313 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm->tco->wordclock;
hdspm            4321 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4323 sound/pci/rme9652/hdspm.c 	if (hdspm->tco->wordclock != ucontrol->value.enumerated.item[0]) {
hdspm            4324 sound/pci/rme9652/hdspm.c 		hdspm->tco->wordclock = ucontrol->value.enumerated.item[0];
hdspm            4326 sound/pci/rme9652/hdspm.c 		hdspm_tco_write(hdspm);
hdspm            4358 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4360 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm->tco->framerate;
hdspm            4368 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4370 sound/pci/rme9652/hdspm.c 	if (hdspm->tco->framerate != ucontrol->value.enumerated.item[0]) {
hdspm            4371 sound/pci/rme9652/hdspm.c 		hdspm->tco->framerate = ucontrol->value.enumerated.item[0];
hdspm            4373 sound/pci/rme9652/hdspm.c 		hdspm_tco_write(hdspm);
hdspm            4404 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4406 sound/pci/rme9652/hdspm.c 	ucontrol->value.enumerated.item[0] = hdspm->tco->input;
hdspm            4414 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4416 sound/pci/rme9652/hdspm.c 	if (hdspm->tco->input != ucontrol->value.enumerated.item[0]) {
hdspm            4417 sound/pci/rme9652/hdspm.c 		hdspm->tco->input = ucontrol->value.enumerated.item[0];
hdspm            4419 sound/pci/rme9652/hdspm.c 		hdspm_tco_write(hdspm);
hdspm            4454 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4456 sound/pci/rme9652/hdspm.c 	ucontrol->value.integer.value[0] = hdspm->tco->term;
hdspm            4465 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
hdspm            4467 sound/pci/rme9652/hdspm.c 	if (hdspm->tco->term != ucontrol->value.integer.value[0]) {
hdspm            4468 sound/pci/rme9652/hdspm.c 		hdspm->tco->term = ucontrol->value.integer.value[0];
hdspm            4470 sound/pci/rme9652/hdspm.c 		hdspm_tco_write(hdspm);
hdspm            4644 sound/pci/rme9652/hdspm.c static int hdspm_update_simple_mixer_controls(struct hdspm * hdspm)
hdspm            4648 sound/pci/rme9652/hdspm.c 	for (i = hdspm->ds_out_channels; i < hdspm->ss_out_channels; ++i) {
hdspm            4649 sound/pci/rme9652/hdspm.c 		if (hdspm->system_sample_rate > 48000) {
hdspm            4650 sound/pci/rme9652/hdspm.c 			hdspm->playback_mixer_ctls[i]->vd[0].access =
hdspm            4655 sound/pci/rme9652/hdspm.c 			hdspm->playback_mixer_ctls[i]->vd[0].access =
hdspm            4659 sound/pci/rme9652/hdspm.c 		snd_ctl_notify(hdspm->card, SNDRV_CTL_EVENT_MASK_VALUE |
hdspm            4661 sound/pci/rme9652/hdspm.c 				&hdspm->playback_mixer_ctls[i]->id);
hdspm            4669 sound/pci/rme9652/hdspm.c 					struct hdspm *hdspm)
hdspm            4676 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            4702 sound/pci/rme9652/hdspm.c 					snd_ctl_new1(&list[idx], hdspm));
hdspm            4711 sound/pci/rme9652/hdspm.c 	if (hdspm->system_sample_rate >= 128000) {
hdspm            4712 sound/pci/rme9652/hdspm.c 		limit = hdspm->qs_out_channels;
hdspm            4713 sound/pci/rme9652/hdspm.c 	} else if (hdspm->system_sample_rate >= 64000) {
hdspm            4714 sound/pci/rme9652/hdspm.c 		limit = hdspm->ds_out_channels;
hdspm            4716 sound/pci/rme9652/hdspm.c 		limit = hdspm->ss_out_channels;
hdspm            4720 sound/pci/rme9652/hdspm.c 		kctl = snd_ctl_new1(&snd_hdspm_playback_mixer, hdspm);
hdspm            4724 sound/pci/rme9652/hdspm.c 		hdspm->playback_mixer_ctls[idx] = kctl;
hdspm            4728 sound/pci/rme9652/hdspm.c 	if (hdspm->tco) {
hdspm            4734 sound/pci/rme9652/hdspm.c 					snd_ctl_new1(&list[idx], hdspm));
hdspm            4751 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            4760 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            4761 sound/pci/rme9652/hdspm.c 	control = hdspm->control_register;
hdspm            4766 sound/pci/rme9652/hdspm.c 		a = hdspm_read(hdspm, HDSPM_RD_TCO+4);
hdspm            4805 sound/pci/rme9652/hdspm.c 		switch (hdspm->io_type) {
hdspm            4818 sound/pci/rme9652/hdspm.c 		period = hdspm_read(hdspm, HDSPM_RD_PLL_FREQ);
hdspm            4834 sound/pci/rme9652/hdspm.c 		ltc = hdspm_read(hdspm, HDSPM_RD_TCO);
hdspm            4863 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            4871 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            4872 sound/pci/rme9652/hdspm.c 	status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            4875 sound/pci/rme9652/hdspm.c 			hdspm->card_name, hdspm->card->number + 1,
hdspm            4876 sound/pci/rme9652/hdspm.c 			hdspm->firmware_rev,
hdspm            4882 sound/pci/rme9652/hdspm.c 			(hdspm_read(hdspm, HDSPM_midiStatusIn1)>>8) & 0xFFFFFF,
hdspm            4883 sound/pci/rme9652/hdspm.c 			hdspm->serial);
hdspm            4886 sound/pci/rme9652/hdspm.c 			hdspm->irq, hdspm->port, (unsigned long)hdspm->iobase);
hdspm            4895 sound/pci/rme9652/hdspm.c 		hdspm->irq_count);
hdspm            4902 sound/pci/rme9652/hdspm.c 		(2 * (int)hdspm->period_bytes),
hdspm            4904 sound/pci/rme9652/hdspm.c 		(2 * (int)hdspm->period_bytes),
hdspm            4905 sound/pci/rme9652/hdspm.c 		(long) hdspm_hw_pointer(hdspm) * 4);
hdspm            4909 sound/pci/rme9652/hdspm.c 		hdspm_read(hdspm, HDSPM_midiStatusOut0) & 0xFF,
hdspm            4910 sound/pci/rme9652/hdspm.c 		hdspm_read(hdspm, HDSPM_midiStatusOut1) & 0xFF,
hdspm            4911 sound/pci/rme9652/hdspm.c 		hdspm_read(hdspm, HDSPM_midiStatusIn0) & 0xFF,
hdspm            4912 sound/pci/rme9652/hdspm.c 		hdspm_read(hdspm, HDSPM_midiStatusIn1) & 0xFF);
hdspm            4915 sound/pci/rme9652/hdspm.c 		hdspm_read(hdspm, HDSPM_midiStatusIn2) & 0xFF,
hdspm            4916 sound/pci/rme9652/hdspm.c 		hdspm_read(hdspm, HDSPM_midiStatusOut2) & 0xFF);
hdspm            4920 sound/pci/rme9652/hdspm.c 		hdspm->control_register, hdspm->control2_register,
hdspm            4926 sound/pci/rme9652/hdspm.c 	x = hdspm_get_latency(hdspm);
hdspm            4930 sound/pci/rme9652/hdspm.c 		x, (unsigned long) hdspm->period_bytes);
hdspm            4933 sound/pci/rme9652/hdspm.c 		(hdspm->control_register & HDSPM_LineOut) ? "on " : "off");
hdspm            4938 sound/pci/rme9652/hdspm.c 		(hdspm->control_register & HDSPM_clr_tms) ? "on" : "off",
hdspm            4939 sound/pci/rme9652/hdspm.c 		(hdspm->control_register & HDSPM_TX_64ch) ? "64" : "56",
hdspm            4940 sound/pci/rme9652/hdspm.c 		(hdspm->control_register & HDSPM_AutoInp) ? "on" : "off");
hdspm            4943 sound/pci/rme9652/hdspm.c 	if (!(hdspm->control_register & HDSPM_ClockModeMaster))
hdspm            4949 sound/pci/rme9652/hdspm.c 	switch (hdspm_pref_sync_ref(hdspm)) {
hdspm            4970 sound/pci/rme9652/hdspm.c 			hdspm->system_sample_rate);
hdspm            4984 sound/pci/rme9652/hdspm.c 	switch (hdspm_autosync_ref(hdspm)) {
hdspm            5006 sound/pci/rme9652/hdspm.c 		autosync_ref, hdspm_external_sample_rate(hdspm),
hdspm            5025 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            5034 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            5035 sound/pci/rme9652/hdspm.c 	status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            5036 sound/pci/rme9652/hdspm.c 	timecode = hdspm_read(hdspm, HDSPM_timecodeRegister);
hdspm            5039 sound/pci/rme9652/hdspm.c 		    hdspm->card_name, hdspm->card->number + 1,
hdspm            5040 sound/pci/rme9652/hdspm.c 		    hdspm->firmware_rev);
hdspm            5043 sound/pci/rme9652/hdspm.c 		    hdspm->irq, hdspm->port, (unsigned long)hdspm->iobase);
hdspm            5052 sound/pci/rme9652/hdspm.c 		    hdspm->irq_count);
hdspm            5059 sound/pci/rme9652/hdspm.c 		    (2 * (int)hdspm->period_bytes),
hdspm            5061 sound/pci/rme9652/hdspm.c 		    (2 * (int)hdspm->period_bytes),
hdspm            5062 sound/pci/rme9652/hdspm.c 		    (long) hdspm_hw_pointer(hdspm) * 4);
hdspm            5066 sound/pci/rme9652/hdspm.c 		    hdspm_read(hdspm, HDSPM_midiStatusOut0) & 0xFF,
hdspm            5067 sound/pci/rme9652/hdspm.c 		    hdspm_read(hdspm, HDSPM_midiStatusOut1) & 0xFF,
hdspm            5068 sound/pci/rme9652/hdspm.c 		    hdspm_read(hdspm, HDSPM_midiStatusIn0) & 0xFF,
hdspm            5069 sound/pci/rme9652/hdspm.c 		    hdspm_read(hdspm, HDSPM_midiStatusIn1) & 0xFF);
hdspm            5072 sound/pci/rme9652/hdspm.c 		    hdspm_read(hdspm, HDSPM_midiStatusIn2) & 0xFF,
hdspm            5073 sound/pci/rme9652/hdspm.c 		    hdspm_read(hdspm, HDSPM_midiStatusOut2) & 0xFF);
hdspm            5077 sound/pci/rme9652/hdspm.c 		    hdspm->control_register, hdspm->control2_register,
hdspm            5082 sound/pci/rme9652/hdspm.c 	x = hdspm_get_latency(hdspm);
hdspm            5086 sound/pci/rme9652/hdspm.c 		    x, (unsigned long) hdspm->period_bytes);
hdspm            5089 sound/pci/rme9652/hdspm.c 		    (hdspm->
hdspm            5094 sound/pci/rme9652/hdspm.c 		    (hdspm->
hdspm            5096 sound/pci/rme9652/hdspm.c 		    (hdspm->
hdspm            5098 sound/pci/rme9652/hdspm.c 		    (hdspm->
hdspm            5102 sound/pci/rme9652/hdspm.c 	pref_syncref = hdspm_pref_sync_ref(hdspm);
hdspm            5110 sound/pci/rme9652/hdspm.c 		    hdspm->system_sample_rate);
hdspm            5113 sound/pci/rme9652/hdspm.c 			hdspm->control_register & HDSPM_DS_DoubleWire?
hdspm            5116 sound/pci/rme9652/hdspm.c 			hdspm->control_register & HDSPM_QS_DoubleWire?
hdspm            5118 sound/pci/rme9652/hdspm.c 			hdspm->control_register & HDSPM_QS_QuadWire?
hdspm            5138 sound/pci/rme9652/hdspm.c 	switch (hdspm_autosync_ref(hdspm)) {
hdspm            5178 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            5182 sound/pci/rme9652/hdspm.c 	status1 = hdspm_read(hdspm, HDSPM_RD_STATUS_1); /* s1 */
hdspm            5183 sound/pci/rme9652/hdspm.c 	status2 = hdspm_read(hdspm, HDSPM_RD_STATUS_2); /* freq */
hdspm            5184 sound/pci/rme9652/hdspm.c 	status3 = hdspm_read(hdspm, HDSPM_RD_STATUS_3); /* s2 */
hdspm            5194 sound/pci/rme9652/hdspm.c 		(hdspm_system_clock_mode(hdspm) == 0) ? "master" : "slave");
hdspm            5196 sound/pci/rme9652/hdspm.c 		hdspm_get_system_sample_rate(hdspm));
hdspm            5236 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            5243 sound/pci/rme9652/hdspm.c 			snd_iprintf(buffer, "%08X ", hdspm_read(hdspm, i + j));
hdspm            5253 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            5258 sound/pci/rme9652/hdspm.c 	for (i = 0; i < hdspm->max_channels_in; i++) {
hdspm            5259 sound/pci/rme9652/hdspm.c 		snd_iprintf(buffer, "%d=%s\n", i+1, hdspm->port_names_in[i]);
hdspm            5266 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = entry->private_data;
hdspm            5271 sound/pci/rme9652/hdspm.c 	for (i = 0; i < hdspm->max_channels_out; i++) {
hdspm            5272 sound/pci/rme9652/hdspm.c 		snd_iprintf(buffer, "%d=%s\n", i+1, hdspm->port_names_out[i]);
hdspm            5277 sound/pci/rme9652/hdspm.c static void snd_hdspm_proc_init(struct hdspm *hdspm)
hdspm            5281 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            5298 sound/pci/rme9652/hdspm.c 	snd_card_ro_proc_new(hdspm->card, "hdspm", hdspm, read);
hdspm            5299 sound/pci/rme9652/hdspm.c 	snd_card_ro_proc_new(hdspm->card, "ports.in", hdspm,
hdspm            5301 sound/pci/rme9652/hdspm.c 	snd_card_ro_proc_new(hdspm->card, "ports.out", hdspm,
hdspm            5306 sound/pci/rme9652/hdspm.c 	snd_card_ro_proc_new(hdspm->card, "debug", hdspm,
hdspm            5315 sound/pci/rme9652/hdspm.c static int snd_hdspm_set_defaults(struct hdspm * hdspm)
hdspm            5323 sound/pci/rme9652/hdspm.c 	hdspm->settings_register = 0;
hdspm            5325 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            5328 sound/pci/rme9652/hdspm.c 		hdspm->control_register =
hdspm            5334 sound/pci/rme9652/hdspm.c 		hdspm->settings_register = 0x1 + 0x1000;
hdspm            5337 sound/pci/rme9652/hdspm.c 		hdspm->control_register =
hdspm            5342 sound/pci/rme9652/hdspm.c 		hdspm->control_register =
hdspm            5351 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            5353 sound/pci/rme9652/hdspm.c 	if (AES32 == hdspm->io_type) {
hdspm            5356 sound/pci/rme9652/hdspm.c 		hdspm->control2_register = HDSPM_BIGENDIAN_MODE;
hdspm            5358 sound/pci/rme9652/hdspm.c 		hdspm->control2_register = 0;
hdspm            5361 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, HDSPM_control2Reg, hdspm->control2_register);
hdspm            5363 sound/pci/rme9652/hdspm.c 	hdspm_compute_period_size(hdspm);
hdspm            5367 sound/pci/rme9652/hdspm.c 	all_in_all_mixer(hdspm, 0 * UNITY_GAIN);
hdspm            5369 sound/pci/rme9652/hdspm.c 	if (hdspm_is_raydat_or_aio(hdspm))
hdspm            5370 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, HDSPM_WR_SETTINGS, hdspm->settings_register);
hdspm            5373 sound/pci/rme9652/hdspm.c 	hdspm_set_rate(hdspm, 48000, 1);
hdspm            5385 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = (struct hdspm *) dev_id;
hdspm            5390 sound/pci/rme9652/hdspm.c 	status = hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            5416 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_interruptConfirmation, 0);
hdspm            5417 sound/pci/rme9652/hdspm.c 	hdspm->irq_count++;
hdspm            5421 sound/pci/rme9652/hdspm.c 		if (hdspm->capture_substream)
hdspm            5422 sound/pci/rme9652/hdspm.c 			snd_pcm_period_elapsed(hdspm->capture_substream);
hdspm            5424 sound/pci/rme9652/hdspm.c 		if (hdspm->playback_substream)
hdspm            5425 sound/pci/rme9652/hdspm.c 			snd_pcm_period_elapsed(hdspm->playback_substream);
hdspm            5430 sound/pci/rme9652/hdspm.c 		while (i < hdspm->midiPorts) {
hdspm            5431 sound/pci/rme9652/hdspm.c 			if ((hdspm_read(hdspm,
hdspm            5432 sound/pci/rme9652/hdspm.c 				hdspm->midi[i].statusIn) & 0xff) &&
hdspm            5433 sound/pci/rme9652/hdspm.c 					(status & hdspm->midi[i].irq)) {
hdspm            5437 sound/pci/rme9652/hdspm.c 				hdspm->control_register &= ~hdspm->midi[i].ie;
hdspm            5438 sound/pci/rme9652/hdspm.c 				hdspm_write(hdspm, HDSPM_controlRegister,
hdspm            5439 sound/pci/rme9652/hdspm.c 						hdspm->control_register);
hdspm            5440 sound/pci/rme9652/hdspm.c 				hdspm->midi[i].pending = 1;
hdspm            5448 sound/pci/rme9652/hdspm.c 			tasklet_hi_schedule(&hdspm->midi_tasklet);
hdspm            5462 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            5463 sound/pci/rme9652/hdspm.c 	return hdspm_hw_pointer(hdspm);
hdspm            5470 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            5474 sound/pci/rme9652/hdspm.c 		other = hdspm->capture_substream;
hdspm            5476 sound/pci/rme9652/hdspm.c 		other = hdspm->playback_substream;
hdspm            5478 sound/pci/rme9652/hdspm.c 	if (hdspm->running)
hdspm            5479 sound/pci/rme9652/hdspm.c 		runtime->status->hw_ptr = hdspm_hw_pointer(hdspm);
hdspm            5499 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            5505 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            5508 sound/pci/rme9652/hdspm.c 		this_pid = hdspm->playback_pid;
hdspm            5509 sound/pci/rme9652/hdspm.c 		other_pid = hdspm->capture_pid;
hdspm            5511 sound/pci/rme9652/hdspm.c 		this_pid = hdspm->capture_pid;
hdspm            5512 sound/pci/rme9652/hdspm.c 		other_pid = hdspm->playback_pid;
hdspm            5522 sound/pci/rme9652/hdspm.c 		if (params_rate(params) != hdspm->system_sample_rate) {
hdspm            5523 sound/pci/rme9652/hdspm.c 			spin_unlock_irq(&hdspm->lock);
hdspm            5529 sound/pci/rme9652/hdspm.c 		if (params_period_size(params) != hdspm->period_bytes / 4) {
hdspm            5530 sound/pci/rme9652/hdspm.c 			spin_unlock_irq(&hdspm->lock);
hdspm            5538 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            5542 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            5543 sound/pci/rme9652/hdspm.c 	err = hdspm_set_rate(hdspm, params_rate(params), 0);
hdspm            5545 sound/pci/rme9652/hdspm.c 		dev_info(hdspm->card->dev, "err on hdspm_set_rate: %d\n", err);
hdspm            5546 sound/pci/rme9652/hdspm.c 		spin_unlock_irq(&hdspm->lock);
hdspm            5551 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            5553 sound/pci/rme9652/hdspm.c 	err = hdspm_set_interrupt_interval(hdspm,
hdspm            5556 sound/pci/rme9652/hdspm.c 		dev_info(hdspm->card->dev,
hdspm            5573 sound/pci/rme9652/hdspm.c 		dev_info(hdspm->card->dev,
hdspm            5581 sound/pci/rme9652/hdspm.c 			int c = hdspm->channel_map_out[i];
hdspm            5585 sound/pci/rme9652/hdspm.c 			hdspm_set_channel_dma_addr(hdspm, substream,
hdspm            5588 sound/pci/rme9652/hdspm.c 			snd_hdspm_enable_out(hdspm, c, 1);
hdspm            5591 sound/pci/rme9652/hdspm.c 		hdspm->playback_buffer =
hdspm            5593 sound/pci/rme9652/hdspm.c 		dev_dbg(hdspm->card->dev,
hdspm            5595 sound/pci/rme9652/hdspm.c 				hdspm->playback_buffer);
hdspm            5598 sound/pci/rme9652/hdspm.c 			int c = hdspm->channel_map_in[i];
hdspm            5602 sound/pci/rme9652/hdspm.c 			hdspm_set_channel_dma_addr(hdspm, substream,
hdspm            5605 sound/pci/rme9652/hdspm.c 			snd_hdspm_enable_in(hdspm, c, 1);
hdspm            5608 sound/pci/rme9652/hdspm.c 		hdspm->capture_buffer =
hdspm            5610 sound/pci/rme9652/hdspm.c 		dev_dbg(hdspm->card->dev,
hdspm            5612 sound/pci/rme9652/hdspm.c 				hdspm->capture_buffer);
hdspm            5637 sound/pci/rme9652/hdspm.c 	if (hdspm->io_type == AES32) {
hdspm            5644 sound/pci/rme9652/hdspm.c 		if (!(hdspm->control_register & HDSPe_FLOAT_FORMAT))
hdspm            5645 sound/pci/rme9652/hdspm.c 			dev_info(hdspm->card->dev,
hdspm            5648 sound/pci/rme9652/hdspm.c 		hdspm->control_register |= HDSPe_FLOAT_FORMAT;
hdspm            5650 sound/pci/rme9652/hdspm.c 		if (hdspm->control_register & HDSPe_FLOAT_FORMAT)
hdspm            5651 sound/pci/rme9652/hdspm.c 			dev_info(hdspm->card->dev,
hdspm            5654 sound/pci/rme9652/hdspm.c 		hdspm->control_register &= ~HDSPe_FLOAT_FORMAT;
hdspm            5656 sound/pci/rme9652/hdspm.c 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
hdspm            5664 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            5670 sound/pci/rme9652/hdspm.c 			snd_hdspm_enable_out(hdspm, i, 0);
hdspm            5672 sound/pci/rme9652/hdspm.c 		hdspm->playback_buffer = NULL;
hdspm            5675 sound/pci/rme9652/hdspm.c 			snd_hdspm_enable_in(hdspm, i, 0);
hdspm            5677 sound/pci/rme9652/hdspm.c 		hdspm->capture_buffer = NULL;
hdspm            5689 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            5693 sound/pci/rme9652/hdspm.c 		if (snd_BUG_ON(channel >= hdspm->max_channels_out)) {
hdspm            5694 sound/pci/rme9652/hdspm.c 			dev_info(hdspm->card->dev,
hdspm            5700 sound/pci/rme9652/hdspm.c 		channel = array_index_nospec(channel, hdspm->max_channels_out);
hdspm            5701 sound/pci/rme9652/hdspm.c 		if (hdspm->channel_map_out[channel] < 0) {
hdspm            5702 sound/pci/rme9652/hdspm.c 			dev_info(hdspm->card->dev,
hdspm            5708 sound/pci/rme9652/hdspm.c 		info->offset = hdspm->channel_map_out[channel] *
hdspm            5711 sound/pci/rme9652/hdspm.c 		if (snd_BUG_ON(channel >= hdspm->max_channels_in)) {
hdspm            5712 sound/pci/rme9652/hdspm.c 			dev_info(hdspm->card->dev,
hdspm            5718 sound/pci/rme9652/hdspm.c 		channel = array_index_nospec(channel, hdspm->max_channels_in);
hdspm            5719 sound/pci/rme9652/hdspm.c 		if (hdspm->channel_map_in[channel] < 0) {
hdspm            5720 sound/pci/rme9652/hdspm.c 			dev_info(hdspm->card->dev,
hdspm            5726 sound/pci/rme9652/hdspm.c 		info->offset = hdspm->channel_map_in[channel] *
hdspm            5757 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            5761 sound/pci/rme9652/hdspm.c 	spin_lock(&hdspm->lock);
hdspm            5762 sound/pci/rme9652/hdspm.c 	running = hdspm->running;
hdspm            5772 sound/pci/rme9652/hdspm.c 		spin_unlock(&hdspm->lock);
hdspm            5776 sound/pci/rme9652/hdspm.c 		other = hdspm->capture_substream;
hdspm            5778 sound/pci/rme9652/hdspm.c 		other = hdspm->playback_substream;
hdspm            5796 sound/pci/rme9652/hdspm.c 				hdspm_silence_playback(hdspm);
hdspm            5800 sound/pci/rme9652/hdspm.c 				hdspm_silence_playback(hdspm);
hdspm            5804 sound/pci/rme9652/hdspm.c 			hdspm_silence_playback(hdspm);
hdspm            5808 sound/pci/rme9652/hdspm.c 	if (!hdspm->running && running)
hdspm            5809 sound/pci/rme9652/hdspm.c 		hdspm_start_audio(hdspm);
hdspm            5810 sound/pci/rme9652/hdspm.c 	else if (hdspm->running && !running)
hdspm            5811 sound/pci/rme9652/hdspm.c 		hdspm_stop_audio(hdspm);
hdspm            5812 sound/pci/rme9652/hdspm.c 	hdspm->running = running;
hdspm            5813 sound/pci/rme9652/hdspm.c 	spin_unlock(&hdspm->lock);
hdspm            5876 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = rule->private;
hdspm            5884 sound/pci/rme9652/hdspm.c 			.min = hdspm->qs_in_channels,
hdspm            5885 sound/pci/rme9652/hdspm.c 			.max = hdspm->qs_in_channels,
hdspm            5891 sound/pci/rme9652/hdspm.c 			.min = hdspm->ds_in_channels,
hdspm            5892 sound/pci/rme9652/hdspm.c 			.max = hdspm->ds_in_channels,
hdspm            5898 sound/pci/rme9652/hdspm.c 			.min = hdspm->ss_in_channels,
hdspm            5899 sound/pci/rme9652/hdspm.c 			.max = hdspm->ss_in_channels,
hdspm            5911 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = rule->private;
hdspm            5919 sound/pci/rme9652/hdspm.c 			.min = hdspm->qs_out_channels,
hdspm            5920 sound/pci/rme9652/hdspm.c 			.max = hdspm->qs_out_channels,
hdspm            5926 sound/pci/rme9652/hdspm.c 			.min = hdspm->ds_out_channels,
hdspm            5927 sound/pci/rme9652/hdspm.c 			.max = hdspm->ds_out_channels,
hdspm            5933 sound/pci/rme9652/hdspm.c 			.min = hdspm->ss_out_channels,
hdspm            5934 sound/pci/rme9652/hdspm.c 			.max = hdspm->ss_out_channels,
hdspm            5946 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = rule->private;
hdspm            5952 sound/pci/rme9652/hdspm.c 	if (c->min >= hdspm->ss_in_channels) {
hdspm            5959 sound/pci/rme9652/hdspm.c 	} else if (c->max <= hdspm->qs_in_channels) {
hdspm            5966 sound/pci/rme9652/hdspm.c 	} else if (c->max <= hdspm->ds_in_channels) {
hdspm            5980 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = rule->private;
hdspm            5986 sound/pci/rme9652/hdspm.c 	if (c->min >= hdspm->ss_out_channels) {
hdspm            5993 sound/pci/rme9652/hdspm.c 	} else if (c->max <= hdspm->qs_out_channels) {
hdspm            6000 sound/pci/rme9652/hdspm.c 	} else if (c->max <= hdspm->ds_out_channels) {
hdspm            6016 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = rule->private;
hdspm            6020 sound/pci/rme9652/hdspm.c 	list[0] = hdspm->qs_in_channels;
hdspm            6021 sound/pci/rme9652/hdspm.c 	list[1] = hdspm->ds_in_channels;
hdspm            6022 sound/pci/rme9652/hdspm.c 	list[2] = hdspm->ss_in_channels;
hdspm            6030 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = rule->private;
hdspm            6034 sound/pci/rme9652/hdspm.c 	list[0] = hdspm->qs_out_channels;
hdspm            6035 sound/pci/rme9652/hdspm.c 	list[1] = hdspm->ds_out_channels;
hdspm            6036 sound/pci/rme9652/hdspm.c 	list[2] = hdspm->ss_out_channels;
hdspm            6054 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            6058 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            6064 sound/pci/rme9652/hdspm.c 		if (!hdspm->capture_substream)
hdspm            6065 sound/pci/rme9652/hdspm.c 			hdspm_stop_audio(hdspm);
hdspm            6067 sound/pci/rme9652/hdspm.c 		hdspm->playback_pid = current->pid;
hdspm            6068 sound/pci/rme9652/hdspm.c 		hdspm->playback_substream = substream;
hdspm            6070 sound/pci/rme9652/hdspm.c 		if (!hdspm->playback_substream)
hdspm            6071 sound/pci/rme9652/hdspm.c 			hdspm_stop_audio(hdspm);
hdspm            6073 sound/pci/rme9652/hdspm.c 		hdspm->capture_pid = current->pid;
hdspm            6074 sound/pci/rme9652/hdspm.c 		hdspm->capture_substream = substream;
hdspm            6077 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            6082 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            6103 sound/pci/rme9652/hdspm.c 	if (AES32 == hdspm->io_type) {
hdspm            6111 sound/pci/rme9652/hdspm.c 				 snd_hdspm_hw_rule_rate_in_channels), hdspm,
hdspm            6117 sound/pci/rme9652/hdspm.c 			 snd_hdspm_hw_rule_in_channels), hdspm,
hdspm            6122 sound/pci/rme9652/hdspm.c 			 snd_hdspm_hw_rule_in_channels_rate), hdspm,
hdspm            6130 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = snd_pcm_substream_chip(substream);
hdspm            6133 sound/pci/rme9652/hdspm.c 	spin_lock_irq(&hdspm->lock);
hdspm            6136 sound/pci/rme9652/hdspm.c 		hdspm->playback_pid = -1;
hdspm            6137 sound/pci/rme9652/hdspm.c 		hdspm->playback_substream = NULL;
hdspm            6139 sound/pci/rme9652/hdspm.c 		hdspm->capture_pid = -1;
hdspm            6140 sound/pci/rme9652/hdspm.c 		hdspm->capture_substream = NULL;
hdspm            6143 sound/pci/rme9652/hdspm.c 	spin_unlock_irq(&hdspm->lock);
hdspm            6164 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = hw->private_data;
hdspm            6178 sound/pci/rme9652/hdspm.c 		levels = &hdspm->peak_rms;
hdspm            6181 sound/pci/rme9652/hdspm.c 				readl(hdspm->iobase +
hdspm            6184 sound/pci/rme9652/hdspm.c 				readl(hdspm->iobase +
hdspm            6187 sound/pci/rme9652/hdspm.c 				readl(hdspm->iobase +
hdspm            6191 sound/pci/rme9652/hdspm.c 				((uint64_t) readl(hdspm->iobase +
hdspm            6193 sound/pci/rme9652/hdspm.c 				(uint64_t) readl(hdspm->iobase +
hdspm            6196 sound/pci/rme9652/hdspm.c 				((uint64_t)readl(hdspm->iobase +
hdspm            6198 sound/pci/rme9652/hdspm.c 				(uint64_t)readl(hdspm->iobase +
hdspm            6201 sound/pci/rme9652/hdspm.c 				((uint64_t)readl(hdspm->iobase +
hdspm            6203 sound/pci/rme9652/hdspm.c 				(uint64_t)readl(hdspm->iobase +
hdspm            6207 sound/pci/rme9652/hdspm.c 		if (hdspm->system_sample_rate > 96000) {
hdspm            6209 sound/pci/rme9652/hdspm.c 		} else if (hdspm->system_sample_rate > 48000) {
hdspm            6214 sound/pci/rme9652/hdspm.c 		levels->status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
hdspm            6226 sound/pci/rme9652/hdspm.c 		ltc.ltc = hdspm_read(hdspm, HDSPM_RD_TCO);
hdspm            6227 sound/pci/rme9652/hdspm.c 		i = hdspm_read(hdspm, HDSPM_RD_TCO + 4);
hdspm            6273 sound/pci/rme9652/hdspm.c 		spin_lock_irq(&hdspm->lock);
hdspm            6274 sound/pci/rme9652/hdspm.c 		info.pref_sync_ref = hdspm_pref_sync_ref(hdspm);
hdspm            6275 sound/pci/rme9652/hdspm.c 		info.wordclock_sync_check = hdspm_wc_sync_check(hdspm);
hdspm            6277 sound/pci/rme9652/hdspm.c 		info.system_sample_rate = hdspm->system_sample_rate;
hdspm            6279 sound/pci/rme9652/hdspm.c 			hdspm_external_sample_rate(hdspm);
hdspm            6280 sound/pci/rme9652/hdspm.c 		info.system_clock_mode = hdspm_system_clock_mode(hdspm);
hdspm            6281 sound/pci/rme9652/hdspm.c 		info.clock_source = hdspm_clock_source(hdspm);
hdspm            6282 sound/pci/rme9652/hdspm.c 		info.autosync_ref = hdspm_autosync_ref(hdspm);
hdspm            6283 sound/pci/rme9652/hdspm.c 		info.line_out = hdspm_toggle_setting(hdspm, HDSPM_LineOut);
hdspm            6285 sound/pci/rme9652/hdspm.c 		spin_unlock_irq(&hdspm->lock);
hdspm            6293 sound/pci/rme9652/hdspm.c 		status.card_type = hdspm->io_type;
hdspm            6295 sound/pci/rme9652/hdspm.c 		status.autosync_source = hdspm_autosync_ref(hdspm);
hdspm            6298 sound/pci/rme9652/hdspm.c 		status.master_period = hdspm_read(hdspm, HDSPM_RD_PLL_FREQ);
hdspm            6300 sound/pci/rme9652/hdspm.c 		switch (hdspm->io_type) {
hdspm            6304 sound/pci/rme9652/hdspm.c 				hdspm_wc_sync_check(hdspm);
hdspm            6306 sound/pci/rme9652/hdspm.c 				hdspm_madi_sync_check(hdspm);
hdspm            6308 sound/pci/rme9652/hdspm.c 				hdspm_tco_sync_check(hdspm);
hdspm            6310 sound/pci/rme9652/hdspm.c 				hdspm_sync_in_sync_check(hdspm);
hdspm            6313 sound/pci/rme9652/hdspm.c 				hdspm_read(hdspm, HDSPM_statusRegister);
hdspm            6334 sound/pci/rme9652/hdspm.c 		hdspm_version.card_type = hdspm->io_type;
hdspm            6335 sound/pci/rme9652/hdspm.c 		strlcpy(hdspm_version.cardname, hdspm->card_name,
hdspm            6337 sound/pci/rme9652/hdspm.c 		hdspm_version.serial = hdspm->serial;
hdspm            6338 sound/pci/rme9652/hdspm.c 		hdspm_version.firmware_rev = hdspm->firmware_rev;
hdspm            6340 sound/pci/rme9652/hdspm.c 		if (hdspm->tco)
hdspm            6351 sound/pci/rme9652/hdspm.c 		if (copy_to_user((void __user *)mixer.mixer, hdspm->mixer,
hdspm            6375 sound/pci/rme9652/hdspm.c 				  struct hdspm *hdspm)
hdspm            6384 sound/pci/rme9652/hdspm.c 	hdspm->hwdep = hw;
hdspm            6385 sound/pci/rme9652/hdspm.c 	hw->private_data = hdspm;
hdspm            6400 sound/pci/rme9652/hdspm.c static int snd_hdspm_preallocate_memory(struct hdspm *hdspm)
hdspm            6405 sound/pci/rme9652/hdspm.c 	pcm = hdspm->pcm;
hdspm            6410 sound/pci/rme9652/hdspm.c 					      snd_dma_pci_data(hdspm->pci),
hdspm            6412 sound/pci/rme9652/hdspm.c 	dev_dbg(hdspm->card->dev, " Preallocated %zd Bytes\n", wanted);
hdspm            6418 sound/pci/rme9652/hdspm.c static void hdspm_set_channel_dma_addr(struct hdspm *hdspm,
hdspm            6425 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, reg + 4 * i,
hdspm            6432 sound/pci/rme9652/hdspm.c 				struct hdspm *hdspm)
hdspm            6437 sound/pci/rme9652/hdspm.c 	err = snd_pcm_new(card, hdspm->card_name, 0, 1, 1, &pcm);
hdspm            6441 sound/pci/rme9652/hdspm.c 	hdspm->pcm = pcm;
hdspm            6442 sound/pci/rme9652/hdspm.c 	pcm->private_data = hdspm;
hdspm            6443 sound/pci/rme9652/hdspm.c 	strcpy(pcm->name, hdspm->card_name);
hdspm            6452 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_preallocate_memory(hdspm);
hdspm            6459 sound/pci/rme9652/hdspm.c static inline void snd_hdspm_initialize_midi_flush(struct hdspm * hdspm)
hdspm            6463 sound/pci/rme9652/hdspm.c 	for (i = 0; i < hdspm->midiPorts; i++)
hdspm            6464 sound/pci/rme9652/hdspm.c 		snd_hdspm_flush_midi_input(hdspm, i);
hdspm            6468 sound/pci/rme9652/hdspm.c 					 struct hdspm *hdspm)
hdspm            6473 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_create_pcm(card, hdspm);
hdspm            6478 sound/pci/rme9652/hdspm.c 	while (i < hdspm->midiPorts) {
hdspm            6479 sound/pci/rme9652/hdspm.c 		err = snd_hdspm_create_midi(card, hdspm, i);
hdspm            6486 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_create_controls(card, hdspm);
hdspm            6490 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_create_hwdep(card, hdspm);
hdspm            6495 sound/pci/rme9652/hdspm.c 	snd_hdspm_proc_init(hdspm);
hdspm            6497 sound/pci/rme9652/hdspm.c 	hdspm->system_sample_rate = -1;
hdspm            6498 sound/pci/rme9652/hdspm.c 	hdspm->last_external_sample_rate = -1;
hdspm            6499 sound/pci/rme9652/hdspm.c 	hdspm->last_internal_sample_rate = -1;
hdspm            6500 sound/pci/rme9652/hdspm.c 	hdspm->playback_pid = -1;
hdspm            6501 sound/pci/rme9652/hdspm.c 	hdspm->capture_pid = -1;
hdspm            6502 sound/pci/rme9652/hdspm.c 	hdspm->capture_substream = NULL;
hdspm            6503 sound/pci/rme9652/hdspm.c 	hdspm->playback_substream = NULL;
hdspm            6506 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_set_defaults(hdspm);
hdspm            6511 sound/pci/rme9652/hdspm.c 	hdspm_update_simple_mixer_controls(hdspm);
hdspm            6527 sound/pci/rme9652/hdspm.c 			    struct hdspm *hdspm)
hdspm            6530 sound/pci/rme9652/hdspm.c 	struct pci_dev *pci = hdspm->pci;
hdspm            6534 sound/pci/rme9652/hdspm.c 	hdspm->irq = -1;
hdspm            6535 sound/pci/rme9652/hdspm.c 	hdspm->card = card;
hdspm            6537 sound/pci/rme9652/hdspm.c 	spin_lock_init(&hdspm->lock);
hdspm            6539 sound/pci/rme9652/hdspm.c 	pci_read_config_word(hdspm->pci,
hdspm            6540 sound/pci/rme9652/hdspm.c 			PCI_CLASS_REVISION, &hdspm->firmware_rev);
hdspm            6545 sound/pci/rme9652/hdspm.c 	switch (hdspm->firmware_rev) {
hdspm            6547 sound/pci/rme9652/hdspm.c 		hdspm->io_type = RayDAT;
hdspm            6548 sound/pci/rme9652/hdspm.c 		hdspm->card_name = "RME RayDAT";
hdspm            6549 sound/pci/rme9652/hdspm.c 		hdspm->midiPorts = 2;
hdspm            6552 sound/pci/rme9652/hdspm.c 		hdspm->io_type = AIO;
hdspm            6553 sound/pci/rme9652/hdspm.c 		hdspm->card_name = "RME AIO";
hdspm            6554 sound/pci/rme9652/hdspm.c 		hdspm->midiPorts = 1;
hdspm            6557 sound/pci/rme9652/hdspm.c 		hdspm->io_type = MADIface;
hdspm            6558 sound/pci/rme9652/hdspm.c 		hdspm->card_name = "RME MADIface";
hdspm            6559 sound/pci/rme9652/hdspm.c 		hdspm->midiPorts = 1;
hdspm            6562 sound/pci/rme9652/hdspm.c 		if ((hdspm->firmware_rev == 0xf0) ||
hdspm            6563 sound/pci/rme9652/hdspm.c 			((hdspm->firmware_rev >= 0xe6) &&
hdspm            6564 sound/pci/rme9652/hdspm.c 					(hdspm->firmware_rev <= 0xea))) {
hdspm            6565 sound/pci/rme9652/hdspm.c 			hdspm->io_type = AES32;
hdspm            6566 sound/pci/rme9652/hdspm.c 			hdspm->card_name = "RME AES32";
hdspm            6567 sound/pci/rme9652/hdspm.c 			hdspm->midiPorts = 2;
hdspm            6568 sound/pci/rme9652/hdspm.c 		} else if ((hdspm->firmware_rev == 0xd2) ||
hdspm            6569 sound/pci/rme9652/hdspm.c 			((hdspm->firmware_rev >= 0xc8)  &&
hdspm            6570 sound/pci/rme9652/hdspm.c 				(hdspm->firmware_rev <= 0xcf))) {
hdspm            6571 sound/pci/rme9652/hdspm.c 			hdspm->io_type = MADI;
hdspm            6572 sound/pci/rme9652/hdspm.c 			hdspm->card_name = "RME MADI";
hdspm            6573 sound/pci/rme9652/hdspm.c 			hdspm->midiPorts = 3;
hdspm            6577 sound/pci/rme9652/hdspm.c 				hdspm->firmware_rev);
hdspm            6586 sound/pci/rme9652/hdspm.c 	pci_set_master(hdspm->pci);
hdspm            6592 sound/pci/rme9652/hdspm.c 	hdspm->port = pci_resource_start(pci, 0);
hdspm            6596 sound/pci/rme9652/hdspm.c 			hdspm->port, hdspm->port + io_extent - 1);
hdspm            6598 sound/pci/rme9652/hdspm.c 	hdspm->iobase = ioremap_nocache(hdspm->port, io_extent);
hdspm            6599 sound/pci/rme9652/hdspm.c 	if (!hdspm->iobase) {
hdspm            6601 sound/pci/rme9652/hdspm.c 				hdspm->port, hdspm->port + io_extent - 1);
hdspm            6605 sound/pci/rme9652/hdspm.c 			(unsigned long)hdspm->iobase, hdspm->port,
hdspm            6606 sound/pci/rme9652/hdspm.c 			hdspm->port + io_extent - 1);
hdspm            6609 sound/pci/rme9652/hdspm.c 			IRQF_SHARED, KBUILD_MODNAME, hdspm)) {
hdspm            6616 sound/pci/rme9652/hdspm.c 	hdspm->irq = pci->irq;
hdspm            6619 sound/pci/rme9652/hdspm.c 		sizeof(*hdspm->mixer));
hdspm            6620 sound/pci/rme9652/hdspm.c 	hdspm->mixer = kzalloc(sizeof(*hdspm->mixer), GFP_KERNEL);
hdspm            6621 sound/pci/rme9652/hdspm.c 	if (!hdspm->mixer)
hdspm            6624 sound/pci/rme9652/hdspm.c 	hdspm->port_names_in = NULL;
hdspm            6625 sound/pci/rme9652/hdspm.c 	hdspm->port_names_out = NULL;
hdspm            6627 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            6629 sound/pci/rme9652/hdspm.c 		hdspm->ss_in_channels = hdspm->ss_out_channels = AES32_CHANNELS;
hdspm            6630 sound/pci/rme9652/hdspm.c 		hdspm->ds_in_channels = hdspm->ds_out_channels = AES32_CHANNELS;
hdspm            6631 sound/pci/rme9652/hdspm.c 		hdspm->qs_in_channels = hdspm->qs_out_channels = AES32_CHANNELS;
hdspm            6633 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ss = hdspm->channel_map_out_ss =
hdspm            6635 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ds = hdspm->channel_map_out_ds =
hdspm            6637 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_qs = hdspm->channel_map_out_qs =
hdspm            6639 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ss = hdspm->port_names_out_ss =
hdspm            6641 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ds = hdspm->port_names_out_ds =
hdspm            6643 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_qs = hdspm->port_names_out_qs =
hdspm            6646 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_out = hdspm->max_channels_in =
hdspm            6648 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in = hdspm->port_names_out =
hdspm            6650 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in = hdspm->channel_map_out =
hdspm            6657 sound/pci/rme9652/hdspm.c 		hdspm->ss_in_channels = hdspm->ss_out_channels =
hdspm            6659 sound/pci/rme9652/hdspm.c 		hdspm->ds_in_channels = hdspm->ds_out_channels =
hdspm            6661 sound/pci/rme9652/hdspm.c 		hdspm->qs_in_channels = hdspm->qs_out_channels =
hdspm            6664 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ss = hdspm->channel_map_out_ss =
hdspm            6666 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ds = hdspm->channel_map_out_ds =
hdspm            6668 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_qs = hdspm->channel_map_out_qs =
hdspm            6671 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ss = hdspm->port_names_out_ss =
hdspm            6673 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ds = hdspm->port_names_out_ds =
hdspm            6675 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_qs = hdspm->port_names_out_qs =
hdspm            6680 sound/pci/rme9652/hdspm.c 		hdspm->ss_in_channels = AIO_IN_SS_CHANNELS;
hdspm            6681 sound/pci/rme9652/hdspm.c 		hdspm->ds_in_channels = AIO_IN_DS_CHANNELS;
hdspm            6682 sound/pci/rme9652/hdspm.c 		hdspm->qs_in_channels = AIO_IN_QS_CHANNELS;
hdspm            6683 sound/pci/rme9652/hdspm.c 		hdspm->ss_out_channels = AIO_OUT_SS_CHANNELS;
hdspm            6684 sound/pci/rme9652/hdspm.c 		hdspm->ds_out_channels = AIO_OUT_DS_CHANNELS;
hdspm            6685 sound/pci/rme9652/hdspm.c 		hdspm->qs_out_channels = AIO_OUT_QS_CHANNELS;
hdspm            6687 sound/pci/rme9652/hdspm.c 		if (0 == (hdspm_read(hdspm, HDSPM_statusRegister2) & HDSPM_s2_AEBI_D)) {
hdspm            6689 sound/pci/rme9652/hdspm.c 			hdspm->ss_in_channels += 4;
hdspm            6690 sound/pci/rme9652/hdspm.c 			hdspm->ds_in_channels += 4;
hdspm            6691 sound/pci/rme9652/hdspm.c 			hdspm->qs_in_channels += 4;
hdspm            6694 sound/pci/rme9652/hdspm.c 		if (0 == (hdspm_read(hdspm, HDSPM_statusRegister2) & HDSPM_s2_AEBO_D)) {
hdspm            6696 sound/pci/rme9652/hdspm.c 			hdspm->ss_out_channels += 4;
hdspm            6697 sound/pci/rme9652/hdspm.c 			hdspm->ds_out_channels += 4;
hdspm            6698 sound/pci/rme9652/hdspm.c 			hdspm->qs_out_channels += 4;
hdspm            6701 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_out_ss = channel_map_aio_out_ss;
hdspm            6702 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_out_ds = channel_map_aio_out_ds;
hdspm            6703 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_out_qs = channel_map_aio_out_qs;
hdspm            6705 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ss = channel_map_aio_in_ss;
hdspm            6706 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ds = channel_map_aio_in_ds;
hdspm            6707 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_qs = channel_map_aio_in_qs;
hdspm            6709 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ss = texts_ports_aio_in_ss;
hdspm            6710 sound/pci/rme9652/hdspm.c 		hdspm->port_names_out_ss = texts_ports_aio_out_ss;
hdspm            6711 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ds = texts_ports_aio_in_ds;
hdspm            6712 sound/pci/rme9652/hdspm.c 		hdspm->port_names_out_ds = texts_ports_aio_out_ds;
hdspm            6713 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_qs = texts_ports_aio_in_qs;
hdspm            6714 sound/pci/rme9652/hdspm.c 		hdspm->port_names_out_qs = texts_ports_aio_out_qs;
hdspm            6719 sound/pci/rme9652/hdspm.c 		hdspm->ss_in_channels = hdspm->ss_out_channels =
hdspm            6721 sound/pci/rme9652/hdspm.c 		hdspm->ds_in_channels = hdspm->ds_out_channels =
hdspm            6723 sound/pci/rme9652/hdspm.c 		hdspm->qs_in_channels = hdspm->qs_out_channels =
hdspm            6726 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_in = RAYDAT_SS_CHANNELS;
hdspm            6727 sound/pci/rme9652/hdspm.c 		hdspm->max_channels_out = RAYDAT_SS_CHANNELS;
hdspm            6729 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ss = hdspm->channel_map_out_ss =
hdspm            6731 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_ds = hdspm->channel_map_out_ds =
hdspm            6733 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in_qs = hdspm->channel_map_out_qs =
hdspm            6735 sound/pci/rme9652/hdspm.c 		hdspm->channel_map_in = hdspm->channel_map_out =
hdspm            6738 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ss = hdspm->port_names_out_ss =
hdspm            6740 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_ds = hdspm->port_names_out_ds =
hdspm            6742 sound/pci/rme9652/hdspm.c 		hdspm->port_names_in_qs = hdspm->port_names_out_qs =
hdspm            6751 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            6754 sound/pci/rme9652/hdspm.c 		if (hdspm_read(hdspm, HDSPM_statusRegister2) &
hdspm            6756 sound/pci/rme9652/hdspm.c 			hdspm->midiPorts++;
hdspm            6757 sound/pci/rme9652/hdspm.c 			hdspm->tco = kzalloc(sizeof(*hdspm->tco), GFP_KERNEL);
hdspm            6758 sound/pci/rme9652/hdspm.c 			if (hdspm->tco)
hdspm            6759 sound/pci/rme9652/hdspm.c 				hdspm_tco_write(hdspm);
hdspm            6763 sound/pci/rme9652/hdspm.c 			hdspm->tco = NULL;
hdspm            6769 sound/pci/rme9652/hdspm.c 		if (hdspm_read(hdspm, HDSPM_statusRegister) & HDSPM_tco_detect) {
hdspm            6770 sound/pci/rme9652/hdspm.c 			hdspm->midiPorts++;
hdspm            6771 sound/pci/rme9652/hdspm.c 			hdspm->tco = kzalloc(sizeof(*hdspm->tco), GFP_KERNEL);
hdspm            6772 sound/pci/rme9652/hdspm.c 			if (hdspm->tco)
hdspm            6773 sound/pci/rme9652/hdspm.c 				hdspm_tco_write(hdspm);
hdspm            6777 sound/pci/rme9652/hdspm.c 			hdspm->tco = NULL;
hdspm            6782 sound/pci/rme9652/hdspm.c 		hdspm->tco = NULL;
hdspm            6786 sound/pci/rme9652/hdspm.c 	switch (hdspm->io_type) {
hdspm            6788 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            6789 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_aes_tco;
hdspm            6790 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items =
hdspm            6793 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_aes;
hdspm            6794 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items =
hdspm            6800 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            6801 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_madi_tco;
hdspm            6802 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items = 4;
hdspm            6804 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_madi;
hdspm            6805 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items = 3;
hdspm            6814 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            6815 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_raydat_tco;
hdspm            6816 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items = 9;
hdspm            6818 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_raydat;
hdspm            6819 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items = 8;
hdspm            6824 sound/pci/rme9652/hdspm.c 		if (hdspm->tco) {
hdspm            6825 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_aio_tco;
hdspm            6826 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items = 6;
hdspm            6828 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync = texts_autosync_aio;
hdspm            6829 sound/pci/rme9652/hdspm.c 			hdspm->texts_autosync_items = 5;
hdspm            6835 sound/pci/rme9652/hdspm.c 	tasklet_init(&hdspm->midi_tasklet,
hdspm            6836 sound/pci/rme9652/hdspm.c 			hdspm_midi_tasklet, (unsigned long) hdspm);
hdspm            6839 sound/pci/rme9652/hdspm.c 	if (hdspm->io_type != MADIface) {
hdspm            6840 sound/pci/rme9652/hdspm.c 		hdspm->serial = (hdspm_read(hdspm,
hdspm            6851 sound/pci/rme9652/hdspm.c 		if (!id[hdspm->dev] && hdspm->serial != 0xFFFFFF) {
hdspm            6853 sound/pci/rme9652/hdspm.c 				 "HDSPMx%06x", hdspm->serial);
hdspm            6859 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_create_alsa_devices(card, hdspm);
hdspm            6863 sound/pci/rme9652/hdspm.c 	snd_hdspm_initialize_midi_flush(hdspm);
hdspm            6869 sound/pci/rme9652/hdspm.c static int snd_hdspm_free(struct hdspm * hdspm)
hdspm            6872 sound/pci/rme9652/hdspm.c 	if (hdspm->port) {
hdspm            6875 sound/pci/rme9652/hdspm.c 		hdspm->control_register &=
hdspm            6879 sound/pci/rme9652/hdspm.c 		hdspm_write(hdspm, HDSPM_controlRegister,
hdspm            6880 sound/pci/rme9652/hdspm.c 			    hdspm->control_register);
hdspm            6883 sound/pci/rme9652/hdspm.c 	if (hdspm->irq >= 0)
hdspm            6884 sound/pci/rme9652/hdspm.c 		free_irq(hdspm->irq, (void *) hdspm);
hdspm            6886 sound/pci/rme9652/hdspm.c 	kfree(hdspm->mixer);
hdspm            6887 sound/pci/rme9652/hdspm.c 	iounmap(hdspm->iobase);
hdspm            6889 sound/pci/rme9652/hdspm.c 	if (hdspm->port)
hdspm            6890 sound/pci/rme9652/hdspm.c 		pci_release_regions(hdspm->pci);
hdspm            6892 sound/pci/rme9652/hdspm.c 	pci_disable_device(hdspm->pci);
hdspm            6899 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm = card->private_data;
hdspm            6901 sound/pci/rme9652/hdspm.c 	if (hdspm)
hdspm            6902 sound/pci/rme9652/hdspm.c 		snd_hdspm_free(hdspm);
hdspm            6910 sound/pci/rme9652/hdspm.c 	struct hdspm *hdspm;
hdspm            6922 sound/pci/rme9652/hdspm.c 			   THIS_MODULE, sizeof(*hdspm), &card);
hdspm            6926 sound/pci/rme9652/hdspm.c 	hdspm = card->private_data;
hdspm            6928 sound/pci/rme9652/hdspm.c 	hdspm->dev = dev;
hdspm            6929 sound/pci/rme9652/hdspm.c 	hdspm->pci = pci;
hdspm            6931 sound/pci/rme9652/hdspm.c 	err = snd_hdspm_create(card, hdspm);
hdspm            6935 sound/pci/rme9652/hdspm.c 	if (hdspm->io_type != MADIface) {
hdspm            6937 sound/pci/rme9652/hdspm.c 			hdspm->card_name, hdspm->serial);
hdspm            6940 sound/pci/rme9652/hdspm.c 			 hdspm->card_name, hdspm->serial,
hdspm            6941 sound/pci/rme9652/hdspm.c 			 hdspm->port, hdspm->irq);
hdspm            6944 sound/pci/rme9652/hdspm.c 			 hdspm->card_name);
hdspm            6947 sound/pci/rme9652/hdspm.c 			 hdspm->card_name, hdspm->port, hdspm->irq);