]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/intel_sst/intel_sst_ioctl.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / staging / intel_sst / intel_sst_ioctl.h
index 03b931619a3ed273f80b343333d94d5ba3f9e896..bebc395a3c1f45787f98f7263b8d0d2caa1451a3 100644 (file)
@@ -190,21 +190,15 @@ struct snd_prp_params {
        __u32 reserved; /* No pre-processing defined yet */
 };
 
-struct snd_params_block {
-       __u32 type;             /*Type of the parameter*/
-       __u32 size;             /*size of the parameters in the block*/
-       __u8 params[0]; /*Parameters of the algorithm*/
-};
-
 /* Pre and post processing params structure */
 struct snd_ppp_params {
-       enum sst_algo_types     algo_id;/* Post/Pre processing algorithm ID  */
+       __u8                    algo_id;/* Post/Pre processing algorithm ID  */
        __u8                    str_id; /*Only 5 bits used 0 - 31 are valid*/
        __u8                    enable; /* 0= disable, 1= enable*/
        __u8                    reserved;
        __u32                   size;   /*Size of parameters for all blocks*/
-       struct snd_params_block params[0];
-};
+       void                    *params;
+} __attribute__ ((packed));
 
 struct snd_sst_postproc_info {
        __u32 src_min;          /* Supported SRC Min sampling freq */
@@ -431,5 +425,8 @@ struct snd_sst_dbufs  {
 #define SNDRV_SST_FW_INFO      _IOR('L', 0x20,  struct snd_sst_fw_info *)
 #define SNDRV_SST_SET_TARGET_DEVICE _IOW('L', 0x21, \
                                        struct snd_sst_target_device *)
+/*DSP Ioctls on /dev/intel_sst_ctrl only*/
+#define SNDRV_SST_SET_ALGO     _IOW('L', 0x30,  struct snd_ppp_params *)
+#define SNDRV_SST_GET_ALGO     _IOWR('L', 0x31,  struct snd_ppp_params *)
 
 #endif /* __INTEL_SST_IOCTL_H__ */