Commit fd0932d7 authored by Dave Airlie's avatar Dave Airlie

Merge branch 'drm-nouveau-next' of...

Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next

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
parents 30f83b37 d2989b53
...@@ -352,6 +352,9 @@ ctx_xfer: ...@@ -352,6 +352,9 @@ ctx_xfer:
// per-TPC mmio context // per-TPC mmio context
xbit $r10 $flags $p1 // direction xbit $r10 $flags $p1 // direction
#if !NV_PGRAPH_GPCX_UNK__SIZE
or $r10 4 // last
#endif
mov $r11 0x4000 mov $r11 0x4000
sethi $r11 0x500000 // base = NV_PGRAPH_GPC0_TPC0 sethi $r11 0x500000 // base = NV_PGRAPH_GPC0_TPC0
ld b32 $r12 D[$r0 + #gpc_id] ld b32 $r12 D[$r0 + #gpc_id]
......
...@@ -400,26 +400,26 @@ uint32_t nvc0_grgpc_code[] = { ...@@ -400,26 +400,26 @@ uint32_t nvc0_grgpc_code[] = {
0x0d98000c, 0x0d98000c,
0x00e7f001, 0x00e7f001,
0x016621f5, 0x016621f5,
0xf101acf0, 0xf001acf0,
0xf04000b7, 0xb7f104a5,
0x0c9850b3, 0xb3f04000,
0x0fc4b604, 0x040c9850,
0x9800bcbb, 0xbb0fc4b6,
0x0d98010c, 0x0c9800bc,
0x060f9802, 0x020d9801,
0x0800e7f1, 0xf1060f98,
0x016621f5, 0xf50800e7,
0x021521f5, 0xf5016621,
0xf40601f4, 0xf4021521,
/* 0x0532: ctx_xfer_post */ 0x12f40601,
0x17f11412, /* 0x0535: ctx_xfer_post */
0x13f04afc, 0xfc17f114,
0x0d27f002, 0x0213f04a,
0xf50012d0, 0xd00d27f0,
/* 0x0543: ctx_xfer_done */ 0x21f50012,
0xf5021521, /* 0x0546: ctx_xfer_done */
0xf8047921, 0x21f50215,
0x00000000, 0x00f80479,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
......
...@@ -968,7 +968,7 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr, ...@@ -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) bool no_wait_gpu, struct ttm_mem_reg *new_mem)
{ {
struct nouveau_drm *drm = nouveau_bdev(bo->bdev); 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 nouveau_bo *nvbo = nouveau_bo(bo);
struct ttm_mem_reg *old_mem = &bo->mem; struct ttm_mem_reg *old_mem = &bo->mem;
int ret; int ret;
...@@ -1052,6 +1052,7 @@ nouveau_bo_move_init(struct nouveau_drm *drm) ...@@ -1052,6 +1052,7 @@ nouveau_bo_move_init(struct nouveau_drm *drm)
} }
drm->ttm.move = mthd->exec; drm->ttm.move = mthd->exec;
drm->ttm.chan = chan;
name = mthd->name; name = mthd->name;
break; break;
} }
......
...@@ -96,6 +96,7 @@ struct nouveau_drm { ...@@ -96,6 +96,7 @@ struct nouveau_drm {
int (*move)(struct nouveau_channel *, int (*move)(struct nouveau_channel *,
struct ttm_buffer_object *, struct ttm_buffer_object *,
struct ttm_mem_reg *, struct ttm_mem_reg *); struct ttm_mem_reg *, struct ttm_mem_reg *);
struct nouveau_channel *chan;
int mtrr; int mtrr;
} ttm; } ttm;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment