Discussion:
[meta-freescale] Framebuffer problem with Qt on Kontron SMARC sAMX6i
Andreas Enbacka
2015-12-07 13:52:33 UTC
Permalink
Hello,



I have been able to get HDMI output working on Yocto Daisy with the Kontron
patch for SMARC sAMX6i. Now I am trying to run an embedded Qt application
using eglfs.

The application starts up and picture is displayed on HDMI, however, I get
random blank display when e.g., moving the mouse cursor around. On the
console, I get an error message



mxc_sdc_fb mxc_sdc_fb.19: timeout when waiting for flip irq



multiple times. I am booting the kernel with the following U-boot arguments
(nfs boot):



setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw ip=dhcp nfsroot=.
video=mxcfb0:dev=hdmi,***@60,if=RGB24'



Any information what could cause the issue would be greatly appreciated.



Best regards,

Andreas Enbacka
Nikita Yushchenko
2015-12-08 06:54:36 UTC
Permalink
Post by Andreas Enbacka
Hello,
I have been able to get HDMI output working on Yocto Daisy with the Kontron
patch for SMARC sAMX6i. Now I am trying to run an embedded Qt application
using eglfs.
The application starts up and picture is displayed on HDMI, however, I get
random blank display when e.g., moving the mouse cursor around. On the
console, I get an error message
mxc_sdc_fb mxc_sdc_fb.19: timeout when waiting for flip irq
multiple times.
I have seen this while working on sAMX6i BSP, both 3.10 based
(daisy/dizzy) and 3.14 based (fido).

Not sure message is directly related - at least, it does not show always
when issue arises.

Per my understanding, this is caused by not enough bus throughput at
some point. When something else is accessing framebuffer memory, and/or
IPU is doing something else, something on HDMI data path is not able to
read or process data in time, this causes HDMI output signal
interruption, this causes temporary black screen. Problem can become
even worse on massive screen update (i.e. video playback) when screen
goes completely black.

I don't know what in particular is reason of this. Maybe some clock is
running at slower rate than it should?
I did not modify anything related to IPU or HDMI in sAMX6i kernel, this
part is unmodified linux-imx. I can guess that problem should be visible
sometimes on other imx6 boards, although I've never seen any reports of
that.

Possible workarounds are:
- make sure that bandwidth is not being wasted for other screen
(echo 1 > /sys/class/grapthis/fb2/blank)
- use lower framebuffer bpp
- use lower screen resolution

Nikita
--
Andreas Enbacka
2015-12-08 14:18:42 UTC
Permalink
Hello,

Thanks for the suggestion, indeed it seems that using a lower screen resolution on HDMI did solve the blanking problem.

Best regards,
Andreas

-----Original Message-----
From: Nikita Yushchenko [mailto:***@dev.rtsoft.ru]
Sent: 8. joulukuutata 2015 8:55
To: Andreas Enbacka <"***@gasera.fi"@smtp2.eteinen.fi>
Cc: meta-***@yoctoproject.org
Subject: Re: [meta-freescale] Framebuffer problem with Qt on Kontron SMARC sAMX6i
Post by Andreas Enbacka
Hello,
I have been able to get HDMI output working on Yocto Daisy with the
Kontron patch for SMARC sAMX6i. Now I am trying to run an embedded Qt
application using eglfs.
The application starts up and picture is displayed on HDMI, however, I
get random blank display when e.g., moving the mouse cursor around. On
the console, I get an error message
mxc_sdc_fb mxc_sdc_fb.19: timeout when waiting for flip irq
multiple times.
I have seen this while working on sAMX6i BSP, both 3.10 based
(daisy/dizzy) and 3.14 based (fido).

Not sure message is directly related - at least, it does not show always when issue arises.

Per my understanding, this is caused by not enough bus throughput at some point. When something else is accessing framebuffer memory, and/or IPU is doing something else, something on HDMI data path is not able to read or process data in time, this causes HDMI output signal interruption, this causes temporary black screen. Problem can become even worse on massive screen update (i.e. video playback) when screen goes completely black.

I don't know what in particular is reason of this. Maybe some clock is running at slower rate than it should?
I did not modify anything related to IPU or HDMI in sAMX6i kernel, this part is unmodified linux-imx. I can guess that problem should be visible sometimes on other imx6 boards, although I've never seen any reports of that.

Possible workarounds are:
- make sure that bandwidth is not being wasted for other screen (echo 1 > /sys/class/grapthis/fb2/blank)
- use lower framebuffer bpp
- use lower screen resolution

Nikita

--

Loading...