mx6 hdmi resolution behaviour

Daniel Vetter
2015-06-23T21:26:40Z

On Tue, Jun 23, 2015 at 09:58:37PM +0100, Russell King - ARM Linux wrote:
> On Tue, Jun 23, 2015 at 05:48:51PM -0300, Fabio Estevam wrote:
> > On Tue, Jun 23, 2015 at 5:41 PM, Russell King - ARM Linux
> > <linux@arm.linux.org.uk> 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.
> >
> > 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?
>
> 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.)

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
--
Daniel Vetter
Software Engineer, Intel Corporation