Mt7620 ASOC driver issue

Dear developers

I'm trying to fix a issue with mt7620 I2S audio, and will be very nice if you could help in such effort.

Basically when playing a 1KHz tone using aplay command, the audio starts crackling every time I wrote to the squash file system. It's easy to test, enough running echo "hello" > /some_file at the same time that aplay 1KHztone.wav. BTW I'm using different mt76x8 boards.

I've started checking 0048-asoc-add-mt7620-support.patch, but it will be nice if you could help me to debug further such problem.

Thank you!

Just for testing, what happens if you bump CONFIG_HZ to 1000?

Thank you for your answer. What I've done..
image
but I'm afraid that it doesn't help. Same results in audio

Just for reference, same test with an old AR9331 board works nicely in openwrt 14.07 (even with CONFIG_HZ=100)
My feeling is that something is wrong with I2S dma. I'm struggling how to prioritise I2S over the rest of dma tasks

Hi all
FYI I've enabled I2S interrupts and the problem is gone. No audio drops at all, board works nicelly reproducing audio with aplay, madplay or mpd

--- a/target/linux/ramips/patches-4.14/0048-asoc-add-mt7620-support.patch
+++ b/target/linux/ramips/patches-4.14/0048-asoc-add-mt7620-support.patch
@@ -196,7 +196,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#define RALINK_FLAGS_ENDIAN   BIT(3)
 +#define RALINK_FLAGS_24BIT    BIT(4)
 +
-+#define RALINK_I2S_INT_EN     0
++#define RALINK_I2S_INT_EN     1
 +
 +struct ralink_i2s_stats {
 +      u32 dmafault;

but now CPU is very busy serving I2S interrupt (CPU: usr increases from 14% to 80%). Somebody that can help with this or address me on the right way in order to fix it?