mirror of https://gitee.com/openkylin/linux.git
drm/nouveau: use different register to wait for secret scrubber
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>
This commit is contained in:
parent
43f789792e
commit
1e98380cbd
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue