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

Manasi Navare manasi.d.navare at intel.com
Wed Nov 6 23:54:05 UTC 2019


On Wed, Nov 06, 2019 at 12:50:21PM +1000, Dave Airlie wrote:
> 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.
>

Ithink this tiled monitor is behaving in a way where if there are two ports connected, 
on the reciever end it tries to join the outputs and if there is no output or a different output
other than tiled mode then it cant display anything so the moment i connect the second port,
it expects the full tiled output but since no modes on second connector, it doesnt display anytjing goes into power save 

It almost makes me rethink our logic of falling back to the non tiled mode for the first hotplug since atleast this monitor
displays the single tile across the whole monitor by stretching it out and then after connecting second connector it can ideally
go back to a full tiled display

Thoughts?

Manasi

> Dave.


More information about the dri-devel mailing list