| # |
| # (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. |
| # |
| # |
| |
| config MALI_MIDGARD |
| tristate "Mali Midgard series support" |
| select GPU_TRACEPOINTS if ANDROID |
| default n |
| help |
| Enable this option to build support for a ARM Mali Midgard GPU. |
| |
| To compile this driver as a module, choose M here: |
| this will generate a single module, called mali_kbase. |
| |
| config MALI_GATOR_SUPPORT |
| bool "Streamline support via Gator" |
| depends on MALI_MIDGARD |
| default n |
| 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. |
| This is a legacy interface required by older versions of Streamline. |
| |
| config MALI_MIDGARD_DVFS |
| bool "Enable legacy DVFS" |
| depends on MALI_MIDGARD && !MALI_DEVFREQ && !MALI_PLATFORM_DEVICETREE |
| default n |
| help |
| Choose this option to enable legacy DVFS in the Mali Midgard DDK. |
| |
| config MALI_MIDGARD_ENABLE_TRACE |
| bool "Enable MIDGARD kbase tracing" |
| depends on MALI_MIDGARD |
| 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_DEVFREQ |
| bool "Devfreq support for Mali" |
| depends on MALI_TMIX && 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_TMIX && !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. |
| |
| config MALI_DEBUG_SYS |
| bool "Enable SysFS for the Mali Midgard DDK " |
| depends on MALI_MIDGARD && SYSFS |
| default y |
| help |
| Enables sysfs for the Mali Midgard DDK. Set/Monitor the Mali Midgard DDK |
| |
| config MALI_DEBUG_KERNEL_SYSFS |
| bool "Support Kernel Group Debug SysFS" |
| depends on MALI_TMIX && MALI_DEBUG_SYS |
| default n |
| help |
| Support Support Kernel Group Debug SysFS on /sys/kernel/gpu |
| # MALI_EXPERT configuration options |
| |
| config MALI_EXPERT |
| depends on MALI_TMIX |
| 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_CORESTACK |
| bool "Support controlling power to the GPU core stack" |
| depends on MALI_TMIX && MALI_EXPERT |
| default n |
| help |
| Enabling this feature on supported GPUs will let the driver powering |
| on/off the GPU core stack independently without involving the Power |
| Domain Controller. This should only be enabled on platforms which |
| integration of the PDC to the Mali GPU is known to be problematic. |
| This feature is currently only supported on t-Six and t-HEx GPUs. |
| |
| If unsure, say N. |
| |
| config MALI_PRFCNT_SET_SECONDARY |
| bool "Use secondary set of performance counters" |
| depends on MALI_TMIX && 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 |
| bool "Debug build" |
| depends on MALI_TMIX && MALI_EXPERT |
| default n |
| help |
| Select this option for increased checking and reporting of errors. |
| |
| config MALI_FENCE_DEBUG |
| bool "Debug sync fence usage" |
| depends on MALI_TMIX && MALI_EXPERT && SYNC |
| default n |
| help |
| Select this option to enable additional checking and reporting on the |
| use of sync fences in the Mali driver. |
| |
| This will add a 3s timeout to all sync fence waits in the Mali |
| driver, so that when work for Mali has been waiting on a sync fence |
| for a long time a debug message will be printed, detailing what fence |
| is causing the block, and which dependent Mali atoms are blocked as a |
| result of this. |
| |
| The timeout can be changed at runtime through the js_soft_timeout |
| device attribute, where the timeout is specified in milliseconds. |
| |
| config MALI_NO_MALI |
| bool "No Mali" |
| depends on MALI_TMIX && 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_TMIX && 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_TMIX && 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_TMIX && 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_GPU_MMU_AARCH64 |
| bool "Use AArch64 page tables" |
| depends on MALI_TMIX && MALI_EXPERT |
| default n |
| help |
| Use AArch64 format page tables for the GPU instead of LPAE-style. |
| The two formats have the same functionality and performance but a |
| future GPU may deprecate or remove the legacy LPAE-style format. |
| |
| The LPAE-style format is supported on all Midgard and current Bifrost |
| GPUs. Enabling AArch64 format restricts the driver to only supporting |
| Bifrost GPUs. |
| |
| If in doubt, say N. |
| |
| config MALI_PLATFORM_FAKE |
| bool "Enable fake platform device support" |
| depends on MALI_TMIX && 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_CFS_SCHEDULING |
| bool "Completely Fair Scheduling policy" |
| depends on MALI_TMIX && MALI_EXPERT |
| default n |
| help |
| Use Completely Fair Scheduling for handling GPU jobs |
| #choice |
| # prompt "Platform configuration" |
| # depends on MALI_TMIX && MALI_EXPERT |
| # default MALI_PLATFORM_DEVICETREE |
| # help |
| # Select the SOC platform that contains a Mali Midgard GPU |
| |
| #config MALI_PLATFORM_DEVICETREE |
| # bool "Device Tree platform" |
| # depends on OF |
| # help |
| # Select this option to use Device Tree with the Mali driver. |
| |
| # When using this option the Mali driver will get the details of the |
| # GPU hardware from the Device Tree. This means that the same driver |
| # binary can run on multiple platforms as long as all the GPU hardware |
| # details are described in the device tree. |
| |
| # Device Tree is the recommended method for the Mali driver platform |
| # integration. |
| |
| #config MALI_PLATFORM_VEXPRESS |
| # depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4) |
| # bool "Versatile Express" |
| #config MALI_PLATFORM_VEXPRESS_VIRTEX7_40MHZ |
| # depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4) |
| # bool "Versatile Express w/Virtex7 @ 40Mhz" |
| #config MALI_PLATFORM_GOLDFISH |
| # depends on ARCH_GOLDFISH |
| # bool "Android Goldfish virtual CPU" |
| #config MALI_PLATFORM_PBX |
| # depends on ARCH_REALVIEW && REALVIEW_EB_A9MP && MACH_REALVIEW_PBX |
| # bool "Realview PBX-A9" |
| source "drivers/gpu/arm/tMIx/r3p0/platform/Kconfig" |
| #endchoice |