
On 09/21/2012 10:22 AM, Anatolij Gustschin wrote:
Hi Eric,
On Fri, 21 Sep 2012 09:38:23 -0700 Eric Nelsoneric.nelson@boundarydevices.com wrote:
Hi all,
While looking into some trouble booting the latest Linux kernel patches for i.MX6 display support, I found that the kernel driver was thrown off by the interrupt status bits in the i.MX6 IPU.
Until and unless we have the ability to hand off a 'live' display, it seems that we should disable the video driver as a part of the 'bootm' process.
At the very least, doing this will avoid the possibility of trash on the display during the transition.
I've been looking, and I don't see a place to tap into this process. It seems that having a shutdown routine for the display drivers (cfb_console?) is the way to go.
cfb_console driver is a renderer of the characters and bitmaps to the framebuffer memory and is not a good place for a shutdown routine, I think. But we can add a shutdown function to the IPU driver drivers/video/mxc_ipuv3_fb.c and call it before booting. bootm code in common/cmd_bootm.c has a weak arch_preboot_os() function that can be overridden by platform specific preboot routine. We could define a preboot function in
arch/arm/cpu/armv7/mx6/soc.c
or in arch/arm/cpu/armv7/imx-common/cpu.c
and call IPU shutdown routine in it.
Thanks Anatolij.
This is just what we need. I'll send a patch shortly.