[alsa-devel] [PATCHv2 - CA0132 HDA Codec 1/2] ALSA: Update Creative CA0132 codec to add DSP features.
ian_minett at creativelabs.com
Sat Aug 4 05:29:44 CEST 2012
>So, the data transfer here is just like the normal PCM streaming?
>For example, if you have an op like
> int (*load_dsp)(struct hda_bus *bus, void *buffer, int size);
>and calling this for each segment would work?
>(In addition, we'd need to give some way to determine the stop
> condition in the codec side.)
Yes - this approach would work. We would also need to set the data
format, and control the stop condition.
For example, by adding the following ops to handle the dsp
/* format is 16-bit Stream Format Structure as defined in HDA spec.
pcm_prepare() callback in the codec will be called so that codec driver
can obtain the stream tag and format to set up the codec.
int (*load_dsp_prepare) \
(struct hda_bus *bus, unsigned short format, void *buffer, int size);
/* start the transfer. */
int (*load_dsp_start)(struct hda_bus *bus);
/* stop the transfer and flush the FIFO. */
int (*load_dsp_stop)(struct hda_bus *bus);
More information about the Alsa-devel