Repository navigation
Conversation
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
lgirdwood
left a comment
There was a problem hiding this comment.
Please provide a commit message and does this work for STOP ?
|
@lgirdwood @@ -491,6 +488,9 @@ static int dw_dma_stop(struct dma *dma, int channel)
dw_write(dma, DW_DMA_CHAN_EN, CHAN_DISABLE(channel));
#if DW_USE_HW_LLI
+ trace_dma_error("Dli");
+ trace_error_value(dw_read(dma, DW_DMA_CHAN_EN));
+ trace_error_value(channel);
lli = p->chan[channel].lli;
for (i = 0; i < p->chan[channel].desc_count; i++) {
lli->ctrl_hi &= ~DW_CTLH_DONE(1);
|
|
@lgirdwood |
|
@xiulipan the DMA LLI needs next LLI + 1 set to NULL before it's reloaded to stop the DMAC in HW LLI mode. Can you confirm you are doing this ? |
|
@lgirdwood The same code works find on APL and CNL, but on BYT it seems have different behavior. |
Enabel HW LLI for BYT and CHT requested from #342