#
# (C) COPYRIGHT 2012-2015 ARM Limited. All rights reserved.
#
# This program is free software and is provided to you under the terms of the
# GNU General Public License version 2 as published by the Free Software
# Foundation, and any use by you of this program is subject to the terms
# of such GNU licence.
#
# A copy of the licence is included with the program, and can also be obtained
# from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA  02110-1301, USA.
#
#

# MALI_SEC_INTEGRATION
# To resolve the choice error in Kconfig,
# move the config selection to Kbulid.
#
# choice
#	prompt "Streamline support"
#	depends on MALI_R12P0
#	default MALI_TIMELINE_DISABLED
#	help
#	  Select streamline support configuration.
#
# config MALI_TIMELINE_DISABLED
#	bool "Streamline support disabled"
#	depends on MALI_R12P0
#	help
#	  Disable support for ARM Streamline Performance Analyzer.
#
#	  Timeline support will not be included in
#	  kernel code.
#	  Debug stream will not be generated.
#
# config MALI_GATOR_SUPPORT_TIMELINE
#	bool "Streamline support via Gator"
#	default n
#	depends on MALI_R12P0
#	help
#	  Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
#	  You will need the Gator device driver already loaded before loading this driver when enabling
#	  Streamline debug support.
#
# config MALI_MIPE_ENABLED
#	bool "Streamline support via MIPE"
#	depends on MALI_R12P0
#	help
#	  Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
#
#	  Stream will be transmitted directly to Mali GPU library.
#	  Compatible version of the library is required to read debug stream generated by kernel.
#
# endchoice
#	  This is a legacy interface required by older versions of Streamline.

config MALI_DVFS
	bool "Enable DVFS"
	depends on MALI_T72X
	default n
	help
	  Choose this option to enable DVFS in the Mali Midgard DDK.

config MALI_DVFS_USER
	bool "Enable DVFS USER"
	depends on MALI_T72X && MALI_DVFS
	default n
	help
	  Choose this option to enable DVFS_USER on MALI t72x DDK.

config MALI_DVFS_USER_GOVERNOR
	bool "Enable DVFS USER GOVERNOR"
	depends on MALI_T72X && MALI_DVFS && MALI_DVFS_USER
	default n
	help
	  Choose this option to enable DVFS_USER_GOVERNOR on MALI t72x DDK.

config MALI_RT_PM
	bool "Enable Runtime power management"
	depends on MALI_T72X
	depends on PM_RUNTIME
	default y
	help
	  Choose this option to enable runtime power management in the Mali Midgard DDK.

config MALI_MIDGARD_ENABLE_TRACE
	bool "Enable kbase tracing"
	depends on MALI_T72X
	default n
	help
	  Enables tracing in kbase.  Trace log available through
	  the "mali_trace" debugfs file, when the CONFIG_DEBUG_FS is enabled

config MALI_EXYNOS_TRACE
	bool "Enable kbase tracing"
	depends on MALI_T72X
	default y
	help
	  Enables tracing in kbase.  Trace log available through
	  the "mali_trace" debugfs file, when the CONFIG_DEBUG_FS is enabled

config MALI_DEBUG_SYS
	bool "Enable sysfs for the Mali Midgard DDK "
	depends on MALI_T72X && SYSFS
	default n
	help
	  Enables sysfs for the Mali Midgard DDK. Set/Monitor the Mali Midgard DDK

config MALI_DEVFREQ
	bool "devfreq support for Mali"
	depends on MALI_T72X && PM_DEVFREQ
	help
	  Support devfreq for Mali.

	  Using the devfreq framework and, by default, the simpleondemand
	  governor, the frequency of Mali will be dynamically selected from the
	  available OPPs.

config MALI_DMA_FENCE
	bool "DMA_BUF fence support for Mali"
	depends on MALI_T72X && !KDS
	default n
	help
	  Support DMA_BUF fences for Mali.

	  This option should only be enabled if KDS is not present and
	  the Linux Kernel has built in support for DMA_BUF fences.

# MALI_EXPERT configuration options

menuconfig MALI_EXPERT
	depends on MALI_T72X
	bool "Enable Expert Settings"
	default n
	help
	  Enabling this option and modifying the default settings may produce a driver with performance or
	  other limitations.

config MALI_PRFCNT_SET_SECONDARY
	bool "Use secondary set of performance counters"
	depends on MALI_MIDGARD && MALI_EXPERT
	default n
	help
	  Select this option to use secondary set of performance counters. Kernel
	  features that depend on an access to the primary set of counters may
	  become unavailable. Enabling this option will prevent power management
	  from working optimally and may cause instrumentation tools to return
	  bogus results.

	  If unsure, say N.

config MALI_DEBUG_SHADER_SPLIT_FS
	bool "Allow mapping of shader cores via sysfs"
	depends on MALI_T72X && MALI_DEBUG_SYS && MALI_EXPERT
	default n
	help
	  Select this option to provide a sysfs entry for runtime configuration of shader
	  core affinity masks.

config MALI_PLATFORM_FAKE
	bool "Enable fake platform device support"
	depends on MALI_T72X && MALI_EXPERT
	default n
	help
	  When you start to work with the Mali Midgard series device driver the platform-specific code of
	  the Linux kernel for your platform may not be complete. In this situation the kernel device driver
	  supports creating the platform device outside of the Linux platform-specific code.
	  Enable this option if would like to use a platform device configuration from within the device driver.

config MALI_PLATFORM_THIRDPARTY
    depends on MALI_T72X
    bool "Third Party Platform"
    default y
      help
      Select the SOC platform that contains a Mali-t72x

config MALI_PLATFORM_THIRDPARTY_NAME
	depends on MALI_T72X && MALI_PLATFORM_THIRDPARTY && MALI_EXPERT
	string "Third party platform name"
	help
	  Enter the name of a third party platform that is supported. The third part configuration
	  file must be in midgard/config/tpip/mali_kbase_config_xxx.c where xxx is the name
	  specified here.

config MALI_DEBUG
	bool "Debug build"
	depends on MALI_T72X && MALI_EXPERT
	default n
	help
	  Select this option for increased checking and reporting of errors.

config MALI_NO_MALI
	bool "No Mali"
	depends on MALI_T72X && MALI_EXPERT
	default n
	help
	  This can be used to test the driver in a simulated environment
	  whereby the hardware is not physically present. If the hardware is physically
	  present it will not be used. This can be used to test the majority of the
	  driver without needing actual hardware or for software benchmarking.
	  All calls to the simulated hardware will complete immediately as if the hardware
	  completed the task.

config MALI_ERROR_INJECT
	bool "Error injection"
	depends on MALI_T72X && MALI_EXPERT && MALI_NO_MALI
	default n
	help
	  Enables insertion of errors to test module failure and recovery mechanisms.

config MALI_TRACE_TIMELINE
	bool "Timeline tracing"
	depends on MALI_T72X && MALI_EXPERT
	default n
	help
	  Enables timeline tracing through the kernel tracepoint system.

config MALI_SYSTEM_TRACE
	bool "Enable system event tracing support"
	depends on MALI_T72X && MALI_EXPERT
	default n
	help
	  Choose this option to enable system trace events for each
	  kbase event.	This is typically used for debugging but has
	  minimal overhead when not in use. Enable only if you know what
	  you are doing.

config MALI_SEC_HWCNT
	bool "Enable sec hwcnt feature"
	depends on MALI_T72X
	default n
	help
	  Enable sec hwcnt feature.

config MALI_SEC_ZERO_SHRINK_PAGES
	bool "Zero the shrink pages"
	depends on MALI_T72X
	default n
	help
	  Choose this option to zero the shrink pages when you want to get
	  more available memory and this is shown by gpu_memory.

source "drivers/gpu/arm_tizen/t72x/r12p0/platform/Kconfig"
