FreeBSD/src 7115eaf (r348059)sys/dev/vt/hw/efifb efifb.c

vt efifb: add suspend/resume calls

Using the latest NVIDIA driver, upon resuming from suspend with X
running the display remained blank.  Additionally OpenGL applications
that were running triggered a number of error messages from the NVIDIA
driver.

This occurred because the vt efifb back-end did not signal the X server
to release the display before suspending (or to re-acquire it after
resuming).  The NVIDIA driver includes code for smoothly shutting down
and re-initializing the GPU, which was not getting called.

Since the NVIDIA driver doesn't currently support framebuffer devices
and vt is forced to fall back to the efifb back-end, add vd_suspend and
vd_resume members to connect the suspend/resume path.  This ensures the
X server is properly able to re-initialize the display.

PR:             237050
Submitted by:   Erik Kurzinger <ekurzinger at nvidia.com>
Reviewed by:    markj
MFC after:      2 weeks
Event:          Waterloo Hackathon 2019
DeltaFile
+2-0sys/dev/vt/hw/efifb/efifb.c
+2-01 files

UnifiedSplitRaw