My new ALSA driver is playing the first three samples in a loop. It's not progressing forward in the wav file. It's behaving like I'm not calling snd_pcm_period_elapsed() but I have a printk() in it so I'm sure it is being called. Later samples are not getting copied into the DMA buffer,
Can anyone give me a clue as to what to look for?
root@phyCORE-MPC5200B-tiny:~ aplay phone.wav snd_pcm_playback_open snd_pcm_open snd_pcm_open_file snd_pcm_open_substream mpc5200-psc-ac97 f0002200.sound: psc_dma_startup(substream=c78bd800) mpc5200-psc-ac97 f0002200.sound: psc_dma_pcm_open(substream=c78bd800) Playing WAVE 'phone.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo mpc5200-psc-ac97 f0002200.sound: psc_ac97_hw_analog_params(substream=c78bd800) p_size=5513 p_bytes=22052 periods=3 buffer_size=22050 buffer_bytes=88200 channels=2 snd_pcm_prepare stac9766: ac97_analog_prepare rate 44100 mpc5200-psc-ac97 f0002200.sound: psc_dma_trigger(substream=c78bd800, cmd=1) stream_id=0 snd_pcm_hwsync snd_pcm_update_hw_ptr snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 5513 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 11026 snd_pcm_period_elapsed snd_pcm_update_hw_ptr_interrupt 0 Aborted by signal Interrupt... mpc5200-psc-ac97 f0002200.sound: psc_dma_trigger(substream=c78bd800, cmd=0) stream_id=0 mpc5200-psc-ac97 f0002200.sound: psc_dma_shutdown(substream=c78bd800) mpc5200-psc-ac97 f0002200.sound: psc_dma_pcm_close(substream=c78bd800) root@phyCORE-MPC5200B-tiny: