Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Nov 2023 18:55:31 GMT
From:      =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= <dumbbell@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 40c20fc29cad - main - vt(4): Call post-switch callback after replacing the backend
Message-ID:  <202311291855.3ATItVif081707@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dumbbell:

URL: https://cgit.FreeBSD.org/src/commit/?id=40c20fc29cad4d38d9a565e9c7ba78612097308e

commit 40c20fc29cad4d38d9a565e9c7ba78612097308e
Author:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
AuthorDate: 2023-11-29 18:34:48 +0000
Commit:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
CommitDate: 2023-11-29 18:54:14 +0000

    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
---
 sys/dev/vt/vt_core.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
index d6268db3537b..92c83aee5967 100644
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202311291855.3ATItVif081707>