[PATCH v4 0/6] Cleanups for the nomodeset kernel command line parameter logic
Thomas Zimmermann
tzimmermann at suse.de
Mon Nov 8 14:17:13 UTC 2021
Hi
Am 08.11.21 um 15:06 schrieb Javier Martinez Canillas:
> There is a lot of historical baggage on this parameter. It is defined in
> the vgacon driver as nomodeset, but its set function is called text_mode()
> and the value 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 should 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.
>
> This is a v4 of the patches, that address issues pointed out by Thomas
> Zimmermann in v3: https://lkml.org/lkml/2021/11/8/384
>
> Patch #1 and #2 are just trivial cleanups.
>
> Patch #3 moves the nomodeset boot option to the DRM subsystem and renames
> the variables and functions names.
>
> Patch #4 removes the relationship between the nomodeset parameter and the
> CONFIG_VGA_CONSOLE Kconfig symbol.
>
> Patch #5 adds nomodeset to the kernel parameters documentation.
>
> Patch #6 improves the message when nomodeset is enabled to make it more
> accurate and less sensational.
Acked-by: Thomas Zimmermann <tzimmermann at suse.de>
Best regards
Thomas
>
> Changes in v4:
> - Don't mention the simpledrm driver and instead explain in high level
> terms what the nomodeset option is about.
> - Don't mention DRM drivers in the kernel message and instead explain
> that only the system framebuffer will be available.
>
> Changes in v3:
> - Drop the drm_drv_enabled() function and just call to drm_get_modeset().
> - Make drm_get_modeset() just a getter function and don't return an error.
> - Move independent cleanups in drivers as separate preparatory patches.
>
> Changes in v2:
> - Conditionally build drm_nomodeset.o if CONFIG_VGA_CONSOLE is set.
> - Squash patches to move nomodeset logic to DRM and do the renaming.
> - Name the function drm_check_modeset() and make it return -ENODEV.
> - Squash patch to add drm_drv_enabled() and make drivers use it.
> - Make the drivers changes before moving nomodeset logic to DRM.
> - Make drm_drv_enabled() return an errno and -ENODEV if nomodeset.
> - Remove debug and error messages in drivers.
>
> Javier Martinez Canillas (6):
> drm: Don't print messages if drivers are disabled due nomodeset
> drm/vboxvideo: Drop CONFIG_VGA_CONSOLE guard to call
> vgacon_text_force()
> drm: Move nomodeset kernel parameter to the DRM subsystem
> drm: Decouple nomodeset from CONFIG_VGA_CONSOLE
> Documentation/admin-guide: Document nomodeset kernel parameter
> drm: Make the nomodeset message less sensational
>
> .../admin-guide/kernel-parameters.txt | 7 ++++++
> drivers/gpu/drm/Kconfig | 6 +++++
> drivers/gpu/drm/Makefile | 2 ++
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 6 ++---
> drivers/gpu/drm/ast/ast_drv.c | 4 ++--
> drivers/gpu/drm/drm_nomodeset.c | 24 +++++++++++++++++++
> drivers/gpu/drm/i915/i915_module.c | 4 ++--
> drivers/gpu/drm/mgag200/mgag200_drv.c | 4 ++--
> drivers/gpu/drm/nouveau/nouveau_drm.c | 4 ++--
> drivers/gpu/drm/qxl/qxl_drv.c | 4 ++--
> drivers/gpu/drm/radeon/radeon_drv.c | 10 +++-----
> drivers/gpu/drm/tiny/bochs.c | 4 ++--
> drivers/gpu/drm/tiny/cirrus.c | 5 ++--
> drivers/gpu/drm/vboxvideo/vbox_drv.c | 6 ++---
> drivers/gpu/drm/virtio/virtgpu_drv.c | 4 ++--
> drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 ++--
> drivers/video/console/vgacon.c | 21 ----------------
> include/drm/drm_mode_config.h | 2 ++
> include/linux/console.h | 6 -----
> 19 files changed, 67 insertions(+), 60 deletions(-)
> create mode 100644 drivers/gpu/drm/drm_nomodeset.c
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20211108/f861c927/attachment.sig>
More information about the dri-devel
mailing list