Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
hdspm.c File Reference
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/math64.h>
#include <asm/io.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/info.h>
#include <sound/asoundef.h>
#include <sound/rawmidi.h>
#include <sound/hwdep.h>
#include <sound/initval.h>
#include <sound/hdspm.h>

Go to the source code of this file.

Data Structures

struct  hdspm_midi
 
struct  hdspm_tco
 
struct  hdspm
 

Macros

#define HDSPM_WR_SETTINGS   0
 
#define HDSPM_outputBufferAddress   32
 
#define HDSPM_inputBufferAddress   36
 
#define HDSPM_controlRegister   64
 
#define HDSPM_interruptConfirmation   96
 
#define HDSPM_control2Reg   256 /* not in specs ???????? */
 
#define HDSPM_freqReg   256 /* for AES32 */
 
#define HDSPM_midiDataOut0   352 /* just believe in old code */
 
#define HDSPM_midiDataOut1   356
 
#define HDSPM_eeprom_wr   384 /* for AES32 */
 
#define HDSPM_outputEnableBase   512 /* 512-767 input DMA */
 
#define HDSPM_inputEnableBase   768 /* 768-1023 output DMA */
 
#define HDSPM_pageAddressBufferOut   8192
 
#define HDSPM_pageAddressBufferIn   (HDSPM_pageAddressBufferOut+64*16*4)
 
#define HDSPM_MADI_mixerBase   32768 /* 32768-65535 for 2x64x64 Fader */
 
#define HDSPM_MATRIX_MIXER_SIZE   8192 /* = 2*64*64 * 4 Byte => 32kB */
 
#define HDSPM_statusRegister   0
 
#define HDSPM_statusRegister2   192
 
#define HDSPM_timecodeRegister   128
 
#define HDSPM_RD_STATUS_0   0
 
#define HDSPM_RD_STATUS_1   64
 
#define HDSPM_RD_STATUS_2   128
 
#define HDSPM_RD_STATUS_3   192
 
#define HDSPM_RD_TCO   256
 
#define HDSPM_RD_PLL_FREQ   512
 
#define HDSPM_WR_TCO   128
 
#define HDSPM_TCO1_TCO_lock   0x00000001
 
#define HDSPM_TCO1_WCK_Input_Range_LSB   0x00000002
 
#define HDSPM_TCO1_WCK_Input_Range_MSB   0x00000004
 
#define HDSPM_TCO1_LTC_Input_valid   0x00000008
 
#define HDSPM_TCO1_WCK_Input_valid   0x00000010
 
#define HDSPM_TCO1_Video_Input_Format_NTSC   0x00000020
 
#define HDSPM_TCO1_Video_Input_Format_PAL   0x00000040
 
#define HDSPM_TCO1_set_TC   0x00000100
 
#define HDSPM_TCO1_set_drop_frame_flag   0x00000200
 
#define HDSPM_TCO1_LTC_Format_LSB   0x00000400
 
#define HDSPM_TCO1_LTC_Format_MSB   0x00000800
 
#define HDSPM_TCO2_TC_run   0x00010000
 
#define HDSPM_TCO2_WCK_IO_ratio_LSB   0x00020000
 
#define HDSPM_TCO2_WCK_IO_ratio_MSB   0x00040000
 
#define HDSPM_TCO2_set_num_drop_frames_LSB   0x00080000
 
#define HDSPM_TCO2_set_num_drop_frames_MSB   0x00100000
 
#define HDSPM_TCO2_set_jam_sync   0x00200000
 
#define HDSPM_TCO2_set_flywheel   0x00400000
 
#define HDSPM_TCO2_set_01_4   0x01000000
 
#define HDSPM_TCO2_set_pull_down   0x02000000
 
#define HDSPM_TCO2_set_pull_up   0x04000000
 
#define HDSPM_TCO2_set_freq   0x08000000
 
#define HDSPM_TCO2_set_term_75R   0x10000000
 
#define HDSPM_TCO2_set_input_LSB   0x20000000
 
#define HDSPM_TCO2_set_input_MSB   0x40000000
 
#define HDSPM_TCO2_set_freq_from_app   0x80000000
 
#define HDSPM_midiDataOut0   352
 
#define HDSPM_midiDataOut1   356
 
#define HDSPM_midiDataOut2   368
 
#define HDSPM_midiDataIn0   360
 
#define HDSPM_midiDataIn1   364
 
#define HDSPM_midiDataIn2   372
 
#define HDSPM_midiDataIn3   376
 
#define HDSPM_midiStatusOut0   384
 
#define HDSPM_midiStatusOut1   388
 
#define HDSPM_midiStatusOut2   400
 
#define HDSPM_midiStatusIn0   392
 
#define HDSPM_midiStatusIn1   396
 
#define HDSPM_midiStatusIn2   404
 
#define HDSPM_midiStatusIn3   408
 
#define HDSPM_MADI_INPUT_PEAK   4096
 
#define HDSPM_MADI_PLAYBACK_PEAK   4352
 
#define HDSPM_MADI_OUTPUT_PEAK   4608
 
#define HDSPM_MADI_INPUT_RMS_L   6144
 
#define HDSPM_MADI_PLAYBACK_RMS_L   6400
 
#define HDSPM_MADI_OUTPUT_RMS_L   6656
 
#define HDSPM_MADI_INPUT_RMS_H   7168
 
#define HDSPM_MADI_PLAYBACK_RMS_H   7424
 
#define HDSPM_MADI_OUTPUT_RMS_H   7680
 
#define HDSPM_Start   (1<<0) /* start engine */
 
#define HDSPM_Latency0   (1<<1) /* buffer size = 2^n */
 
#define HDSPM_Latency1   (1<<2) /* where n is defined */
 
#define HDSPM_Latency2   (1<<3) /* by Latency{2,1,0} */
 
#define HDSPM_ClockModeMaster   (1<<4) /* 1=Master, 0=Autosync */
 
#define HDSPM_c0Master
 
#define HDSPM_AudioInterruptEnable   (1<<5) /* what do you think ? */
 
#define HDSPM_Frequency0   (1<<6) /* 0=44.1kHz/88.2kHz 1=48kHz/96kHz */
 
#define HDSPM_Frequency1   (1<<7) /* 0=32kHz/64kHz */
 
#define HDSPM_DoubleSpeed   (1<<8) /* 0=normal speed, 1=double speed */
 
#define HDSPM_QuadSpeed   (1<<31) /* quad speed bit */
 
#define HDSPM_Professional   (1<<9) /* Professional */ /* AES32 ONLY */
 
#define HDSPM_TX_64ch
 
#define HDSPM_Emphasis   (1<<10) /* Emphasis */ /* AES32 ONLY */
 
#define HDSPM_AutoInp
 
#define HDSPM_Dolby   (1<<11) /* Dolby = "NonAudio" ?? */ /* AES32 ONLY */
 
#define HDSPM_InputSelect0
 
#define HDSPM_InputSelect1   (1<<15) /* should be 0 */
 
#define HDSPM_SyncRef2   (1<<13)
 
#define HDSPM_SyncRef3   (1<<25)
 
#define HDSPM_SMUX   (1<<18) /* Frame ??? */ /* MADI ONY */
 
#define HDSPM_clr_tms
 
#define HDSPM_taxi_reset   (1<<20) /* ??? */ /* MADI ONLY ? */
 
#define HDSPM_WCK48   (1<<20) /* Frame ??? = HDSPM_SMUX */ /* AES32 ONLY */
 
#define HDSPM_Midi0InterruptEnable   0x0400000
 
#define HDSPM_Midi1InterruptEnable   0x0800000
 
#define HDSPM_Midi2InterruptEnable   0x0200000
 
#define HDSPM_Midi3InterruptEnable   0x4000000
 
#define HDSPM_LineOut   (1<<24) /* Analog Out on channel 63/64 on=1, mute=0 */
 
#define HDSPe_FLOAT_FORMAT   0x2000000
 
#define HDSPM_DS_DoubleWire   (1<<26) /* AES32 ONLY */
 
#define HDSPM_QS_DoubleWire   (1<<27) /* AES32 ONLY */
 
#define HDSPM_QS_QuadWire   (1<<28) /* AES32 ONLY */
 
#define HDSPM_wclk_sel   (1<<30)
 
#define HDSPM_LatencyMask   (HDSPM_Latency0|HDSPM_Latency1|HDSPM_Latency2)
 
#define HDSPM_FrequencyMask
 
#define HDSPM_InputMask   (HDSPM_InputSelect0|HDSPM_InputSelect1)
 
#define HDSPM_InputOptical   0
 
#define HDSPM_InputCoaxial   (HDSPM_InputSelect0)
 
#define HDSPM_SyncRefMask
 
#define HDSPM_c0_SyncRef0   0x2
 
#define HDSPM_c0_SyncRef1   0x4
 
#define HDSPM_c0_SyncRef2   0x8
 
#define HDSPM_c0_SyncRef3   0x10
 
#define HDSPM_c0_SyncRefMask
 
#define HDSPM_SYNC_FROM_WORD   0 /* Preferred sync reference */
 
#define HDSPM_SYNC_FROM_MADI   1 /* choices - used by "pref_sync_ref" */
 
#define HDSPM_SYNC_FROM_TCO   2
 
#define HDSPM_SYNC_FROM_SYNC_IN   3
 
#define HDSPM_Frequency32KHz   HDSPM_Frequency0
 
#define HDSPM_Frequency44_1KHz   HDSPM_Frequency1
 
#define HDSPM_Frequency48KHz   (HDSPM_Frequency1|HDSPM_Frequency0)
 
#define HDSPM_Frequency64KHz   (HDSPM_DoubleSpeed|HDSPM_Frequency0)
 
#define HDSPM_Frequency88_2KHz   (HDSPM_DoubleSpeed|HDSPM_Frequency1)
 
#define HDSPM_Frequency96KHz
 
#define HDSPM_Frequency128KHz   (HDSPM_QuadSpeed|HDSPM_Frequency0)
 
#define HDSPM_Frequency176_4KHz   (HDSPM_QuadSpeed|HDSPM_Frequency1)
 
#define HDSPM_Frequency192KHz
 
#define HDSPM_SYNC_CHECK_NO_LOCK   0
 
#define HDSPM_SYNC_CHECK_LOCK   1
 
#define HDSPM_SYNC_CHECK_SYNC   2
 
#define HDSPM_AUTOSYNC_FROM_WORD   0
 
#define HDSPM_AUTOSYNC_FROM_MADI   1
 
#define HDSPM_AUTOSYNC_FROM_TCO   2
 
#define HDSPM_AUTOSYNC_FROM_SYNC_IN   3
 
#define HDSPM_AUTOSYNC_FROM_NONE   4
 
#define HDSPM_OPTICAL   0 /* optical */
 
#define HDSPM_COAXIAL   1 /* BNC */
 
#define hdspm_encode_latency(x)   (((x)<<1) & HDSPM_LatencyMask)
 
#define hdspm_decode_latency(x)   ((((x) & HDSPM_LatencyMask)>>1))
 
#define hdspm_encode_in(x)   (((x)&0x3)<<14)
 
#define hdspm_decode_in(x)   (((x)>>14)&0x3)
 
#define HDSPM_TMS   (1<<0)
 
#define HDSPM_TCK   (1<<1)
 
#define HDSPM_TDI   (1<<2)
 
#define HDSPM_JTAG   (1<<3)
 
#define HDSPM_PWDN   (1<<4)
 
#define HDSPM_PROGRAM   (1<<5)
 
#define HDSPM_CONFIG_MODE_0   (1<<6)
 
#define HDSPM_CONFIG_MODE_1   (1<<7)
 
#define HDSPM_BIGENDIAN_MODE   (1<<9)
 
#define HDSPM_RD_MULTIPLE   (1<<10)
 
#define HDSPM_audioIRQPending   (1<<0) /* IRQ is high and pending */
 
#define HDSPM_RX_64ch   (1<<1) /* Input 64chan. MODE=1, 56chn MODE=0 */
 
#define HDSPM_AB_int
 
#define HDSPM_madiLock   (1<<3) /* MADI Locked =1, no=0 */
 
#define HDSPM_madiSync   (1<<18) /* MADI is in sync */
 
#define HDSPM_tcoLock   0x00000020 /* Optional TCO locked status FOR HDSPe MADI! */
 
#define HDSPM_tcoSync   0x10000000 /* Optional TCO sync status */
 
#define HDSPM_syncInLock   0x00010000 /* Sync In lock status FOR HDSPe MADI! */
 
#define HDSPM_syncInSync   0x00020000 /* Sync In sync status FOR HDSPe MADI! */
 
#define HDSPM_BufferPositionMask   0x000FFC0 /* Bit 6..15 : h/w buffer pointer */
 
#define HDSPM_DoubleSpeedStatus   (1<<19) /* (input) card in double speed */
 
#define HDSPM_madiFreq0   (1<<22) /* system freq 0=error */
 
#define HDSPM_madiFreq1   (1<<23) /* 1=32, 2=44.1 3=48 */
 
#define HDSPM_madiFreq2   (1<<24) /* 4=64, 5=88.2 6=96 */
 
#define HDSPM_madiFreq3   (1<<25) /* 7=128, 8=176.4 9=192 */
 
#define HDSPM_BufferID
 
#define HDSPM_tco_detect   0x08000000
 
#define HDSPM_tco_lock   0x20000000
 
#define HDSPM_s2_tco_detect   0x00000040
 
#define HDSPM_s2_AEBO_D   0x00000080
 
#define HDSPM_s2_AEBI_D   0x00000100
 
#define HDSPM_midi0IRQPending   0x40000000
 
#define HDSPM_midi1IRQPending   0x80000000
 
#define HDSPM_midi2IRQPending   0x20000000
 
#define HDSPM_midi2IRQPendingAES   0x00000020
 
#define HDSPM_midi3IRQPending   0x00200000
 
#define HDSPM_madiFreqMask
 
#define HDSPM_madiFreq32   (HDSPM_madiFreq0)
 
#define HDSPM_madiFreq44_1   (HDSPM_madiFreq1)
 
#define HDSPM_madiFreq48   (HDSPM_madiFreq0|HDSPM_madiFreq1)
 
#define HDSPM_madiFreq64   (HDSPM_madiFreq2)
 
#define HDSPM_madiFreq88_2   (HDSPM_madiFreq0|HDSPM_madiFreq2)
 
#define HDSPM_madiFreq96   (HDSPM_madiFreq1|HDSPM_madiFreq2)
 
#define HDSPM_madiFreq128   (HDSPM_madiFreq0|HDSPM_madiFreq1|HDSPM_madiFreq2)
 
#define HDSPM_madiFreq176_4   (HDSPM_madiFreq3)
 
#define HDSPM_madiFreq192   (HDSPM_madiFreq3|HDSPM_madiFreq0)
 
#define HDSPM_version0   (1<<0) /* not really defined but I guess */
 
#define HDSPM_version1   (1<<1) /* in former cards it was ??? */
 
#define HDSPM_version2   (1<<2)
 
#define HDSPM_wcLock   (1<<3) /* Wordclock is detected and locked */
 
#define HDSPM_wcSync   (1<<4) /* Wordclock is in sync with systemclock */
 
#define HDSPM_wc_freq0   (1<<5) /* input freq detected via autosync */
 
#define HDSPM_wc_freq1   (1<<6) /* 001=32, 010==44.1, 011=48, */
 
#define HDSPM_wc_freq2   (1<<7) /* 100=64, 101=88.2, 110=96, */
 
#define HDSPM_SyncRef0   0x10000 /* Sync Reference */
 
#define HDSPM_SyncRef1   0x20000
 
#define HDSPM_SelSyncRef0   (1<<8) /* AutoSync Source */
 
#define HDSPM_SelSyncRef1   (1<<9) /* 000=word, 001=MADI, */
 
#define HDSPM_SelSyncRef2   (1<<10) /* 111=no valid signal */
 
#define HDSPM_wc_valid   (HDSPM_wcLock|HDSPM_wcSync)
 
#define HDSPM_wcFreqMask   (HDSPM_wc_freq0|HDSPM_wc_freq1|HDSPM_wc_freq2)
 
#define HDSPM_wcFreq32   (HDSPM_wc_freq0)
 
#define HDSPM_wcFreq44_1   (HDSPM_wc_freq1)
 
#define HDSPM_wcFreq48   (HDSPM_wc_freq0|HDSPM_wc_freq1)
 
#define HDSPM_wcFreq64   (HDSPM_wc_freq2)
 
#define HDSPM_wcFreq88_2   (HDSPM_wc_freq0|HDSPM_wc_freq2)
 
#define HDSPM_wcFreq96   (HDSPM_wc_freq1|HDSPM_wc_freq2)
 
#define HDSPM_status1_F_0   0x0400000
 
#define HDSPM_status1_F_1   0x0800000
 
#define HDSPM_status1_F_2   0x1000000
 
#define HDSPM_status1_F_3   0x2000000
 
#define HDSPM_status1_freqMask   (HDSPM_status1_F_0|HDSPM_status1_F_1|HDSPM_status1_F_2|HDSPM_status1_F_3)
 
#define HDSPM_SelSyncRefMask
 
#define HDSPM_SelSyncRef_WORD   0
 
#define HDSPM_SelSyncRef_MADI   (HDSPM_SelSyncRef0)
 
#define HDSPM_SelSyncRef_TCO   (HDSPM_SelSyncRef1)
 
#define HDSPM_SelSyncRef_SyncIn   (HDSPM_SelSyncRef0|HDSPM_SelSyncRef1)
 
#define HDSPM_SelSyncRef_NVALID
 
#define HDSPM_AES32_wcLock   0x0200000
 
#define HDSPM_AES32_wcFreq_bit   22
 
#define HDSPM_AES32_syncref_bit   16
 
#define HDSPM_AES32_AUTOSYNC_FROM_WORD   0
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES1   1
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES2   2
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES3   3
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES4   4
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES5   5
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES6   6
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES7   7
 
#define HDSPM_AES32_AUTOSYNC_FROM_AES8   8
 
#define HDSPM_AES32_AUTOSYNC_FROM_NONE   9
 
#define HDSPM_LockAES   0x80
 
#define HDSPM_LockAES1   0x80
 
#define HDSPM_LockAES2   0x40
 
#define HDSPM_LockAES3   0x20
 
#define HDSPM_LockAES4   0x10
 
#define HDSPM_LockAES5   0x8
 
#define HDSPM_LockAES6   0x4
 
#define HDSPM_LockAES7   0x2
 
#define HDSPM_LockAES8   0x1
 
#define UNITY_GAIN   32768 /* = 65536/2 */
 
#define MINUS_INFINITY_GAIN   0
 
#define MADI_SS_CHANNELS   64
 
#define MADI_DS_CHANNELS   32
 
#define MADI_QS_CHANNELS   16
 
#define RAYDAT_SS_CHANNELS   36
 
#define RAYDAT_DS_CHANNELS   20
 
#define RAYDAT_QS_CHANNELS   12
 
#define AIO_IN_SS_CHANNELS   14
 
#define AIO_IN_DS_CHANNELS   10
 
#define AIO_IN_QS_CHANNELS   8
 
#define AIO_OUT_SS_CHANNELS   16
 
#define AIO_OUT_DS_CHANNELS   12
 
#define AIO_OUT_QS_CHANNELS   10
 
#define AES32_CHANNELS   16
 
#define HDSPM_CHANNEL_BUFFER_SAMPLES   (16*1024)
 
#define HDSPM_CHANNEL_BUFFER_BYTES   (4*HDSPM_CHANNEL_BUFFER_SAMPLES)
 
#define HDSPM_DMA_AREA_BYTES   (HDSPM_MAX_CHANNELS * HDSPM_CHANNEL_BUFFER_BYTES)
 
#define HDSPM_DMA_AREA_KILOBYTES   (HDSPM_DMA_AREA_BYTES/1024)
 
#define HDSPM_RAYDAT_REV   211
 
#define HDSPM_AIO_REV   212
 
#define HDSPM_MADIFACE_REV   213
 
#define HDSPM_SPEED_SINGLE   0
 
#define HDSPM_SPEED_DOUBLE   1
 
#define HDSPM_SPEED_QUAD   2
 
#define HDSPM_SYSTEM_SAMPLE_RATE(xname, xindex)
 
#define HDSPM_AUTOSYNC_SAMPLE_RATE(xname, xindex)
 
#define HDSPM_SYSTEM_CLOCK_MODE(xname, xindex)
 
#define HDSPM_INTERNAL_CLOCK(xname, xindex)
 
#define HDSPM_PREF_SYNC_REF(xname, xindex)
 
#define HDSPM_AUTOSYNC_REF(xname, xindex)
 
#define HDSPM_LINE_OUT(xname, xindex)
 
#define snd_hdspm_info_line_out   snd_ctl_boolean_mono_info
 
#define HDSPM_TX_64(xname, xindex)
 
#define snd_hdspm_info_tx_64   snd_ctl_boolean_mono_info
 
#define HDSPM_C_TMS(xname, xindex)
 
#define snd_hdspm_info_c_tms   snd_ctl_boolean_mono_info
 
#define HDSPM_SAFE_MODE(xname, xindex)
 
#define snd_hdspm_info_safe_mode   snd_ctl_boolean_mono_info
 
#define HDSPM_EMPHASIS(xname, xindex)
 
#define snd_hdspm_info_emphasis   snd_ctl_boolean_mono_info
 
#define HDSPM_DOLBY(xname, xindex)
 
#define snd_hdspm_info_dolby   snd_ctl_boolean_mono_info
 
#define HDSPM_PROFESSIONAL(xname, xindex)
 
#define snd_hdspm_info_professional   snd_ctl_boolean_mono_info
 
#define HDSPM_INPUT_SELECT(xname, xindex)
 
#define HDSPM_DS_WIRE(xname, xindex)
 
#define HDSPM_QS_WIRE(xname, xindex)
 
#define HDSPM_MADI_SPEEDMODE(xname, xindex)
 
#define HDSPM_MIXER(xname, xindex)
 
#define HDSPM_PLAYBACK_MIXER
 
#define HDSPM_SYNC_CHECK(xname, xindex)
 
#define HDSPM_TCO_SAMPLE_RATE(xname, xindex)
 
#define HDSPM_TCO_PULL(xname, xindex)
 
#define HDSPM_TCO_WCK_CONVERSION(xname, xindex)
 
#define HDSPM_TCO_FRAME_RATE(xname, xindex)
 
#define HDSPM_TCO_SYNC_SOURCE(xname, xindex)
 
#define HDSPM_TCO_WORD_TERM(xname, xindex)
 

Functions

 module_param_array (index, int, NULL, 0444)
 
 MODULE_PARM_DESC (index,"Index value for RME HDSPM interface.")
 
 module_param_array (id, charp, NULL, 0444)
 
 MODULE_PARM_DESC (id,"ID string for RME HDSPM interface.")
 
 module_param_array (enable, bool, NULL, 0444)
 
 MODULE_PARM_DESC (enable,"Enable/disable specific HDSPM soundcards.")
 
 MODULE_AUTHOR ("Winfried Ritsch <ritsch_AT_iem.at>, ""Paul Davis <[email protected]>, ""Marcus Andersson, Thomas Charbonnel <[email protected]>, ""Remy Bruno <[email protected]>, ""Florian Faber <[email protected]>, ""Adrian Knoth <adi@drcomp.erfurt.thur.de>")
 
 MODULE_DESCRIPTION ("RME HDSPM")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_SUPPORTED_DEVICE ("{{RME HDSPM-MADI}}")
 
 MODULE_DEVICE_TABLE (pci, snd_hdspm_ids)
 
 module_pci_driver (hdspm_driver)
 

Macro Definition Documentation

#define AES32_CHANNELS   16

Definition at line 498 of file hdspm.c.

#define AIO_IN_DS_CHANNELS   10

Definition at line 492 of file hdspm.c.

#define AIO_IN_QS_CHANNELS   8

Definition at line 493 of file hdspm.c.

#define AIO_IN_SS_CHANNELS   14

Definition at line 491 of file hdspm.c.

#define AIO_OUT_DS_CHANNELS   12

Definition at line 495 of file hdspm.c.

#define AIO_OUT_QS_CHANNELS   10

Definition at line 496 of file hdspm.c.

#define AIO_OUT_SS_CHANNELS   16

Definition at line 494 of file hdspm.c.

#define HDSPe_FLOAT_FORMAT   0x2000000

Definition at line 246 of file hdspm.c.

#define HDSPM_AB_int
Value:
(1<<2) /* InputChannel Opt=0, Coax=1
* (like inp0)
*/

Definition at line 330 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES1   1

Definition at line 440 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES2   2

Definition at line 441 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES3   3

Definition at line 442 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES4   4

Definition at line 443 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES5   5

Definition at line 444 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES6   6

Definition at line 445 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES7   7

Definition at line 446 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_AES8   8

Definition at line 447 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_NONE   9

Definition at line 448 of file hdspm.c.

#define HDSPM_AES32_AUTOSYNC_FROM_WORD   0

Definition at line 439 of file hdspm.c.

#define HDSPM_AES32_syncref_bit   16

Definition at line 436 of file hdspm.c.

#define HDSPM_AES32_wcFreq_bit   22

Definition at line 433 of file hdspm.c.

#define HDSPM_AES32_wcLock   0x0200000

Definition at line 432 of file hdspm.c.

#define HDSPM_AIO_REV   212

Definition at line 513 of file hdspm.c.

#define HDSPM_AudioInterruptEnable   (1<<5) /* what do you think ? */

Definition at line 215 of file hdspm.c.

#define HDSPM_audioIRQPending   (1<<0) /* IRQ is high and pending */

Definition at line 328 of file hdspm.c.

#define HDSPM_AutoInp
Value:
(1<<11) /* Auto Input (takeover) == Safe Mode,
0=off, 1=on */ /* MADI ONLY */

Definition at line 226 of file hdspm.c.

#define HDSPM_AUTOSYNC_FROM_MADI   1

Definition at line 296 of file hdspm.c.

#define HDSPM_AUTOSYNC_FROM_NONE   4

Definition at line 299 of file hdspm.c.

#define HDSPM_AUTOSYNC_FROM_SYNC_IN   3

Definition at line 298 of file hdspm.c.

#define HDSPM_AUTOSYNC_FROM_TCO   2

Definition at line 297 of file hdspm.c.

#define HDSPM_AUTOSYNC_FROM_WORD   0

Definition at line 295 of file hdspm.c.

#define HDSPM_AUTOSYNC_REF (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.info = snd_hdspm_info_autosync_ref, \
.get = snd_hdspm_get_autosync_ref, \
}

Definition at line 2791 of file hdspm.c.

#define HDSPM_AUTOSYNC_SAMPLE_RATE (   xname,
  xindex 
)
Value:
.name = xname, \
.private_value = xindex, \
.info = snd_hdspm_info_autosync_sample_rate, \
.get = snd_hdspm_get_autosync_sample_rate \
}

Definition at line 2121 of file hdspm.c.

#define HDSPM_BIGENDIAN_MODE   (1<<9)

Definition at line 321 of file hdspm.c.

#define HDSPM_BufferID
Value:
(1<<26) /* (Double)Buffer ID toggles with
* Interrupt
*/

Definition at line 353 of file hdspm.c.

#define HDSPM_BufferPositionMask   0x000FFC0 /* Bit 6..15 : h/w buffer pointer */

Definition at line 341 of file hdspm.c.

#define HDSPM_c0_SyncRef0   0x2

Definition at line 264 of file hdspm.c.

#define HDSPM_c0_SyncRef1   0x4

Definition at line 265 of file hdspm.c.

#define HDSPM_c0_SyncRef2   0x8

Definition at line 266 of file hdspm.c.

#define HDSPM_c0_SyncRef3   0x10

Definition at line 267 of file hdspm.c.

#define HDSPM_c0_SyncRefMask
Value:

Definition at line 268 of file hdspm.c.

#define HDSPM_c0Master
Value:
0x1 /* Master clock bit in settings
register [RayDAT, AIO] */

Definition at line 213 of file hdspm.c.

#define HDSPM_C_TMS (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_c_tms, \
.put = snd_hdspm_put_c_tms \
}

Definition at line 2993 of file hdspm.c.

#define HDSPM_CHANNEL_BUFFER_BYTES   (4*HDSPM_CHANNEL_BUFFER_SAMPLES)

Definition at line 502 of file hdspm.c.

#define HDSPM_CHANNEL_BUFFER_SAMPLES   (16*1024)

Definition at line 501 of file hdspm.c.

#define HDSPM_ClockModeMaster   (1<<4) /* 1=Master, 0=Autosync */

Definition at line 212 of file hdspm.c.

#define HDSPM_clr_tms
Value:
(1<<19) /* clear track marker, do not use
AES additional bits in
lower 5 Audiodatabits ??? */

Definition at line 236 of file hdspm.c.

#define HDSPM_COAXIAL   1 /* BNC */

Definition at line 303 of file hdspm.c.

#define HDSPM_CONFIG_MODE_0   (1<<6)

Definition at line 318 of file hdspm.c.

#define HDSPM_CONFIG_MODE_1   (1<<7)

Definition at line 319 of file hdspm.c.

#define HDSPM_control2Reg   256 /* not in specs ???????? */

Definition at line 97 of file hdspm.c.

#define HDSPM_controlRegister   64

Definition at line 95 of file hdspm.c.

#define hdspm_decode_in (   x)    (((x)>>14)&0x3)

Definition at line 309 of file hdspm.c.

#define hdspm_decode_latency (   x)    ((((x) & HDSPM_LatencyMask)>>1))

Definition at line 306 of file hdspm.c.

#define HDSPM_DMA_AREA_BYTES   (HDSPM_MAX_CHANNELS * HDSPM_CHANNEL_BUFFER_BYTES)

Definition at line 509 of file hdspm.c.

#define HDSPM_DMA_AREA_KILOBYTES   (HDSPM_DMA_AREA_BYTES/1024)

Definition at line 510 of file hdspm.c.

#define HDSPM_Dolby   (1<<11) /* Dolby = "NonAudio" ?? */ /* AES32 ONLY */

Definition at line 227 of file hdspm.c.

#define HDSPM_DOLBY (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_dolby, \
.put = snd_hdspm_put_dolby \
}

Definition at line 3161 of file hdspm.c.

#define HDSPM_DoubleSpeed   (1<<8) /* 0=normal speed, 1=double speed */

Definition at line 219 of file hdspm.c.

#define HDSPM_DoubleSpeedStatus   (1<<19) /* (input) card in double speed */

Definition at line 346 of file hdspm.c.

#define HDSPM_DS_DoubleWire   (1<<26) /* AES32 ONLY */

Definition at line 248 of file hdspm.c.

#define HDSPM_DS_WIRE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.info = snd_hdspm_info_ds_wire, \
.get = snd_hdspm_get_ds_wire, \
.put = snd_hdspm_put_ds_wire \
}

Definition at line 3344 of file hdspm.c.

#define HDSPM_eeprom_wr   384 /* for AES32 */

Definition at line 101 of file hdspm.c.

#define HDSPM_Emphasis   (1<<10) /* Emphasis */ /* AES32 ONLY */

Definition at line 224 of file hdspm.c.

#define HDSPM_EMPHASIS (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_emphasis, \
.put = snd_hdspm_put_emphasis \
}

Definition at line 3105 of file hdspm.c.

#define hdspm_encode_in (   x)    (((x)&0x3)<<14)

Definition at line 308 of file hdspm.c.

#define hdspm_encode_latency (   x)    (((x)<<1) & HDSPM_LatencyMask)

Definition at line 305 of file hdspm.c.

#define HDSPM_freqReg   256 /* for AES32 */

Definition at line 98 of file hdspm.c.

#define HDSPM_Frequency0   (1<<6) /* 0=44.1kHz/88.2kHz 1=48kHz/96kHz */

Definition at line 217 of file hdspm.c.

#define HDSPM_Frequency1   (1<<7) /* 0=32kHz/64kHz */

Definition at line 218 of file hdspm.c.

#define HDSPM_Frequency128KHz   (HDSPM_QuadSpeed|HDSPM_Frequency0)

Definition at line 283 of file hdspm.c.

#define HDSPM_Frequency176_4KHz   (HDSPM_QuadSpeed|HDSPM_Frequency1)

Definition at line 284 of file hdspm.c.

#define HDSPM_Frequency192KHz
Value:
HDSPM_Frequency0)

Definition at line 285 of file hdspm.c.

#define HDSPM_Frequency32KHz   HDSPM_Frequency0

Definition at line 276 of file hdspm.c.

#define HDSPM_Frequency44_1KHz   HDSPM_Frequency1

Definition at line 277 of file hdspm.c.

#define HDSPM_Frequency48KHz   (HDSPM_Frequency1|HDSPM_Frequency0)

Definition at line 278 of file hdspm.c.

#define HDSPM_Frequency64KHz   (HDSPM_DoubleSpeed|HDSPM_Frequency0)

Definition at line 279 of file hdspm.c.

#define HDSPM_Frequency88_2KHz   (HDSPM_DoubleSpeed|HDSPM_Frequency1)

Definition at line 280 of file hdspm.c.

#define HDSPM_Frequency96KHz
Value:
HDSPM_Frequency0)

Definition at line 281 of file hdspm.c.

#define HDSPM_FrequencyMask
Value:

Definition at line 256 of file hdspm.c.

#define HDSPM_INPUT_SELECT (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.info = snd_hdspm_info_input_select, \
.get = snd_hdspm_get_input_select, \
.put = snd_hdspm_put_input_select \
}

Definition at line 3272 of file hdspm.c.

#define HDSPM_inputBufferAddress   36

Definition at line 94 of file hdspm.c.

#define HDSPM_InputCoaxial   (HDSPM_InputSelect0)

Definition at line 260 of file hdspm.c.

#define HDSPM_inputEnableBase   768 /* 768-1023 output DMA */

Definition at line 105 of file hdspm.c.

#define HDSPM_InputMask   (HDSPM_InputSelect0|HDSPM_InputSelect1)

Definition at line 258 of file hdspm.c.

#define HDSPM_InputOptical   0

Definition at line 259 of file hdspm.c.

#define HDSPM_InputSelect0
Value:
(1<<14) /* Input select 0= optical, 1=coax
* -- MADI ONLY
*/

Definition at line 229 of file hdspm.c.

#define HDSPM_InputSelect1   (1<<15) /* should be 0 */

Definition at line 230 of file hdspm.c.

#define HDSPM_INTERNAL_CLOCK (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.info = snd_hdspm_info_clock_source, \
.get = snd_hdspm_get_clock_source, \
.put = snd_hdspm_put_clock_source \
}

Definition at line 2349 of file hdspm.c.

#define HDSPM_interruptConfirmation   96

Definition at line 96 of file hdspm.c.

#define HDSPM_JTAG   (1<<3)

Definition at line 315 of file hdspm.c.

#define HDSPM_Latency0   (1<<1) /* buffer size = 2^n */

Definition at line 208 of file hdspm.c.

#define HDSPM_Latency1   (1<<2) /* where n is defined */

Definition at line 209 of file hdspm.c.

#define HDSPM_Latency2   (1<<3) /* by Latency{2,1,0} */

Definition at line 210 of file hdspm.c.

#define HDSPM_LatencyMask   (HDSPM_Latency0|HDSPM_Latency1|HDSPM_Latency2)

Definition at line 255 of file hdspm.c.

#define HDSPM_LINE_OUT (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_line_out, \
.put = snd_hdspm_put_line_out \
}

Definition at line 2880 of file hdspm.c.

#define HDSPM_LineOut   (1<<24) /* Analog Out on channel 63/64 on=1, mute=0 */

Definition at line 245 of file hdspm.c.

#define HDSPM_LockAES   0x80

Definition at line 452 of file hdspm.c.

#define HDSPM_LockAES1   0x80

Definition at line 453 of file hdspm.c.

#define HDSPM_LockAES2   0x40

Definition at line 454 of file hdspm.c.

#define HDSPM_LockAES3   0x20

Definition at line 455 of file hdspm.c.

#define HDSPM_LockAES4   0x10

Definition at line 456 of file hdspm.c.

#define HDSPM_LockAES5   0x8

Definition at line 457 of file hdspm.c.

#define HDSPM_LockAES6   0x4

Definition at line 458 of file hdspm.c.

#define HDSPM_LockAES7   0x2

Definition at line 459 of file hdspm.c.

#define HDSPM_LockAES8   0x1

Definition at line 460 of file hdspm.c.

#define HDSPM_MADI_INPUT_PEAK   4096

Definition at line 193 of file hdspm.c.

#define HDSPM_MADI_INPUT_RMS_H   7168

Definition at line 201 of file hdspm.c.

#define HDSPM_MADI_INPUT_RMS_L   6144

Definition at line 197 of file hdspm.c.

#define HDSPM_MADI_mixerBase   32768 /* 32768-65535 for 2x64x64 Fader */

Definition at line 112 of file hdspm.c.

#define HDSPM_MADI_OUTPUT_PEAK   4608

Definition at line 195 of file hdspm.c.

#define HDSPM_MADI_OUTPUT_RMS_H   7680

Definition at line 203 of file hdspm.c.

#define HDSPM_MADI_OUTPUT_RMS_L   6656

Definition at line 199 of file hdspm.c.

#define HDSPM_MADI_PLAYBACK_PEAK   4352

Definition at line 194 of file hdspm.c.

#define HDSPM_MADI_PLAYBACK_RMS_H   7424

Definition at line 202 of file hdspm.c.

#define HDSPM_MADI_PLAYBACK_RMS_L   6400

Definition at line 198 of file hdspm.c.

#define HDSPM_MADI_SPEEDMODE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.info = snd_hdspm_info_madi_speedmode, \
.get = snd_hdspm_get_madi_speedmode, \
.put = snd_hdspm_put_madi_speedmode \
}

Definition at line 3502 of file hdspm.c.

#define HDSPM_MADIFACE_REV   213

Definition at line 514 of file hdspm.c.

#define HDSPM_madiFreq0   (1<<22) /* system freq 0=error */

Definition at line 348 of file hdspm.c.

#define HDSPM_madiFreq1   (1<<23) /* 1=32, 2=44.1 3=48 */

Definition at line 349 of file hdspm.c.

#define HDSPM_madiFreq128   (HDSPM_madiFreq0|HDSPM_madiFreq1|HDSPM_madiFreq2)

Definition at line 377 of file hdspm.c.

#define HDSPM_madiFreq176_4   (HDSPM_madiFreq3)

Definition at line 378 of file hdspm.c.

#define HDSPM_madiFreq192   (HDSPM_madiFreq3|HDSPM_madiFreq0)

Definition at line 379 of file hdspm.c.

#define HDSPM_madiFreq2   (1<<24) /* 4=64, 5=88.2 6=96 */

Definition at line 350 of file hdspm.c.

#define HDSPM_madiFreq3   (1<<25) /* 7=128, 8=176.4 9=192 */

Definition at line 351 of file hdspm.c.

#define HDSPM_madiFreq32   (HDSPM_madiFreq0)

Definition at line 371 of file hdspm.c.

#define HDSPM_madiFreq44_1   (HDSPM_madiFreq1)

Definition at line 372 of file hdspm.c.

#define HDSPM_madiFreq48   (HDSPM_madiFreq0|HDSPM_madiFreq1)

Definition at line 373 of file hdspm.c.

#define HDSPM_madiFreq64   (HDSPM_madiFreq2)

Definition at line 374 of file hdspm.c.

#define HDSPM_madiFreq88_2   (HDSPM_madiFreq0|HDSPM_madiFreq2)

Definition at line 375 of file hdspm.c.

#define HDSPM_madiFreq96   (HDSPM_madiFreq1|HDSPM_madiFreq2)

Definition at line 376 of file hdspm.c.

#define HDSPM_madiFreqMask
Value:

Definition at line 369 of file hdspm.c.

#define HDSPM_madiLock   (1<<3) /* MADI Locked =1, no=0 */

Definition at line 332 of file hdspm.c.

#define HDSPM_madiSync   (1<<18) /* MADI is in sync */

Definition at line 333 of file hdspm.c.

#define HDSPM_MATRIX_MIXER_SIZE   8192 /* = 2*64*64 * 4 Byte => 32kB */

Definition at line 114 of file hdspm.c.

#define HDSPM_Midi0InterruptEnable   0x0400000

Definition at line 240 of file hdspm.c.

#define HDSPM_midi0IRQPending   0x40000000

Definition at line 362 of file hdspm.c.

#define HDSPM_Midi1InterruptEnable   0x0800000

Definition at line 241 of file hdspm.c.

#define HDSPM_midi1IRQPending   0x80000000

Definition at line 363 of file hdspm.c.

#define HDSPM_Midi2InterruptEnable   0x0200000

Definition at line 242 of file hdspm.c.

#define HDSPM_midi2IRQPending   0x20000000

Definition at line 364 of file hdspm.c.

#define HDSPM_midi2IRQPendingAES   0x00000020

Definition at line 365 of file hdspm.c.

#define HDSPM_Midi3InterruptEnable   0x4000000

Definition at line 243 of file hdspm.c.

#define HDSPM_midi3IRQPending   0x00200000

Definition at line 366 of file hdspm.c.

#define HDSPM_midiDataIn0   360

Definition at line 171 of file hdspm.c.

#define HDSPM_midiDataIn1   364

Definition at line 172 of file hdspm.c.

#define HDSPM_midiDataIn2   372

Definition at line 173 of file hdspm.c.

#define HDSPM_midiDataIn3   376

Definition at line 174 of file hdspm.c.

#define HDSPM_midiDataOut0   352 /* just believe in old code */

Definition at line 167 of file hdspm.c.

#define HDSPM_midiDataOut0   352

Definition at line 167 of file hdspm.c.

#define HDSPM_midiDataOut1   356

Definition at line 168 of file hdspm.c.

#define HDSPM_midiDataOut1   356

Definition at line 168 of file hdspm.c.

#define HDSPM_midiDataOut2   368

Definition at line 169 of file hdspm.c.

#define HDSPM_midiStatusIn0   392

Definition at line 181 of file hdspm.c.

#define HDSPM_midiStatusIn1   396

Definition at line 182 of file hdspm.c.

#define HDSPM_midiStatusIn2   404

Definition at line 183 of file hdspm.c.

#define HDSPM_midiStatusIn3   408

Definition at line 184 of file hdspm.c.

#define HDSPM_midiStatusOut0   384

Definition at line 177 of file hdspm.c.

#define HDSPM_midiStatusOut1   388

Definition at line 178 of file hdspm.c.

#define HDSPM_midiStatusOut2   400

Definition at line 179 of file hdspm.c.

#define HDSPM_MIXER (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.device = 0, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_mixer, \
.get = snd_hdspm_get_mixer, \
.put = snd_hdspm_put_mixer \
}

Definition at line 3588 of file hdspm.c.

#define HDSPM_OPTICAL   0 /* optical */

Definition at line 302 of file hdspm.c.

#define HDSPM_outputBufferAddress   32

Definition at line 93 of file hdspm.c.

#define HDSPM_outputEnableBase   512 /* 512-767 input DMA */

Definition at line 104 of file hdspm.c.

#define HDSPM_pageAddressBufferIn   (HDSPM_pageAddressBufferOut+64*16*4)

Definition at line 110 of file hdspm.c.

#define HDSPM_pageAddressBufferOut   8192

Definition at line 109 of file hdspm.c.

#define HDSPM_PLAYBACK_MIXER
Value:
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_playback_mixer, \
.get = snd_hdspm_get_playback_mixer, \
.put = snd_hdspm_put_playback_mixer \
}

Definition at line 3695 of file hdspm.c.

#define HDSPM_PREF_SYNC_REF (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_pref_sync_ref, \
.get = snd_hdspm_get_pref_sync_ref, \
.put = snd_hdspm_put_pref_sync_ref \
}

Definition at line 2455 of file hdspm.c.

#define HDSPM_Professional   (1<<9) /* Professional */ /* AES32 ONLY */

Definition at line 222 of file hdspm.c.

#define HDSPM_PROFESSIONAL (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_professional, \
.put = snd_hdspm_put_professional \
}

Definition at line 3217 of file hdspm.c.

#define HDSPM_PROGRAM   (1<<5)

Definition at line 317 of file hdspm.c.

#define HDSPM_PWDN   (1<<4)

Definition at line 316 of file hdspm.c.

#define HDSPM_QS_DoubleWire   (1<<27) /* AES32 ONLY */

Definition at line 249 of file hdspm.c.

#define HDSPM_QS_QuadWire   (1<<28) /* AES32 ONLY */

Definition at line 250 of file hdspm.c.

#define HDSPM_QS_WIRE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.info = snd_hdspm_info_qs_wire, \
.get = snd_hdspm_get_qs_wire, \
.put = snd_hdspm_put_qs_wire \
}

Definition at line 3416 of file hdspm.c.

#define HDSPM_QuadSpeed   (1<<31) /* quad speed bit */

Definition at line 220 of file hdspm.c.

#define HDSPM_RAYDAT_REV   211

Definition at line 512 of file hdspm.c.

#define HDSPM_RD_MULTIPLE   (1<<10)

Definition at line 322 of file hdspm.c.

#define HDSPM_RD_PLL_FREQ   512

Definition at line 133 of file hdspm.c.

#define HDSPM_RD_STATUS_0   0

Definition at line 127 of file hdspm.c.

#define HDSPM_RD_STATUS_1   64

Definition at line 128 of file hdspm.c.

#define HDSPM_RD_STATUS_2   128

Definition at line 129 of file hdspm.c.

#define HDSPM_RD_STATUS_3   192

Definition at line 130 of file hdspm.c.

#define HDSPM_RD_TCO   256

Definition at line 132 of file hdspm.c.

#define HDSPM_RX_64ch   (1<<1) /* Input 64chan. MODE=1, 56chn MODE=0 */

Definition at line 329 of file hdspm.c.

#define HDSPM_s2_AEBI_D   0x00000100

Definition at line 359 of file hdspm.c.

#define HDSPM_s2_AEBO_D   0x00000080

Definition at line 358 of file hdspm.c.

#define HDSPM_s2_tco_detect   0x00000040

Definition at line 357 of file hdspm.c.

#define HDSPM_SAFE_MODE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_safe_mode, \
.put = snd_hdspm_put_safe_mode \
}

Definition at line 3049 of file hdspm.c.

#define HDSPM_SelSyncRef0   (1<<8) /* AutoSync Source */

Definition at line 398 of file hdspm.c.

#define HDSPM_SelSyncRef1   (1<<9) /* 000=word, 001=MADI, */

Definition at line 399 of file hdspm.c.

#define HDSPM_SelSyncRef2   (1<<10) /* 111=no valid signal */

Definition at line 400 of file hdspm.c.

#define HDSPM_SelSyncRef_MADI   (HDSPM_SelSyncRef0)

Definition at line 422 of file hdspm.c.

#define HDSPM_SelSyncRef_NVALID
Value:
HDSPM_SelSyncRef2)

Definition at line 425 of file hdspm.c.

#define HDSPM_SelSyncRef_SyncIn   (HDSPM_SelSyncRef0|HDSPM_SelSyncRef1)

Definition at line 424 of file hdspm.c.

#define HDSPM_SelSyncRef_TCO   (HDSPM_SelSyncRef1)

Definition at line 423 of file hdspm.c.

#define HDSPM_SelSyncRef_WORD   0

Definition at line 421 of file hdspm.c.

#define HDSPM_SelSyncRefMask
Value:
HDSPM_SelSyncRef2)

Definition at line 419 of file hdspm.c.

#define HDSPM_SMUX   (1<<18) /* Frame ??? */ /* MADI ONY */

Definition at line 235 of file hdspm.c.

#define HDSPM_SPEED_DOUBLE   1

Definition at line 518 of file hdspm.c.

#define HDSPM_SPEED_QUAD   2

Definition at line 519 of file hdspm.c.

#define HDSPM_SPEED_SINGLE   0

Definition at line 517 of file hdspm.c.

#define HDSPM_Start   (1<<0) /* start engine */

Definition at line 206 of file hdspm.c.

#define HDSPM_status1_F_0   0x0400000

Definition at line 412 of file hdspm.c.

#define HDSPM_status1_F_1   0x0800000

Definition at line 413 of file hdspm.c.

#define HDSPM_status1_F_2   0x1000000

Definition at line 414 of file hdspm.c.

#define HDSPM_status1_F_3   0x2000000

Definition at line 415 of file hdspm.c.

Definition at line 416 of file hdspm.c.

#define HDSPM_statusRegister   0

Definition at line 118 of file hdspm.c.

#define HDSPM_statusRegister2   192

Definition at line 123 of file hdspm.c.

#define HDSPM_SYNC_CHECK (   xname,
  xindex 
)
Value:
.name = xname, \
.private_value = xindex, \
.info = snd_hdspm_info_sync_check, \
.get = snd_hdspm_get_sync_check \
}

Definition at line 3763 of file hdspm.c.

#define HDSPM_SYNC_CHECK_LOCK   1

Definition at line 291 of file hdspm.c.

#define HDSPM_SYNC_CHECK_NO_LOCK   0

Definition at line 290 of file hdspm.c.

#define HDSPM_SYNC_CHECK_SYNC   2

Definition at line 292 of file hdspm.c.

#define HDSPM_SYNC_FROM_MADI   1 /* choices - used by "pref_sync_ref" */

Definition at line 272 of file hdspm.c.

#define HDSPM_SYNC_FROM_SYNC_IN   3

Definition at line 274 of file hdspm.c.

#define HDSPM_SYNC_FROM_TCO   2

Definition at line 273 of file hdspm.c.

#define HDSPM_SYNC_FROM_WORD   0 /* Preferred sync reference */

Definition at line 271 of file hdspm.c.

#define HDSPM_syncInLock   0x00010000 /* Sync In lock status FOR HDSPe MADI! */

Definition at line 338 of file hdspm.c.

#define HDSPM_syncInSync   0x00020000 /* Sync In sync status FOR HDSPe MADI! */

Definition at line 339 of file hdspm.c.

#define HDSPM_SyncRef0   0x10000 /* Sync Reference */

Definition at line 395 of file hdspm.c.

#define HDSPM_SyncRef1   0x20000

Definition at line 396 of file hdspm.c.

#define HDSPM_SyncRef2   (1<<13)

Definition at line 232 of file hdspm.c.

#define HDSPM_SyncRef3   (1<<25)

Definition at line 233 of file hdspm.c.

#define HDSPM_SyncRefMask
Value:

Definition at line 261 of file hdspm.c.

#define HDSPM_SYSTEM_CLOCK_MODE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_system_clock_mode, \
.get = snd_hdspm_get_system_clock_mode, \
.put = snd_hdspm_put_system_clock_mode, \
}

Definition at line 2240 of file hdspm.c.

#define HDSPM_SYSTEM_SAMPLE_RATE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_system_sample_rate, \
.put = snd_hdspm_put_system_sample_rate, \
.get = snd_hdspm_get_system_sample_rate \
}

Definition at line 1996 of file hdspm.c.

#define HDSPM_taxi_reset   (1<<20) /* ??? */ /* MADI ONLY ? */

Definition at line 237 of file hdspm.c.

#define HDSPM_TCK   (1<<1)

Definition at line 313 of file hdspm.c.

#define HDSPM_TCO1_LTC_Format_LSB   0x00000400

Definition at line 146 of file hdspm.c.

#define HDSPM_TCO1_LTC_Format_MSB   0x00000800

Definition at line 147 of file hdspm.c.

#define HDSPM_TCO1_LTC_Input_valid   0x00000008

Definition at line 139 of file hdspm.c.

#define HDSPM_TCO1_set_drop_frame_flag   0x00000200

Definition at line 145 of file hdspm.c.

#define HDSPM_TCO1_set_TC   0x00000100

Definition at line 144 of file hdspm.c.

#define HDSPM_TCO1_TCO_lock   0x00000001

Definition at line 136 of file hdspm.c.

#define HDSPM_TCO1_Video_Input_Format_NTSC   0x00000020

Definition at line 141 of file hdspm.c.

#define HDSPM_TCO1_Video_Input_Format_PAL   0x00000040

Definition at line 142 of file hdspm.c.

#define HDSPM_TCO1_WCK_Input_Range_LSB   0x00000002

Definition at line 137 of file hdspm.c.

#define HDSPM_TCO1_WCK_Input_Range_MSB   0x00000004

Definition at line 138 of file hdspm.c.

#define HDSPM_TCO1_WCK_Input_valid   0x00000010

Definition at line 140 of file hdspm.c.

#define HDSPM_TCO2_set_01_4   0x01000000

Definition at line 157 of file hdspm.c.

#define HDSPM_TCO2_set_flywheel   0x00400000

Definition at line 155 of file hdspm.c.

#define HDSPM_TCO2_set_freq   0x08000000

Definition at line 160 of file hdspm.c.

#define HDSPM_TCO2_set_freq_from_app   0x80000000

Definition at line 164 of file hdspm.c.

#define HDSPM_TCO2_set_input_LSB   0x20000000

Definition at line 162 of file hdspm.c.

#define HDSPM_TCO2_set_input_MSB   0x40000000

Definition at line 163 of file hdspm.c.

#define HDSPM_TCO2_set_jam_sync   0x00200000

Definition at line 154 of file hdspm.c.

#define HDSPM_TCO2_set_num_drop_frames_LSB   0x00080000

Definition at line 152 of file hdspm.c.

#define HDSPM_TCO2_set_num_drop_frames_MSB   0x00100000

Definition at line 153 of file hdspm.c.

#define HDSPM_TCO2_set_pull_down   0x02000000

Definition at line 158 of file hdspm.c.

#define HDSPM_TCO2_set_pull_up   0x04000000

Definition at line 159 of file hdspm.c.

#define HDSPM_TCO2_set_term_75R   0x10000000

Definition at line 161 of file hdspm.c.

#define HDSPM_TCO2_TC_run   0x00010000

Definition at line 149 of file hdspm.c.

#define HDSPM_TCO2_WCK_IO_ratio_LSB   0x00020000

Definition at line 150 of file hdspm.c.

#define HDSPM_TCO2_WCK_IO_ratio_MSB   0x00040000

Definition at line 151 of file hdspm.c.

#define HDSPM_tco_detect   0x08000000

Definition at line 354 of file hdspm.c.

#define HDSPM_TCO_FRAME_RATE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_tco_frame_rate, \
.get = snd_hdspm_get_tco_frame_rate, \
.put = snd_hdspm_put_tco_frame_rate \
}

Definition at line 4290 of file hdspm.c.

#define HDSPM_tco_lock   0x20000000

Definition at line 355 of file hdspm.c.

#define HDSPM_TCO_PULL (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_tco_pull, \
.get = snd_hdspm_get_tco_pull, \
.put = snd_hdspm_put_tco_pull \
}

Definition at line 4179 of file hdspm.c.

#define HDSPM_TCO_SAMPLE_RATE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_tco_sample_rate, \
.get = snd_hdspm_get_tco_sample_rate, \
.put = snd_hdspm_put_tco_sample_rate \
}

Definition at line 4123 of file hdspm.c.

#define HDSPM_TCO_SYNC_SOURCE (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_tco_sync_source, \
.get = snd_hdspm_get_tco_sync_source, \
.put = snd_hdspm_put_tco_sync_source \
}

Definition at line 4347 of file hdspm.c.

#define HDSPM_TCO_WCK_CONVERSION (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_tco_wck_conversion, \
.get = snd_hdspm_get_tco_wck_conversion, \
.put = snd_hdspm_put_tco_wck_conversion \
}

Definition at line 4234 of file hdspm.c.

#define HDSPM_TCO_WORD_TERM (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_tco_word_term, \
.get = snd_hdspm_get_tco_word_term, \
.put = snd_hdspm_put_tco_word_term \
}

Definition at line 4403 of file hdspm.c.

#define HDSPM_tcoLock   0x00000020 /* Optional TCO locked status FOR HDSPe MADI! */

Definition at line 335 of file hdspm.c.

#define HDSPM_tcoSync   0x10000000 /* Optional TCO sync status */

Definition at line 336 of file hdspm.c.

#define HDSPM_TDI   (1<<2)

Definition at line 314 of file hdspm.c.

#define HDSPM_timecodeRegister   128

Definition at line 124 of file hdspm.c.

#define HDSPM_TMS   (1<<0)

Definition at line 312 of file hdspm.c.

#define HDSPM_TX_64 (   xname,
  xindex 
)
Value:
.name = xname, \
.index = xindex, \
.get = snd_hdspm_get_tx_64, \
.put = snd_hdspm_put_tx_64 \
}

Definition at line 2937 of file hdspm.c.

#define HDSPM_TX_64ch
Value:
(1<<10) /* Output 64channel MODE=1,
56channelMODE=0 */ /* MADI ONLY*/

Definition at line 223 of file hdspm.c.

#define HDSPM_version0   (1<<0) /* not really defined but I guess */

Definition at line 383 of file hdspm.c.

#define HDSPM_version1   (1<<1) /* in former cards it was ??? */

Definition at line 384 of file hdspm.c.

#define HDSPM_version2   (1<<2)

Definition at line 385 of file hdspm.c.

#define HDSPM_wc_freq0   (1<<5) /* input freq detected via autosync */

Definition at line 390 of file hdspm.c.

#define HDSPM_wc_freq1   (1<<6) /* 001=32, 010==44.1, 011=48, */

Definition at line 391 of file hdspm.c.

#define HDSPM_wc_freq2   (1<<7) /* 100=64, 101=88.2, 110=96, */

Definition at line 392 of file hdspm.c.

#define HDSPM_wc_valid   (HDSPM_wcLock|HDSPM_wcSync)

Definition at line 402 of file hdspm.c.

#define HDSPM_wcFreq32   (HDSPM_wc_freq0)

Definition at line 405 of file hdspm.c.

#define HDSPM_wcFreq44_1   (HDSPM_wc_freq1)

Definition at line 406 of file hdspm.c.

#define HDSPM_wcFreq48   (HDSPM_wc_freq0|HDSPM_wc_freq1)

Definition at line 407 of file hdspm.c.

#define HDSPM_wcFreq64   (HDSPM_wc_freq2)

Definition at line 408 of file hdspm.c.

#define HDSPM_wcFreq88_2   (HDSPM_wc_freq0|HDSPM_wc_freq2)

Definition at line 409 of file hdspm.c.

#define HDSPM_wcFreq96   (HDSPM_wc_freq1|HDSPM_wc_freq2)

Definition at line 410 of file hdspm.c.

#define HDSPM_wcFreqMask   (HDSPM_wc_freq0|HDSPM_wc_freq1|HDSPM_wc_freq2)

Definition at line 404 of file hdspm.c.

#define HDSPM_WCK48   (1<<20) /* Frame ??? = HDSPM_SMUX */ /* AES32 ONLY */

Definition at line 238 of file hdspm.c.

#define HDSPM_wclk_sel   (1<<30)

Definition at line 252 of file hdspm.c.

#define HDSPM_wcLock   (1<<3) /* Wordclock is detected and locked */

Definition at line 387 of file hdspm.c.

#define HDSPM_wcSync   (1<<4) /* Wordclock is in sync with systemclock */

Definition at line 388 of file hdspm.c.

#define HDSPM_WR_SETTINGS   0

Definition at line 92 of file hdspm.c.

#define HDSPM_WR_TCO   128

Definition at line 134 of file hdspm.c.

#define MADI_DS_CHANNELS   32

Definition at line 484 of file hdspm.c.

#define MADI_QS_CHANNELS   16

Definition at line 485 of file hdspm.c.

#define MADI_SS_CHANNELS   64

Definition at line 483 of file hdspm.c.

#define MINUS_INFINITY_GAIN   0

Definition at line 480 of file hdspm.c.

#define RAYDAT_DS_CHANNELS   20

Definition at line 488 of file hdspm.c.

#define RAYDAT_QS_CHANNELS   12

Definition at line 489 of file hdspm.c.

#define RAYDAT_SS_CHANNELS   36

Definition at line 487 of file hdspm.c.

#define snd_hdspm_info_c_tms   snd_ctl_boolean_mono_info

Definition at line 3018 of file hdspm.c.

#define snd_hdspm_info_dolby   snd_ctl_boolean_mono_info

Definition at line 3186 of file hdspm.c.

#define snd_hdspm_info_emphasis   snd_ctl_boolean_mono_info

Definition at line 3130 of file hdspm.c.

#define snd_hdspm_info_line_out   snd_ctl_boolean_mono_info

Definition at line 2906 of file hdspm.c.

#define snd_hdspm_info_professional   snd_ctl_boolean_mono_info

Definition at line 3242 of file hdspm.c.

#define snd_hdspm_info_safe_mode   snd_ctl_boolean_mono_info

Definition at line 3074 of file hdspm.c.

#define snd_hdspm_info_tx_64   snd_ctl_boolean_mono_info

Definition at line 2962 of file hdspm.c.

#define UNITY_GAIN   32768 /* = 65536/2 */

Definition at line 479 of file hdspm.c.

Function Documentation

MODULE_AUTHOR ( "Winfried Ritsch <ritsch_AT_iem.at ,
""Paul Davis< paul @linuxaudiosystems.com >  ,
""Marcus  Andersson,
Thomas Charbonnel< thomas @undata.org >  ,
""Remy Bruno< remy.bruno @trinnov.com >  ,
""Florian Faber< faberman @linuxproaudio.org >  ,
""Adrian Knoth< adi @drcomp.erfurt.thur.de >"   
)
MODULE_DESCRIPTION ( "RME HDSPM"  )
MODULE_DEVICE_TABLE ( pci  ,
snd_hdspm_ids   
)
MODULE_LICENSE ( "GPL"  )
module_param_array ( index  ,
int  ,
NULL  ,
0444   
)
module_param_array ( id  ,
charp  ,
NULL  ,
0444   
)
module_param_array ( enable  ,
bool  ,
NULL  ,
0444   
)
MODULE_PARM_DESC ( index  ,
"Index value for RME HDSPM interface."   
)
MODULE_PARM_DESC ( id  ,
"ID string for RME HDSPM interface."   
)
MODULE_PARM_DESC ( enable  ,
"Enable/disable specific HDSPM soundcards."   
)
module_pci_driver ( hdspm_driver  )
MODULE_SUPPORTED_DEVICE ( "{{RME HDSPM-MADI}}"  )