AnsweredAssumed Answered

Buffer Underrun error on i.MX.6 with DesignWare HDMI Controller

Question asked by Vishnu Motghare on Nov 3, 2017
Latest reply on Nov 6, 2017 by igorpadykov

Hi All,

 

I'm using i.MX6 board which has dw-hdmi Synopsys DesignWare HDMI Controller. I 'm using linux-3.10 kernel version which doesn't have DRM support for Synopsys.  So, I back ported drm driver from linux-4.8. 

Confirmed the driver is ported properly by aplay -l command.

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: DWHDMI [DW-HDMI], device 0: DW HDMI [dw-hdmi-ahb-audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 

I played the .wav file using following following command and it played without any error.

# aplay -D plughw:0,0 eine_44k_stereo16.wav
Playing WAVE 'eine_44k_stereo16.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
imx-ldb ldb.15: unable to set di1 parent clock to original parent

 

But when I'm playing for second time I'm getting  buffer underrun error.

 

aplay -D plughw:0,0 eine_44k_stereo16.wav
Playing WAVE 'eine_44k_stereo16.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
underrun!!! (at least 0.046 ms long)
underrun!!! (at least 0.020 ms long)
underrun!!! (at least 0.019 ms long)
underrun!!! (at least 0.074 ms long)

 

Question is, why it's not giving error first time?  Did I miss anything while back porting?

I read about buffer underrun , when application is not able to fill buffer in time then will get buffer underrun error.

Does that mean problem of aplay ?

 

Regards,

Vishnu

Outcomes