Re: [PATCH] drm/xe: Support 'nomodeset' kernel command-line option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 21.08.24 um 16:16 schrieb Gustavo Sousa:
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@xxxxxxx>
---
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?

The semantics of 'nomodeset' is a bit vague in this case. The option is supposed to disable all of the driver in case there's a significant problem with booting up. Other drivers do that. And users should be able to specify 'nomodeset' and reliably get some display output; whether the problem is in KMS or rendering.

I suggest to stick with that behavior, even if that disables other functionality as well. Up to you.

Best regards
Thomas


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


--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux