From: Ben Skeggs Date: Tue, 13 Dec 2016 01:18:46 +0000 (+1000) Subject: drm/nouveau/kms/nv50: fix atomic regression on original G80 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=19d53d014776d1c31c1b431ebcaec375301c74cd;p=linux-beck.git drm/nouveau/kms/nv50: fix atomic regression on original G80 Reported-by: Pierre Moreau Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 7a1aa9161982..2c2c64507661 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -1726,6 +1726,11 @@ nv50_head_core_set(struct nv50_head *head, struct nv50_head_atom *asyh) evo_data(push, asyh->core.handle); evo_mthd(push, 0x08c0 + head->base.index * 0x400, 1); evo_data(push, (asyh->core.y << 16) | asyh->core.x); + /* EVO will complain with INVALID_STATE if we have an + * active cursor and (re)specify HeadSetContextDmaIso + * without also updating HeadSetOffsetCursor. + */ + asyh->set.curs = asyh->curs.visible; } else if (core->base.user.oclass < GF110_DISP_CORE_CHANNEL_DMA) { evo_mthd(push, 0x0860 + head->base.index * 0x400, 1);