aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
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
commit6ed5c1682425e29913785977cccca67ff3dec5f1 (patch)
treedaaa812a08ee44e9b118ccb3220b2d001b89804e /drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
parentdd4bb3eccc806e78baee3009aa466466daae0f29 (diff)
drm/nouveau/falcon: switch to new-style timer macros
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/falcon.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/falcon.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/falcon.c b/drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
index 03ff19a68985..408d9c7d5e90 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
@@ -102,10 +102,17 @@ _nvkm_falcon_init(struct nvkm_object *object)
/* wait for 'uc halted' to be signalled before continuing */
if (falcon->secret && falcon->version < 4) {
- if (!falcon->version)
- nv_wait(falcon, 0x008, 0x00000010, 0x00000010);
- else
- nv_wait(falcon, 0x180, 0x80000000, 0);
+ if (!falcon->version) {
+ nvkm_msec(device, 2000,
+ if (nv_ro32(falcon, 0x008) & 0x00000010)
+ break;
+ );
+ } else {
+ nvkm_msec(device, 2000,
+ if (!(nv_ro32(falcon, 0x180) & 0x80000000))
+ break;
+ );
+ }
nv_wo32(falcon, 0x004, 0x00000010);
}