Commit 4e0277d2 authored by G Kranthi's avatar G Kranthi Committed by Mark Brown
Browse files

ASoC: Intel: Skylake: Modify arguments to reuse module transfer function



Kabylake also uses code loader dma for module load and library load.
skl_transfer_module can be reused. Modify the arguments to include
library index to be passed to lib load ipc and module/lib check to use
correct ipc for lib/module load.

Signed-off-by: default avatarG Kranthi <gudishax.kranthikumar@intel.com>
Signed-off-by: default avatarSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Acked-by: default avatarVinod Koul <vinod.koul@intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ebe89076
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -325,7 +325,7 @@ static struct skl_module_table *skl_module_get_from_id(
}

static int skl_transfer_module(struct sst_dsp *ctx, const void *data,
				u32 size, u16 mod_id)
			u32 size, u16 mod_id, u8 table_id, bool is_module)
{
	int ret, bytes_left, curr_pos;
	struct skl_sst *skl = ctx->thread_context;
@@ -335,11 +335,13 @@ static int skl_transfer_module(struct sst_dsp *ctx, const void *data,
	if (bytes_left < 0)
		return bytes_left;

	if (is_module) { /* load module */
		ret = skl_ipc_load_modules(&skl->ipc, SKL_NUM_MODULES, &mod_id);
		if (ret < 0) {
			dev_err(ctx->dev, "Failed to Load module: %d\n", ret);
			goto out;
		}
	}

	/*
	 * if bytes_left > 0 then wait for BDL complete interrupt and
@@ -393,7 +395,8 @@ static int skl_load_module(struct sst_dsp *ctx, u16 mod_id, u8 *guid)

	if (!module_entry->usage_cnt) {
		ret = skl_transfer_module(ctx, module_entry->mod_info->fw->data,
				module_entry->mod_info->fw->size, mod_id);
				module_entry->mod_info->fw->size,
				mod_id, 0, true);
		if (ret < 0) {
			dev_err(ctx->dev, "Failed to Load module\n");
			return ret;