drm/nouveau/pwr: wait for scrubbers to finish before uploading new ucode
authorBen Skeggs <bskeggs@redhat.com>
Mon, 18 Aug 2014 02:41:57 +0000 (12:41 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 15 Sep 2014 12:24:58 +0000 (22:24 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/core/subdev/pwr/base.c

index 477c9a214264fd139784bcf52fb2abe474e1f6d0..0ab55f27ec450663ac47adb53e449f1e62215a67 100644 (file)
@@ -203,9 +203,8 @@ _nouveau_pwr_init(struct nouveau_object *object)
        nv_wait(ppwr, 0x10a04c, 0xffffffff, 0x00000000);
        nv_mask(ppwr, 0x000200, 0x00002000, 0x00000000);
        nv_mask(ppwr, 0x000200, 0x00002000, 0x00002000);
-
-       /* At least one GM107 needs this delay after reset */
-       udelay(20);
+       nv_rd32(ppwr, 0x000200);
+       nv_wait(ppwr, 0x10a10c, 0x00000006, 0x00000000);
 
        /* upload data segment */
        nv_wr32(ppwr, 0x10a1c0, 0x01000000);