From patchwork Wed Nov 3 12:28:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 12600747 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11BB0C433EF for ; Wed, 3 Nov 2021 12:28:48 +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 CA08060F58 for ; Wed, 3 Nov 2021 12:28:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org CA08060F58 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 15DB4892C6; Wed, 3 Nov 2021 12:28:35 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67C0C89065 for ; Wed, 3 Nov 2021 12:28:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635942511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EOigLsb/AiPO+lh5JvcCRxDIH+IjKx25qTIzyzSOo+o=; b=DN/0UcBtp0IzqwLeHwzUBoAgdizRcIQyRxEVXGR1l8rWh7BDsyWQUFophdyY456hMT6jGO RAST6IDRP0aWVFqCjWlkCSBqHzv636rTXZ6+FFG1NpzKM7TXkgH6/KduBuf9+LbkWFA5uf Qm/oa/luxoIlByXX7pKWorqReHb2ZOM= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-467-Cn6eXBN0OBy8JswzJa1l8w-1; Wed, 03 Nov 2021 08:28:30 -0400 X-MC-Unique: Cn6eXBN0OBy8JswzJa1l8w-1 Received: by mail-wm1-f70.google.com with SMTP id n189-20020a1c27c6000000b00322f2e380f2so2671500wmn.6 for ; Wed, 03 Nov 2021 05:28:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EOigLsb/AiPO+lh5JvcCRxDIH+IjKx25qTIzyzSOo+o=; b=iC+h6IAcgvbaDsHMtQIl5SGadvmlhtU/sljlcOdgRGPaNtbss9TCGE52AuKdZ/aBUG GgK/OyNuLNP9mztlTeNy0/3G7m/TB8f680ZycDKOFbTGT5sA4c+UbBk7HZ+uB+U7+gOQ WmFShCSpmOioRUYX7HtYZD8BkI8SRvN2UQtQXmBiKSU70qNKJvGIJVSqEhUVKXOvax3U bk1j+CbLDDa6MzcpqzbSDdJ+un+zWBWjKz0Ri+drCrDNNgSeCRRUVQC0ljB8kVIiBeQp qYUFCuiBUW3pHzK8KqPin5Vh9+hbvevZt7k8A++io0+0Jhzfg0fOfp4FHhFTadTuPQJC D4SA== X-Gm-Message-State: AOAM533wQqVSiTKtV+t5tgpMGwLZkcksRMbZ4APM40UCFWdZ1Vzs/ixs mYYOixgadWSR/5oeKoP1EXGc6bAc2S5+R9rwgcnK72yBykQEBUcfDF/CPtmPHK4y3pX/dL93HiB IuB0AxKt1uHsSdH4MG2cNNrHISSqM X-Received: by 2002:a5d:6085:: with SMTP id w5mr47839164wrt.122.1635942509088; Wed, 03 Nov 2021 05:28:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwvNRpXmZFEKhQpN3/OMoF+06zLZZouJw2euobrr6tiItTsNV1bIfdLVAHT+sRPk71He+cN7g== X-Received: by 2002:a5d:6085:: with SMTP id w5mr47839129wrt.122.1635942508901; Wed, 03 Nov 2021 05:28:28 -0700 (PDT) Received: from minerva.home ([92.176.231.106]) by smtp.gmail.com with ESMTPSA id w7sm1868400wru.51.2021.11.03.05.28.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Nov 2021 05:28:28 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [RESEND PATCH 1/5] drm/i915: Fix comment about modeset parameters Date: Wed, 3 Nov 2021 13:28:05 +0100 Message-Id: <20211103122809.1040754-2-javierm@redhat.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211103122809.1040754-1-javierm@redhat.com> References: <20211103122809.1040754-1-javierm@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=javierm@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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, Pekka Paalanen , David Airlie , Daniel Vetter , =?utf-8?q?Michel_D=C3=A4nzer?= , Javier Martinez Canillas , Rodrigo Vivi , Peter Robinson , Thomas Zimmermann , Neal Gompa , intel-gfx@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The comment mentions that the KMS is enabled by default unless either the i915.modeset module parameter or vga_text_mode_force boot option are used. But the latter does not exist and instead the nomodeset option was meant. Signed-off-by: Javier Martinez Canillas --- drivers/gpu/drm/i915/i915_module.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_module.c b/drivers/gpu/drm/i915/i915_module.c index ab2295dd4500..c7507266aa83 100644 --- a/drivers/gpu/drm/i915/i915_module.c +++ b/drivers/gpu/drm/i915/i915_module.c @@ -24,8 +24,8 @@ static int i915_check_nomodeset(void) /* * Enable KMS by default, unless explicitly overriden by - * either the i915.modeset prarameter or by the - * vga_text_mode_force boot option. + * either the i915.modeset parameter or by the + * nomodeset boot option. */ if (i915_modparams.modeset == 0) From patchwork Wed Nov 3 12:28:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 12600757 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68586C433F5 for ; Wed, 3 Nov 2021 12:35:12 +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 3121361151 for ; Wed, 3 Nov 2021 12:35:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 3121361151 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F110B6E50E; Wed, 3 Nov 2021 12:35:10 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id DB67D6E0FB for ; Wed, 3 Nov 2021 12:35:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635942907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IGtf0E3LGL0ddyBRq7P24Qzj/B5Mx88heI+2/E3qIo0=; b=BKzPxNWfv6Iatda2QJUSMR1a7E91178+cDyyRaxc/cIF/KCKnKs0FMB4KssmUv2GQN++9X YUY3x89bxhhKvFB6FuSs7BX/yTJih4W75yLAWXFc6qBLl4if3zewzDTyLDzbopFml+0dO0 tSL2L4/VGSVsmsaSlzqX5Egd05n0dfA= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-21-yqxheKIBNLSab2iyQGmZRA-1; Wed, 03 Nov 2021 08:28:32 -0400 X-MC-Unique: yqxheKIBNLSab2iyQGmZRA-1 Received: by mail-wm1-f70.google.com with SMTP id f20-20020a05600c155400b0030db7b29174so1024435wmg.2 for ; Wed, 03 Nov 2021 05:28:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IGtf0E3LGL0ddyBRq7P24Qzj/B5Mx88heI+2/E3qIo0=; b=TGlxfGWEpseFWhBQ8bXPJSAx0YSGC6+9N51Gh/ZR4XFcGMrltoepLJiEXzscjMD8QI 97bNcnkIWLGmKcZ9zE50hTpDKAhhn7eb8CEXVhzTQgocWcoLpqYp4/uinrfAMCSerck2 TG2cJmASDkSdpK9xkUc/0tAD9OBK3PV7z++4vDAV5WmlPlUnFfS+MBNBuziUGo8nbD7B BTe3njC3Yd0DlAHPES2cWvmIcSYPPDFTxYfrb6uW7lnwWOdXuI9xsCrNuJlPlQn8JoPG 9cFMibjI1rNatTtgbW1fLkc1/Et913RaG278BGM0JvpEcWhkdr3wqiXOI7pNjr8MvIik ScJA== X-Gm-Message-State: AOAM530+kYjiMsNJ7m0uKNGiJCUPPWgbiJEgQtwnqGTsuJhNGjAC9jVC VG84cKvRI1V2SRls3zrTeRXwRvjaqgh5mvtb7D5fn2PXGMFB0ZUVSnzHRgIxEanyIO8D32vDYAb OY18Xk6iA0eQ146LTe3sc5MYIPF7P X-Received: by 2002:a05:600c:5125:: with SMTP id o37mr14376508wms.81.1635942511178; Wed, 03 Nov 2021 05:28:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwjs5JKI/wtqONrBYkJewsdaPE9GmL4Yl44qkhfZkZKVdo972E/M33XlYygog+sYzTSATDMmg== X-Received: by 2002:a05:600c:5125:: with SMTP id o37mr14376449wms.81.1635942510920; Wed, 03 Nov 2021 05:28:30 -0700 (PDT) Received: from minerva.home ([92.176.231.106]) by smtp.gmail.com with ESMTPSA id w7sm1868400wru.51.2021.11.03.05.28.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Nov 2021 05:28:30 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [RESEND PATCH 2/5] drm: Move nomodeset kernel parameter handler to the DRM subsystem Date: Wed, 3 Nov 2021 13:28:06 +0100 Message-Id: <20211103122809.1040754-3-javierm@redhat.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211103122809.1040754-1-javierm@redhat.com> References: <20211103122809.1040754-1-javierm@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=javierm@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: linux-fbdev@vger.kernel.org, David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, Gurchetan Singh , Gerd Hoffmann , Javier Martinez Canillas , amd-gfx@lists.freedesktop.org, VMware Graphics , Peter Robinson , Neal Gompa , Dave Airlie , Ben Skeggs , Thomas Zimmermann , =?utf-8?q?Michel_D=C3=A4nzer?= , Hans de Goede , Rodrigo Vivi , nouveau@lists.freedesktop.org, virtualization@lists.linux-foundation.org, Pekka Paalanen , Greg Kroah-Hartman , "Pan, Xinhui" , spice-devel@lists.freedesktop.org, Alex Deucher , intel-gfx@lists.freedesktop.org, =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The "nomodeset" kernel cmdline parameter is handled by the vgacon driver but the exported vgacon_text_force() symbol is only used by DRM drivers. It makes much more sense for the parameter logic to be in the subsystem of the drivers that are making use of it. Let's move that to DRM. Suggested-by: Daniel Vetter Signed-off-by: Javier Martinez Canillas --- drivers/gpu/drm/Makefile | 2 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +-- drivers/gpu/drm/ast/ast_drv.c | 1 - drivers/gpu/drm/drm_nomodeset.c | 26 +++++++++++++++++++++++++ drivers/gpu/drm/i915/i915_module.c | 2 -- drivers/gpu/drm/mgag200/mgag200_drv.c | 1 - drivers/gpu/drm/nouveau/nouveau_drm.c | 1 - drivers/gpu/drm/qxl/qxl_drv.c | 1 - drivers/gpu/drm/radeon/radeon_drv.c | 1 - drivers/gpu/drm/tiny/bochs.c | 1 - drivers/gpu/drm/tiny/cirrus.c | 1 - drivers/gpu/drm/vboxvideo/vbox_drv.c | 1 - drivers/gpu/drm/virtio/virtgpu_drv.c | 1 - drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 1 - drivers/video/console/vgacon.c | 21 -------------------- include/drm/drm_mode_config.h | 6 ++++++ include/linux/console.h | 6 ------ 17 files changed, 35 insertions(+), 41 deletions(-) create mode 100644 drivers/gpu/drm/drm_nomodeset.c diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 1c41156deb5f..0e2d60ea93ca 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -33,6 +33,8 @@ drm-$(CONFIG_DRM_PRIVACY_SCREEN) += drm_privacy_screen.o drm_privacy_screen_x86. obj-$(CONFIG_DRM_DP_AUX_BUS) += drm_dp_aux_bus.o +obj-y += drm_nomodeset.o + drm_cma_helper-y := drm_gem_cma_helper.o obj-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_cma_helper.o diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index c718fb5f3f8a..2680a2aaa877 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -31,7 +31,6 @@ #include "amdgpu_drv.h" #include -#include #include #include #include @@ -2515,7 +2514,7 @@ static int __init amdgpu_init(void) int r; if (vgacon_text_force()) { - DRM_ERROR("VGACON disables amdgpu kernel modesetting.\n"); + DRM_ERROR("amdgpu kernel modesetting disabled.\n"); return -EINVAL; } diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c index 86d5cd7b6318..048be607b182 100644 --- a/drivers/gpu/drm/ast/ast_drv.c +++ b/drivers/gpu/drm/ast/ast_drv.c @@ -26,7 +26,6 @@ * Authors: Dave Airlie */ -#include #include #include diff --git a/drivers/gpu/drm/drm_nomodeset.c b/drivers/gpu/drm/drm_nomodeset.c new file mode 100644 index 000000000000..1ac9a8d5a8fe --- /dev/null +++ b/drivers/gpu/drm/drm_nomodeset.c @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include + +static bool vgacon_text_mode_force; + +bool vgacon_text_force(void) +{ + return vgacon_text_mode_force; +} +EXPORT_SYMBOL(vgacon_text_force); + +static int __init text_mode(char *str) +{ + vgacon_text_mode_force = true; + + pr_warn("You have booted with nomodeset. This means your GPU drivers are DISABLED\n"); + pr_warn("Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly\n"); + pr_warn("Unless you actually understand what nomodeset does, you should reboot without enabling it\n"); + + return 1; +} + +/* force text mode - used by kernel modesetting */ +__setup("nomodeset", text_mode); diff --git a/drivers/gpu/drm/i915/i915_module.c b/drivers/gpu/drm/i915/i915_module.c index c7507266aa83..14a59226519d 100644 --- a/drivers/gpu/drm/i915/i915_module.c +++ b/drivers/gpu/drm/i915/i915_module.c @@ -4,8 +4,6 @@ * Copyright © 2021 Intel Corporation */ -#include - #include "gem/i915_gem_context.h" #include "gem/i915_gem_object.h" #include "i915_active.h" diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 6b9243713b3c..685e766db6a4 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -6,7 +6,6 @@ * Dave Airlie */ -#include #include #include #include diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 1f828c9f691c..029997f50d1a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -22,7 +22,6 @@ * Authors: Ben Skeggs */ -#include #include #include #include diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index fc47b0deb021..3cd6bd9f059d 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -29,7 +29,6 @@ #include "qxl_drv.h" -#include #include #include #include diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b74cebca1f89..9b606c1b11ec 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -31,7 +31,6 @@ #include -#include #include #include #include diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c index 2ce3bd903b70..04333f78be55 100644 --- a/drivers/gpu/drm/tiny/bochs.c +++ b/drivers/gpu/drm/tiny/bochs.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include #include #include diff --git a/drivers/gpu/drm/tiny/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c index 4611ec408506..8bd674f0d682 100644 --- a/drivers/gpu/drm/tiny/cirrus.c +++ b/drivers/gpu/drm/tiny/cirrus.c @@ -16,7 +16,6 @@ * Copyright 1999-2001 Jeff Garzik */ -#include #include #include #include diff --git a/drivers/gpu/drm/vboxvideo/vbox_drv.c b/drivers/gpu/drm/vboxvideo/vbox_drv.c index a6c81af37345..e6d983121d0b 100644 --- a/drivers/gpu/drm/vboxvideo/vbox_drv.c +++ b/drivers/gpu/drm/vboxvideo/vbox_drv.c @@ -7,7 +7,6 @@ * Michael Thayer */ -#include #include #include #include diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c index 749db18dcfa2..cd4c170236f1 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -27,7 +27,6 @@ */ #include -#include #include #include #include diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index ab9a1750e1df..fcc4b5a7f639 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -25,7 +25,6 @@ * **************************************************************************/ -#include #include #include #include diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c index ef9c57ce0906..d4320b147956 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c @@ -97,30 +97,9 @@ static int vga_video_font_height; static int vga_scan_lines __read_mostly; static unsigned int vga_rolled_over; /* last vc_origin offset before wrap */ -static bool vgacon_text_mode_force; static bool vga_hardscroll_enabled; static bool vga_hardscroll_user_enable = true; -bool vgacon_text_force(void) -{ - return vgacon_text_mode_force; -} -EXPORT_SYMBOL(vgacon_text_force); - -static int __init text_mode(char *str) -{ - vgacon_text_mode_force = true; - - pr_warn("You have booted with nomodeset. This means your GPU drivers are DISABLED\n"); - pr_warn("Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly\n"); - pr_warn("Unless you actually understand what nomodeset does, you should reboot without enabling it\n"); - - return 1; -} - -/* force text mode - used by kernel modesetting */ -__setup("nomodeset", text_mode); - static int __init no_scroll(char *str) { /* diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 48b7de80daf5..e1d2042a7b77 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -969,4 +969,10 @@ static inline int drm_mode_config_init(struct drm_device *dev) void drm_mode_config_reset(struct drm_device *dev); void drm_mode_config_cleanup(struct drm_device *dev); +#ifdef CONFIG_VGA_CONSOLE +extern bool vgacon_text_force(void); +#else +static inline bool vgacon_text_force(void) { return false; } +#endif + #endif diff --git a/include/linux/console.h b/include/linux/console.h index 20874db50bc8..d4dd8384898b 100644 --- a/include/linux/console.h +++ b/include/linux/console.h @@ -217,12 +217,6 @@ extern atomic_t ignore_console_lock_warning; #define VESA_HSYNC_SUSPEND 2 #define VESA_POWERDOWN 3 -#ifdef CONFIG_VGA_CONSOLE -extern bool vgacon_text_force(void); -#else -static inline bool vgacon_text_force(void) { return false; } -#endif - extern void console_init(void); /* For deferred console takeover */ From patchwork Wed Nov 3 12:28:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 12600751 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA645C433EF for ; Wed, 3 Nov 2021 12:30:04 +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 A5AE860C51 for ; Wed, 3 Nov 2021 12:30:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A5AE860C51 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 152586E0CD; Wed, 3 Nov 2021 12:30:03 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id F1BEF6FA4B for ; Wed, 3 Nov 2021 12:30:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635942601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oMBR7qwQMQJqr7Dlw7abQOf+iOK8Ykm5cCAW8eaAHHk=; b=TQ5m95seSK0XgpsS1VL4COSaKaExDiLaPbCZcrAh6H/rgWY9YRFMoH8OZig74b5xWXa13s ftB/G+hhdxIgUzbJ+VIjePqBZb79xWgEpSRo7x7cHIHpXe+oX+16EMWT7DgZx5boM3GBZ2 bSoyPmeXsruAoD0zhpzesgkn+zY4dhQ= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-279-2uHcEbDGNJ6IEr9ZC3FygA-1; Wed, 03 Nov 2021 08:28:34 -0400 X-MC-Unique: 2uHcEbDGNJ6IEr9ZC3FygA-1 Received: by mail-wm1-f70.google.com with SMTP id m14-20020a05600c3b0e00b0033308dcc933so555792wms.7 for ; Wed, 03 Nov 2021 05:28:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oMBR7qwQMQJqr7Dlw7abQOf+iOK8Ykm5cCAW8eaAHHk=; b=o8bKKgQo7Ci9MtVZPFXBR0LT4HipXTtWADxf6Ge0XAYUmsjgBzkiH/9DLGRyO1R/QQ 2Y/COJKuYclZiLOJkSADH5mi491IjOKylJtmueRk/1BKujukWX8j+Fook6Qd/iwXMrso gdag/44gfeaMXJ3J90htuLV+FcfV4/vrlLRvr0dTxDW4ji0wEZFFRmd3uLyzWoXeGY7E eJ5QcZMKd0HB1wNw7TNqqG/DSbmF4jqaoiqTxZGPLRxz3tYkQveA5hNgGQxBvRrvb3SK pS3HtTjTRPxqOO0WXml/z0qZWMFHeVBCOT3/sgZ9dt+mu35PUwvf5UW5CM6ybe29I0Jf OOTQ== X-Gm-Message-State: AOAM533ss20Rn1B8BDUbZlyW3Qg3jeeSmQtMzzX1Fl4sVQITQTY/Lz1c Tg8DcVQA/n6yNFRTLI0741PDgFRD1HgJtPehsXxmuhtXOa8V+A15ajIEif27UUr8LKKGYN2omMn XPIAYBwmPogJZ0zKvTV/tFKKid/eQ X-Received: by 2002:a7b:c770:: with SMTP id x16mr15333418wmk.66.1635942512993; Wed, 03 Nov 2021 05:28:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwvsPev8wG3Y0Uyw82bZuVS2rYIwAeulpX6APfdp8vc4iBlRYy1SD4tRI2oTJAnsrskHBScNQ== X-Received: by 2002:a7b:c770:: with SMTP id x16mr15333370wmk.66.1635942512793; Wed, 03 Nov 2021 05:28:32 -0700 (PDT) Received: from minerva.home ([92.176.231.106]) by smtp.gmail.com with ESMTPSA id w7sm1868400wru.51.2021.11.03.05.28.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Nov 2021 05:28:32 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [RESEND PATCH 3/5] drm: Rename vgacon_text_force() function to drm_modeset_disabled() Date: Wed, 3 Nov 2021 13:28:07 +0100 Message-Id: <20211103122809.1040754-4-javierm@redhat.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211103122809.1040754-1-javierm@redhat.com> References: <20211103122809.1040754-1-javierm@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=javierm@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, Gurchetan Singh , Gerd Hoffmann , Javier Martinez Canillas , amd-gfx@lists.freedesktop.org, VMware Graphics , Peter Robinson , Neal Gompa , Dave Airlie , Ben Skeggs , Thomas Zimmermann , =?utf-8?q?Michel_D=C3=A4nzer?= , Hans de Goede , Rodrigo Vivi , nouveau@lists.freedesktop.org, virtualization@lists.linux-foundation.org, Pekka Paalanen , "Pan, Xinhui" , spice-devel@lists.freedesktop.org, Alex Deucher , intel-gfx@lists.freedesktop.org, =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This function is used by some DRM drivers to determine if the "nomodeset" kernel command line parameter was set and prevent these drivers to probe. But the function name is quite confusing and does not reflect what really the drivers are testing when calling it. Use a better naming now that it is part of the DRM subsystem. Also, vgacon_text_force() is guarded by #ifdef CONFIG_VGA_CONSOLE already so there is no need to do the same when calling the function. Suggested-by: Suggested-by: Daniel Vetter Signed-off-by: Javier Martinez Canillas --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +- drivers/gpu/drm/ast/ast_drv.c | 2 +- drivers/gpu/drm/drm_nomodeset.c | 16 ++++++++-------- drivers/gpu/drm/i915/i915_module.c | 2 +- drivers/gpu/drm/mgag200/mgag200_drv.c | 2 +- drivers/gpu/drm/nouveau/nouveau_drm.c | 2 +- drivers/gpu/drm/qxl/qxl_drv.c | 2 +- drivers/gpu/drm/radeon/radeon_drv.c | 2 +- drivers/gpu/drm/tiny/bochs.c | 2 +- drivers/gpu/drm/tiny/cirrus.c | 2 +- drivers/gpu/drm/vboxvideo/vbox_drv.c | 4 +--- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +- include/drm/drm_mode_config.h | 4 ++-- 14 files changed, 22 insertions(+), 24 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 2680a2aaa877..f7bd2616cf23 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -2513,7 +2513,7 @@ static int __init amdgpu_init(void) { int r; - if (vgacon_text_force()) { + if (drm_modeset_disabled()) { DRM_ERROR("amdgpu kernel modesetting disabled.\n"); return -EINVAL; } diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c index 048be607b182..6706050414c3 100644 --- a/drivers/gpu/drm/ast/ast_drv.c +++ b/drivers/gpu/drm/ast/ast_drv.c @@ -232,7 +232,7 @@ static struct pci_driver ast_pci_driver = { static int __init ast_init(void) { - if (vgacon_text_force() && ast_modeset == -1) + if (drm_modeset_disabled() && ast_modeset == -1) return -EINVAL; if (ast_modeset == 0) diff --git a/drivers/gpu/drm/drm_nomodeset.c b/drivers/gpu/drm/drm_nomodeset.c index 1ac9a8d5a8fe..dfc8b30f0625 100644 --- a/drivers/gpu/drm/drm_nomodeset.c +++ b/drivers/gpu/drm/drm_nomodeset.c @@ -3,17 +3,17 @@ #include #include -static bool vgacon_text_mode_force; +static bool drm_nomodeset; -bool vgacon_text_force(void) +bool drm_modeset_disabled(void) { - return vgacon_text_mode_force; + return drm_nomodeset; } -EXPORT_SYMBOL(vgacon_text_force); +EXPORT_SYMBOL(drm_modeset_disabled); -static int __init text_mode(char *str) +static int __init disable_modeset(char *str) { - vgacon_text_mode_force = true; + drm_nomodeset = true; pr_warn("You have booted with nomodeset. This means your GPU drivers are DISABLED\n"); pr_warn("Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly\n"); @@ -22,5 +22,5 @@ static int __init text_mode(char *str) return 1; } -/* force text mode - used by kernel modesetting */ -__setup("nomodeset", text_mode); +/* Disable kernel modesetting */ +__setup("nomodeset", disable_modeset); diff --git a/drivers/gpu/drm/i915/i915_module.c b/drivers/gpu/drm/i915/i915_module.c index 14a59226519d..3e5531040e4d 100644 --- a/drivers/gpu/drm/i915/i915_module.c +++ b/drivers/gpu/drm/i915/i915_module.c @@ -29,7 +29,7 @@ static int i915_check_nomodeset(void) if (i915_modparams.modeset == 0) use_kms = false; - if (vgacon_text_force() && i915_modparams.modeset == -1) + if (drm_modeset_disabled() && i915_modparams.modeset == -1) use_kms = false; if (!use_kms) { diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 685e766db6a4..7ee87564bade 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -377,7 +377,7 @@ static struct pci_driver mgag200_pci_driver = { static int __init mgag200_init(void) { - if (vgacon_text_force() && mgag200_modeset == -1) + if (drm_modeset_disabled() && mgag200_modeset == -1) return -EINVAL; if (mgag200_modeset == 0) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 029997f50d1a..903d0e626954 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -1321,7 +1321,7 @@ nouveau_drm_init(void) nouveau_display_options(); if (nouveau_modeset == -1) { - if (vgacon_text_force()) + if (drm_modeset_disabled()) nouveau_modeset = 0; } diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 3cd6bd9f059d..e4ab16837fad 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -294,7 +294,7 @@ static struct drm_driver qxl_driver = { static int __init qxl_init(void) { - if (vgacon_text_force() && qxl_modeset == -1) + if (drm_modeset_disabled() && qxl_modeset == -1) return -EINVAL; if (qxl_modeset == 0) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 9b606c1b11ec..36c8dac68cca 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -636,7 +636,7 @@ static struct pci_driver radeon_kms_pci_driver = { static int __init radeon_module_init(void) { - if (vgacon_text_force() && radeon_modeset == -1) { + if (drm_modeset_disabled() && radeon_modeset == -1) { DRM_INFO("VGACON disable radeon kernel modesetting.\n"); radeon_modeset = 0; } diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c index 04333f78be55..59189f7c1840 100644 --- a/drivers/gpu/drm/tiny/bochs.c +++ b/drivers/gpu/drm/tiny/bochs.c @@ -718,7 +718,7 @@ static struct pci_driver bochs_pci_driver = { static int __init bochs_init(void) { - if (vgacon_text_force() && bochs_modeset == -1) + if (drm_modeset_disabled() && bochs_modeset == -1) return -EINVAL; if (bochs_modeset == 0) diff --git a/drivers/gpu/drm/tiny/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c index 8bd674f0d682..fcf98379c641 100644 --- a/drivers/gpu/drm/tiny/cirrus.c +++ b/drivers/gpu/drm/tiny/cirrus.c @@ -635,7 +635,7 @@ static struct pci_driver cirrus_pci_driver = { static int __init cirrus_init(void) { - if (vgacon_text_force()) + if (drm_modeset_disabled()) return -EINVAL; return pci_register_driver(&cirrus_pci_driver); } diff --git a/drivers/gpu/drm/vboxvideo/vbox_drv.c b/drivers/gpu/drm/vboxvideo/vbox_drv.c index e6d983121d0b..09356dbd69b2 100644 --- a/drivers/gpu/drm/vboxvideo/vbox_drv.c +++ b/drivers/gpu/drm/vboxvideo/vbox_drv.c @@ -192,10 +192,8 @@ static const struct drm_driver driver = { static int __init vbox_init(void) { -#ifdef CONFIG_VGA_CONSOLE - if (vgacon_text_force() && vbox_modeset == -1) + if (drm_modeset_disabled() && vbox_modeset == -1) return -EINVAL; -#endif if (vbox_modeset == 0) return -EINVAL; diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c index cd4c170236f1..d96797d70fae 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -103,7 +103,7 @@ static int virtio_gpu_probe(struct virtio_device *vdev) struct drm_device *dev; int ret; - if (vgacon_text_force() && virtio_gpu_modeset == -1) + if (drm_modeset_disabled() && virtio_gpu_modeset == -1) return -EINVAL; if (virtio_gpu_modeset == 0) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index fcc4b5a7f639..22dab9beea03 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -1650,7 +1650,7 @@ static int __init vmwgfx_init(void) { int ret; - if (vgacon_text_force()) + if (drm_modeset_disabled()) return -EINVAL; ret = pci_register_driver(&vmw_pci_driver); diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index e1d2042a7b77..a5a2dc02e892 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -970,9 +970,9 @@ void drm_mode_config_reset(struct drm_device *dev); void drm_mode_config_cleanup(struct drm_device *dev); #ifdef CONFIG_VGA_CONSOLE -extern bool vgacon_text_force(void); +extern bool drm_modeset_disabled(void); #else -static inline bool vgacon_text_force(void) { return false; } +static inline bool drm_modeset_disabled(void) { return false; } #endif #endif From patchwork Wed Nov 3 12:32:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 12600753 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48411C433F5 for ; Wed, 3 Nov 2021 12:32:59 +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 180E261076 for ; Wed, 3 Nov 2021 12:32:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 180E261076 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 020B373292; Wed, 3 Nov 2021 12:32:55 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id F021B72E8E for ; Wed, 3 Nov 2021 12:32:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635942770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WYRilsKXTSd9rCQl94c3WtrJx+PErIlJFSZVj4QEnnA=; b=Rxli6xtQF1IzbP59PQeth9DuqNPs+H6uQLnNisulug2Yf2BcwQNSv25xaydSstFGiT8R62 BZIzFeH0364YpuSZ6kiANrhtvmgv9nhhaZo+XbACIw07CT7YHUZ8wAYPL4+6QGOCQmAE+M g3prFKQ3651OdULaqPP30b/M8YIvIZI= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-96-4xiSCJdzNvCj6WyZ3oiVag-1; Wed, 03 Nov 2021 08:32:49 -0400 X-MC-Unique: 4xiSCJdzNvCj6WyZ3oiVag-1 Received: by mail-wm1-f71.google.com with SMTP id a18-20020a1cf012000000b0032ca3eb2ac3so1050350wmb.0 for ; Wed, 03 Nov 2021 05:32:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WYRilsKXTSd9rCQl94c3WtrJx+PErIlJFSZVj4QEnnA=; b=pr4zJMUNcVgJ7AiJBg4iBSJg0gMaCxjM7DO6mS6CkWWVnpW+XmuId2rP3APdLh7/tl Dd5mmqJeJrwXmzPGObje9gDOamDLSXVSy6EOe8OtNkWxfLd3rd98QlKp2/Q/05x5sfix wQJG0zOEtX8fWIiHUySwcbtXpKE1vY8ulettZueX6yzXKei+sm+qJUqyZXtdVXZv4GhT VLQfpwNLo1CsfxyAMBJ+lldTPSgzIsRPfxJEtRy/tyVEFwv4LZEG/q9mNEMvhaCZatoM NoN/rUM5IF4+DudzKQtoqRbXjwYkhvYK0ynFssnf+4+ZQzxiR1qzdEf074M/1I5wMb9B UxiA== X-Gm-Message-State: AOAM531y6re5CgReErMXveb2+9ysCSiH2BvcUSoH/uxZji6RIhUCSSi8 08DUGuWMP3Lu809M3+YohDYuFrlzJgRnRZTbk/z0kXPX8EYzAiqVeFSwIJaer0qLX5XXS62HhEL bQk+0eiFrR8T96/vataI3fjOfgqeU X-Received: by 2002:a5d:4b45:: with SMTP id w5mr28163697wrs.272.1635942768498; Wed, 03 Nov 2021 05:32:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxL3nl9ZIaxmy0TeQNyii+JJT5uC8lrIzi9b77Ccpfz42Wnw9LhvaMNMIW70Bij6uW32P/3dA== X-Received: by 2002:a5d:4b45:: with SMTP id w5mr28163669wrs.272.1635942768316; Wed, 03 Nov 2021 05:32:48 -0700 (PDT) Received: from minerva.home ([92.176.231.106]) by smtp.gmail.com with ESMTPSA id o8sm1774844wrm.67.2021.11.03.05.32.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Nov 2021 05:32:47 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [RESEND PATCH 4/5] drm: Add a drm_drv_enabled() helper function Date: Wed, 3 Nov 2021 13:32:06 +0100 Message-Id: <20211103123206.1041442-1-javierm@redhat.com> X-Mailer: git-send-email 2.33.1 MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=javierm@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: Pekka Paalanen , dri-devel@lists.freedesktop.org, David Airlie , Daniel Vetter , =?utf-8?q?Michel_D=C3=A4nzer?= , Javier Martinez Canillas , Peter Robinson , Thomas Zimmermann , Neal Gompa Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" DRM drivers can use this to determine whether they can be enabled or not. For now it's just a wrapper around drm_modeset_disabled() but having the indirection level will allow to add other conditions besides "nomodeset". Suggested-by: Thomas Zimmermann Signed-off-by: Javier Martinez Canillas --- drivers/gpu/drm/drm_drv.c | 21 +++++++++++++++++++++ include/drm/drm_drv.h | 1 + 2 files changed, 22 insertions(+) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 8214a0b1ab7f..70ef08941e06 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -975,6 +975,27 @@ int drm_dev_set_unique(struct drm_device *dev, const char *name) } EXPORT_SYMBOL(drm_dev_set_unique); +/** + * drm_drv_enabled - Checks if a DRM driver can be enabled + * @driver: DRM driver to check + * + * Checks whether a DRM driver can be enabled or not. This may be the case + * if the "nomodeset" kernel command line parameter is used. + * + * Returns: + * True if the DRM driver is enabled and false otherwise. + */ +bool drm_drv_enabled(const struct drm_driver *driver) +{ + if (drm_modeset_disabled()) { + DRM_INFO("%s driver is disabled\n", driver->name); + return false; + } + + return true; +} +EXPORT_SYMBOL(drm_drv_enabled); + /* * DRM Core * The DRM core module initializes all global DRM objects and makes them diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 0cd95953cdf5..48f2b6eec012 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -598,5 +598,6 @@ static inline bool drm_drv_uses_atomic_modeset(struct drm_device *dev) int drm_dev_set_unique(struct drm_device *dev, const char *name); +bool drm_drv_enabled(const struct drm_driver *driver); #endif