mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 09:28:24 +07:00
ASoC: SOF: loader: Use the BAR provided by FW
Make sure to use the newly introduced function snd_sof_dsp_get_bar_index that converts the section type to appropriate BAR index. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20190722141402.7194-8-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ce8234a635
commit
7198879ef5
@ -92,7 +92,7 @@ int snd_sof_parse_module_memcpy(struct snd_sof_dev *sdev,
|
||||
struct snd_sof_mod_hdr *module)
|
||||
{
|
||||
struct snd_sof_blk_hdr *block;
|
||||
int count;
|
||||
int count, bar;
|
||||
u32 offset;
|
||||
size_t remaining;
|
||||
|
||||
@ -128,6 +128,13 @@ int snd_sof_parse_module_memcpy(struct snd_sof_dev *sdev,
|
||||
case SOF_FW_BLK_TYPE_IRAM:
|
||||
case SOF_FW_BLK_TYPE_DRAM:
|
||||
offset = block->offset;
|
||||
bar = snd_sof_dsp_get_bar_index(sdev, block->type);
|
||||
if (bar < 0) {
|
||||
dev_err(sdev->dev,
|
||||
"error: no BAR mapping for block type 0x%x\n",
|
||||
block->type);
|
||||
return bar;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
dev_err(sdev->dev, "error: bad type 0x%x for block 0x%x\n",
|
||||
@ -145,7 +152,7 @@ int snd_sof_parse_module_memcpy(struct snd_sof_dev *sdev,
|
||||
block->size);
|
||||
return -EINVAL;
|
||||
}
|
||||
snd_sof_dsp_block_write(sdev, sdev->mmio_bar, offset,
|
||||
snd_sof_dsp_block_write(sdev, bar, offset,
|
||||
block + 1, block->size);
|
||||
|
||||
if (remaining < block->size) {
|
||||
|
Loading…
Reference in New Issue
Block a user