Do you have a question? Post it now! No Registration Necessary
- Jacky Cheung
July 21, 2004, 10:57 am

Hi all,
Currently I am working an embedded OSS sound driver, my sound IC is
controlled by i2c and with ssi channels.
Due to my i2c is really heavy loaded, so I need to disable the dma
before access the the sound IC register (e.g. volume control)via i2c.
I use the following two scripts to disable the dma.
dmaflags = claim_dma_lock();
disable_dma(ssi_dma);
And I use these lines to enable the dma.
enable_dma(ssi_dma);
release_dma_lock(dmaflags);
However, I find that when I tune the volume very frequently, the sound
play faster than normal. I am very sure that it caused by stopping dma,
but I don't know how to fix it. Any idea?
Many thanks.
Regards,
Jacky
Currently I am working an embedded OSS sound driver, my sound IC is
controlled by i2c and with ssi channels.
Due to my i2c is really heavy loaded, so I need to disable the dma
before access the the sound IC register (e.g. volume control)via i2c.
I use the following two scripts to disable the dma.
dmaflags = claim_dma_lock();
disable_dma(ssi_dma);
And I use these lines to enable the dma.
enable_dma(ssi_dma);
release_dma_lock(dmaflags);
However, I find that when I tune the volume very frequently, the sound
play faster than normal. I am very sure that it caused by stopping dma,
but I don't know how to fix it. Any idea?
Many thanks.
Regards,
Jacky
Site Timeline
- » USB modem help required please
- — Next thread in » Embedded Linux
-
- » Picking a processor. (homebuilt MP3 player).
- — Previous thread in » Embedded Linux
-
- » Crosscompiling for ARM: reloc type R_ARM_ABS32 is not supported for PIC - ...
- — Newest thread in » Embedded Linux
-
- » Co wetknÄ…c w dziury o rastrze 1.27?
- — The site's Newest Thread. Posted in » Electronics (Polish)
-