From owner-dev-commits-src-all@freebsd.org Tue Mar 30 15:48:02 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8BB8F57B165; Tue, 30 Mar 2021 15:48:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F8v3k3KsXz4vKY; Tue, 30 Mar 2021 15:48:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 63628FBC; Tue, 30 Mar 2021 15:48:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 12UFm2Kf038506; Tue, 30 Mar 2021 15:48:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 12UFm2Xs038505; Tue, 30 Mar 2021 15:48:02 GMT (envelope-from git) Date: Tue, 30 Mar 2021 15:48:02 GMT Message-Id: <202103301548.12UFm2Xs038505@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 8ebda6e44bb6 - main - efifb,vbefb: implement vd_fini MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ebda6e44bb6ac9113e2a7fe65889811d894dd63 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Mar 2021 15:48:02 -0000 The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=8ebda6e44bb6ac9113e2a7fe65889811d894dd63 commit 8ebda6e44bb6ac9113e2a7fe65889811d894dd63 Author: Greg V AuthorDate: 2021-03-30 15:46:17 +0000 Commit: Emmanuel Vadot CommitDate: 2021-03-30 15:47:49 +0000 efifb,vbefb: implement vd_fini This removes the pmap entry when switching away to e.g. drm fb. Differential Revision: https://reviews.freebsd.org/D29020 MFC After: 1 month --- sys/dev/vt/hw/efifb/efifb.c | 11 +++++++++++ sys/dev/vt/hw/vbefb/vbefb.c | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/sys/dev/vt/hw/efifb/efifb.c b/sys/dev/vt/hw/efifb/efifb.c index fb270d438c81..1d08bdd99ce7 100644 --- a/sys/dev/vt/hw/efifb/efifb.c +++ b/sys/dev/vt/hw/efifb/efifb.c @@ -50,12 +50,14 @@ __FBSDID("$FreeBSD$"); #include static vd_init_t vt_efifb_init; +static vd_fini_t vt_efifb_fini; static vd_probe_t vt_efifb_probe; static struct vt_driver vt_efifb_driver = { .vd_name = "efifb", .vd_probe = vt_efifb_probe, .vd_init = vt_efifb_init, + .vd_fini = vt_efifb_fini, .vd_blank = vt_fb_blank, .vd_bitblt_text = vt_fb_bitblt_text, .vd_invalidate_text = vt_fb_invalidate_text, @@ -145,3 +147,12 @@ vt_efifb_init(struct vt_device *vd) return (CN_INTERNAL); } + +static void +vt_efifb_fini(struct vt_device *vd, void *softc) +{ + struct fb_info *info = softc; + + vt_fb_fini(vd, softc); + pmap_unmapdev(info->fb_vbase, info->fb_size); +} diff --git a/sys/dev/vt/hw/vbefb/vbefb.c b/sys/dev/vt/hw/vbefb/vbefb.c index c8789e3bddac..85f594e4ed21 100644 --- a/sys/dev/vt/hw/vbefb/vbefb.c +++ b/sys/dev/vt/hw/vbefb/vbefb.c @@ -50,12 +50,14 @@ __FBSDID("$FreeBSD$"); #include static vd_init_t vt_vbefb_init; +static vd_fini_t vt_vbefb_fini; static vd_probe_t vt_vbefb_probe; static struct vt_driver vt_vbefb_driver = { .vd_name = "vbefb", .vd_probe = vt_vbefb_probe, .vd_init = vt_vbefb_init, + .vd_fini = vt_vbefb_fini, .vd_blank = vt_fb_blank, .vd_bitblt_text = vt_fb_bitblt_text, .vd_invalidate_text = vt_fb_invalidate_text, @@ -151,3 +153,12 @@ vt_vbefb_init(struct vt_device *vd) return (CN_INTERNAL); } + +static void +vt_vbefb_fini(struct vt_device *vd, void *softc) +{ + struct fb_info *info = softc; + + vt_fb_fini(vd, softc); + pmap_unmapdev(info->fb_vbase, info->fb_size); +}