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