Skip to content

Commit 9bb0b6d

Browse files
abonislawskifabiobaltieri
authored andcommitted
dma: gpdma: fix llp config
This will setup llp config properly with dma_slot Signed-off-by: Adrian Bonislawski <[email protected]>
1 parent feffb24 commit 9bb0b6d

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

drivers/dma/dma_intel_adsp_gpdma.c

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ struct intel_adsp_gpdma_cfg {
4747
};
4848

4949
static void intel_adsp_gpdma_llp_config(const struct device *dev,
50-
uint32_t channel, uint32_t addr)
50+
uint32_t channel, uint32_t dma_slot)
5151
{
5252
#ifdef CONFIG_DMA_INTEL_ADSP_GPDMA_HAS_LLP
5353
const struct intel_adsp_gpdma_cfg *const dev_cfg = dev->config;
5454

5555
dw_write(dev_cfg->shim, GPDMA_CHLLPC_OFFSET(channel),
56-
GPDMA_CHLLPC_DHRS(addr));
56+
GPDMA_CHLLPC_DHRS(dma_slot));
5757
#endif
5858
}
5959

@@ -107,21 +107,13 @@ static int intel_adsp_gpdma_config(const struct device *dev, uint32_t channel,
107107
return res;
108108
}
109109

110-
struct dma_block_config *block_cfg = cfg->head_block;
111-
112110
/* Assume all scatter/gathers are for the same device? */
113111
switch (cfg->channel_direction) {
114112
case MEMORY_TO_PERIPHERAL:
115-
LOG_DBG("%s: dma %s configuring llp for destination %x",
116-
__func__, dev->name, block_cfg->dest_address);
117-
intel_adsp_gpdma_llp_config(dev, channel,
118-
block_cfg->dest_address);
119-
break;
120113
case PERIPHERAL_TO_MEMORY:
121-
LOG_DBG("%s: dma %s configuring llp for source %x",
122-
__func__, dev->name, block_cfg->source_address);
123-
intel_adsp_gpdma_llp_config(dev, channel,
124-
block_cfg->source_address);
114+
LOG_DBG("%s: dma %s configuring llp for %x",
115+
__func__, dev->name, cfg->dma_slot);
116+
intel_adsp_gpdma_llp_config(dev, channel, cfg->dma_slot);
125117
break;
126118
default:
127119
break;

0 commit comments

Comments
 (0)