[PATCH RESEND v7 4/5] drm/nouveau/kms: Only allow enabling atomic modesetting on nv50+
From: Lyude Paul
Date: Thu Aug 13 2026 - 16:50:46 EST
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 <lyude@xxxxxxxxxx>
---
V2:
* Check against info.family, not info.chipset
V6:
* Check against device->card_type so we can perform the check before
setting up nvif
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 d021a3049be1a..82a8061e6d3e2 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)
--
2.55.0