drm/nouveau: use dma.max rather than pushbuf size for checking GET validity
authorBen Skeggs <bskeggs@redhat.com>
Fri, 8 Jan 2010 00:53:40 +0000 (10:53 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Sun, 10 Jan 2010 23:06:44 +0000 (09:06 +1000)
Some upcoming G80 DMA changes will depend on this, but it's split out for
bisectibility just in case it causes some unexpected issues.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_dma.c

index f1fd3f2b9813c322115b55a5368ee57155a1c5c1..3f7f78e03d4223ff2ad9aaaed4184e17b3a44cbe 100644 (file)
@@ -130,7 +130,7 @@ READ_GET(struct nouveau_channel *chan, uint32_t *get)
 
        val = nvchan_rd32(chan, chan->user_get);
        if (val < chan->pushbuf_base ||
-           val >= chan->pushbuf_base + chan->pushbuf_bo->bo.mem.size) {
+           val > chan->pushbuf_base + (chan->dma.max << 2)) {
                /* meaningless to dma_wait() except to know whether the
                 * GPU has stalled or not
                 */