Skip to content

Commit

Permalink
drm/nouveau: use different register to wait for secret scrubber
Browse files Browse the repository at this point in the history
Fixes long delay when waiting for scrubber on some secret engines.
The exit interrupt seems to not always be generated, so use secret
scrubber active register instead.

Later fuc engines also no longer generate an interrupt, so don't wait
there.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Maarten Lankhorst authored and Ben Skeggs committed Jan 31, 2013
1 parent 43f7897 commit 1e98380
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/gpu/drm/nouveau/core/core/falcon.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,11 @@ _nouveau_falcon_init(struct nouveau_object *object)
nv_debug(falcon, "data limit: %d\n", falcon->data.limit);

/* wait for 'uc halted' to be signalled before continuing */
if (falcon->secret) {
nv_wait(falcon, 0x008, 0x00000010, 0x00000010);
if (falcon->secret && falcon->version < 4) {
if (!falcon->version)
nv_wait(falcon, 0x008, 0x00000010, 0x00000010);
else
nv_wait(falcon, 0x180, 0x80000000, 0);
nv_wo32(falcon, 0x004, 0x00000010);
}

Expand Down

0 comments on commit 1e98380

Please sign in to comment.