This driver can perfom async flips on primary planes, so enable it. Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx> --- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 4 ++++ drivers/gpu/drm/nouveau/dispnv50/wndw.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/nouveau/dispnv04/crtc.c b/drivers/gpu/drm/nouveau/dispnv04/crtc.c index 4310ad71870b..fd06d46d49ec 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c +++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c @@ -1285,6 +1285,7 @@ int nv04_crtc_create(struct drm_device *dev, int crtc_num) { struct nouveau_display *disp = nouveau_display(dev); + struct nouveau_drm *drm = nouveau_drm(dev); struct nouveau_crtc *nv_crtc; struct drm_plane *primary; int ret; @@ -1338,6 +1339,9 @@ nv04_crtc_create(struct drm_device *dev, int crtc_num) if (ret) return ret; + if (drm->client.device.info.chipset >= 0x11) + primary->async_flip = true; + return nvif_head_vblank_event_ctor(&nv_crtc->head, "kmsVbl", nv04_crtc_vblank_handler, false, &nv_crtc->vblank); } diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndw.c b/drivers/gpu/drm/nouveau/dispnv50/wndw.c index 7a2cceaee6e9..55db0fdf61e7 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/wndw.c +++ b/drivers/gpu/drm/nouveau/dispnv50/wndw.c @@ -763,6 +763,10 @@ nv50_wndw_new_(const struct nv50_wndw_func *func, struct drm_device *dev, return ret; } + if (type == DRM_PLANE_TYPE_PRIMARY && + drm->client.device.info.chipset >= 0x11) + wndw->plane.async_flip = true; + return 0; } -- 2.45.2