15d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* 25d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 35d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * 45d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * This program is free software; you can redistribute it and/or modify 55d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * it under the terms of the GNU General Public License version 2 and 65d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * only version 2 as published by the Free Software Foundation. 75d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * 85d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * This program is distributed in the hope that it will be useful, 95d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * but WITHOUT ANY WARRANTY; without even the implied warranty of 105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * GNU General Public License for more details. 125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin */ 135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#ifndef _AUDIO_EFFECTS_H 155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define _AUDIO_EFFECTS_H 165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/** AUDIO EFFECTS **/ 185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* CONFIG GET/SET */ 215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define CONFIG_CACHE 0 225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define CONFIG_SET 1 235d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define CONFIG_GET 2 245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* CONFIG HEADER */ 265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* 275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin MODULE_ID, 295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin DEVICE, 305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin NUM_COMMANDS, 315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin COMMAND_ID_1, 325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin CONFIG_CACHE/SET/GET, 335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin OFFSET_1, 345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin LENGTH_1, 355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin VALUES_1, 365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin ..., 375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin ..., 385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin COMMAND_ID_2, 395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin CONFIG_CACHE/SET/GET, 405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin OFFSET_2, 415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin LENGTH_2, 425d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin VALUES_2, 435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin ..., 445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin ..., 455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin COMMAND_ID_3, 465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin ... 475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin*/ 485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* CONFIG PARAM IDs */ 515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_MODULE 0x00001000 525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_ENABLE 0x00001001 535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_STRENGTH 0x00001002 545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_OUT_TYPE 0x00001003 555d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_GAIN_ADJUST 0x00001004 565d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_ENABLE_PARAM_LEN 1 575d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_STRENGTH_PARAM_LEN 1 585d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_OUT_TYPE_PARAM_LEN 1 595d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_GAIN_ADJUST_PARAM_LEN 1 605d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 615d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_MODULE 0x00002000 625d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ENABLE 0x00002001 635d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_MODE 0x00002002 645d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_PRESET 0x00002003 655d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_WET_MIX 0x00002004 665d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_GAIN_ADJUST 0x00002005 675d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ROOM_LEVEL 0x00002006 685d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ROOM_HF_LEVEL 0x00002007 695d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DECAY_TIME 0x00002008 705d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DECAY_HF_RATIO 0x00002009 715d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_REFLECTIONS_LEVEL 0x0000200a 725d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_REFLECTIONS_DELAY 0x0000200b 735d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_LEVEL 0x0000200c 745d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DELAY 0x0000200d 755d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DIFFUSION 0x0000200e 765d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DENSITY 0x0000200f 775d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ENABLE_PARAM_LEN 1 785d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_MODE_PARAM_LEN 1 795d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_PRESET_PARAM_LEN 1 805d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_WET_MIX_PARAM_LEN 1 815d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_GAIN_ADJUST_PARAM_LEN 1 825d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ROOM_LEVEL_PARAM_LEN 1 835d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ROOM_HF_LEVEL_PARAM_LEN 1 845d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DECAY_TIME_PARAM_LEN 1 855d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DECAY_HF_RATIO_PARAM_LEN 1 865d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_REFLECTIONS_LEVEL_PARAM_LEN 1 875d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_REFLECTIONS_DELAY_PARAM_LEN 1 885d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_LEVEL_PARAM_LEN 1 895d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DELAY_PARAM_LEN 1 905d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DIFFUSION_PARAM_LEN 1 915d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DENSITY_PARAM_LEN 1 925d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 935d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_MODULE 0x00003000 945d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_ENABLE 0x00003001 955d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_MODE 0x00003002 965d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_STRENGTH 0x00003003 975d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_ENABLE_PARAM_LEN 1 985d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_MODE_PARAM_LEN 1 995d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_STRENGTH_PARAM_LEN 1 1005d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1015d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_MODULE 0x00004000 1025d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_ENABLE 0x00004001 1035d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG 0x00004002 1045d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_NUM_BANDS 0x00004003 1055d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_LEVELS 0x00004004 1065d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_LEVEL_RANGE 0x00004005 1075d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_FREQS 0x00004006 1085d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_SINGLE_BAND_FREQ_RANGE 0x00004007 1095d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_SINGLE_BAND_FREQ 0x00004008 1105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_INDEX 0x00004009 1115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_PRESET_ID 0x0000400a 1125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_NUM_PRESETS 0x0000400b 1135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_PRESET_NAME 0x0000400c 1145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_ENABLE_PARAM_LEN 1 1155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG_PARAM_LEN 3 1165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG_PER_BAND_PARAM_LEN 5 1175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_NUM_BANDS_PARAM_LEN 1 1185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_LEVELS_PARAM_LEN 13 1195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_LEVEL_RANGE_PARAM_LEN 2 1205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_FREQS_PARAM_LEN 13 1215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_SINGLE_BAND_FREQ_RANGE_PARAM_LEN 2 1225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_SINGLE_BAND_FREQ_PARAM_LEN 1 1235d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_INDEX_PARAM_LEN 1 1245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_PRESET_ID_PARAM_LEN 1 1255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_NUM_PRESETS_PARAM_LEN 1 1265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_PRESET_NAME_PARAM_LEN 32 1275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_TYPE_NONE 0 1295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BASS_BOOST 1 1305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BASS_CUT 2 1315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_TREBLE_BOOST 3 1325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_TREBLE_CUT 4 1335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_BOOST 5 1345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_CUT 6 1355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_MODULE 0x00006000 1375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_ENABLE 0x00006001 1385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_GAIN_2CH 0x00006002 1395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_GAIN_MASTER 0x00006003 1405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_ENABLE_PARAM_LEN 1 1415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_GAIN_2CH_PARAM_LEN 2 1425d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_GAIN_MASTER_PARAM_LEN 1 1435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_MODULE 0x00007000 1455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_ENABLE 0x00007001 1465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_GAIN_2CH 0x00007002 1475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_GAIN_MASTER 0x00007003 1485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_ENABLE_PARAM_LEN SOFT_VOLUME_ENABLE_PARAM_LEN 1495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_GAIN_2CH_PARAM_LEN SOFT_VOLUME_GAIN_2CH_PARAM_LEN 1505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME2_GAIN_MASTER_PARAM_LEN \ 1515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SOFT_VOLUME_GAIN_MASTER_PARAM_LEN 1525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_CONF_MODULE_ID 0x00010C2A 1545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_CONF_PARAM_ID 0x00010C49 1555d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1565d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_MODULE 0x00008000 1575d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_ENABLE 0x00008001 1585d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_CONFIG 0x00008002 1595d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_ENABLE_PARAM_LEN 1 1605d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_CONFIG_PARAM_LEN 28 1615d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1625d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define COMMAND_PAYLOAD_LEN 3 1635d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define COMMAND_PAYLOAD_SZ (COMMAND_PAYLOAD_LEN * sizeof(uint32_t)) 1645d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MAX_INBAND_PARAM_SZ 4096 1655d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define Q27_UNITY (1 << 27) 1665d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define Q8_UNITY (1 << 8) 1675d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define CUSTOM_OPENSL_PRESET 18 1685d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1695d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_ENABLE_PARAM_SZ \ 1705d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (VIRTUALIZER_ENABLE_PARAM_LEN*sizeof(uint32_t)) 1715d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_STRENGTH_PARAM_SZ \ 1725d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (VIRTUALIZER_STRENGTH_PARAM_LEN*sizeof(uint32_t)) 1735d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_OUT_TYPE_PARAM_SZ \ 1745d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (VIRTUALIZER_OUT_TYPE_PARAM_LEN*sizeof(uint32_t)) 1755d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIRTUALIZER_GAIN_ADJUST_PARAM_SZ \ 1765d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (VIRTUALIZER_GAIN_ADJUST_PARAM_LEN*sizeof(uint32_t)) 1775d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct virtualizer_params { 1785d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 1795d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t enable_flag; 1805d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t strength; 1815d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t out_type; 1825d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t gain_adjust; 1835d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 1845d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 1855d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define NUM_OSL_REVERB_PRESETS_SUPPORTED 6 1865d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ENABLE_PARAM_SZ \ 1875d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_ENABLE_PARAM_LEN*sizeof(uint32_t)) 1885d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_MODE_PARAM_SZ \ 1895d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_MODE_PARAM_LEN*sizeof(uint32_t)) 1905d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_PRESET_PARAM_SZ \ 1915d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_PRESET_PARAM_LEN*sizeof(uint32_t)) 1925d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_WET_MIX_PARAM_SZ \ 1935d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_WET_MIX_PARAM_LEN*sizeof(uint32_t)) 1945d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_GAIN_ADJUST_PARAM_SZ \ 1955d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_GAIN_ADJUST_PARAM_LEN*sizeof(uint32_t)) 1965d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ROOM_LEVEL_PARAM_SZ \ 1975d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_ROOM_LEVEL_PARAM_LEN*sizeof(uint32_t)) 1985d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_ROOM_HF_LEVEL_PARAM_SZ \ 1995d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_ROOM_HF_LEVEL_PARAM_LEN*sizeof(uint32_t)) 2005d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DECAY_TIME_PARAM_SZ \ 2015d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_DECAY_TIME_PARAM_LEN*sizeof(uint32_t)) 2025d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DECAY_HF_RATIO_PARAM_SZ \ 2035d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_DECAY_HF_RATIO_PARAM_LEN*sizeof(uint32_t)) 2045d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_REFLECTIONS_LEVEL_PARAM_SZ \ 2055d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_REFLECTIONS_LEVEL_PARAM_LEN*sizeof(uint32_t)) 2065d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_REFLECTIONS_DELAY_PARAM_SZ \ 2075d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_REFLECTIONS_DELAY_PARAM_LEN*sizeof(uint32_t)) 2085d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_LEVEL_PARAM_SZ \ 2095d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_LEVEL_PARAM_LEN*sizeof(uint32_t)) 2105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DELAY_PARAM_SZ \ 2115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_DELAY_PARAM_LEN*sizeof(uint32_t)) 2125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DIFFUSION_PARAM_SZ \ 2135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_DIFFUSION_PARAM_LEN*sizeof(uint32_t)) 2145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define REVERB_DENSITY_PARAM_SZ \ 2155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (REVERB_DENSITY_PARAM_LEN*sizeof(uint32_t)) 2165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct reverb_params { 2175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 2185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t enable_flag; 2195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t mode; 2205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t preset; 2215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t wet_mix; 2225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t gain_adjust; 2235d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t room_level; 2245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t room_hf_level; 2255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t decay_time; 2265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t decay_hf_ratio; 2275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t reflections_level; 2285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t reflections_delay; 2295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t level; 2305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t delay; 2315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t diffusion; 2325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t density; 2335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 2345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 2355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_ENABLE_PARAM_SZ \ 2365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (BASS_BOOST_ENABLE_PARAM_LEN*sizeof(uint32_t)) 2375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_MODE_PARAM_SZ \ 2385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (BASS_BOOST_MODE_PARAM_LEN*sizeof(uint32_t)) 2395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define BASS_BOOST_STRENGTH_PARAM_SZ \ 2405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (BASS_BOOST_STRENGTH_PARAM_LEN*sizeof(uint32_t)) 2415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct bass_boost_params { 2425d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 2435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t enable_flag; 2445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t mode; 2455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t strength; 2465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 2475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 2485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 2495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MAX_EQ_BANDS 12 2505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MAX_OSL_EQ_BANDS 5 2515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_ENABLE_PARAM_SZ \ 2525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_ENABLE_PARAM_LEN*sizeof(uint32_t)) 2535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG_PARAM_SZ \ 2545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_CONFIG_PARAM_LEN*sizeof(uint32_t)) 2555d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG_PER_BAND_PARAM_SZ \ 2565d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_CONFIG_PER_BAND_PARAM_LEN*sizeof(uint32_t)) 2575d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG_PARAM_MAX_LEN (EQ_CONFIG_PARAM_LEN+\ 2585d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin MAX_EQ_BANDS*EQ_CONFIG_PER_BAND_PARAM_LEN) 2595d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_CONFIG_PARAM_MAX_SZ \ 2605d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_CONFIG_PARAM_MAX_LEN*sizeof(uint32_t)) 2615d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_NUM_BANDS_PARAM_SZ \ 2625d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_NUM_BANDS_PARAM_LEN*sizeof(uint32_t)) 2635d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_LEVELS_PARAM_SZ \ 2645d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_BAND_LEVELS_PARAM_LEN*sizeof(uint32_t)) 2655d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_LEVEL_RANGE_PARAM_SZ \ 2665d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_BAND_LEVEL_RANGE_PARAM_LEN*sizeof(uint32_t)) 2675d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_FREQS_PARAM_SZ \ 2685d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_BAND_FREQS_PARAM_LEN*sizeof(uint32_t)) 2695d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_SINGLE_BAND_FREQ_RANGE_PARAM_SZ \ 2705d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_SINGLE_BAND_FREQ_RANGE_PARAM_LEN*sizeof(uint32_t)) 2715d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_SINGLE_BAND_FREQ_PARAM_SZ \ 2725d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_SINGLE_BAND_FREQ_PARAM_LEN*sizeof(uint32_t)) 2735d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_BAND_INDEX_PARAM_SZ \ 2745d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_BAND_INDEX_PARAM_LEN*sizeof(uint32_t)) 2755d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_PRESET_ID_PARAM_SZ \ 2765d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_PRESET_ID_PARAM_LEN*sizeof(uint32_t)) 2775d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EQ_NUM_PRESETS_PARAM_SZ \ 2785d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (EQ_NUM_PRESETS_PARAM_LEN*sizeof(uint8_t)) 2795d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct eq_config_t { 2805d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t eq_pregain; 2815d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t preset_id; 2825d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t num_bands; 2835d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 2845d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct eq_per_band_config_t { 2855d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t band_idx; 2865d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t filter_type; 2875d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t freq_millihertz; 2885d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t gain_millibels; 2895d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t quality_factor; 2905d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 2915d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct eq_per_band_freq_range_t { 2925d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t band_index; 2935d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t min_freq_millihertz; 2945d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t max_freq_millihertz; 2955d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 2965d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 2975d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct eq_params { 2985d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 2995d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t enable_flag; 3005d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct eq_config_t config; 3015d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct eq_per_band_config_t per_band_cfg[MAX_EQ_BANDS]; 3025d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct eq_per_band_freq_range_t per_band_freq_range[MAX_EQ_BANDS]; 3035d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t band_index; 3045d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t freq_millihertz; 3055d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 3065d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 3075d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_ENABLE_PARAM_SZ \ 3085d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (PBE_ENABLE_PARAM_LEN*sizeof(uint32_t)) 3095d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define PBE_CONFIG_PARAM_SZ \ 3105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (PBE_CONFIG_PARAM_LEN*sizeof(uint16_t)) 3115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct pbe_config_t { 3125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t real_bass_mix; 3135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t bass_color_control; 3145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t main_chain_delay; 3155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t xover_filter_order; 3165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t bandpass_filter_order; 3175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t drc_delay; 3185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t rms_tav; 3195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t exp_threshold; 3205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t exp_slope; 3215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t comp_threshold; 3225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t comp_slope; 3235d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t makeup_gain; 3245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t comp_attack; 3255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t comp_release; 3265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t exp_attack; 3275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t exp_release; 3285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_bass_threshold; 3295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_high_threshold; 3305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_bass_makeup_gain; 3315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_high_makeup_gain; 3325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_bass_gc; 3335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_high_gc; 3345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int16_t limiter_delay; 3355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint16_t reserved; 3365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin /* place holder for filter coeffs to be followed */ 3375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t p1LowPassCoeffs[5*2]; 3385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t p1HighPassCoeffs[5*2]; 3395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t p1BandPassCoeffs[5*3]; 3405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t p1BassShelfCoeffs[5]; 3415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t p1TrebleShelfCoeffs[5]; 342d9ec20e66310e5fa84a1de1c3303748f6b690542Patrick Tjin} __packed; 3435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 3445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct pbe_params { 3455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 3465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t enable_flag; 3475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t cfg_len; 3485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct pbe_config_t config; 3495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 3505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 3515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_ENABLE_PARAM_SZ \ 3525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (SOFT_VOLUME_ENABLE_PARAM_LEN*sizeof(uint32_t)) 3535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_GAIN_MASTER_PARAM_SZ \ 3545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (SOFT_VOLUME_GAIN_MASTER_PARAM_LEN*sizeof(uint32_t)) 3555d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SOFT_VOLUME_GAIN_2CH_PARAM_SZ \ 3565d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin (SOFT_VOLUME_GAIN_2CH_PARAM_LEN*sizeof(uint16_t)) 3575d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct soft_volume_params { 3585d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 3595d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t enable_flag; 3605d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t master_gain; 3615d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t left_gain; 3625d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t right_gain; 3635d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 3645d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 3655d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct msm_nt_eff_all_config { 3665d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct bass_boost_params bass_boost; 3675d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct pbe_params pbe; 3685d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct virtualizer_params virtualizer; 3695d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct reverb_params reverb; 3705d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct eq_params equalizer; 3715d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct soft_volume_params saplus_vol; 3725d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct soft_volume_params topo_switch_vol; 3735d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 3745d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 3755d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#endif /*_MSM_AUDIO_EFFECTS_H*/ 376