# SPDX-License-Identifier: GPL-2.0-only
config DRM_I915_UNSTABLE
	bool "Enable unstable API for early prototype development"
	depends on EXPERT
	depends on STAGING
	depends on BROKEN # should never be enabled by distros!
	# We use the dependency on !COMPILE_TEST to not be enabled in
	# allmodconfig or allyesconfig configurations
	depends on !COMPILE_TEST
	default n
	help
	  Enable prototype uAPI under general discussion before they are
	  finalized. Such prototypes may be withdrawn or substantially
	  changed before release. They are only enabled here so that a wide
	  number of interested parties (userspace driver developers) can
	  verify that the uAPI meet their expectations. These uAPI should
	  never be used in production.

	  Recommended for driver developers _only_.

	  If in the slightest bit of doubt, say "N".

config DRM_I915_UNSTABLE_FAKE_LMEM
	bool "Enable the experimental fake lmem"
	depends on DRM_I915_UNSTABLE
	default n
	help
	  Convert some system memory into a fake local memory region for
	  testing.
