Browse Source

drm/nouveau/pwr: wait for scrubbers to finish before uploading new ucode

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 11 years ago
parent
commit
a2410f5a0f
1 changed files with 2 additions and 3 deletions
  1. 2 3
      drivers/gpu/drm/nouveau/core/subdev/pwr/base.c

+ 2 - 3
drivers/gpu/drm/nouveau/core/subdev/pwr/base.c

@@ -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);