From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0986C433B4 for ; Fri, 16 Apr 2021 10:54:27 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5FAB56115B for ; Fri, 16 Apr 2021 10:54:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5FAB56115B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: In-Reply-To:MIME-Version:Date:Message-ID:References:Cc:To:From:Subject: Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=y2ws6Es3SK0CNe50XXGbkQLhZ6WNyNXANciJ9hco2bY=; b=EbDYm2b+wJAw2UGvrfju76T8y ThgBypHzndA0KVW5MmX9mrRRw4NHIXPLSfAFQrvhvCmGqlRIYfFZwuVCXuYaMXUvb1QNgZtbE5mgY GsnWDW0LiBnimVSwilXpIkZzyp1d7w0MRikFtBwdAYxFAHDDL6cdT7KfUWrlGKoiKsffQieoY6Mrc 5XJIBn7kGIbFLcxAh2g6mAtBvnzb0PEbSnLzXb27hi7Ea+2yIVeGE4JdfkBfx5L0I5EoiPx+M/5nx /JLGB7h5JdYxtrZdKenFtpbFYwCvI4v3NMeyHPtenUCcLm15u6xYOoM26d0G4CCj77mTjq6UJNqkz XpKc9YQWw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lXM5i-001ndO-LK; Fri, 16 Apr 2021 10:52:51 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lXM1m-001n8V-N2 for linux-arm-kernel@desiato.infradead.org; Fri, 16 Apr 2021 10:48:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Type:In-Reply-To:MIME-Version :Date:Message-ID:References:Cc:To:From:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=o3H8KCy1yxrNv8PEbfUCsBv0seLmK2OzjZ6jO5RIPLQ=; b=ScwsBUdbNwWVuh9oif4ORY2S4+ zjSjOE0Jh0Wxqer76Lttp4MbWrtlHdRRVdk2z8SRoIY4eApTO0s8j235byOIMWHX7F6cE8DOh/cwg xySvAk43AbqTwAr71NyA2hSSaKiIwNi2nN9BdRH2bPjxKRHB38qrl5EK6W+PdX+vZJgk/5d1ebTFs NSWKEA6pzxN5ZtKOmoT2iZ6WIRT1s1MFycPTMNnWZlSN0bGVmaW70t2ZvYX4chuNVOCipKUi398Yr 6mZZXd9f+CUhMl3lA4exXVtqncow7+QOImuE1S9Xt7RbBhZ3LsOXG6SB+KeKyM+m0WzL5m+AHJBkT tv6B9Kcw==; Received: from mx2.suse.de ([195.135.220.15]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lXM1j-009Hy9-GF for linux-arm-kernel@lists.infradead.org; Fri, 16 Apr 2021 10:48:45 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id C7FB1AE20; Fri, 16 Apr 2021 10:48:40 +0000 (UTC) Subject: Re: [PATCH 1/4] drm/vmwgfx: Make console emulation depend on DRM_FBDEV_EMULATION From: Thomas Zimmermann To: Zack Rusin , maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@linux.ie, daniel@ffwll.ch, marex@denx.de, stefan@agner.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, linux-graphics-maintainer@vmware.com, sroland@vmware.com Cc: linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20210415110040.23525-1-tzimmermann@suse.de> <20210415110040.23525-2-tzimmermann@suse.de> Message-ID: Date: Fri, 16 Apr 2021 12:48:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210416_034843_865826_8D317D28 X-CRM114-Status: GOOD ( 23.30 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============8930816430839713129==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============8930816430839713129== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d Content-Type: multipart/mixed; boundary="Ag6R0KJ99n4rzWObwOK0Cqo9HrCiM9Qwj"; protected-headers="v1" From: Thomas Zimmermann To: Zack Rusin , maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@linux.ie, daniel@ffwll.ch, marex@denx.de, stefan@agner.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, linux-graphics-maintainer@vmware.com, sroland@vmware.com Cc: linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org Message-ID: Subject: Re: [PATCH 1/4] drm/vmwgfx: Make console emulation depend on DRM_FBDEV_EMULATION References: <20210415110040.23525-1-tzimmermann@suse.de> <20210415110040.23525-2-tzimmermann@suse.de> In-Reply-To: --Ag6R0KJ99n4rzWObwOK0Cqo9HrCiM9Qwj Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable Am 15.04.21 um 20:50 schrieb Thomas Zimmermann: > Hi >=20 > Am 15.04.21 um 20:21 schrieb Zack Rusin: >> On 4/15/21 7:00 AM, Thomas Zimmermann wrote: >>> Respect DRM's kconfig setting for fbdev console emulation. If enabled= , >>> it will select all required config options. So remove them from vmwgf= x's >>> Kconfig file. >>> >>> Signed-off-by: Thomas Zimmermann >>> --- >>> =C2=A0 drivers/gpu/drm/vmwgfx/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |= =C2=A0 7 +------ >>> =C2=A0 drivers/gpu/drm/vmwgfx/Makefile=C2=A0=C2=A0=C2=A0=C2=A0 |=20 > 4 +++- >>> =C2=A0 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 19 +++++++++++++++++++ >>> =C2=A0 3 files changed, 23 insertions(+), 7 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/vmwgfx/Kconfig=20 >>> b/drivers/gpu/drm/vmwgfx/Kconfig >>> index 15acdf2a7c0f..b3a34196935b 100644 >>> --- a/drivers/gpu/drm/vmwgfx/Kconfig >>> +++ b/drivers/gpu/drm/vmwgfx/Kconfig >>> @@ -2,12 +2,7 @@ >>> =C2=A0 config DRM_VMWGFX >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tristate "DRM driver for VMware Virtua= l=20 > GPU" >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 depends on DRM && PCI && X86 && MMU >>> -=C2=A0=C2=A0=C2=A0 select FB_DEFERRED_IO >>> -=C2=A0=C2=A0=C2=A0 select FB_CFB_FILLRECT >>> -=C2=A0=C2=A0=C2=A0 select FB_CFB_COPYAREA >>> -=C2=A0=C2=A0=C2=A0 select FB_CFB_IMAGEBLIT >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 select DRM_TTM >>> -=C2=A0=C2=A0=C2=A0 select FB >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 select MAPPING_DIRTY_HELPERS >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # Only needed for the transitional use=20 of drm_crtc_init - can=20 >>> be removed >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # again once vmwgfx sets up the primar= y=20 > plane itself. >>> @@ -20,7 +15,7 @@ config DRM_VMWGFX >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 The compiled module will b= e=20 > called "vmwgfx.ko". >>> =C2=A0 config DRM_VMWGFX_FBCON >>> -=C2=A0=C2=A0=C2=A0 depends on DRM_VMWGFX && FB >>> +=C2=A0=C2=A0=C2=A0 depends on DRM_VMWGFX && DRM_FBDEV_EMULATION >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bool "Enable framebuffer console under=20 vmwgfx by default" >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 help >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Choose this option i= f=20 > you are shipping a new vmwgfx >>> diff --git a/drivers/gpu/drm/vmwgfx/Makefile=20 >>> b/drivers/gpu/drm/vmwgfx/Makefile >>> index 8c02fa5852e7..9f5743013cbb 100644 >>> --- a/drivers/gpu/drm/vmwgfx/Makefile >>> +++ b/drivers/gpu/drm/vmwgfx/Makefile >>> @@ -1,6 +1,6 @@ >>> =C2=A0 # SPDX-License-Identifier: GPL-2.0 >>> =C2=A0 vmwgfx-y :=3D vmwgfx_execbuf.o vmwgfx_gmr.o vmwgfx_kms.o vmwgf= x_drv.o \ >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_fb.o vmwgfx_ioctl.= o=20 > vmwgfx_resource.o >>> vmwgfx_ttm_buffer.o \ >>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_ioctl.o vmwgfx_res= ource.o vmwgfx_ttm_buffer.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_cmd.o v= mwgfx_irq.o vmwgfx_ldu.o vmwgfx_ttm_glue.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_overlay= =2Eo vmwgfx_gmrid_manager.o vmwgfx_fence.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_bo.o vm= wgfx_scrn.o vmwgfx_context.o \ >>> @@ -11,5 +11,7 @@ vmwgfx-y :=3D vmwgfx_execbuf.o vmwgfx_gmr.o=20 >>> vmwgfx_kms.o vmwgfx_drv.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_validat= ion.o vmwgfx_page_dirty.o=20 >>> vmwgfx_streamoutput.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ttm_object.o t= tm_lock.o ttm_memory.o >>> +vmwgfx-$(CONFIG_DRM_FBDEV_EMULATION) +=3D vmwgfx_fb.o >>> =C2=A0 vmwgfx-$(CONFIG_TRANSPARENT_HUGEPAGE) +=3D vmwgfx_thp.o >>> + >>> =C2=A0 obj-$(CONFIG_DRM_VMWGFX) :=3D vmwgfx.o >>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h=20 >>> b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h >>> index 7e6518709e14..e7836da190c4 100644 >>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h >>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h >>> @@ -1116,10 +1116,29 @@ extern void vmw_generic_waiter_remove(struct = >>> vmw_private *dev_priv, >>> =C2=A0=C2=A0 * Kernel framebuffer - vmwgfx_fb.c >>> =C2=A0=C2=A0 */ >>> +#ifdef CONFIG_DRM_FBDEV_EMULATION >>> =C2=A0 int vmw_fb_init(struct vmw_private *vmw_priv); >>> =C2=A0 int vmw_fb_close(struct vmw_private *dev_priv); >>> =C2=A0 int vmw_fb_off(struct vmw_private *vmw_priv); >>> =C2=A0 int vmw_fb_on(struct vmw_private *vmw_priv); >>> +#else >>> +static inline int vmw_fb_init(struct vmw_private *vmw_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +static inline int vmw_fb_close(struct vmw_private *dev_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +static inline int vmw_fb_off(struct vmw_private *vmw_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +static inline int vmw_fb_on(struct vmw_private *vmw_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +#endif >>> =C2=A0 /** >>> =C2=A0=C2=A0 * Kernel modesetting - vmwgfx_kms.c >>> >> >> This changes the behavior a bit, I guess DRM_VMWGFX (or at least=20 >> DRM_VMWGFX_FBCON) would need to select DRM_FBDEV_EMULATION to preserve=20 >> the old behavior, but that's largely due to the fact that given how=20 >> those options were setup we never run without FB set. In general it=20 >> should be ok and looks more reasonable than the current setup. I'll tr= y=20 >=20 >> it out on Monday just in case, but for now: >> >> Reviewed-by: Zack Rusin >> >=20 > All other drivers use DRM_FBDEV_EMULATION, so vmwgfx would follow commo= n=20 > conventions. >=20 > AFAICT DRM_VMWGFX_FBCON is just the default on/off setting. How about=20 > making DRM_VMWGFX_FBCON depend on DRM_FBDEV_EMULATION? Users would be=20 > able to enable fbdev emulation in general and, if needed, still pick a = > separate default on/off for vmwgfx. Oh, lol. That's already in the patchset. >=20 > Best regards > Thomas >=20 >> z >=20 >=20 > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >=20 --=20 Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany (HRB 36809, AG N=C3=BCrnberg) Gesch=C3=A4ftsf=C3=BChrer: Felix Imend=C3=B6rffer --Ag6R0KJ99n4rzWObwOK0Cqo9HrCiM9Qwj-- --ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEExndm/fpuMUdwYFFolh/E3EQov+AFAmB5a4cFAwAAAAAACgkQlh/E3EQov+Dg fRAAsB5/4xU0bRPUm/MpTklXMDnKzE6AiGZRVl28A3hGaFoAujyzlWNeJ08f0cQlq5Fz/UQl8Cre Kqsd7tSvjC/rsC8SLMfNa1hjN8cydZaC6HVDRlVkpWS6UTRF5R5gNlGtGvIHk/2G0UUxl+S+xFom vaC5Oe2f/v2lig2ilQmsXb8dRLExy76SMWza9+WV7Bn2M9b1oi9n8vDlOm6hfVJfd6JfvX7cjiYq GTZE/8cCr45fmlWl+YmMN0dfM2Vy3jqLCgj77lFQwOZjh3K2EjRdZeejvc57dROV3mbGYxPZ99vV dm6GAr4+fnogOfSngPVuIUG0ConsE2MCb1O27X+9dcpgQWHPQQ8qfV1PpT04kf2ShF8N63f1c/sf aLwA6GoRk/zWVfQWNa2OQG0ONDBWnrY1ni6xt7ak2JWjHKKa7eB/VTuZk7IRJXay5PYN8YP46cog zKEywsGQEM1m88RlifkiXtwqy1tBWkdOhXSbrSOOeqUSrLgTjPNnWCH8C1QG2+JveeOP7beWSloz rfTGklBBqwKt091BzT0Dj1oK8aOEIjuzNkd7ICwJm8J+5JBTRlODp9VL5n6MijHp495Oxx9cOGUv v10C7M3nwBsJeEIkjuGsweBbsVyQJMLdpT7r5VdYhctQP4KEdOGFRmeqdF4OPJNvdkLV7OGzJF7d J9w= =3Bys -----END PGP SIGNATURE----- --ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d-- --===============8930816430839713129== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============8930816430839713129==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52E99C433B4 for ; Fri, 16 Apr 2021 10:48:44 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1585B6115B for ; Fri, 16 Apr 2021 10:48:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1585B6115B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7BC656EB68; Fri, 16 Apr 2021 10:48:43 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4185E6EB68 for ; Fri, 16 Apr 2021 10:48:42 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id C7FB1AE20; Fri, 16 Apr 2021 10:48:40 +0000 (UTC) Subject: Re: [PATCH 1/4] drm/vmwgfx: Make console emulation depend on DRM_FBDEV_EMULATION From: Thomas Zimmermann To: Zack Rusin , maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@linux.ie, daniel@ffwll.ch, marex@denx.de, stefan@agner.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, linux-graphics-maintainer@vmware.com, sroland@vmware.com References: <20210415110040.23525-1-tzimmermann@suse.de> <20210415110040.23525-2-tzimmermann@suse.de> Message-ID: Date: Fri, 16 Apr 2021 12:48:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Content-Type: multipart/mixed; boundary="===============0329641347==" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============0329641347== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d Content-Type: multipart/mixed; boundary="Ag6R0KJ99n4rzWObwOK0Cqo9HrCiM9Qwj"; protected-headers="v1" From: Thomas Zimmermann To: Zack Rusin , maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@linux.ie, daniel@ffwll.ch, marex@denx.de, stefan@agner.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, linux-graphics-maintainer@vmware.com, sroland@vmware.com Cc: linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org Message-ID: Subject: Re: [PATCH 1/4] drm/vmwgfx: Make console emulation depend on DRM_FBDEV_EMULATION References: <20210415110040.23525-1-tzimmermann@suse.de> <20210415110040.23525-2-tzimmermann@suse.de> In-Reply-To: --Ag6R0KJ99n4rzWObwOK0Cqo9HrCiM9Qwj Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable Am 15.04.21 um 20:50 schrieb Thomas Zimmermann: > Hi >=20 > Am 15.04.21 um 20:21 schrieb Zack Rusin: >> On 4/15/21 7:00 AM, Thomas Zimmermann wrote: >>> Respect DRM's kconfig setting for fbdev console emulation. If enabled= , >>> it will select all required config options. So remove them from vmwgf= x's >>> Kconfig file. >>> >>> Signed-off-by: Thomas Zimmermann >>> --- >>> =C2=A0 drivers/gpu/drm/vmwgfx/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |= =C2=A0 7 +------ >>> =C2=A0 drivers/gpu/drm/vmwgfx/Makefile=C2=A0=C2=A0=C2=A0=C2=A0 |=20 > 4 +++- >>> =C2=A0 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 19 +++++++++++++++++++ >>> =C2=A0 3 files changed, 23 insertions(+), 7 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/vmwgfx/Kconfig=20 >>> b/drivers/gpu/drm/vmwgfx/Kconfig >>> index 15acdf2a7c0f..b3a34196935b 100644 >>> --- a/drivers/gpu/drm/vmwgfx/Kconfig >>> +++ b/drivers/gpu/drm/vmwgfx/Kconfig >>> @@ -2,12 +2,7 @@ >>> =C2=A0 config DRM_VMWGFX >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tristate "DRM driver for VMware Virtua= l=20 > GPU" >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 depends on DRM && PCI && X86 && MMU >>> -=C2=A0=C2=A0=C2=A0 select FB_DEFERRED_IO >>> -=C2=A0=C2=A0=C2=A0 select FB_CFB_FILLRECT >>> -=C2=A0=C2=A0=C2=A0 select FB_CFB_COPYAREA >>> -=C2=A0=C2=A0=C2=A0 select FB_CFB_IMAGEBLIT >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 select DRM_TTM >>> -=C2=A0=C2=A0=C2=A0 select FB >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 select MAPPING_DIRTY_HELPERS >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # Only needed for the transitional use=20 of drm_crtc_init - can=20 >>> be removed >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # again once vmwgfx sets up the primar= y=20 > plane itself. >>> @@ -20,7 +15,7 @@ config DRM_VMWGFX >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 The compiled module will b= e=20 > called "vmwgfx.ko". >>> =C2=A0 config DRM_VMWGFX_FBCON >>> -=C2=A0=C2=A0=C2=A0 depends on DRM_VMWGFX && FB >>> +=C2=A0=C2=A0=C2=A0 depends on DRM_VMWGFX && DRM_FBDEV_EMULATION >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bool "Enable framebuffer console under=20 vmwgfx by default" >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 help >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Choose this option i= f=20 > you are shipping a new vmwgfx >>> diff --git a/drivers/gpu/drm/vmwgfx/Makefile=20 >>> b/drivers/gpu/drm/vmwgfx/Makefile >>> index 8c02fa5852e7..9f5743013cbb 100644 >>> --- a/drivers/gpu/drm/vmwgfx/Makefile >>> +++ b/drivers/gpu/drm/vmwgfx/Makefile >>> @@ -1,6 +1,6 @@ >>> =C2=A0 # SPDX-License-Identifier: GPL-2.0 >>> =C2=A0 vmwgfx-y :=3D vmwgfx_execbuf.o vmwgfx_gmr.o vmwgfx_kms.o vmwgf= x_drv.o \ >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_fb.o vmwgfx_ioctl.= o=20 > vmwgfx_resource.o >>> vmwgfx_ttm_buffer.o \ >>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_ioctl.o vmwgfx_res= ource.o vmwgfx_ttm_buffer.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_cmd.o v= mwgfx_irq.o vmwgfx_ldu.o vmwgfx_ttm_glue.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_overlay= =2Eo vmwgfx_gmrid_manager.o vmwgfx_fence.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_bo.o vm= wgfx_scrn.o vmwgfx_context.o \ >>> @@ -11,5 +11,7 @@ vmwgfx-y :=3D vmwgfx_execbuf.o vmwgfx_gmr.o=20 >>> vmwgfx_kms.o vmwgfx_drv.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vmwgfx_validat= ion.o vmwgfx_page_dirty.o=20 >>> vmwgfx_streamoutput.o \ >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ttm_object.o t= tm_lock.o ttm_memory.o >>> +vmwgfx-$(CONFIG_DRM_FBDEV_EMULATION) +=3D vmwgfx_fb.o >>> =C2=A0 vmwgfx-$(CONFIG_TRANSPARENT_HUGEPAGE) +=3D vmwgfx_thp.o >>> + >>> =C2=A0 obj-$(CONFIG_DRM_VMWGFX) :=3D vmwgfx.o >>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h=20 >>> b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h >>> index 7e6518709e14..e7836da190c4 100644 >>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h >>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h >>> @@ -1116,10 +1116,29 @@ extern void vmw_generic_waiter_remove(struct = >>> vmw_private *dev_priv, >>> =C2=A0=C2=A0 * Kernel framebuffer - vmwgfx_fb.c >>> =C2=A0=C2=A0 */ >>> +#ifdef CONFIG_DRM_FBDEV_EMULATION >>> =C2=A0 int vmw_fb_init(struct vmw_private *vmw_priv); >>> =C2=A0 int vmw_fb_close(struct vmw_private *dev_priv); >>> =C2=A0 int vmw_fb_off(struct vmw_private *vmw_priv); >>> =C2=A0 int vmw_fb_on(struct vmw_private *vmw_priv); >>> +#else >>> +static inline int vmw_fb_init(struct vmw_private *vmw_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +static inline int vmw_fb_close(struct vmw_private *dev_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +static inline int vmw_fb_off(struct vmw_private *vmw_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +static inline int vmw_fb_on(struct vmw_private *vmw_priv) >>> +{ >>> +=C2=A0=C2=A0=C2=A0 return 0; >>> +} >>> +#endif >>> =C2=A0 /** >>> =C2=A0=C2=A0 * Kernel modesetting - vmwgfx_kms.c >>> >> >> This changes the behavior a bit, I guess DRM_VMWGFX (or at least=20 >> DRM_VMWGFX_FBCON) would need to select DRM_FBDEV_EMULATION to preserve=20 >> the old behavior, but that's largely due to the fact that given how=20 >> those options were setup we never run without FB set. In general it=20 >> should be ok and looks more reasonable than the current setup. I'll tr= y=20 >=20 >> it out on Monday just in case, but for now: >> >> Reviewed-by: Zack Rusin >> >=20 > All other drivers use DRM_FBDEV_EMULATION, so vmwgfx would follow commo= n=20 > conventions. >=20 > AFAICT DRM_VMWGFX_FBCON is just the default on/off setting. How about=20 > making DRM_VMWGFX_FBCON depend on DRM_FBDEV_EMULATION? Users would be=20 > able to enable fbdev emulation in general and, if needed, still pick a = > separate default on/off for vmwgfx. Oh, lol. That's already in the patchset. >=20 > Best regards > Thomas >=20 >> z >=20 >=20 > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >=20 --=20 Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany (HRB 36809, AG N=C3=BCrnberg) Gesch=C3=A4ftsf=C3=BChrer: Felix Imend=C3=B6rffer --Ag6R0KJ99n4rzWObwOK0Cqo9HrCiM9Qwj-- --ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEExndm/fpuMUdwYFFolh/E3EQov+AFAmB5a4cFAwAAAAAACgkQlh/E3EQov+Dg fRAAsB5/4xU0bRPUm/MpTklXMDnKzE6AiGZRVl28A3hGaFoAujyzlWNeJ08f0cQlq5Fz/UQl8Cre Kqsd7tSvjC/rsC8SLMfNa1hjN8cydZaC6HVDRlVkpWS6UTRF5R5gNlGtGvIHk/2G0UUxl+S+xFom vaC5Oe2f/v2lig2ilQmsXb8dRLExy76SMWza9+WV7Bn2M9b1oi9n8vDlOm6hfVJfd6JfvX7cjiYq GTZE/8cCr45fmlWl+YmMN0dfM2Vy3jqLCgj77lFQwOZjh3K2EjRdZeejvc57dROV3mbGYxPZ99vV dm6GAr4+fnogOfSngPVuIUG0ConsE2MCb1O27X+9dcpgQWHPQQ8qfV1PpT04kf2ShF8N63f1c/sf aLwA6GoRk/zWVfQWNa2OQG0ONDBWnrY1ni6xt7ak2JWjHKKa7eB/VTuZk7IRJXay5PYN8YP46cog zKEywsGQEM1m88RlifkiXtwqy1tBWkdOhXSbrSOOeqUSrLgTjPNnWCH8C1QG2+JveeOP7beWSloz rfTGklBBqwKt091BzT0Dj1oK8aOEIjuzNkd7ICwJm8J+5JBTRlODp9VL5n6MijHp495Oxx9cOGUv v10C7M3nwBsJeEIkjuGsweBbsVyQJMLdpT7r5VdYhctQP4KEdOGFRmeqdF4OPJNvdkLV7OGzJF7d J9w= =3Bys -----END PGP SIGNATURE----- --ukcbay9BIbZkaTB5R6IcQW5IQVJLGS91d-- --===============0329641347== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel --===============0329641347==--