[PATCH] drm/xe: Support 'nomodeset' kernel command-line option
Gustavo Sousa
gustavo.sousa at intel.com
Wed Aug 21 14:16:00 UTC 2024
Quoting Thomas Zimmermann (2024-08-21 10:56:59-03:00)
>Setting 'nomodeset' on the kernel command line disables all graphics
>drivers with modesetting capabilities; leaving only firmware drivers,
>such as simpledrm or efifb.
>
>Most DRM drivers automatically support 'nomodeset' via DRM's module
>helper macros. In xe, which uses regular module_init(), manually call
>drm_firmware_drivers_only() to test for 'nomodeset'. Do not register
>the driver if set.
>
>Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>---
> drivers/gpu/drm/xe/xe_module.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
>diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
>index 923460119cec..60fb7dd26903 100644
>--- a/drivers/gpu/drm/xe/xe_module.c
>+++ b/drivers/gpu/drm/xe/xe_module.c
>@@ -8,6 +8,8 @@
> #include <linux/init.h>
> #include <linux/module.h>
>
>+#include <drm/drm_module.h>
>+
> #include "xe_drv.h"
> #include "xe_hw_fence.h"
> #include "xe_pci.h"
>@@ -92,6 +94,9 @@ static int __init xe_init(void)
> {
> int err, i;
>
>+ if (drm_firmware_drivers_only())
>+ return -ENODEV;
>+
Hm... But what if xe is to be used only for compute or render? Shouldn't
we handle this somewhere else?
Taking a quick look, xe_display_probe() might be a good candidate?
--
Gustavo Sousa
> for (i = 0; i < ARRAY_SIZE(init_funcs); i++) {
> err = init_funcs[i].init();
> if (err) {
>--
>2.46.0
>
More information about the dri-devel
mailing list