drivers: Intel: hda-dma: only check DGCS_BUSY with delayed stop

When an older kernel is used, we use the immediate stop. On some
platforms, we see an -EBUSY error that prevents the trigger stop from
working.

This patch adds a check to be 'bug-compatible' with previous releases
and older kernels. An additional fix would be to insert a poll timeout
to make sure the BUSY bit is cleared.

BugLink: https://github.com/thesofproject/sof/issues/4919
Fixes: 7e54f456e ('drivers: Intel: hda-dma: ensure DMA channel is idle after stop')
Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
(cherry picked from commit 9e4b18d19f3aec198e67962bcd7a92df84fa51e8)
1 file changed
tree: 50b9c8721d919c2f505afafd04ed7c9c177b6a77
  1. .github/
  2. doc/
  3. installer/
  4. keys/
  5. scripts/
  6. smex/
  7. src/
  8. test/
  9. tools/
  10. zephyr/
  11. .gitignore
  12. .gitmodules
  13. .travis.yml
  14. CMakeLists.txt
  15. CODEOWNERS
  16. Kconfig
  17. Kconfig.sof
  18. Kconfig.xtos-build
  19. Kconfig.xtos-dbg
  20. LICENCE
  21. README.md
README.md

Sound Open Firmware

Status

GitHub Actions Build Status Gitter chat

Documentation

See docs

Running the tests

See unit testing documentation

Deployment

TODO: Add additional notes about how to deploy this on a live system

Contributing

See Contributing to the Project

License

This project is licensed under the BSD Clause 3 - see the LICENCE file for details