[alsa-devel] [RFC 4/4] ASoC: Intel: add support for mrfld DPCM platform

Vinod Koul vinod.koul at intel.com
Tue May 6 18:46:06 CEST 2014


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 at 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 at intel.com>
> > + *  	Omair M Abdullah <omair.m.abdullah at intel.com>
> > + *  	Samreen Nilofer <samreen.nilofer at 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

-- 
~Vinod


More information about the Alsa-devel mailing list