blob: 0a5626e6464368646ab8d21da317da1120432971 [file] [log] [blame]
/*
* effect_offload.h - effect offload header definations
*
* Copyright (C) 2013 Intel Corporation
* Authors: Vinod Koul <vinod.koul@intel.com>
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
*/
#ifndef __EFFECT_OFFLOAD_H
#define __EFFECT_OFFLOAD_H
#include <linux/types.h>
#define SNDRV_EFFECT_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 0)
struct snd_effect {
char uuid[16]; /* effect UUID */
u32 device; /* streaming interface for effect insertion */
u32 pos; /* position of effect to be placed in effect chain */
u32 mode; /* Backend for Global device (Headset/Speaker) */
} __packed;
struct snd_effect_params {
char uuid[16];
u32 device;
u32 size; /* size of parameter blob */
u64 buffer_ptr;
} __packed;
struct snd_effect_caps {
u32 size; /* size of buffer to read effect descriptors */
u64 buffer_ptr;
} __packed;
#define SNDRV_CTL_IOCTL_EFFECT_VERSION _IOR('E', 0x00, int)
#define SNDRV_CTL_IOCTL_EFFECT_CREATE _IOW('E', 0x01,\
struct snd_effect)
#define SNDRV_CTL_IOCTL_EFFECT_DESTROY _IOW('E', 0x02,\
struct snd_effect)
#define SNDRV_CTL_IOCTL_EFFECT_SET_PARAMS _IOW('E', 0x03,\
struct snd_effect_params)
#define SNDRV_CTL_IOCTL_EFFECT_GET_PARAMS _IOWR('E', 0x04,\
struct snd_effect_params)
#define SNDRV_CTL_IOCTL_EFFECT_QUERY_NUM _IOR('E', 0x05, int)
#define SNDRV_CTL_IOCTL_EFFECT_QUERY_CAPS _IOWR('E', 0x06,\
struct snd_effect_caps)
#endif