On Tue, May 06, 2014 at 04:53:18PM +0100, Liam Girdwood wrote:
On Mon, 2014-05-05 at 23:31 +0530, Vinod Koul wrote:
This patch adds DPCM based supprt for managing mrfld platform
Signed-off-by: Vinod Koul vinod.koul@intel.com
sound/soc/intel/Kconfig | 3 + sound/soc/intel/platform-libs/controls_v2.h | 754 +++++++++++++ sound/soc/intel/platform-libs/controls_v2_dpcm.c | 1315 ++++++++++++++++++++++ sound/soc/intel/platform-libs/sst_widgets.h | 378 +++++++ sound/soc/intel/platform_ipc_v2.h | 694 ++++++++++++ sound/soc/intel/sst-mfld-platform-compress.c | 8 +- sound/soc/intel/sst-mfld-platform-pcm.c | 384 ++++++- sound/soc/intel/sst-mfld-platform.h | 2 + 8 files changed, 3480 insertions(+), 58 deletions(-) create mode 100644 sound/soc/intel/platform-libs/controls_v2.h create mode 100644 sound/soc/intel/platform-libs/controls_v2_dpcm.c create mode 100644 sound/soc/intel/platform-libs/sst_widgets.h create mode 100644 sound/soc/intel/platform_ipc_v2.h
diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig index 422c32d..1254eb8 100644 --- a/sound/soc/intel/Kconfig +++ b/sound/soc/intel/Kconfig @@ -66,3 +66,6 @@ config SND_SOC_INTEL_MRFLD_WM8958_MACH used as alsa device in audio substem in Intel(R) MID devices Say Y if you have such a device If unsure select "N".
+config SND_INTEL_SST
tristate
diff --git a/sound/soc/intel/platform-libs/controls_v2.h b/sound/soc/intel/platform-libs/controls_v2.h new file mode 100644 index 0000000..7988d81 --- /dev/null +++ b/sound/soc/intel/platform-libs/controls_v2.h @@ -0,0 +1,754 @@ +/*
- controls_v2.h - Intel MID Platform driver header file
- Copyright (C) 2013-14 Intel Corp
- Author: Ramesh Babu ramesh.babu.koul@intel.com
- Omair M Abdullah omair.m.abdullah@intel.com
- Samreen Nilofer samreen.nilofer@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.
- */
+#ifndef __SST_CONTROLS_V2_H__ +#define __SST_CONTROLS_V2_H__
+enum {
- MERR_DPCM_AUDIO = 0,
- MERR_DPCM_COMPR,
SST_ prefix
yes definately thats required...
+enum sst_cmd {
- SBA_IDLE = 14,
- SBA_VB_SET_SPEECH_PATH = 26,
- MMX_SET_GAIN = 33,
- SBA_VB_SET_GAIN = 33,
- FBA_VB_RX_CNI = 35,
- MMX_SET_GAIN_TIMECONST = 36,
- SBA_VB_SET_TIMECONST = 36,
- FBA_VB_ANA = 37,
- FBA_VB_SET_FIR = 38,
- FBA_VB_SET_IIR = 39,
- SBA_VB_START_TONE = 41,
- SBA_VB_STOP_TONE = 42,
- FBA_VB_AEC = 47,
- FBA_VB_NR_UL = 48,
- FBA_VB_AGC = 49,
- FBA_VB_WNR = 52,
- FBA_VB_SLV = 53,
- FBA_VB_NR_DL = 55,
- SBA_PROBE = 66,
- MMX_PROBE = 66,
- FBA_VB_SET_BIQUAD_D_C = 69,
- FBA_VB_DUAL_BAND_COMP = 70,
- FBA_VB_SNS = 72,
- FBA_VB_SER = 78,
- FBA_VB_TX_CNI = 80,
- SBA_VB_START = 85,
- FBA_VB_SET_REF_LINE = 94,
- FBA_VB_SET_DELAY_LINE = 95,
- FBA_VB_BWX = 104,
- FBA_VB_GMM = 105,
- FBA_VB_GLC = 107,
- FBA_VB_BMF = 111,
- FBA_VB_DNR = 113,
- MMX_SET_SWM = 114,
- SBA_SET_SWM = 114,
- SBA_SET_MDRP = 116,
- SBA_HW_SET_SSP = 117,
- SBA_SET_MEDIA_LOOP_MAP = 118,
- SBA_SET_MEDIA_PATH = 119,
- MMX_SET_MEDIA_PATH = 119,
- FBA_VB_TNR_UL = 119,
- FBA_VB_TNR_DL = 121,
- FBA_VB_NLF = 125,
- SBA_VB_LPRO = 126,
- FBA_VB_MDRP = 127,
- SBA_VB_SET_FIR = 128,
- SBA_VB_SET_IIR = 129,
- SBA_SET_SSP_SLOT_MAP = 130,
- AWARE_ENV_CLASS_PARAMS = 130,
- VAD_ENV_CLASS_PARAMS = 2049,
+};
ditto
yes will fix namespace everwhere else too...
+#define MAX_DBG_RW_BYTES 80 +#define MAX_NUM_SCATTER_BUFFERS 8 +#define MAX_LOOP_BACK_DWORDS 8 +/* IPC base address and mailbox, timestamp offsets */ +#define SST_MAILBOX_SIZE 0x0400 +#define SST_MAILBOX_SEND 0x0000 +#define SST_TIME_STAMP 0x1800 +#define SST_TIME_STAMP_MRFLD 0x680 +#define SST_TIME_STAMP_BYT 0x800 +#define SST_RESERVED_OFFSET 0x1A00 +#define SST_SCU_LPE_MAILBOX 0x1000 +#define SST_LPE_SCU_MAILBOX 0x1400 +#define SST_SCU_LPE_LOG_BUF (SST_SCU_LPE_MAILBOX+16) +#define PROCESS_MSG 0x80
ditto (for some of the above)
This could probably benefit from being split into smaller patches too.
Yes will try to split to more logical bits. Already did with one patch series which Mark applied. It would help review and getting applied quicker too