13aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry/* 23aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 33aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * 43aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * This program is free software; you can redistribute it and/or modify 53aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * it under the terms of the GNU General Public License version 2 and 63aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * only version 2 as published by the Free Software Foundation. 73aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 83aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * This program is distributed in the hope that it will be useful, 93aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * but WITHOUT ANY WARRANTY; without even the implied warranty of 103aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 113aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry * GNU General Public License for more details. 123aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry */ 133aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 143aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#ifndef _DEV_DEP_H 153aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define _DEV_DEP_H 163aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 173aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherrystruct dolby_param_data { 183aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t version; 193aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t device_id; 203aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t be_id; 213aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t param_id; 223aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t length; 233aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t __user *data; 243aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry}; 253aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 263aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherrystruct dolby_param_license { 273aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t dmid; 283aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t license_key; 293aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry}; 303aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 313aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define SNDRV_DEVDEP_DAP_IOCTL_SET_PARAM\ 323aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry _IOWR('U', 0x10, struct dolby_param_data) 333aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define SNDRV_DEVDEP_DAP_IOCTL_GET_PARAM\ 343aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry _IOR('U', 0x11, struct dolby_param_data) 353aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define SNDRV_DEVDEP_DAP_IOCTL_DAP_COMMAND\ 363aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry _IOWR('U', 0x13, struct dolby_param_data) 373aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define SNDRV_DEVDEP_DAP_IOCTL_DAP_LICENSE\ 383aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry _IOWR('U', 0x14, struct dolby_param_license) 393aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define SNDRV_DEVDEP_DAP_IOCTL_GET_VISUALIZER\ 403aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry _IOR('U', 0x15, struct dolby_param_data) 413aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 423aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_MODULE 0x00005000 433aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_MODULE_ENABLE 0x00005001 443aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define EAGLE_DRIVER_ID 0xF2 453aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_GET_CACHE_SIZE _IOR(EAGLE_DRIVER_ID, 0, int) 463aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SET_CACHE_SIZE _IOW(EAGLE_DRIVER_ID, 1, int) 473aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_GET_PARAM _IOR(EAGLE_DRIVER_ID, 2, void*) 483aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SET_PARAM _IOW(EAGLE_DRIVER_ID, 3, void*) 493aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SET_CACHE_BLOCK _IOW(EAGLE_DRIVER_ID, 4, void*) 503aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SET_ACTIVE_DEVICE _IOW(EAGLE_DRIVER_ID, 5, void*) 513aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_GET_LICENSE _IOR(EAGLE_DRIVER_ID, 6, void*) 523aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SET_LICENSE _IOW(EAGLE_DRIVER_ID, 7, void*) 533aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SEND_LICENSE _IOW(EAGLE_DRIVER_ID, 8, int) 543aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_IOCTL_SET_VOLUME_COMMANDS _IOW(EAGLE_DRIVER_ID, 9, void*) 553aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_FLAG_IOCTL_PRE (1<<30) 563aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_FLAG_IOCTL_JUSTSETCACHE (1<<31) 573aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_FLAG_IOCTL_GETFROMCORE DTS_EAGLE_FLAG_IOCTL_JUSTSETCACHE 583aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_FLAG_IOCTL_MASK (~(DTS_EAGLE_FLAG_IOCTL_PRE | \ 593aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry DTS_EAGLE_FLAG_IOCTL_JUSTSETCACHE)) 603aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#define DTS_EAGLE_FLAG_ALSA_GET (1<<31) 613aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 623aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherrystruct dts_eagle_param_desc { 633aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry uint32_t id; 643aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry uint32_t size; 653aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry int32_t offset; 663aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry uint32_t device; 673aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry} __packed; 683aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry 693aa3a9df80e8cb9396bb0df45cb797e6b17a7e47Tom Cherry#endif 70