# SPDX-License-Identifier: GPL-2.0 config MALI400 tristate "Mali-300/400/450 support" depends on ARM || ARM64 select DMA_SHARED_BUFFER help This enables support for the ARM Mali-300, Mali-400, and Mali-450 GPUs. To compile this driver as a module, choose M here: the module will be called mali. config MALI450 bool "Enable Mali-450 support" depends on MALI400 help This enables support for Mali-450 specific features. config MALI470 bool "Enable Mali-470 support" depends on MALI400 help This enables support for Mali-470 specific features. config MALI400_DEBUG bool "Enable debug in Mali driver" depends on MALI400 help This enabled extra debug checks and messages in the Mali driver. config MALI400_PROFILING bool "Enable Mali profiling" depends on MALI400 select TRACEPOINTS default y help This enables gator profiling of Mali GPU events. config MALI400_INTERNAL_PROFILING bool "Enable internal Mali profiling API" depends on MALI400_PROFILING default n help This enables the internal legacy Mali profiling API. config MALI400_UMP bool "Enable UMP support" depends on MALI400 help This enables support for the UMP memory sharing API in the Mali driver. config MALI_DVFS bool "Enable Mali dynamically frequency change" depends on MALI400 && !MALI_DEVFREQ default y help This enables support for dynamic change frequency of Mali with the goal of lowering power consumption. config MALI_DMA_BUF_MAP_ON_ATTACH bool "Map dma-buf attachments on attach" depends on MALI400 && DMA_SHARED_BUFFER default y help This makes the Mali driver map dma-buf attachments after doing attach. If this is not set the dma-buf attachments will be mapped for every time the GPU need to access the buffer. Mapping for each access can cause lower performance. config MALI_SHARED_INTERRUPTS bool "Support for shared interrupts" depends on MALI400 default n help Adds functionality required to properly support shared interrupts. Without this support, the device driver will fail during insmod if it detects shared interrupts. This also works when the GPU is not using shared interrupts, but might have a slight performance impact. config MALI_PMU_PARALLEL_POWER_UP bool "Power up Mali PMU domains in parallel" depends on MALI400 default n help This makes the Mali driver power up all PMU power domains in parallel, instead of powering up domains one by one, with a slight delay in between. Powering on all power domains at the same time may cause peak currents higher than what some systems can handle. These systems must not enable this option. config MALI_DT bool "Using device tree to initialize module" depends on MALI400 && OF default n help This enable the Mali driver to choose the device tree path to get platform resoures and disable the old config method. Mali driver could run on the platform which the device tree is enabled in kernel and corresponding hardware description is implemented properly in device DTS file. config MALI_DEVFREQ bool "Using devfreq to tuning frequency" depends on MALI400 && PM_DEVFREQ select DEVFREQ_GOV_SIMPLE_ONDEMAND default n 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_QUIET bool "Make Mali driver very quiet" depends on MALI400 && !MALI400_DEBUG default n help This forces the Mali driver to never print any messages. If unsure, say N.