aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/subdev/ltc
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-08-20 14:54:11 +1000
committerBen Skeggs <bskeggs@redhat.com>2015-08-28 12:40:20 +1000
commit1302bcbb8229b0575401be87765277629330384a (patch)
treea5e8a15e5162793f180e4284bcff0a9161f65bfd /drivers/gpu/drm/nouveau/nvkm/subdev/ltc
parentdrm/nouveau/ibus: switch to new-style timer macros (diff)
downloadlinux-dev-1302bcbb8229b0575401be87765277629330384a.tar.xz
linux-dev-1302bcbb8229b0575401be87765277629330384a.zip
drm/nouveau/ltc: switch to new-style timer macros
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/ltc')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c10
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c10
2 files changed, 16 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c
index df60ee264b95..7e60a1393fc8 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c
@@ -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;
+ );
+ }
}
}
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c
index 3f009bb76226..438085e978ec 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c
@@ -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;
+ );
+ }
}
}