From 69facd615b98984e9d7ccede2fa9f3365b4c6cfa Mon Sep 17 00:00:00 2001 From: Lyude Paul Date: Thu, 13 Aug 2026 16:46:50 -0400 Subject: [PATCH] drm/nouveau/kms: Only allow enabling atomic modesetting on nv50+ Atomic modesetting support was never added for pre-nv50 chipsets, so make sure we don't allow it to be forced on. Additionally, print a small warning when it's not supported. Signed-off-by: Lyude Paul Reviewed-by: Dave Airlie Link: https://patch.msgid.link/20260813204803.2097176-5-lyude@redhat.com --- drivers/gpu/drm/nouveau/nouveau_drm.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index d021a3049be1..82a8061e6d3e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -739,10 +739,17 @@ nouveau_drm_device_new(struct device *parent, struct nvkm_device *device) struct nouveau_drm *drm; int ret; - if (nouveau_atomic) - driver = &driver_atomic_kms; - else + if (device->card_type >= NV_50) { + if (nouveau_atomic) + driver = &driver_atomic_kms; + else + driver = &driver_legacy_kms; + } else { + if (nouveau_atomic) + dev_warn(parent, "Atomic modesetting not supported (needs nv50+)\n"); + driver = &driver_legacy_kms; + } drm = kzalloc_obj(*drm); if (!drm)