#
|
# (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.
|
#
|
#
|
|
|
|
menuconfig 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 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_MIDGARD && PM_DEVFREQ
|
select DEVFREQ_GOV_SIMPLE_ONDEMAND
|
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_MIDGARD && !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_MIDGARD
|
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_MIDGARD && 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_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_PLATFORM_FAKE
|
bool "Enable fake platform device support"
|
depends on MALI_MIDGARD && 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.
|
|
choice
|
prompt "Platform configuration"
|
depends on MALI_MIDGARD && 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"
|
config MALI_PLATFORM_THIRDPARTY
|
bool "Third Party Platform"
|
endchoice
|
|
config MALI_PLATFORM_THIRDPARTY_NAME
|
depends on MALI_MIDGARD && 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_MIDGARD && 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_MIDGARD && MALI_EXPERT && (SYNC || SYNC_FILE)
|
default y if MALI_DEBUG
|
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_MIDGARD && 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_MIDGARD && 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_MIDGARD && 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_MIDGARD && 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_MIDGARD && 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_PWRSOFT_765
|
bool "PWRSOFT-765 ticket"
|
depends on MALI_MIDGARD && MALI_EXPERT
|
default n
|
help
|
PWRSOFT-765 fixes devfreq cooling devices issues. However, they are
|
not merged in mainline kernel yet. So this define helps to guard those
|
parts of the code.
|
|
source "drivers/gpu/arm/midgard/platform/Kconfig"
|
source "drivers/gpu/arm/midgard/tests/Kconfig"
|