AnsweredAssumed Answered

IMX6 LVDS flickers temporarily

Question asked by Suman Bhandari on Dec 14, 2018
Latest reply on Dec 14, 2018 by igorpadykov

Hi,

I am using touchscreen 6‐bit LVDS LCD XGA (1024 x 768) with IMX6 phyBoard Mira SOM.
The LCD uses PWM backlight with inverted logic.

I am able to successfully get the touchscreen driver and LVDS panel driver working. Post boot up the LCD comes up properly without any issues.
However, when LCD comes on after going to sleep; I observe flicker which lasts for few minutes.

I am using X11 Linux version 4.14.39 and DPMS module to put device to sleep.

Steps to recreate:
Execute the following command on the terminal.
target> xset dpms force off; sleep 10; xset dpms force on;

 

After debugging I found that if I comment the following in function  static void ipu_crtc_atomic_disable in imx-ldb.c file the flicker does not occur:

 

ipu_di_disable(ipu_crtc->di);

ipu_dc_disable_channel(ipu_crtc->dc);

ipu_crtc_disable_planes(ipu_crtc, old_crtc_state);

ipu_dc_disable(ipu);

ipu_prg_disable(ipu);

drm_crtc_vblank_off(crtc);

 

Any idea why the temporary flicker could be happening?

Outcomes