1b27e35aeSChris Wilsonconfig DRM_I915_USERFAULT_AUTOSUSPEND 2b27e35aeSChris Wilson int "Runtime autosuspend delay for userspace GGTT mmaps (ms)" 3b27e35aeSChris Wilson default 250 # milliseconds 4b27e35aeSChris Wilson help 5b27e35aeSChris Wilson On runtime suspend, as we suspend the device, we have to revoke 6b27e35aeSChris Wilson userspace GGTT mmaps and force userspace to take a pagefault on 7b27e35aeSChris Wilson their next access. The revocation and subsequent recreation of 8b27e35aeSChris Wilson the GGTT mmap can be very slow and so we impose a small hysteris 9b27e35aeSChris Wilson that complements the runtime-pm autosuspend and provides a lower 10b27e35aeSChris Wilson floor on the autosuspend delay. 11b27e35aeSChris Wilson 12b27e35aeSChris Wilson May be 0 to disable the extra delay and solely use the device level 13b27e35aeSChris Wilson runtime pm autosuspend delay tunable. 14b27e35aeSChris Wilson 157ce99d24SChris Wilsonconfig DRM_I915_SPIN_REQUEST 16ea60f4bdSChris Wilson int "Busywait for request completion (us)" 177ce99d24SChris Wilson default 5 # microseconds 187ce99d24SChris Wilson help 197ce99d24SChris Wilson Before sleeping waiting for a request (GPU operation) to complete, 207ce99d24SChris Wilson we may spend some time polling for its completion. As the IRQ may 217ce99d24SChris Wilson take a non-negligible time to setup, we do a short spin first to 227ce99d24SChris Wilson check if the request will complete in the time it would have taken 237ce99d24SChris Wilson us to enable the interrupt. 247ce99d24SChris Wilson 257ce99d24SChris Wilson May be 0 to disable the initial spin. In practice, we estimate 267ce99d24SChris Wilson the cost of enabling the interrupt (if currently disabled) to be 277ce99d24SChris Wilson a few microseconds. 28*a8c51ed2SChris Wilson 29*a8c51ed2SChris Wilsonconfig DRM_I915_STOP_TIMEOUT 30*a8c51ed2SChris Wilson int "How long to wait for an engine to quiesce gracefully before reset (ms)" 31*a8c51ed2SChris Wilson default 100 # milliseconds 32*a8c51ed2SChris Wilson help 33*a8c51ed2SChris Wilson By stopping submission and sleeping for a short time before resetting 34*a8c51ed2SChris Wilson the GPU, we allow the innocent contexts also on the system to quiesce. 35*a8c51ed2SChris Wilson It is then less likely for a hanging context to cause collateral 36*a8c51ed2SChris Wilson damage as the system is reset in order to recover. The corollary is 37*a8c51ed2SChris Wilson that the reset itself may take longer and so be more disruptive to 38*a8c51ed2SChris Wilson interactive or low latency workloads. 39