drm/nouveau/nvkm: fini object children in reverse order
Turns out, we're currently tearing down the disp core channel *before* the satellite channels (wndw, etc) during suspend. This makes RM return NV_ERR_NOT_SUPPORTED on attempting to reallocate the core channel on resume for some reason, but we probably shouldn't be doing it on HW either. Tear down children in the reverse of allocation order instead. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Karol Herbst <kherbst@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230525003106.3853741-1-skeggsb@gmail.com
This commit is contained in:
parent
c69f9d92f7
commit
83775e158a
@ -185,7 +185,7 @@ nvkm_object_fini(struct nvkm_object *object, bool suspend)
|
||||
|
||||
nvif_debug(object, "%s children...\n", action);
|
||||
time = ktime_to_us(ktime_get());
|
||||
list_for_each_entry(child, &object->tree, head) {
|
||||
list_for_each_entry_reverse(child, &object->tree, head) {
|
||||
ret = nvkm_object_fini(child, suspend);
|
||||
if (ret && suspend)
|
||||
goto fail_child;
|
||||
|
Loading…
x
Reference in New Issue
Block a user