[Intel-gfx] [PATCH] drm/fbdev: Fallback to non tiled mode if all tiles not present

Dave Airlie airlied at gmail.com
Wed Nov 6 02:50:21 UTC 2019


On Tue, 5 Nov 2019 at 07:00, Manasi Navare <manasi.d.navare at intel.com> wrote:
>
> On Mon, Nov 04, 2019 at 07:48:26PM +1000, David Airlie wrote:
> > On Mon, Nov 4, 2019 at 7:18 PM Daniel Vetter <daniel at ffwll.ch> wrote:
> > >
> > > On Thu, Oct 31, 2019 at 02:48:39PM -0700, Manasi Navare wrote:
> > > > In case of tiled displays, if we hotplug just one connector,
> > > > fbcon currently just selects the preferred mode and if it is
> > > > tiled mode then that becomes a problem if rest of the tiles are
> > > > not present.
> > > > So in the fbdev driver on hotplug when we probe the client modeset,
> > > > we we dont find all the connectors for all tiles, then on a connector
> > > > with one tile, just fallback to the first available non tiled mode
> > > > to display over a single connector.
> > > >
> > > > Suggested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > > Suggested-by: Dave Airlie <airlied at redhat.com>
> > > > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > > Cc: Dave Airlie <airlied at redhat.com>
> > > > Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
> > >
> > > Hm, should we mayb have a slight timeout first to wait for the 2nd
> > > connector? Otherwise lots of flickering going on when plugging in one of
> > > these screens ...
> >
> > Not really,
> >
> > There are 3 scenarios with the multi-cable tiled monitors. and
> > non-resizeable fbdev.
> >
> > a) it's plugged in at boot. both cables are detected, fbdev gets a
> > full tiled mode.
>
> Yes this works as expected
>
> > b) it's not plugged in at boot, the user starts plugging it in, fbdev
> > was inited via the panel or another monitor. fbdev won't resize.
> > c) it's half plugged in at boot, then you get a non-tiled mode, and
> > fbdev can't resize to tiled anyways.
>
> In b and c, when its booted with only 1 cable connected and/or hotplugged only
> one cable after boot, I fallback to fisrt available non tiled mode, does that sound good?
>
> >
> > Also plugging in one of these multi-cable monitors piecemeal is going
> > to take multiple seconds for the user to do physical cable plugging.
>
> So still good with ignoring the second hotplug completely?
> However i donno where in the fb helper to stop passing the modeset down
> after the drm_fb_helper_hotplug_event()

I don't think you can ignore it completely. I think you just have to
make the mode picking logic pick the right answer somehow.

So you can tell if width/height are going to be lower than the tiled
mode size, and in that case just don't enable the secondary tile.

Dave.


More information about the Intel-gfx mailing list