-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dw-dma: revert recent changes for Baytrail #1451
Conversation
Two recent commits: 7275e42 ('dw-dma: handle interrupts per core') 433de9f ('dw-dma: clear block/transfer irq after stop') broke DW-DMA on Baytrail. Though they seem logical, they don't produce the desired result on that platform. This patch restores the original behaviour on BYT, CHT, BDW and HSW. It also eliminates the redundant branch in the loop by replacing it with a simple mask to restore the original IRQ processing order: 1. clear the source IRQ 2. clear the platform IRQ 3. call the callbacks Signed-off-by: Guennadi Liakhovetski <[email protected]>
I just tested on a CHT device and even with this PR I still get a distorted sound with beating noise on a sine waves and freq distortion on front left/right tests. This was the same as on a Baytrail device (which seems to RIP). |
@lyakh Do you also see the distortions? |
@stevyan @Jiangxinx to test if this fixes thesofproject/linux#873 and if it's also the root cause of thesofproject/linux#933. @fredoh9 do you have a BYT with codec can give it a try, too? |
I have tested this PR on BYT rt5651 and BYT nocodec platform. Can not reproduce thesofproject/linux#873 . Kernel recipe |
Can you provide a recording of a sine wave showing that the data is correct? It's not about casual listening, you need to use specific test files such as a sine wave or a chirp. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need test as @plbossart mentioned.
@plbossart I have tested on BYT nocodec platform for thesofproject/linux#933 . I still can not hear beating noise. However, the left and right chennels seem to have changed without this PR1451, and it is correct with this PR. step sine wave Kernel recipe sine source |
ping, what's the status of this PR? It fixes a specific problem, no, it does nothing to improve the audio distortion problem on BYT. |
Fixes thesofproject/linux#873
Two recent commits:
7275e42 ('dw-dma: handle interrupts per core')
433de9f ('dw-dma: clear block/transfer irq after stop')
broke DW-DMA on Baytrail. Though they seem logical, they don't
produce the desired result on that platform. This patch restores the
original behaviour on BYT, CHT, BDW and HSW. It also eliminates the
redundant branch in the loop by replacing it with a simple mask to
restore the original IRQ processing order: