[alsa-devel] Help required with debugging
Harsha, Priya
priya.harsha at intel.com
Thu Jul 2 07:08:42 CEST 2009
Hi,
I see the following behavior and have a couple of questions that would help me debug my new driver/hardware.
snd_pcm_lib_read1() - > snd_pcm_update_hw_ptr()
->ops->ack()
This enables the driver to send data to hardware for capture
snd_pcm_period_elapsed() -> hw_ptr_interrupt
This updates the runtime->hw_ptr_jiffies. The jdelta calculated is proper and I find no issues with this.
snd_pcm_lib_read1() is returned back
Alsa calls driver's ack inbetween here
snd_pcm_period_elapsed() -> snd_pcm_update_ hw_ptr_interrupt
This updates the runtime->hw_ptr_jiffies. The jdelta calculated is proper and I find no issues with this.
snd_pcm_lib_read1() - > snd_pcm_update_ hw_ptr()
Here the runtime->hw_ptr_jiffies is updated and this causes my next jdelta to be very less in snd_pcm_period_elapsed() -> snd_pcm_update_hw_ptr_interrupt.
Why is runtime->hw_ptr_jiffies updated in hw_ptr()? This should be only updated in the interrupt context right? Without this statement, my driver/hardware works fine.
Or is there any constraint I can set somehow such that the hw_ptr_jiffies is only updated in the hw_ptr_interrupt function?
Thanks,
Harsha
More information about the Alsa-devel
mailing list