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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Mar 2018 16:24:39 +0000 (18:24 +0200)
commit4be50a9fe670525e19d7173f9441302a57df6ac3
tree03e01b39e314d9717e4ff53b7ead875ed4ff9e65
parent99b6ead444cff9fcdcb93b2c145cbdf94e29eea3
drm/vmwgfx: Fix black screen and device errors when running without fbdev

commit 140bcaa23a1c37b694910424075a15e009120dbe upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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