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 <[email protected]> --- 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
