diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-11-12 19:49:46 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-11-13 23:56:51 -0500 |
commit | 1e303c03af1e631de37ec77cc2513210910a812c (patch) | |
tree | 8b303383c92a734d3a24adc19b7a952bfd1971ac /drivers/gpu/drm/nouveau/nouveau_display.c | |
parent | 69a6146d1e06b50d070ea40064fccd910371b3b0 (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.c | 14 |
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); |