Kernel 4.1.15 Hangs on HDMI [SOLVED]

Moderators: Oren.R, Eran.M

PierreOlivier
Posts: 23
Joined: Sun May 29, 2016 10:44 am

Kernel 4.1.15 Hangs on HDMI [SOLVED]

Postby PierreOlivier » Thu May 18, 2017 11:43 am

Hi
We use a DART-MX6 on a custom carrier board, with a custom meta (poky 2.1.2, krogoth branch, kernel 4.1.15 from your git). We use u-boot 2015.04_3.14.52 and we have a strange freeze in the kernel.
The kernel hangs at:
[ 0.618388] mxc_hdmi 20e0000.hdmi_video: create default modelist

Full Log : https://gist.github.com/Pehoh/8459258658b4f0b1ac818e014a6fb179

Steps to reproduce the issue: we use GPU/VPU/IPU on the board, we have high temperature (85°C) and we restart the system (reboot). The UBoot delay the boot when the temperature is too high (>80°C) and then it starts the kernel. The kernel hang happens a this moment.

I found the similar error on NXP community : https://community.nxp.com/thread/438816, but with no correct answer.
I tried to remove CONFIG_IMX_HDMI CONFIG_CMD_HDMIDETECT from uBoot, and configure manually in bootargs the HDMI, but it does not work either.

Did you ever experience something like that? Do you think I need to update to uboot 2015.04_4.1.15?

EDIT: When the board is colder, there is no problem. The line after the mxc_hdmi 20e0000.hdmi_video: create default modelist is [ 1.279328] console [ttymxc0] enabled. Could it be a tty error?
EDIT2: Without HDMI cable connected, we do not have the error

Bets regards,
Pierre-Olivier
Last edited by PierreOlivier on Mon May 22, 2017 4:03 pm, edited 1 time in total.

PierreOlivier
Posts: 23
Joined: Sun May 29, 2016 10:44 am

Re: Kernel 4.1.15 Hangs on HDMI

Postby PierreOlivier » Mon May 22, 2017 2:41 pm

I was able to fix my issue by using a patch found on github (https://github.com/xbianonpi/xbian-package-kernel/blob/master/patches/imx6/hdmi-freeze.patch). This is the patch for 4.1.15 kernel from Variscite's Github:

Code: Select all

---
 drivers/video/fbdev/mxc/mxc_hdmi.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/video/fbdev/mxc/mxc_hdmi.c b/drivers/video/fbdev/mxc/mxc_hdmi.c
index 513ab160129a..4b07c09ef0f9 100644
--- a/drivers/video/fbdev/mxc/mxc_hdmi.c
+++ b/drivers/video/fbdev/mxc/mxc_hdmi.c
@@ -1261,8 +1261,8 @@ static void mxc_hdmi_phy_init(struct mxc_hdmi *hdmi)
          || (hdmi->blank != FB_BLANK_UNBLANK))
       return;
 
-   if (!hdmi->hdmi_data.video_mode.mDVI)
-      hdmi_enable_overflow_interrupts();
+   //if (!hdmi->hdmi_data.video_mode.mDVI)
+   //   hdmi_enable_overflow_interrupts();
 
    /*check csc whether needed activated in HDMI mode */
    cscon = (isColorSpaceConversion(hdmi) &&
@@ -2253,6 +2253,9 @@ static void mxc_hdmi_setup(struct mxc_hdmi *hdmi, unsigned long event)
 
    mxc_hdmi_clear_overflow(hdmi);
 
+   if (!hdmi->hdmi_data.video_mode.mDVI)
+      hdmi_enable_overflow_interrupts();
+
    dev_dbg(&hdmi->pdev->dev, "%s exit\n\n", __func__);
 
 }
--
2.13.0


Regards,


Return to “Yocto”

Who is online

Users browsing this forum: No registered users and 3 guests