On Sun, Jun 01, 2014 at 08:26:49PM +0100, Mark Brown wrote:
On Thu, May 29, 2014 at 03:33:36PM +0530, Vinod Koul wrote:
The DSPs like Intel ones use the DPCM to represent the DSP toplogy. So when DAPM triggers the widget, the DSP needs to know the kcontrol values and pass on to DSP firmware, so export these for driver use
I have to say that I share Lars' concerns with this one, especially for the set function (which doesn't quite gel with the description above) - it may be that this really is the best solution for the problem but it's not entirely clear what the problem is and like Lars says there's some other stuff in play here. If there's something that the core just isn't doing that any driver trying to do similar things is going to want we should fix the core instead of requring drivers to do work.
Well the problem is that we can't use the current ASoC handlers for platform side mixers etc. The current code assumes that mixer is only present in codecs so in snd_soc_put_volsw() it does snd_soc_update_bits_locked(codec,...) which wont work for platform side.
Hence we went ahead and did our own handler for platform side but need the dapm_kcontrol_set/get_value exported out. And yes I wouldn't have bothered you if this was to be kept out of tree, the plan is to get this merged :)
If we go ahead with Lar's series we may not need this, but am yet to test that bit.
Thanks