drm/fbdev: Fallback to non tiled mode if all tiles not present
authorManasi Navare <manasi.d.navare@intel.com>
Wed, 13 Nov 2019 22:29:52 +0000 (14:29 -0800)
committerManasi Navare <manasi.d.navare@intel.com>
Mon, 18 Nov 2019 07:10:13 +0000 (23:10 -0800)
commitf25c7a006cd1c07254780e3406e45cee4842b933
treed8e9b35acfaa64be7401860dacf2e4d642d96f86
parent42908007a61151166058249813e960087b062a89
drm/fbdev: Fallback to non tiled mode if all tiles not present

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,
if 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.
On the hotplug of the consecutive tiled connectors, if the tiled mode
no longer exists because of fbcon size limitation, then return
no modes for consecutive tiles but retain the non tiled mode
on the 0th tile.
Use the same logic in case of connected boot case as well.
This has been tested with Dell UP328K tiled monitor.

v2:
* Set the modes on consecutive hotplugged tiles to no mode
if tiled mode is pruned (Dave)
v1:
* Just handle the 1st connector hotplug case
* v1 Reviewed-by: Dave Airlie <airlied@redhat.com>

Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Suggested-by: Dave Airlie <airlied@redhat.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191113222952.9231-1-manasi.d.navare@intel.com
drivers/gpu/drm/drm_client_modeset.c