EDID modes unavailable when no connector/crtc available at boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am working on the HDMI driver for the i.MX6 as part of the larger DRM driver written by Sascha Hauer and need a little advice. I seem to be missing one important part of the subsystem that I haven't been able to resolve.

In my testing, powering on the system with only a HDMI cable connected works perfectly. Resolution is set to 1920x1080 as requested (with the framebuffer console at the same resolution).

If I boot up the system without an HDMI cable connected (or any other cable), I get the expected:
[    1.470273] imx_hdmi_connector_detect
[    1.470276] returned cable DISCONNECTED
[    1.470289] imx-drm imx-drm: No connectors reported connected with modes
[    1.470297] [drm] Cannot find any crtc or sizes - going 1024x768

When I connect the cable at a later time, all EDID detected modes are 'truncated' to '<= 1024x768', but because I have a video=xxx in bootargs, the driver still seems to initialize to 1920x1080, but with a framebuffer of 1024x768.

I assume this is a mistake on my part, but I don't know what I'm missing that would cause it.

I see in drm_crtc_helper.c:drm_helper_mode_fill_fb_struct that the width/height are set to the initialized mode. Later in drm_fb_helper.c:drm_fb_helper_hotplug_event, max_width if set to fb->width.

This is what causes the modes to be truncated when the HDMI connector is finally connected (max_width is now limited to 1024).


Suggestions appreciated.

Regards
Tony Prisk
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux