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

(cherry picked from commit 40c20fc29cad4d38d9a565e9c7ba78612097308e)
This commit is contained in:
Jean-Sébastien Pédron 2023-11-29 19:34:48 +01:00 committed by Vladimir Kondratyev
parent fc00c03779
commit a06b366322

View file

@ -3284,6 +3284,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);