Commit 9a758d87 authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm: Move nomodeset kernel parameter to drivers/video



Move the nomodeset kernel parameter to drivers/video to make it
available to non-DRM drivers. Adapt the interface, but keep the DRM
interface drm_firmware_drivers_only() to avoid churn within DRM. The
function should later be inlined into callers.

The parameter disables any DRM graphics driver that would replace a
driver for firmware-provided scanout buffers. It is an option to easily
fallback to basic graphics output if the hardware's native driver is
broken. Moving it to a more prominent location wil make it available
to fbdev as well.

v2:
	* clarify the meaning of the nomodeset parameter (Javier)

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221111133024.9897-2-tzimmermann@suse.de
parent 27c3e945
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -3777,12 +3777,15 @@
			shutdown the other cpus.  Instead use the REBOOT_VECTOR
			irq.

	nomodeset	Disable kernel modesetting. DRM drivers will not perform
			display-mode changes or accelerated rendering. Only the
			system framebuffer will be available for use if this was
			set-up by the firmware or boot loader.

			Useful as fallback, or for testing and debugging.
	nomodeset	Disable kernel modesetting. Most systems' firmware
			sets up a display mode and provides framebuffer memory
			for output. With nomodeset, DRM and fbdev drivers will
			not load if they could possibly displace the pre-
			initialized output. Only the system framebuffer will
			be available for use. The respective drivers will not
			perform display-mode changes or accelerated rendering.

			Useful as error fallback, or for testing and debugging.

	nomodule	Disable module load

+2 −0
Original line number Diff line number Diff line
@@ -6701,8 +6701,10 @@ F: drivers/gpu/drm/drm_aperture.c
F:	drivers/gpu/drm/tiny/ofdrm.c
F:	drivers/gpu/drm/tiny/simpledrm.c
F:	drivers/video/aperture.c
F:	drivers/video/nomodeset.c
F:	include/drm/drm_aperture.h
F:	include/linux/aperture.h
F:	include/video/nomodeset.h
DRM DRIVER FOR SIS VIDEO CARDS
S:	Orphan / Obsolete
+1 −6
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@
menuconfig DRM
	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
	select DRM_NOMODESET
	select DRM_PANEL_ORIENTATION_QUIRKS
	select HDMI
	select FB_CMDLINE
@@ -19,6 +18,7 @@ menuconfig DRM
# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
# device and dmabuf fd. Let's make sure that is available for our userspace.
	select KCMP
	select VIDEO_NOMODESET
	help
	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
	  introduced in XFree86 4.0. If you say Y here, you need to select
@@ -514,11 +514,6 @@ config DRM_EXPORT_FOR_TESTS
config DRM_PANEL_ORIENTATION_QUIRKS
	tristate

# Separate option because nomodeset parameter is global and expected built-in
config DRM_NOMODESET
	bool
	default n

config DRM_LIB_RANDOM
	bool
	default n
+0 −1
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ drm-$(CONFIG_DRM_PRIVACY_SCREEN) += \
	drm_privacy_screen_x86.o
obj-$(CONFIG_DRM)	+= drm.o

obj-$(CONFIG_DRM_NOMODESET) += drm_nomodeset.o
obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o

#
+4 −0
Original line number Diff line number Diff line
@@ -11,6 +11,10 @@ config APERTURE_HELPERS
	  Support tracking and hand-over of aperture ownership. Required
	  by graphics drivers for firmware-provided framebuffers.

config VIDEO_NOMODESET
	bool
	default n

if HAS_IOMEM

config HAVE_FB_ATMEL
Loading