aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-05-01 02:39:08 -0400
committerBen Skeggs <bskeggs@redhat.com>2012-05-24 02:56:07 -0400
commit7f2062e9de357e4158645b72b472ccba229cb3aa (patch)
treeba756779daa12146fd5016965da0b24eaf497213
parent03bd6efa1468830d1dc9380654229d427aa487d7 (diff)
drm/nv50: remove execution engine context saves on suspend
Now triggered automagically by the GPU on PFIFO takedown. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nv50_graph.c6
-rw-r--r--drivers/gpu/drm/nouveau/nv50_mpeg.c1
-rw-r--r--drivers/gpu/drm/nouveau/nva3_copy.c7
3 files changed, 0 insertions, 14 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
index d262e31c2830..6fe5962c4393 100644
--- a/drivers/gpu/drm/nouveau/nv50_graph.c
+++ b/drivers/gpu/drm/nouveau/nv50_graph.c
@@ -210,12 +210,6 @@ nv50_graph_init(struct drm_device *dev, int engine)
210static int 210static int
211nv50_graph_fini(struct drm_device *dev, int engine, bool suspend) 211nv50_graph_fini(struct drm_device *dev, int engine, bool suspend)
212{ 212{
213 nv_mask(dev, 0x400500, 0x00010001, 0x00000000);
214 if (!nv_wait(dev, 0x400700, ~0, 0) && suspend) {
215 nv_mask(dev, 0x400500, 0x00010001, 0x00010001);
216 return -EBUSY;
217 }
218 nv50_graph_unload_context(dev);
219 nv_wr32(dev, 0x40013c, 0x00000000); 213 nv_wr32(dev, 0x40013c, 0x00000000);
220 return 0; 214 return 0;
221} 215}
diff --git a/drivers/gpu/drm/nouveau/nv50_mpeg.c b/drivers/gpu/drm/nouveau/nv50_mpeg.c
index b57a2d180ad2..95c3305b54c6 100644
--- a/drivers/gpu/drm/nouveau/nv50_mpeg.c
+++ b/drivers/gpu/drm/nouveau/nv50_mpeg.c
@@ -162,7 +162,6 @@ nv50_mpeg_init(struct drm_device *dev, int engine)
162static int 162static int
163nv50_mpeg_fini(struct drm_device *dev, int engine, bool suspend) 163nv50_mpeg_fini(struct drm_device *dev, int engine, bool suspend)
164{ 164{
165 /*XXX: context save for s/r */
166 nv_mask(dev, 0x00b32c, 0x00000001, 0x00000000); 165 nv_mask(dev, 0x00b32c, 0x00000001, 0x00000000);
167 nv_wr32(dev, 0x00b140, 0x00000000); 166 nv_wr32(dev, 0x00b140, 0x00000000);
168 return 0; 167 return 0;
diff --git a/drivers/gpu/drm/nouveau/nva3_copy.c b/drivers/gpu/drm/nouveau/nva3_copy.c
index 8f356d58e409..b63ef87173a6 100644
--- a/drivers/gpu/drm/nouveau/nva3_copy.c
+++ b/drivers/gpu/drm/nouveau/nva3_copy.c
@@ -143,13 +143,6 @@ static int
143nva3_copy_fini(struct drm_device *dev, int engine, bool suspend) 143nva3_copy_fini(struct drm_device *dev, int engine, bool suspend)
144{ 144{
145 nv_mask(dev, 0x104048, 0x00000003, 0x00000000); 145 nv_mask(dev, 0x104048, 0x00000003, 0x00000000);
146
147 /* trigger fuc context unload */
148 nv_wait(dev, 0x104008, 0x0000000c, 0x00000000);
149 nv_mask(dev, 0x104054, 0x40000000, 0x00000000);
150 nv_wr32(dev, 0x104000, 0x00000008);
151 nv_wait(dev, 0x104008, 0x00000008, 0x00000000);
152
153 nv_wr32(dev, 0x104014, 0xffffffff); 146 nv_wr32(dev, 0x104014, 0xffffffff);
154 return 0; 147 return 0;
155} 148}