drm/nv50/pm: wait for all fifo-connected engines to idle before reclocking
authorMartin Peres <martin.peres@ensi-bourges.fr>
Mon, 9 Jan 2012 05:23:10 +0000 (15:23 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 13 Mar 2012 07:08:38 +0000 (17:08 +1000)
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nv50_pm.c

index 0f2632638c929aba7c55406fdbb03ffad85aeb62..e677310c8f574225627d54b5b9989c425a133b5f 100644 (file)
@@ -798,6 +798,8 @@ nv50_pm_clocks_set(struct drm_device *dev, void *data)
        nv_mask(dev, 0x002504, 0x00000001, 0x00000001);
        if (!nv_wait(dev, 0x002504, 0x00000010, 0x00000010))
                goto resume;
+       if (!nv_wait(dev, 0x00251c, 0x0000003f, 0x0000003f))
+               goto resume;
 
        /* program memory clock, if necessary - must come before engine clock
         * reprogramming due to how we construct the hwsq scripts in pre()