drm/nv50: remove execution engine context saves on suspend
authorBen Skeggs <bskeggs@redhat.com>
Tue, 1 May 2012 06:39:08 +0000 (16:39 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 24 May 2012 06:56:07 +0000 (16:56 +1000)
Now triggered automagically by the GPU on PFIFO takedown.

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

index d262e31c2830bb99c06959228d63a858756f912e..6fe5962c439381a24d3fbb716834135e7a4d6534 100644 (file)
@@ -210,12 +210,6 @@ nv50_graph_init(struct drm_device *dev, int engine)
 static int
 nv50_graph_fini(struct drm_device *dev, int engine, bool suspend)
 {
-       nv_mask(dev, 0x400500, 0x00010001, 0x00000000);
-       if (!nv_wait(dev, 0x400700, ~0, 0) && suspend) {
-               nv_mask(dev, 0x400500, 0x00010001, 0x00010001);
-               return -EBUSY;
-       }
-       nv50_graph_unload_context(dev);
        nv_wr32(dev, 0x40013c, 0x00000000);
        return 0;
 }
index b57a2d180ad2fa61169fd09260856a7f10fc546f..95c3305b54c6d600e5d6a7bae8c464c28af1e5b6 100644 (file)
@@ -162,7 +162,6 @@ nv50_mpeg_init(struct drm_device *dev, int engine)
 static int
 nv50_mpeg_fini(struct drm_device *dev, int engine, bool suspend)
 {
-       /*XXX: context save for s/r */
        nv_mask(dev, 0x00b32c, 0x00000001, 0x00000000);
        nv_wr32(dev, 0x00b140, 0x00000000);
        return 0;
index 8f356d58e4091a30cec4d06a972361c3f4ca0ce2..b63ef87173a629dfcf5716a1dc30409cd1ccae4d 100644 (file)
@@ -143,13 +143,6 @@ static int
 nva3_copy_fini(struct drm_device *dev, int engine, bool suspend)
 {
        nv_mask(dev, 0x104048, 0x00000003, 0x00000000);
-
-       /* trigger fuc context unload */
-       nv_wait(dev, 0x104008, 0x0000000c, 0x00000000);
-       nv_mask(dev, 0x104054, 0x40000000, 0x00000000);
-       nv_wr32(dev, 0x104000, 0x00000008);
-       nv_wait(dev, 0x104008, 0x00000008, 0x00000000);
-
        nv_wr32(dev, 0x104014, 0xffffffff);
        return 0;
 }