config DRM_I915_REQUEST_TIMEOUT
	int "Default timeout for requests (ms)"
	default 20000 # milliseconds
	help
	  Configures the default timeout after which any user submissions will
	  be forcefully terminated.

	  Beware setting this value lower, or close to heartbeat interval
	  rounded to whole seconds times three, in order to avoid allowing
	  misbehaving applications causing total rendering failure in unrelated
	  clients.

	  May be 0 to disable the timeout.

config DRM_I915_FENCE_TIMEOUT
	int "Timeout for unsignaled foreign fences (ms, jiffy granularity)"
	default 10000 # milliseconds
	help
	  When listening to a foreign fence, we install a supplementary timer
	  to ensure that we are always signaled and our userspace is able to
	  make forward progress. This value specifies the timeout used for an
	  unsignaled foreign fence.

	  May be 0 to disable the timeout, and rely on the foreign fence being
	  eventually signaled.

config DRM_I915_USERFAULT_AUTOSUSPEND
	int "Runtime autosuspend delay for userspace GGTT mmaps (ms)"
	default 250 # milliseconds
	help
	  On runtime suspend, as we suspend the device, we have to revoke
	  userspace GGTT mmaps and force userspace to take a pagefault on
	  their next access. The revocation and subsequent recreation of
	  the GGTT mmap can be very slow and so we impose a small hysteris
	  that complements the runtime-pm autosuspend and provides a lower
	  floor on the autosuspend delay.

	  May be 0 to disable the extra delay and solely use the device level
	  runtime pm autosuspend delay tunable.

config DRM_I915_HEARTBEAT_INTERVAL
	int "Interval between heartbeat pulses (ms)"
	default 2500 # milliseconds
	help
	  The driver sends a periodic heartbeat down all active engines to
	  check the health of the GPU and undertake regular house-keeping of
	  internal driver state.

	  This is adjustable via
	  /sys/class/drm/card?/engine/*/heartbeat_interval_ms

	  May be 0 to disable heartbeats and therefore disable automatic GPU
	  hang detection.

config DRM_I915_PREEMPT_TIMEOUT
	int "Preempt timeout (ms, jiffy granularity)"
	default 640 # milliseconds
	help
	  How long to wait (in milliseconds) for a preemption event to occur
	  when submitting a new context via execlists. If the current context
	  does not hit an arbitration point and yield to HW before the timer
	  expires, the HW will be reset to allow the more important context
	  to execute.

	  This is adjustable via
	  /sys/class/drm/card?/engine/*/preempt_timeout_ms

	  May be 0 to disable the timeout.

	  The compiled in default may get overridden at driver probe time on
	  certain platforms and certain engines which will be reflected in the
	  sysfs control.

config DRM_I915_MAX_REQUEST_BUSYWAIT
	int "Busywait for request completion limit (ns)"
	default 8000 # nanoseconds
	help
	  Before sleeping waiting for a request (GPU operation) to complete,
	  we may spend some time polling for its completion. As the IRQ may
	  take a non-negligible time to setup, we do a short spin first to
	  check if the request will complete in the time it would have taken
	  us to enable the interrupt.

	  This is adjustable via
	  /sys/class/drm/card?/engine/*/max_busywait_duration_ns

	  May be 0 to disable the initial spin. In practice, we estimate
	  the cost of enabling the interrupt (if currently disabled) to be
	  a few microseconds.

config DRM_I915_STOP_TIMEOUT
	int "How long to wait for an engine to quiesce gracefully before reset (ms)"
	default 100 # milliseconds
	help
	  By stopping submission and sleeping for a short time before resetting
	  the GPU, we allow the innocent contexts also on the system to quiesce.
	  It is then less likely for a hanging context to cause collateral
	  damage as the system is reset in order to recover. The corollary is
	  that the reset itself may take longer and so be more disruptive to
	  interactive or low latency workloads.

	  This is adjustable via
	  /sys/class/drm/card?/engine/*/stop_timeout_ms

config DRM_I915_TIMESLICE_DURATION
	int "Scheduling quantum for userspace batches (ms, jiffy granularity)"
	default 1 # milliseconds
	help
	  When two user batches of equal priority are executing, we will
	  alternate execution of each batch to ensure forward progress of
	  all users. This is necessary in some cases where there may be
	  an implicit dependency between those batches that requires
	  concurrent execution in order for them to proceed, e.g. they
	  interact with each other via userspace semaphores. Each context
	  is scheduled for execution for the timeslice duration, before
	  switching to the next context.

	  This is adjustable via
	  /sys/class/drm/card?/engine/*/timeslice_duration_ms

	  May be 0 to disable timeslicing.
