On Thu, 2012-08-02 at 19:09 +0100, Mark Brown wrote:
+int soc_compr_set_params(struct snd_compr_stream *cstream,
struct snd_compr_params *params)
+{
- snd_soc_dai_digital_mute(codec_dai, 0);
This looks wrong - the unmute should be associated with the start of the data transfer rather than the configuration. But we don't have any other ops... can we have one, or a non-atomic trigger?
Sure we discussed this, but wasnt too sure. Will change to trigger, it seem the correct way.
- /* check client and interface hw capabilities */
- snprintf(new_name, sizeof(new_name), "%s %s-%d",
rtd->dai_link->stream_name, codec_dai->name, num);
- /* TODO add support for cature */
Meow :)
:D, some trvial ocde was still misisng, rest of the code should work for both although havent been able to test that part.
- printk(KERN_INFO "asoc: %s <-> %s mapping ok\n", codec_dai->name,
cpu_dai->name);
Say it's a compressed mapping?
- if (cpu_dai->driver->compress_dai) {
/*create compress device*/
ret = soc_new_compress(rtd, num);
if (ret < 0 ) {
printk(KERN_ERR "asoc: can't create offload %s\n",
dai_link->stream_name);
return ret;
}
Should we be complaining here if there's PCM operations too?
I think so. A device should be either PCM or compress.
Alternatively, should we support mixed PCM and compressed DAIs (possibly be creating two pcms from a single dai_link)?
I can't perceive why that should be done :)