OSDN Git Service

drm/nouveau/fbcon/nv50-: use NVIDIA's headers for copyarea()
authorBen Skeggs <bskeggs@redhat.com>
Mon, 22 Jun 2020 04:16:03 +0000 (14:16 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 24 Jul 2020 08:51:03 +0000 (18:51 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
drivers/gpu/drm/nouveau/nv50_fbcon.c
drivers/gpu/drm/nouveau/nvc0_fbcon.c

index d996790..abab600 100644 (file)
@@ -82,15 +82,17 @@ nv50_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *region)
        if (ret)
                return ret;
 
-       PUSH_NVSQ(push, NV502D, 0x0110, 0);
-       PUSH_NVSQ(push, NV502D, 0x08b0, region->dx,
-                               0x08b4, region->dy,
-                               0x08b8, region->width,
-                               0x08bc, region->height);
-       PUSH_NVSQ(push, NV502D, 0x08d0, 0,
-                               0x08d4, region->sx,
-                               0x08d8, 0,
-                               0x08dc, region->sy);
+       PUSH_MTHD(push, NV502D, WAIT_FOR_IDLE, 0);
+
+       PUSH_MTHD(push, NV502D, SET_PIXELS_FROM_MEMORY_DST_X0, region->dx,
+                               SET_PIXELS_FROM_MEMORY_DST_Y0, region->dy,
+                               SET_PIXELS_FROM_MEMORY_DST_WIDTH, region->width,
+                               SET_PIXELS_FROM_MEMORY_DST_HEIGHT, region->height);
+
+       PUSH_MTHD(push, NV502D, SET_PIXELS_FROM_MEMORY_SRC_X0_FRAC, 0,
+                               SET_PIXELS_FROM_MEMORY_SRC_X0_INT, region->sx,
+                               SET_PIXELS_FROM_MEMORY_SRC_Y0_FRAC, 0,
+                               PIXELS_FROM_MEMORY_SRC_Y0_INT, region->sy);
        PUSH_KICK(push);
        return 0;
 }
index dd8e3e6..4a09b7e 100644 (file)
@@ -82,15 +82,17 @@ nvc0_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *region)
        if (ret)
                return ret;
 
-       PUSH_NVIM(push, NV902D, 0x0110, 0);
-       PUSH_NVSQ(push, NV902D, 0x08b0, region->dx,
-                               0x08b4, region->dy,
-                               0x08b8, region->width,
-                               0x08bc, region->height);
-       PUSH_NVSQ(push, NV902D, 0x08d0, 0,
-                               0x08d4, region->sx,
-                               0x08d8, 0,
-                               0x08dc, region->sy);
+       PUSH_IMMD(push, NV902D, WAIT_FOR_IDLE, 0);
+
+       PUSH_MTHD(push, NV902D, SET_PIXELS_FROM_MEMORY_DST_X0, region->dx,
+                               SET_PIXELS_FROM_MEMORY_DST_Y0, region->dy,
+                               SET_PIXELS_FROM_MEMORY_DST_WIDTH, region->width,
+                               SET_PIXELS_FROM_MEMORY_DST_HEIGHT, region->height);
+
+       PUSH_MTHD(push, NV902D, SET_PIXELS_FROM_MEMORY_SRC_X0_FRAC, 0,
+                               SET_PIXELS_FROM_MEMORY_SRC_X0_INT, region->sx,
+                               SET_PIXELS_FROM_MEMORY_SRC_Y0_FRAC, 0,
+                               PIXELS_FROM_MEMORY_SRC_Y0_INT, region->sy);
        PUSH_KICK(push);
        return 0;
 }