diff options
| -rw-r--r-- | drivers/gpu/drm/nouveau/core/core/falcon.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/core/core/falcon.c b/drivers/gpu/drm/nouveau/core/core/falcon.c index 6b0843c33877..e05c15777588 100644 --- a/drivers/gpu/drm/nouveau/core/core/falcon.c +++ b/drivers/gpu/drm/nouveau/core/core/falcon.c | |||
| @@ -73,8 +73,11 @@ _nouveau_falcon_init(struct nouveau_object *object) | |||
| 73 | nv_debug(falcon, "data limit: %d\n", falcon->data.limit); | 73 | nv_debug(falcon, "data limit: %d\n", falcon->data.limit); |
| 74 | 74 | ||
| 75 | /* wait for 'uc halted' to be signalled before continuing */ | 75 | /* wait for 'uc halted' to be signalled before continuing */ |
| 76 | if (falcon->secret) { | 76 | if (falcon->secret && falcon->version < 4) { |
| 77 | nv_wait(falcon, 0x008, 0x00000010, 0x00000010); | 77 | if (!falcon->version) |
| 78 | nv_wait(falcon, 0x008, 0x00000010, 0x00000010); | ||
| 79 | else | ||
| 80 | nv_wait(falcon, 0x180, 0x80000000, 0); | ||
| 78 | nv_wo32(falcon, 0x004, 0x00000010); | 81 | nv_wo32(falcon, 0x004, 0x00000010); |
| 79 | } | 82 | } |
| 80 | 83 | ||
