]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux...
authorDave Airlie <airlied@redhat.com>
Tue, 9 Jul 2013 00:48:41 +0000 (10:48 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 9 Jul 2013 00:48:41 +0000 (10:48 +1000)
Two minor fixes for regressions.

* 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
  drm/nvc0/gr: fix gpc firmware regression
  drm/nouveau: fix minor thinko causing bo moves to not be async on kepler

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc
drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h
drivers/gpu/drm/nouveau/nouveau_bo.c
drivers/gpu/drm/nouveau/nouveau_drm.h

index b52f4a8b8699150b204c12d5cffdfb2590993f1a..5547c1b3f4f29414a1334e2a7d5cae9f7452e998 100644 (file)
@@ -352,6 +352,9 @@ ctx_xfer:
 
        // per-TPC mmio context
        xbit $r10 $flags $p1    // direction
+#if !NV_PGRAPH_GPCX_UNK__SIZE
+       or $r10 4               // last
+#endif
        mov $r11 0x4000
        sethi $r11 0x500000     // base = NV_PGRAPH_GPC0_TPC0
        ld b32 $r12 D[$r0 + #gpc_id]
index 2afe75ce89e942cc61a0a893f97d233e9a05aed5..f2b0dea80116fd7b42de0a2d1ff8fad4dbd26b96 100644 (file)
@@ -400,26 +400,26 @@ uint32_t nvc0_grgpc_code[] = {
        0x0d98000c,
        0x00e7f001,
        0x016621f5,
-       0xf101acf0,
-       0xf04000b7,
-       0x0c9850b3,
-       0x0fc4b604,
-       0x9800bcbb,
-       0x0d98010c,
-       0x060f9802,
-       0x0800e7f1,
-       0x016621f5,
-       0x021521f5,
-       0xf40601f4,
-/* 0x0532: ctx_xfer_post */
-       0x17f11412,
-       0x13f04afc,
-       0x0d27f002,
-       0xf50012d0,
-/* 0x0543: ctx_xfer_done */
-       0xf5021521,
-       0xf8047921,
-       0x00000000,
+       0xf001acf0,
+       0xb7f104a5,
+       0xb3f04000,
+       0x040c9850,
+       0xbb0fc4b6,
+       0x0c9800bc,
+       0x020d9801,
+       0xf1060f98,
+       0xf50800e7,
+       0xf5016621,
+       0xf4021521,
+       0x12f40601,
+/* 0x0535: ctx_xfer_post */
+       0xfc17f114,
+       0x0213f04a,
+       0xd00d27f0,
+       0x21f50012,
+/* 0x0546: ctx_xfer_done */
+       0x21f50215,
+       0x00f80479,
        0x00000000,
        0x00000000,
        0x00000000,
index a1cf8255db50c82c21d45ead84141545058bcbfe..4b1afb131380312bc971117635c9ac072fbdba1a 100644 (file)
@@ -968,7 +968,7 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr,
                     bool no_wait_gpu, struct ttm_mem_reg *new_mem)
 {
        struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
-       struct nouveau_channel *chan = chan = drm->channel;
+       struct nouveau_channel *chan = chan = drm->ttm.chan;
        struct nouveau_bo *nvbo = nouveau_bo(bo);
        struct ttm_mem_reg *old_mem = &bo->mem;
        int ret;
@@ -1052,6 +1052,7 @@ nouveau_bo_move_init(struct nouveau_drm *drm)
                        }
 
                        drm->ttm.move = mthd->exec;
+                       drm->ttm.chan = chan;
                        name = mthd->name;
                        break;
                }
index f2b30f89dee0cdd6654e78c5fea55fdd6e9dd9e9..41ff7e0d403a7978b4331bb8a1d0c2985cea1c72 100644 (file)
@@ -96,6 +96,7 @@ struct nouveau_drm {
                int (*move)(struct nouveau_channel *,
                            struct ttm_buffer_object *,
                            struct ttm_mem_reg *, struct ttm_mem_reg *);
+               struct nouveau_channel *chan;
                int mtrr;
        } ttm;