mirror of
https://github.com/torvalds/linux.git
synced 2026-10-16 21:00:02 +02:00
OpenRM's runtime PM handling looks a bit different then nouveau's, one part in particular that differs from us: OpenRM actually consults GSP to ask whether the GPU should be allowed to enter Gc6 and/or GcOff before runtime suspending the GPU. In the event the card isn't ready, runtime suspend is simply delayed for a few seconds before retrying. Implement the command used for querying GSP about this, NV2080_CTRL_CMD_INTERNAL_GCX_ENTRY_PREREQUISITE, and check to ensure that the GPU is ready for runtime suspend in nouveau_pmops_runtime_suspend() using this query. If the GPU can't be runtime suspended, update the last busy counter of the device and then return -EBUSY from nouveau_pmops_runtime_suspend() - essentially delaying the runtime suspend process by whatever autosuspend_delay_ms is set to. Signed-off-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Link: https://patch.msgid.link/20260917185916.1089621-2-lyude@redhat.com |
||
|---|---|---|
| .. | ||
| chan.h | ||
| cl0002.h | ||
| cl0046.h | ||
| cl0080.h | ||
| cl9097.h | ||
| class.h | ||
| clb069.h | ||
| client.h | ||
| conn.h | ||
| device.h | ||
| disp.h | ||
| driver.h | ||
| event.h | ||
| fifo.h | ||
| head.h | ||
| if0001.h | ||
| if0004.h | ||
| if0005.h | ||
| if0008.h | ||
| if0010.h | ||
| if0011.h | ||
| if0012.h | ||
| if0013.h | ||
| if0014.h | ||
| if0020.h | ||
| if0021.h | ||
| if500b.h | ||
| if500d.h | ||
| if900b.h | ||
| if900d.h | ||
| if0000.h | ||
| if000a.h | ||
| if000b.h | ||
| if000c.h | ||
| if000d.h | ||
| if000e.h | ||
| ifb00d.h | ||
| ifc00d.h | ||
| ioctl.h | ||
| log.h | ||
| mem.h | ||
| mmu.h | ||
| object.h | ||
| os.h | ||
| outp.h | ||
| parent.h | ||
| printf.h | ||
| push.h | ||
| push006c.h | ||
| push206e.h | ||
| push507c.h | ||
| push906f.h | ||
| pushc37b.h | ||
| pushc97b.h | ||
| timer.h | ||
| unpack.h | ||
| user.h | ||
| vmm.h | ||