[Sound-open-firmware] [PATCH] host: Stop dma when pause
Pan, Xiuli
xiuli.pan at intel.com
Thu Mar 15 09:59:00 CET 2018
>On 2018年03月15日 13:19, Xiuli Pan wrote:
>> From: Pan Xiuli <xiuli.pan at linux.intel.com>
>>
>> For gw-dma host, we need to stop the dma to make sure status are correct
>> for resume.
>>
>> Signed-off-by: Pan Xiuli <xiuli.pan at linux.intel.com>
>>
>> ---
>> Test with:
>> Mininow max rt5651 and GP-MRB nocodec
>> SOF 1.1-stable: aa09938fd330232b201f5683faf8e32975ffcfac
>> SOF-Tool 1.1-stable: 8d9b8d51f9c60e1c1725e9ccd3da22c0b523d0cf
>> https://github.com/plbossart/sound/tree/topic/sof-v4.14:
>> 84ed2d3ba0220424dd441f3a28ed2fe83967ad3a
>> ---
>> src/audio/host.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/src/audio/host.c b/src/audio/host.c
>> index 287c886..744ca02 100644
>> --- a/src/audio/host.c
>> +++ b/src/audio/host.c
>> @@ -465,6 +465,9 @@ static int host_cmd(struct comp_dev *dev, int cmd,
>void *data)
>> return ret;
>>
>> switch (cmd) {
>> + case COMP_CMD_PAUSE:
>> + dma_stop(hd->dma, hd->chan);
>> + break;
>
>Hi Xiuli, do we need a dma_start() invoking for COMP_CMD_RELEASE also?
>
My test shows we did not need this. But we may need this to keep dma status in control.
Now I found some bugs are related to the dma & comp status mismatch.
We may have stop the dai or host, but the related dma is still running.
Thanks
Xiuli
>Thanks,
>~Keyon
>
>> case COMP_CMD_STOP:
>> ret = host_stop(dev);
>> break;
>>
More information about the Sound-open-firmware
mailing list