drm/vmwgfx: Fix black screen and device errors when running without fbdev
authorThomas Hellstrom <thellstrom@vmware.com>
Thu, 8 Mar 2018 09:07:37 +0000 (10:07 +0100)
committerThomas Hellstrom <thellstrom@vmware.com>
Wed, 21 Mar 2018 09:51:23 +0000 (10:51 +0100)
commit140bcaa23a1c37b694910424075a15e009120dbe
tree4df6cabd10a3cd261eb52065ba7d13ced24b1c75
parent93dfdf9fde9f20f1c46738bf184adeebc7d7d66e
drm/vmwgfx: Fix black screen and device errors when running without fbdev

When we are running without fbdev, transitioning from the login screen to
X or gnome-shell/wayland will cause a vt switch and the driver will disable
svga mode, losing all modesetting resources. However, the kms atomic state
does not reflect that and may think that a crtc is still turned on, which
will cause device errors when we try to bind an fb to the crtc, and the
screen will remain black.

Fix this by turning off all kms resources before disabling svga mode.

Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
drivers/gpu/drm/vmwgfx/vmwgfx_kms.h