vt(4): Call post-switch callback after replacing the backend

[Why]
For instance, it gives a chance to the new backend to refresh the
screen. This is needed by the vt_drmfb backend and `drm_fb_helper`.

This change was lost when I posted changes to reviews.freebsd.org and it
broken the amdgpu driver... Thanks to manu@ for reporting the problem
and wulf@ to find out the missing change!

Tested by:	manu
Reviewed by:	manu
Approved by:	manu
Differential Revision:	https://reviews.freebsd.org/D42834
This commit is contained in:
Jean-Sébastien Pédron 2023-11-29 19:34:48 +01:00
parent f54a3890b1
commit 40c20fc29c
No known key found for this signature in database
GPG Key ID: 39E99761A5FD94CC

View File

@ -3283,6 +3283,13 @@ vt_replace_backend(const struct vt_driver *drv, void *softc)
/* Update windows sizes and initialize last items. */
vt_upgrade(vd);
/*
* Give a chance to the new backend to run the post-switch code, for
* instance to refresh the screen.
*/
if (vd->vd_driver->vd_postswitch)
vd->vd_driver->vd_postswitch(vd);
#ifdef DEV_SPLASH
if (vd->vd_flags & VDF_SPLASH)
vtterm_splash(vd);