embedded OSS sound driver

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

Reply to
Jacky Cheung
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.