ASoC: Intel: Skylake: Remove BE copier blob memcpy
authorJeeja KP <jeeja.kp@intel.com>
Thu, 22 Oct 2015 17:52:35 +0000 (23:22 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 23 Oct 2015 16:31:34 +0000 (01:31 +0900)
The BE copier private data allowed endpoint configuration blobs, now these
are queried from BIOS, we don't need to copy the blob, but only capability.

Removing the blob from private data will not allocate memory for module
specific config in which case memcpy will fail. Fix is to assign the ptr
queried from the NHLT table for the endpoint configuration.

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-topology.c

index a5d8420..7c92085 100644 (file)
@@ -926,7 +926,7 @@ static int skl_tplg_be_fill_pipe_params(struct snd_soc_dai *dai,
                                        params->s_freq, params->stream);
        if (cfg) {
                mconfig->formats_config.caps_size = cfg->size;
-               memcpy(mconfig->formats_config.caps, &cfg->caps, cfg->size);
+               mconfig->formats_config.caps = (u32 *) &cfg->caps;
        } else {
                dev_err(dai->dev, "Blob NULL for id %x type %d dirn %d\n",
                                        mconfig->vbus_id, link_type,