0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef _UAPI__SOUND_SB16_CSP_H
0024 #define _UAPI__SOUND_SB16_CSP_H
0025
0026
0027
0028 #define SNDRV_SB_CSP_MODE_NONE 0x00
0029 #define SNDRV_SB_CSP_MODE_DSP_READ 0x01
0030 #define SNDRV_SB_CSP_MODE_DSP_WRITE 0x02
0031 #define SNDRV_SB_CSP_MODE_QSOUND 0x04
0032
0033
0034 #define SNDRV_SB_CSP_LOAD_FROMUSER 0x01
0035 #define SNDRV_SB_CSP_LOAD_INITBLOCK 0x02
0036
0037
0038 #define SNDRV_SB_CSP_SAMPLE_8BIT 0x01
0039 #define SNDRV_SB_CSP_SAMPLE_16BIT 0x02
0040
0041
0042 #define SNDRV_SB_CSP_MONO 0x01
0043 #define SNDRV_SB_CSP_STEREO 0x02
0044
0045
0046 #define SNDRV_SB_CSP_RATE_8000 0x01
0047 #define SNDRV_SB_CSP_RATE_11025 0x02
0048 #define SNDRV_SB_CSP_RATE_22050 0x04
0049 #define SNDRV_SB_CSP_RATE_44100 0x08
0050 #define SNDRV_SB_CSP_RATE_ALL 0x0f
0051
0052
0053 #define SNDRV_SB_CSP_ST_IDLE 0x00
0054 #define SNDRV_SB_CSP_ST_LOADED 0x01
0055 #define SNDRV_SB_CSP_ST_RUNNING 0x02
0056 #define SNDRV_SB_CSP_ST_PAUSED 0x04
0057 #define SNDRV_SB_CSP_ST_AUTO 0x08
0058 #define SNDRV_SB_CSP_ST_QSOUND 0x10
0059
0060
0061 #define SNDRV_SB_CSP_QSOUND_MAX_RIGHT 0x20
0062
0063
0064 #define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE 0x3000
0065
0066
0067 struct snd_sb_csp_mc_header {
0068 char codec_name[16];
0069 unsigned short func_req;
0070 };
0071
0072
0073 struct snd_sb_csp_microcode {
0074 struct snd_sb_csp_mc_header info;
0075 unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE];
0076 };
0077
0078
0079 struct snd_sb_csp_start {
0080 int sample_width;
0081 int channels;
0082 };
0083
0084
0085 struct snd_sb_csp_info {
0086 char codec_name[16];
0087 unsigned short func_nr;
0088 unsigned int acc_format;
0089 unsigned short acc_channels;
0090 unsigned short acc_width;
0091 unsigned short acc_rates;
0092 unsigned short csp_mode;
0093 unsigned short run_channels;
0094 unsigned short run_width;
0095 unsigned short version;
0096 unsigned short state;
0097 };
0098
0099
0100
0101 #define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info)
0102
0103
0104
0105
0106
0107
0108
0109 #define SNDRV_SB_CSP_IOCTL_LOAD_CODE \
0110 _IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode))
0111
0112 #define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12)
0113
0114 #define SNDRV_SB_CSP_IOCTL_START _IOW('H', 0x13, struct snd_sb_csp_start)
0115
0116 #define SNDRV_SB_CSP_IOCTL_STOP _IO('H', 0x14)
0117
0118 #define SNDRV_SB_CSP_IOCTL_PAUSE _IO('H', 0x15)
0119
0120 #define SNDRV_SB_CSP_IOCTL_RESTART _IO('H', 0x16)
0121
0122
0123 #endif