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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

1,131 Views
vm18553
Contributor II

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

Labels (1)
0 Kudos
4 Replies

886 Views
fabio_estevam
NXP Employee
NXP Employee

Hi Vishnu,

It does not seem to be a good approach to backport the HDMI audio driver from 4.8 to 3.10.

3.10 is very old and there is more recent kernel provided by NXP or by the linux community.

You can try NXP 4.9 kernel or kernel 4.13 from kernel.org.

Regards,

Fabio Estevam

0 Kudos

886 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vishnu

from log : "imx-ldb ldb.15: unable to set di1 parent clock to original parent"

so one can check if implemented ldb clock switching described in

EB821 LDB Clock Switch Procedure
https://www.nxp.com/docs/en/engineering-bulletin/EB821.pdf

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

886 Views
vm18553
Contributor II

Dear igor,

Thanks for the reply.

I've a doubt, I can see log message " imx-ldb ldb.15: unable to set di1 parent clock to original parent" is from drivers/gpu/drm/imx/imx-ldb.c:199 - This is i.MX drm driver for - LVDS display bridge .

So, message is related to display. How is this affecting HDMI audio?

Regards,

Vishnu

0 Kudos

886 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vishnu

 

not directly, but as every error it may have side effects.

HDMI audio is quite sensitive to clock and supported only

with resolutions given in sect. 33.4.3 Supported Video Mode i.MX6DQ RM

http://www.nxp.com/docs/en/reference-manual/IMX6DQRM.pdf 

 

Best regards
igor

0 Kudos