122851890Sopenharmony_ci/* 222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py, 322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants, 422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information. 522851890Sopenharmony_ci */ 622851890Sopenharmony_ci#ifndef _UAPI__SOUND_SB16_CSP_H 722851890Sopenharmony_ci#define _UAPI__SOUND_SB16_CSP_H 822851890Sopenharmony_ci#define SNDRV_SB_CSP_MODE_NONE 0x00 922851890Sopenharmony_ci#define SNDRV_SB_CSP_MODE_DSP_READ 0x01 1022851890Sopenharmony_ci#define SNDRV_SB_CSP_MODE_DSP_WRITE 0x02 1122851890Sopenharmony_ci#define SNDRV_SB_CSP_MODE_QSOUND 0x04 1222851890Sopenharmony_ci#define SNDRV_SB_CSP_LOAD_FROMUSER 0x01 1322851890Sopenharmony_ci#define SNDRV_SB_CSP_LOAD_INITBLOCK 0x02 1422851890Sopenharmony_ci#define SNDRV_SB_CSP_SAMPLE_8BIT 0x01 1522851890Sopenharmony_ci#define SNDRV_SB_CSP_SAMPLE_16BIT 0x02 1622851890Sopenharmony_ci#define SNDRV_SB_CSP_MONO 0x01 1722851890Sopenharmony_ci#define SNDRV_SB_CSP_STEREO 0x02 1822851890Sopenharmony_ci#define SNDRV_SB_CSP_RATE_8000 0x01 1922851890Sopenharmony_ci#define SNDRV_SB_CSP_RATE_11025 0x02 2022851890Sopenharmony_ci#define SNDRV_SB_CSP_RATE_22050 0x04 2122851890Sopenharmony_ci#define SNDRV_SB_CSP_RATE_44100 0x08 2222851890Sopenharmony_ci#define SNDRV_SB_CSP_RATE_ALL 0x0f 2322851890Sopenharmony_ci#define SNDRV_SB_CSP_ST_IDLE 0x00 2422851890Sopenharmony_ci#define SNDRV_SB_CSP_ST_LOADED 0x01 2522851890Sopenharmony_ci#define SNDRV_SB_CSP_ST_RUNNING 0x02 2622851890Sopenharmony_ci#define SNDRV_SB_CSP_ST_PAUSED 0x04 2722851890Sopenharmony_ci#define SNDRV_SB_CSP_ST_AUTO 0x08 2822851890Sopenharmony_ci#define SNDRV_SB_CSP_ST_QSOUND 0x10 2922851890Sopenharmony_ci#define SNDRV_SB_CSP_QSOUND_MAX_RIGHT 0x20 3022851890Sopenharmony_ci#define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE 0x3000 3122851890Sopenharmony_cistruct snd_sb_csp_mc_header { 3222851890Sopenharmony_ci char codec_name[16]; 3322851890Sopenharmony_ci unsigned short func_req; 3422851890Sopenharmony_ci}; 3522851890Sopenharmony_cistruct snd_sb_csp_microcode { 3622851890Sopenharmony_ci struct snd_sb_csp_mc_header info; 3722851890Sopenharmony_ci unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE]; 3822851890Sopenharmony_ci}; 3922851890Sopenharmony_cistruct snd_sb_csp_start { 4022851890Sopenharmony_ci int sample_width; 4122851890Sopenharmony_ci int channels; 4222851890Sopenharmony_ci}; 4322851890Sopenharmony_cistruct snd_sb_csp_info { 4422851890Sopenharmony_ci char codec_name[16]; 4522851890Sopenharmony_ci unsigned short func_nr; 4622851890Sopenharmony_ci unsigned int acc_format; 4722851890Sopenharmony_ci unsigned short acc_channels; 4822851890Sopenharmony_ci unsigned short acc_width; 4922851890Sopenharmony_ci unsigned short acc_rates; 5022851890Sopenharmony_ci unsigned short csp_mode; 5122851890Sopenharmony_ci unsigned short run_channels; 5222851890Sopenharmony_ci unsigned short run_width; 5322851890Sopenharmony_ci unsigned short version; 5422851890Sopenharmony_ci unsigned short state; 5522851890Sopenharmony_ci}; 5622851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info) 5722851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_LOAD_CODE \ 5822851890Sopenharmony_ci _IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode)) 5922851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12) 6022851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_START _IOW('H', 0x13, struct snd_sb_csp_start) 6122851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_STOP _IO('H', 0x14) 6222851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_PAUSE _IO('H', 0x15) 6322851890Sopenharmony_ci#define SNDRV_SB_CSP_IOCTL_RESTART _IO('H', 0x16) 6422851890Sopenharmony_ci#endif 65