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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00B1DC4332F for ; Fri, 5 Nov 2021 14:26:00 +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 C639161183 for ; Fri, 5 Nov 2021 14:25:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C639161183 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 B2E7A6E928; Fri, 5 Nov 2021 14:25:44 +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 5BAB372E8E for ; Wed, 3 Nov 2021 12:30:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635942602; 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=lDu7V2UPes5WjN4f5IhHpRndmxXdgV1k4QHUorLyZaY=; b=U8G1tNx2ZCjcYi+nyTuMBoCOei8IPPHoYSRhy1G2cXh8+seAFQz4v9psJaLPMd1ZR71NYQ Ya6Ngb2JsaIAWJ0XWue8YycYHeQbxs2vPiiq0Cmzn/rhgmOfgsXiz4log+fZX5Dpl6X1k7 I0+Fk7/pYzssUEX09+6JPCln0Q4rds0= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-83-SIWbrBMvP3eNTeFR21dr6w-1; Wed, 03 Nov 2021 08:28:28 -0400 X-MC-Unique: SIWbrBMvP3eNTeFR21dr6w-1 Received: by mail-wm1-f72.google.com with SMTP id o22-20020a1c7516000000b0030d6f9c7f5fso1005907wmc.1 for ; Wed, 03 Nov 2021 05:28:28 -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=lDu7V2UPes5WjN4f5IhHpRndmxXdgV1k4QHUorLyZaY=; b=Zi5wrCpBIvRXeMJfh2Mo76iTIntZDgGsQmHhy9b54Uri/IFZSiLC2DnNM9BgNuUOET EwS9/E9i1dCOkuoB/CY59BIJzYaXZ3zwYCfAiL+MlwfiirmIkKMz7rWDydMZK7sRGwUC E+TxLVCNwidULqV8+8BQ7QunqxHcgvAXjAuo7eJoIQ+LTv5kUhXVllSMmFp3ghS8kpWz aX8vXKC6rDVgZsH6KAmfptw5Mm05UqzalXMpwB2HpjnuDVtVJurIg/9kbsMkWjVruca6 3pjsloA1TPF2yKXElikkRe64E7WJV5qy02ZCe1d6+Obxtf1zIMvAcL2pbnxIxAjyUfDn s5zA== X-Gm-Message-State: AOAM533pY28wEzGvrayozd31ck+B+OAeOGsg7VLkmycTwaVv36CCuTMA gh4V+Mc6xKFxYX/O8TzXTRNmxvceXIv3DG6Hid4wyXRyHopR3SXuNsqu4cb+FbCIi1xtGA0Cvfx SwjyHA6ImqqVosrHNHAhxy6CNaQ== X-Received: by 2002:adf:a78a:: with SMTP id j10mr56180973wrc.231.1635942507380; Wed, 03 Nov 2021 05:28:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxoKFRYs4+FwUh+L5HYY422zuSq9cxsugE+p23YKU/J7QO0nbcMQx6cOjsOctL5eIXzrrPWjA== X-Received: by 2002:adf:a78a:: with SMTP id j10mr56180921wrc.231.1635942507148; Wed, 03 Nov 2021 05:28:27 -0700 (PDT) Received: from minerva.home ([92.176.231.106]) by smtp.gmail.com with ESMTPSA id w7sm1868400wru.51.2021.11.03.05.28.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Nov 2021 05:28:26 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Date: Wed, 3 Nov 2021 13:28:04 +0100 Message-Id: <20211103122809.1040754-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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 05 Nov 2021 14:25:38 +0000 Subject: [Nouveau] [RESEND PATCH 0/5] Cleanups for the nomodeset kernel command line parameter logic X-BeenThere: nouveau@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Nouveau development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, David Airlie , Joonas Lahtinen , 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 , Chia-I Wu , Ben Skeggs , =?UTF-8?q?Michel=20D=C3=A4nzer?= , Maarten Lankhorst , Maxime Ripard , Hans de Goede , Jani Nikula , Rodrigo Vivi , nouveau@lists.freedesktop.org, virtualization@lists.linux-foundation.org, Pekka Paalanen , Greg Kroah-Hartman , "Pan, Xinhui" , spice-devel@lists.freedesktop.org, Daniel Vetter , Alex Deucher , intel-gfx@lists.freedesktop.org, =?UTF-8?q?Christian=20K=C3=B6nig?= , Zack Rusin Errors-To: nouveau-bounces@lists.freedesktop.org Sender: "Nouveau" [ resend with all relevant people as Cc now, sorry to others for the spam ] There is a lot of historical baggage on this parameter. It's defined in the vgacon driver as a "nomodeset" parameter, but it's handler function is called text_mode() that sets a variable named vgacon_text_mode_force whose value is queried with a function named vgacon_text_force(). All this implies that it's about forcing text mode for VGA, yet it is not used in neither vgacon nor other console driver. The only users for these are DRM drivers, that check for the vgacon_text_force() return value to determine whether the driver could be loaded or not. That makes it quite confusing to read the code, because the variables and function names don't reflect what they actually do and also are not in the same subsystem as the drivers that make use of them. This patch-set attempts to cleanup the code by moving the nomodseset param to the DRM subsystem and do some renaming to make their intention clearer. There is also another aspect that could be improved, and is the fact that drivers are checking for the nomodeset being set as an indication if have to be loaded. But there may be other reasons why this could be the case, so it is better to encapsulate the logic in a separate function to make clear what's about. Patch #1 is just a trivial fix for a comment that isn't referring to the correct kernel parameter. Patch #2 moves the nomodeset logic to the DRM subsystem. Patch #3 renames the vgacon_text_force() function and accompaning logic as drm_modeset_disabled(), which is what this function is really about. Patch #4 adds a drm_drv_enabled() function that could be used by drivers to check if could be enabled. Patch #5 uses the drm_drv_enabled() function to check this instead of just checking if nomodeset has been set. Javier Martinez Canillas (5): drm/i915: Fix comment about modeset parameters drm: Move nomodeset kernel parameter handler to the DRM subsystem drm: Rename vgacon_text_force() function to drm_modeset_disabled() drm: Add a drm_drv_enabled() helper function drm: Use drm_drv_enabled() instead of drm_modeset_disabled() drivers/gpu/drm/Makefile | 2 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 5 ++--- drivers/gpu/drm/ast/ast_drv.c | 3 +-- drivers/gpu/drm/drm_drv.c | 21 ++++++++++++++++++++ drivers/gpu/drm/drm_nomodeset.c | 26 +++++++++++++++++++++++++ drivers/gpu/drm/i915/i915_module.c | 10 +++++----- drivers/gpu/drm/mgag200/mgag200_drv.c | 3 +-- drivers/gpu/drm/nouveau/nouveau_drm.c | 3 +-- drivers/gpu/drm/qxl/qxl_drv.c | 3 +-- drivers/gpu/drm/radeon/radeon_drv.c | 3 +-- drivers/gpu/drm/tiny/bochs.c | 3 +-- drivers/gpu/drm/tiny/cirrus.c | 3 +-- drivers/gpu/drm/vboxvideo/vbox_drv.c | 5 +---- drivers/gpu/drm/virtio/virtgpu_drv.c | 3 +-- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 3 +-- drivers/video/console/vgacon.c | 21 -------------------- include/drm/drm_drv.h | 1 + include/drm/drm_mode_config.h | 6 ++++++ include/linux/console.h | 6 ------ 19 files changed, 73 insertions(+), 57 deletions(-) create mode 100644 drivers/gpu/drm/drm_nomodeset.c -- 2.33.1