[PATCH] drm/xe: Support 'nomodeset' kernel command-line option
Lucas De Marchi
lucas.demarchi at intel.com
Wed Aug 21 14:24:05 UTC 2024
On Wed, Aug 21, 2024 at 03:56:59PM GMT, Thomas Zimmermann wrote:
>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.
I see some drivers like i915 and radeon using an additional 'modeset'
parameter... probably to be able to avoid modeset for that specific
driver while still allowing for others?
>
>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;
nit: being the first, without an .exit may be equivalent, but probably
better for parity with i915 to use a xe_check_modeset() and add it as
the first one in the table. We'd need to check for exit != NULL, though.
Anyway,
Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
thanks
Lucas De Marchi
>+
> 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