1 #ifndef __INTEL_SST_IOCTL_H__ 2 #define __INTEL_SST_IOCTL_H__ 3 /* 4 * intel_sst_ioctl.h - Intel SST Driver for audio engine 5 * 6 * Copyright (C) 2008-10 Intel Corporation 7 * Authors: Vinod Koul <vinod.koul@intel.com> 8 * Harsha Priya <priya.harsha@intel.com> 9 * Dharageswari R <dharageswari.r@intel.com> 10 * KP Jeeja <jeeja.kp@intel.com> 11 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 * 13 * This program is free software; you can redistribute it and/or modify 14 * it under the terms of the GNU General Public License as published by 15 * the Free Software Foundation; version 2 of the License. 16 * 17 * This program is distributed in the hope that it will be useful, but 18 * WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 * General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License along 23 * with this program; if not, write to the Free Software Foundation, Inc., 24 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 25 * 26 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27 * 28 * This file defines all sst ioctls 29 */ 30 31 /* codec and post/pre processing related info */ 32 33 #include <linux/types.h> 34 35 /* Pre and post processing params structure */ 36 struct snd_ppp_params { 37 __u8 algo_id;/* Post/Pre processing algorithm ID */ 38 __u8 str_id; /*Only 5 bits used 0 - 31 are valid*/ 39 __u8 enable; /* 0= disable, 1= enable*/ 40 __u8 operation; /* 0 = set_algo, 1 = get_algo */ 41 __u32 size; /*Size of parameters for all blocks*/ 42 void *params; 43 } __packed; 44 45 struct snd_sst_driver_info { 46 __u32 max_streams; 47 }; 48 49 struct snd_sst_tuning_params { 50 __u8 type; 51 __u8 str_id; 52 __u8 size; 53 __u8 rsvd; 54 __u64 addr; 55 } __packed; 56 57 /*IOCTL defined here */ 58 /*SST common ioctls */ 59 #define SNDRV_SST_DRIVER_INFO _IOR('L', 0x10, struct snd_sst_driver_info) 60 #define SNDRV_SST_SET_ALGO _IOW('L', 0x30, struct snd_ppp_params) 61 #define SNDRV_SST_GET_ALGO _IOWR('L', 0x31, struct snd_ppp_params) 62 #define SNDRV_SST_TUNING_PARAMS _IOW('L', 0x32, struct snd_sst_tuning_params) 63 #endif /* __INTEL_SST_IOCTL_H__ */ 64