Hi,
On a imx6q-cubox-i running 4.1 kernel I am getting 1920x1080 HDMI resolution if I boot the board with the HDMI cable connected.
If I boot it without the HDMI cable and then connect it afterwards, the resolution goes to only 1024 x 768 and the following IPU message is seen:
[ 16.310548] imx-ipuv3 2400000.ipu: videomode adapted for IPU restrictions
Shouldn't we get 1920x1080 in this case as well?
Regards,
Fabio Estevam
On Tue, Jun 23, 2015 at 01:41:46PM -0300, Fabio Estevam wrote:
If you have no connected connectors, then you get 1024x768:
imx-drm display-subsystem: No connectors reported connected with modes [drm] Cannot find any crtc or sizes - going 1024x768
as that's what DRM defaults to when it has no other timing information available.
[ 16.310548] imx-ipuv3 2400000.ipu: videomode adapted for IPU restrictions
I don't see this message booting on a Hummingboard with HDMI disconnected.
On Tue, Jun 23, 2015 at 1:44 PM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
Agreed, but after the cable is connected we could try to find a more suitable timing?
I see this message in the following case:
- Boot the board with HDMI disconnected
- Connect the HDMI cable and then such message is displayed.
Thanks
On Tue, Jun 23, 2015 at 01:52:50PM -0300, Fabio Estevam wrote:
I've just tried this (the HBi1 was booted previously with the HDMI socket disconnected). Just now, I turned the TV on, and then connected it to the HDMI.
The TV reported a resolution of 1024x768, and the kernel log was silent.
My guess would be that your HDMI sink is reporting slightly non-standard 1024x768 timings, which cause the IPU restrictions to be violated. Maybe dumping the EDID of the HDMI device would reveal this?
# edid-decode < /sys/class/drm/card0-HDMI-A-1/edid
might provide some hints?
On Tue, Jun 23, 2015 at 5:41 PM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
Thanks for testing it.
The TV reported a resolution of 1024x768, and the kernel log was silent.
That's the point that makes me confused: shouldn't it report a higher resolution like 1080p?
Why only 1024x768 even if the monitor supports higher resolution?
If we boot with the cable connected then it jumps to 1080.
Thanks, will try it. Need to install this edid package in my rootfs.
On Tue, Jun 23, 2015 at 05:48:51PM -0300, Fabio Estevam wrote:
No - it won't go higher than the initial mode that was set. See drm_fb_helper_hotplug_event():
max_width = fb_helper->fb->width; max_height = fb_helper->fb->height;
drm_fb_helper_probe_connector_modes(fb_helper, max_width, max_height);
This calls connector->funcs->fill_modes with the max width/height, which calls down into drm_helper_probe_single_connector_modes_merge_bits() and there's limitations in there which means that we won't try to increase the size of the framebuffer.
You do get that behaviour if you have the X server running, and that's all down to the X server itself doing that (reacting to the hotplug event which DRM generates.)
On Tue, Jun 23, 2015 at 09:58:37PM +0100, Russell King - ARM Linux wrote:
The initial fb allocated for fbdev emulation does indeed restrict what fbdev/con will show. But it should in now way affect the mode list (that's only the fbdev code doing the filtering there) or X. You should be able to list/set 1080p. Might be useful to figure out with drm.debug whether the mode was kicked out for some driver/hw restriction reason, that should get logged. -Daniel
On Tue, Jun 23, 2015 at 5:58 PM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
Got it, thanks for the clarification, Russell.
dri-devel@lists.freedesktop.org