linux/drivers/gpu/drm
Manasi Navare f25c7a006c 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
2019-11-17 23:10:13 -08:00
..
amd drm/amdgpu: use drm_debug_enabled() to check for debug categories 2019-11-14 14:08:39 +02:00
arc drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
arm drm/komeda: Adds gamma and color-transform support for DOU-IPS 2019-11-14 10:39:00 +08:00
armada drm/armada: drop use of drmP.h 2019-08-14 18:31:10 +02:00
aspeed drm/aspeed: gfc_crtc: Make structure aspeed_gfx_funcs constant 2019-08-14 19:27:26 +02:00
ast drm/ast: Call struct drm_driver.{load, unload} before registering device 2019-11-14 13:54:39 +01:00
atmel-hlcdc drm/atmel-hlcdc: Use swap() where appropriate 2019-10-11 18:22:50 +03:00
bochs drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers 2019-10-24 16:12:30 +02:00
bridge drm/bridge: anx6345: Fix compilation breakage on systems without CONFIG_OF 2019-11-13 09:52:44 +01:00
cirrus drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
etnaviv Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
exynos drm/exynos: Provide ddc symlink in connector's sysfs 2019-11-08 09:16:14 +01:00
fsl-dcu drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
gma500 drm/gma500: remove set but not used variable 'is_hdmi','is_crt' 2019-11-15 16:50:24 +01:00
hisilicon drm/hisilicon/hibmc: Use GEM VRAM's prepare_fb() and cleanup_fb() helpers 2019-10-24 16:12:36 +02:00
i2c drm: tda998x: use cec_notifier_conn_(un)register 2019-10-21 14:23:25 +02:00
i810 drm/i810: Prevent underflow in ioctl 2019-10-04 17:04:05 +01:00
i915 drm/i915: use drm_debug_enabled() to check for debug categories 2019-11-14 14:08:19 +02:00
imx Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
ingenic drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
lib
lima drm/lima: add __GFP_NOWARN flag to all dma_alloc_wc 2019-10-17 23:42:02 +08:00
mcde drm/mcde: Handle pending vblank while disabling display 2019-11-09 22:19:14 +01:00
mediatek drm/mediatek: Provide ddc symlink in hdmi connector sysfs directory 2019-11-08 09:35:59 +01:00
meson drm/meson: Enable DRM InfoFrame support on GXL, GXM and G12A 2019-10-10 12:50:02 +02:00
mga
mgag200 drm/vram: drop DRM_VRAM_MM_FILE_OPERATIONS 2019-10-17 13:59:16 +02:00
msm drm/msm/hdmi: Provide ddc symlink in hdmi connector sysfs directory 2019-11-07 15:08:23 +01:00
mxsfb drm/mxsfb: Read bus flags from bridge if present 2019-10-14 22:19:32 +02:00
nouveau drm/nouveau: use drm_debug_enabled() to check for debug categories 2019-11-14 14:08:38 +02:00
omapdrm Merge drm/drm-next into drm-misc-next 2019-10-23 11:14:11 -04:00
panel Linux 5.4-rc4 2019-10-23 12:10:05 +02:00
panfrost drm/panfrost: Simplify devfreq utilisation tracking 2019-10-29 13:01:51 -05:00
pl111 drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
qxl drm/qxl: stop using TTM to call driver internal functions 2019-10-25 11:40:51 +02:00
r128
radeon drm/radeon: finally fix the racy VMA setup 2019-11-08 11:33:32 +01:00
rcar-du drm: rcar-du: lvds: Add r8a774b1 support 2019-10-16 00:28:32 +03:00
rockchip drm/rockchip: use DRM_DEV_ERROR for log output 2019-11-08 11:04:00 -05:00
savage
scheduler drm: Don't free jobs in wait_event_interruptible() 2019-10-25 13:47:58 +02:00
selftests drm/mm: Use helpers for drm_mm_node booleans 2019-10-04 13:42:33 +01:00
shmobile
sis
sti drm: sti: fix W=1 warnings 2019-09-16 15:14:43 +02:00
stm drm/stm: dsi: higher pll out only in video burst mode 2019-09-16 15:14:10 +02:00
sun4i drm/sun4i: Enable DRM InfoFrame support on H6 2019-10-10 12:50:03 +02:00
tdfx
tegra drm/tegra: Move drm_dp_link helpers to Tegra DRM 2019-10-23 18:22:10 +02:00
tilcdc drm/tilcdc: Provide ddc symlink in connector sysfs directory 2019-11-08 10:05:05 +01:00
tiny drm/shmem: drop DEFINE_DRM_GEM_SHMEM_FOPS 2019-10-17 13:59:16 +02:00
ttm drm/ttm: also export ttm_bo_vm_fault v2 2019-11-08 11:33:32 +01:00
tve200 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
udl drm/udl: Remove struct udl_gem_object and functions 2019-11-08 12:30:17 +01:00
v3d drm/shmem: drop DEFINE_DRM_GEM_SHMEM_FOPS 2019-10-17 13:59:16 +02:00
vboxvideo drm/vboxvideo: Use drm_gem_fb_create_with_dirty instead of drm_gem_fb_create 2019-10-29 13:10:07 +01:00
vc4 Merge drm/drm-next into drm-misc-next 2019-10-23 11:14:11 -04:00
vgem dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
via drivers/gpu/drm/via: convert put_page() to put_user_page*() 2019-09-24 15:54:08 -07:00
virtio drm/virtgpu: fix double unregistration 2019-11-12 19:13:18 +01:00
vkms drm/vkms: Update VKMS documentation 2019-11-04 18:39:58 +01:00
vmwgfx drm/ttm: always keep BOs on the LRU 2019-10-25 11:40:50 +02:00
xen drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
zte Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
ati_pcigart.c
drm_agpsupport.c drm: use DIV_ROUND_UP helper macro for calculations 2019-11-04 18:17:36 +01:00
drm_atomic_helper.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_atomic_state_helper.c drm/atomic: Rename crtc_state->pageflip_flags to async_flip 2019-09-18 18:43:36 +02:00
drm_atomic_uapi.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_atomic.c drm: Free the writeback_job when it with an empty fb 2019-09-23 15:31:53 +08:00
drm_auth.c
drm_blend.c drm: two planes with the same zpos have undefined ordering 2019-10-09 20:04:55 +02:00
drm_bridge.c
drm_bufs.c
drm_cache.c drm/gpu: Fix Memory barrier without comment Issue 2019-10-25 09:35:06 +02:00
drm_client_modeset.c drm/fbdev: Fallback to non tiled mode if all tiles not present 2019-11-17 23:10:13 -08:00
drm_client.c drm/fb-helper: Map DRM client buffer only when required 2019-08-01 15:01:29 +02:00
drm_color_mgmt.c drm: Add a new helper drm_color_ctm_s31_32_to_qm_n() 2019-11-14 10:29:18 +08:00
drm_connector.c drm: Add DisplayPort colorspace property creation function 2019-09-20 18:46:18 +03:00
drm_context.c
drm_crtc_helper_internal.h drm/connector: Share with non-atomic drivers the function to get the single encoder 2019-09-16 15:13:02 -07:00
drm_crtc_helper.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c drm: damage_helper: Fix race checking plane->state->fb 2019-10-08 09:41:06 -04:00
drm_debugfs_crc.c drm: Fix return type of crc .poll() 2019-09-30 20:17:31 +03:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp_mst: Enable registration of AUX devices for MST ports 2019-07-25 16:39:35 -04:00
drm_dp_cec.c drm_dp_cec: drop use of drmP.h 2019-10-08 18:29:00 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/tegra: Move drm_dp_link helpers to Tegra DRM 2019-10-23 18:22:10 +02:00
drm_dp_mst_topology_internal.h drm/dp_mst: Add sideband down request tracing + selftests 2019-09-03 19:30:06 -04:00
drm_dp_mst_topology.c drm: remove unnecessary return variable 2019-10-22 11:17:43 +02:00
drm_drv.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_dsc.c drm/dsc: Fix bogus cpu_to_be16() usage 2019-09-30 20:15:53 +03:00
drm_dumb_buffers.c Revert "drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()" 2019-08-07 11:56:48 -04:00
drm_edid_load.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_edid.c drm/edid: no CEA v3 extension is not an error 2019-11-15 21:06:30 +02:00
drm_encoder_slave.c
drm_encoder.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: unexport drm_fb_helper_generic_probe 2019-11-13 13:06:27 +01:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c drm: silence variable 'conn' set but not used 2019-07-22 16:04:53 -04:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_shmem_helper.c drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap 2019-10-29 13:29:21 -05:00
drm_gem_ttm_helper.c drm/ttm: add drm_gem_ttm_mmap() 2019-10-17 13:59:16 +02:00
drm_gem_vram_helper.c drm/ttm: remove pointers to globals 2019-10-25 11:40:51 +02:00
drm_gem.c drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap 2019-10-29 13:29:21 -05:00
drm_hashtab.c
drm_hdcp.c drm/hdcp: reference for srm file format 2019-08-06 13:18:42 +05:30
drm_internal.h
drm_ioc32.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_ioctl.c drm/atomic: Take the atomic toys away from X 2019-09-18 18:42:21 +02:00
drm_irq.c
drm_kms_helper_common.c drm: fix module name in edid_firmware log message 2019-08-22 10:41:06 +03:00
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_memory.c drm: Include prototype for drm_need_swiotlb() 2019-09-30 20:16:28 +03:00
drm_mipi_dbi.c drm/mipi_dbi: Use simple right shift instead of double negation 2019-10-22 15:09:15 +02:00
drm_mipi_dsi.c drivers: Introduce device lookup variants by of_node 2019-07-30 13:07:41 +02:00
drm_mm.c drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node() 2019-10-04 13:43:43 +01:00
drm_mode_config.c drm/doc: Drop misleading comment on drm_mode_config_cleanup 2019-10-23 11:00:41 +02:00
drm_mode_object.c drm/property: Enforce more lifetime rules 2019-11-04 18:17:36 +01:00
drm_modes.c drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm: Remove redundant of_device_is_available check 2019-09-20 15:03:42 -04:00
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: Add and fill drm_panel type field 2019-09-08 19:04:01 +02:00
drm_pci.c
drm_plane_helper.c
drm_plane.c
drm_prime.c drm: add mmap() to drm_gem_object_funcs 2019-10-17 13:59:16 +02:00
drm_print.c drm/print: convert debug category macros into an enum 2019-11-14 14:08:57 +02:00
drm_probe_helper.c drm/connector: Allow max possible encoders to attach to a connector 2019-09-16 15:13:53 -07:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c drm: Measure Self Refresh Entry/Exit times to avoid thrashing 2019-09-19 10:03:32 -04:00
drm_simple_kms_helper.c drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
drm_syncobj.c drm/syncobj: extend syncobj query ability v3 2019-10-18 12:24:56 +02:00
drm_sysfs.c drm: uevent for connector status change 2019-08-06 13:16:54 +05:30
drm_trace_points.c
drm_trace.h drm: Add high-precision time to vblank trace event 2019-09-03 09:46:18 +02:00
drm_vblank.c drm/drm_vblank: Change EINVAL by the correct errno 2019-10-08 18:43:26 -04:00
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c drm/vram: Have VRAM MM call GEM VRAM functions directly 2019-09-12 19:54:42 +02:00
drm_writeback.c drm: Clear the fence pointer when writeback job signaled 2019-09-23 15:32:53 +08:00
Kconfig drm/i810: Refer to `PREEMPTION' in comment 2019-10-16 21:57:59 +02:00
Makefile Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00