drm/nouveau/ltc: switch to new-style timer macros
authorBen Skeggs <bskeggs@redhat.com>
Thu, 20 Aug 2015 04:54:11 +0000 (14:54 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 28 Aug 2015 02:40:20 +0000 (12:40 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c
drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c

index df60ee2..7e60a13 100644 (file)
@@ -39,10 +39,16 @@ gf100_ltc_cbc_clear(struct nvkm_ltc_priv *ltc, u32 start, u32 limit)
 void
 gf100_ltc_cbc_wait(struct nvkm_ltc_priv *ltc)
 {
+       struct nvkm_device *device = ltc->base.subdev.device;
        int c, s;
        for (c = 0; c < ltc->ltc_nr; c++) {
-               for (s = 0; s < ltc->lts_nr; s++)
-                       nv_wait(ltc, 0x1410c8 + c * 0x2000 + s * 0x400, ~0, 0);
+               for (s = 0; s < ltc->lts_nr; s++) {
+                       const u32 addr = 0x1410c8 + (c * 0x2000) + (s * 0x400);
+                       nvkm_msec(device, 2000,
+                               if (!nvkm_rd32(device, addr))
+                                       break;
+                       );
+               }
        }
 }
 
index 3f009bb..438085e 100644 (file)
@@ -38,10 +38,16 @@ gm107_ltc_cbc_clear(struct nvkm_ltc_priv *ltc, u32 start, u32 limit)
 static void
 gm107_ltc_cbc_wait(struct nvkm_ltc_priv *ltc)
 {
+       struct nvkm_device *device = ltc->base.subdev.device;
        int c, s;
        for (c = 0; c < ltc->ltc_nr; c++) {
-               for (s = 0; s < ltc->lts_nr; s++)
-                       nv_wait(ltc, 0x14046c + c * 0x2000 + s * 0x200, ~0, 0);
+               for (s = 0; s < ltc->lts_nr; s++) {
+                       const u32 addr = 0x14046c + (c * 0x2000) + (s * 0x200);
+                       nvkm_msec(device, 2000,
+                               if (!nvkm_rd32(device, addr))
+                                       break;
+                       );
+               }
        }
 }