aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_display.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2013-11-12 19:49:46 -0500
committerBen Skeggs <bskeggs@redhat.com>2013-11-13 23:56:51 -0500
commit1e303c03af1e631de37ec77cc2513210910a812c (patch)
tree8b303383c92a734d3a24adc19b7a952bfd1971ac /drivers/gpu/drm/nouveau/nouveau_display.c
parent69a6146d1e06b50d070ea40064fccd910371b3b0 (diff)
drm/nvc0-: remove nasty fifo swmthd hack for flip completion method
Not required anymore as flips are always done on the kernel's channel, which means we can use a proper software object class instead. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_display.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_display.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index 4b124a67fc04..17422bc19529 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -554,19 +554,15 @@ nouveau_page_flip_emit(struct nouveau_channel *chan,
554 goto fail; 554 goto fail;
555 555
556 /* Emit the pageflip */ 556 /* Emit the pageflip */
557 ret = RING_SPACE(chan, 3); 557 ret = RING_SPACE(chan, 2);
558 if (ret) 558 if (ret)
559 goto fail; 559 goto fail;
560 560
561 if (nv_device(drm->device)->card_type < NV_C0) { 561 if (nv_device(drm->device)->card_type < NV_C0)
562 BEGIN_NV04(chan, NvSubSw, NV_SW_PAGE_FLIP, 1); 562 BEGIN_NV04(chan, NvSubSw, NV_SW_PAGE_FLIP, 1);
563 OUT_RING (chan, 0x00000000); 563 else
564 OUT_RING (chan, 0x00000000); 564 BEGIN_NVC0(chan, FermiSw, NV_SW_PAGE_FLIP, 1);
565 } else { 565 OUT_RING (chan, 0x00000000);
566 BEGIN_NVC0(chan, 0, NV10_SUBCHAN_REF_CNT, 1);
567 OUT_RING (chan, 0);
568 BEGIN_IMC0(chan, 0, NVSW_SUBCHAN_PAGE_FLIP, 0x0000);
569 }
570 FIRE_RING (chan); 566 FIRE_RING (chan);
571 567
572 ret = nouveau_fence_new(chan, false, pfence); 568 ret = nouveau_fence_new(chan, false, pfence);