linux/drivers/gpu/drm/nouveau/include/nvif
Lyude Paul cb4c760367 drm/nouveau/gsp/r570: Add support for INTERNAL_GCX_ENTRY_PREREQUISITE
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
2026-09-17 16:43:02 -04:00
..
chan.h drm/nouveau/gf100-: track chan progress with non-WFI semaphore release 2025-05-19 07:14:44 +10:00
cl0002.h
cl0046.h
cl0080.h drm/nouveau/gsp/r570: Add support for INTERNAL_GCX_ENTRY_PREREQUISITE 2026-09-17 16:43:02 -04:00
cl9097.h
class.h drm/nouveau: add support for GB20x 2025-05-19 07:14:45 +10:00
clb069.h
client.h nouveau: add a third state to the fini handler. 2026-02-04 12:17:43 +10:00
conn.h
device.h drm/nouveau/gsp/r570: Add support for INTERNAL_GCX_ENTRY_PREREQUISITE 2026-09-17 16:43:02 -04:00
disp.h
driver.h nouveau: add a third state to the fini handler. 2026-02-04 12:17:43 +10:00
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 drm/nouveau/nvif: remove client devlist 2024-07-27 03:05:33 +02:00
if000a.h
if000b.h
if000c.h
if000d.h
if000e.h
ifb00d.h
ifc00d.h
ioctl.h drm/nouveau: Avoid multiple -Wflex-array-member-not-at-end warnings 2025-02-27 19:16:43 +01:00
log.h drm/nouveau: expose GSP-RM logging buffers via debugfs 2024-12-04 21:47:53 +01:00
mem.h
mmu.h
object.h drm/nouveau/nv50-: separate CHANNEL_GPFIFO handling out from CHANNEL_DMA 2025-05-19 07:14:44 +10:00
os.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
outp.h
parent.h
printf.h
push.h drm/nouveau/nv50-: separate CHANNEL_GPFIFO handling out from CHANNEL_DMA 2025-05-19 07:14:44 +10:00
push006c.h
push206e.h
push507c.h
push906f.h drm/nouveau/gv100-: switch to volta semaphore methods 2025-05-19 06:29:26 +10:00
pushc37b.h
pushc97b.h drm/nouveau/kms: add support for GB20x 2025-05-19 07:14:45 +10:00
timer.h
unpack.h
user.h
vmm.h