[PATCH 2/4] drm/nouveau/kms: Check nouveau.atomic parameter after nvif_device_ctor()
Lyude Paul <[email protected]> Wed, 29 Jul 2026 20:56:08 -0400
| Newsgroups | org.freedesktop.lists.nouveau,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Waiting until the NVIF device is ready is preferable, as this will allow us to factor in the chipset generation into whether or not we enable atomic by default. Signed-off-by: Lyude Paul <[email protected]> --- drivers/gpu/drm/nouveau/nouveau_drm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index ad693d2849bec..8899f009f825e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -727,7 +727,7 @@ nouveau_drm_device_del(struct nouveau_drm *drm) } static struct nouveau_drm * -nouveau_drm_device_new(const struct drm_driver *drm_driver, struct device *parent, +nouveau_drm_device_new(struct drm_driver *drm_driver, struct device *parent, struct nvkm_device *device) { static const struct nvif_mclass @@ -770,6 +770,9 @@ nouveau_drm_device_new(const struct drm_driver *drm_driver, struct device *paren goto done; } + if (nouveau_atomic) + driver_pci.driver_features |= DRIVER_ATOMIC; + ret = nvif_device_map(&drm->device); if (ret) { NV_ERROR(drm, "Failed to map PRI: %d\n", ret); @@ -879,9 +882,6 @@ static int nouveau_drm_probe(struct pci_dev *pdev, pci_set_master(pdev); - if (nouveau_atomic) - driver_pci.driver_features |= DRIVER_ATOMIC; - drm = nouveau_drm_device_new(&driver_pci, &pdev->dev, device); if (IS_ERR(drm)) { ret = PTR_ERR(drm); -- 2.55.0