[alsa-devel] [PATCH] ALSA: compress: Add DSP private metadata interface

Vinod Koul vinod.koul at intel.com
Tue Feb 23 10:42:23 CET 2016


On Tue, Feb 23, 2016 at 10:31:18AM +0100, Takashi Iwai wrote:
> Add Vinod to Cc.
> 
> On Mon, 22 Feb 2016 18:54:31 +0100,
> Tim Sheridan wrote:
> > 
> > Provides an area to communicate with a DSP to implement support for
> > weird and wonderful features of DSP hardware that aren't supported in
> > the compress offload API.

And compress API was never intended for that :)

Can you tell me the awesome features you would like to support using this
API and I would try to provide you a standard alsa way to do that...

The intention of compress API is to provide a streaming interface for data
transfer and nothing more. To implement DSP features and control them, you
need to look at alsa control interface

> > 
> > Signed-off-by: Tim Sheridan <tim.sheridan at imgtec.com>

Btw there was another person from imgtec who had similar request last year,
never heard back from him after he was supposed to fix stuff in his driver
and come back

> 
> Don't you have the code actually implement this ioctl?
> Or, is there anything I miss?
> 
> 
> thanks,
> 
> Takashi
> 
> > ---
> >  include/uapi/sound/compress_offload.h |    6 +++++-
> >  1 files changed, 5 insertions(+), 1 deletions(-)
> > 
> > diff --git a/include/uapi/sound/compress_offload.h b/include/uapi/sound/compress_offload.h
> > index e00d8cb..65ac445 100644
> > --- a/include/uapi/sound/compress_offload.h
> > +++ b/include/uapi/sound/compress_offload.h
> > @@ -30,7 +30,7 @@
> >  #include <sound/compress_params.h>
> >  
> >  
> > -#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 2)
> > +#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 3)
> >  /**
> >   * struct snd_compressed_buffer - compressed buffer
> >   * @fragment_size: size of buffer fragment in bytes
> > @@ -150,6 +150,8 @@ struct snd_compr_metadata {
> >   * SNDRV_COMPRESS_SET_PARAMS: Set codec and stream parameters
> >   * Note: only codec params can be changed runtime and stream params cant be
> >   * SNDRV_COMPRESS_GET_PARAMS: Query codec params
> > + * SNDRV_COMPRESS_SET_DSP_PRIV: Set private DSP metadata
> > + * SNDRV_COMPRESS_GET_DSP_PRIV: Get private DSP metadata
> >   * SNDRV_COMPRESS_TSTAMP: get the current timestamp value
> >   * SNDRV_COMPRESS_AVAIL: get the current buffer avail value.
> >   * This also queries the tstamp properties
> > @@ -171,6 +173,8 @@ struct snd_compr_metadata {
> >  						 struct snd_compr_metadata)
> >  #define SNDRV_COMPRESS_GET_METADATA	_IOWR('C', 0x15,\
> >  						 struct snd_compr_metadata)
> > +#define SNDRV_COMPRESS_SET_DSP_PRIV	_IOW('C', 0x16, struct snd_compr_metadata)
> > +#define SNDRV_COMPRESS_GET_DSP_PRIV	_IOWR('C', 0x17, struct snd_compr_metadata)
> >  #define SNDRV_COMPRESS_TSTAMP		_IOR('C', 0x20, struct snd_compr_tstamp)
> >  #define SNDRV_COMPRESS_AVAIL		_IOR('C', 0x21, struct snd_compr_avail)
> >  #define SNDRV_COMPRESS_PAUSE		_IO('C', 0x30)
> > -- 
> > 1.7.1
> > 
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel at alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > 

-- 
~Vinod


More information about the Alsa-devel mailing list