On Fri, Oct 4, 2019 at 3:47 PM Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote: > > Hi, > > On Sun, Sep 29, 2019 at 10:24 PM Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote: > > > > > > > > On Mon, Sep 23, 2019 at 1:28 PM Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote: > > > > > > > > Dear Philipp, > > > > > > > > I have a iMX6dl custom board with custom Linux Kernel 4.8. > > > > I have both LCD and HDMI connected to the board. > > > > And we are using weston/wayland as the display interface. > > > > In normal boot, both LCD and HDMI display is working fine. > > > > > > > > But, currently, for one of the requirement, I am trying to explore and > > > > support hibernation image booting on it. > > > > Currently, we are able to resume the system without display. > > > > Also, if we make the entire imx-drm as modules, and then install the > > > > modules after resume, even LCD is also coming up. > > > > But HDMI display is black out. > > > > > > I just found the main root cause of the HDMI screen blackout issue > after system resume. > * HDMI is trying to get EDID data from the monitor using I2C interface. > * But its seems i2c_transfer is getting timeout after 5 retries. > * Thus EDID data is failing, and HDMI could not able to detect the monitor. > > This is the logs: > > [ 441.104989] [drm:drm_helper_probe_single_connector_modes] > [CONNECTOR:29:HDMI-A-1] status updated from unknown to connected > [ 441.116080]: drm_helper_probe_single_connector_modes - inside - > else override_edid > [ 441.124416]: drm_helper_probe_single_connector_modes - inside - > else - drm_load_edid_firmware: count: 0 > [ 441.134546]: drm_helper_probe_single_connector_modes - calling - get_modes > [ 441.142157]: dw_hdmi_connector_get_modes : called > [ 441.147652]: dw_hdmi_connector_get_modes : called - calling -> drm_get_edid > [ 441.155346]: drm_do_probe_ddc_edid : called! > [ 441.660759]: drm_do_probe_ddc_edid : i2c_transfer: ret: -110, retry: 5 > [ 442.170758]: drm_do_probe_ddc_edid : i2c_transfer: ret: -110, retry: 4 > [ 442.680755]: drm_do_probe_ddc_edid : i2c_transfer: ret: -110, retry: 3 > [ 443.190755]: drm_do_probe_ddc_edid : i2c_transfer: ret: -110, retry: 2 > [ 443.700754]: drm_do_probe_ddc_edid : i2c_transfer: ret: -110, retry: 1 > [ 443.707989]: drm_get_edid : called - drm_probe_ddc - failed > [ 443.714303] dwhdmi-imx 120000.hdmi: failed to get edid > > Is there any clue, how to resolve this i2c failure issue, after resume? > This does not happen in normal booting case. > > These are the steps I follow: > * Boot the system normally (without display) and install all imx-drm as modules. > * Then uninstall the modules in reverse order. > * Take the snapshot of the system (suspend to disk). > * Reboot the system and boot with the image. > * Install all the modules again. > * Then launch the Weston. > * During the weston launch in the beginning we observe this error. > * Changing the subject to be more relevant. I need some pointers in debugging this i2c_transfer timeout issue, after system resume. I am not so much familiar with i2c, so I am looking for some clue here. i2c-experts (or pm experts), please help me to find the root cause and debug further. Thanks, Pintu _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel