]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/nouveau/bo: convert move init() to new push macros
authorBen Skeggs <bskeggs@redhat.com>
Mon, 22 Jun 2020 05:54:52 +0000 (15:54 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 24 Jul 2020 08:50:57 +0000 (18:50 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
drivers/gpu/drm/nouveau/nouveau_bo0039.c
drivers/gpu/drm/nouveau/nouveau_bo5039.c
drivers/gpu/drm/nouveau/nouveau_bo9039.c
drivers/gpu/drm/nouveau/nouveau_boa0b5.c

index d5e9a200a64c39fb054fe74ab6ef0a7c7871093b..ddf2f5ee1140513aef9e64f06bd0360ad19d2106 100644 (file)
@@ -30,6 +30,8 @@
 #include "nouveau_dma.h"
 #include "nouveau_drv.h"
 
+#include <nvif/push006c.h>
+
 static inline uint32_t
 nouveau_bo_mem_ctxdma(struct ttm_buffer_object *bo,
                      struct nouveau_channel *chan, struct ttm_mem_reg *reg)
@@ -88,13 +90,14 @@ nv04_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
 int
 nv04_bo_move_init(struct nouveau_channel *chan, u32 handle)
 {
-       int ret = RING_SPACE(chan, 4);
-       if (ret == 0) {
-               BEGIN_NV04(chan, NvSubCopy, 0x0000, 1);
-               OUT_RING  (chan, handle);
-               BEGIN_NV04(chan, NvSubCopy, 0x0180, 1);
-               OUT_RING  (chan, chan->drm->ntfy.handle);
-       }
+       struct nvif_push *push = chan->chan.push;
+       int ret;
 
-       return ret;
+       ret = PUSH_WAIT(push, 4);
+       if (ret)
+               return ret;
+
+       PUSH_NVSQ(push, NV039, 0x0000, handle);
+       PUSH_NVSQ(push, NV039, 0x0180, chan->drm->ntfy.handle);
+       return 0;
 }
index a047f7943e6da07e9090105dc0decda715d9c4b8..9a667dc93dd3109f10a11f2a1c4794fbab1d5fee 100644 (file)
@@ -31,6 +31,8 @@
 #include "nouveau_drv.h"
 #include "nouveau_mem.h"
 
+#include <nvif/push206e.h>
+
 int
 nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
                  struct ttm_mem_reg *old_reg, struct ttm_mem_reg *new_reg)
@@ -107,15 +109,16 @@ nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
 int
 nv50_bo_move_init(struct nouveau_channel *chan, u32 handle)
 {
-       int ret = RING_SPACE(chan, 6);
-       if (ret == 0) {
-               BEGIN_NV04(chan, NvSubCopy, 0x0000, 1);
-               OUT_RING  (chan, handle);
-               BEGIN_NV04(chan, NvSubCopy, 0x0180, 3);
-               OUT_RING  (chan, chan->drm->ntfy.handle);
-               OUT_RING  (chan, chan->vram.handle);
-               OUT_RING  (chan, chan->vram.handle);
-       }
+       struct nvif_push *push = chan->chan.push;
+       int ret;
 
-       return ret;
+       ret = PUSH_WAIT(push, 6);
+       if (ret)
+               return ret;
+
+       PUSH_NVSQ(push, NV5039, 0x0000, handle);
+       PUSH_NVSQ(push, NV5039, 0x0180, chan->drm->ntfy.handle,
+                               0x0184, chan->vram.handle,
+                               0x0188, chan->vram.handle);
+       return 0;
 }
index 14424f6c3f59d8c38a732be0044fbf4589f63ef2..f9ba04faf1a2965c2cc990cf16f38295ccf947e2 100644 (file)
@@ -30,6 +30,8 @@
 #include "nouveau_dma.h"
 #include "nouveau_mem.h"
 
+#include <nvif/push906f.h>
+
 int
 nvc0_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
                  struct ttm_mem_reg *old_reg, struct ttm_mem_reg *new_reg)
@@ -72,10 +74,13 @@ nvc0_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
 int
 nvc0_bo_move_init(struct nouveau_channel *chan, u32 handle)
 {
-       int ret = RING_SPACE(chan, 2);
-       if (ret == 0) {
-               BEGIN_NVC0(chan, NvSubCopy, 0x0000, 1);
-               OUT_RING  (chan, handle);
-       }
-       return ret;
+       struct nvif_push *push = chan->chan.push;
+       int ret;
+
+       ret = PUSH_WAIT(push, 2);
+       if (ret)
+               return ret;
+
+       PUSH_NVSQ(push, NV9039, 0x0000, handle);
+       return 0;
 }
index 55529ee4e823d808d5ebb58cbcfe3208c69712e4..9c09691623d04a12b9b9cb0e353143a42e050bd9 100644 (file)
@@ -30,6 +30,8 @@
 #include "nouveau_dma.h"
 #include "nouveau_mem.h"
 
+#include <nvif/push906f.h>
+
 int
 nve0_bo_move_copy(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
                  struct ttm_mem_reg *old_reg, struct ttm_mem_reg *new_reg)
@@ -54,11 +56,13 @@ nve0_bo_move_copy(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
 int
 nve0_bo_move_init(struct nouveau_channel *chan, u32 handle)
 {
-       int ret = RING_SPACE(chan, 2);
-       if (ret == 0) {
-               BEGIN_NVC0(chan, NvSubCopy, 0x0000, 1);
-               OUT_RING  (chan, handle & 0x0000ffff);
-               FIRE_RING (chan);
-       }
-       return ret;
+       struct nvif_push *push = chan->chan.push;
+       int ret;
+
+       ret = PUSH_WAIT(push, 2);
+       if (ret)
+               return ret;
+
+       PUSH_NVSQ(push, NVA0B5, 0x0000, handle & 0x0000ffff);
+       return 0;
 }