git-subtree-dir: qcom/opensource/graphics-kernel git-subtree-mainline:992813d9c1
git-subtree-split:b4fdc4c042
Change-Id: repo: https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/graphics-kernel tag: GRAPHICS.LA.14.0.r1-07700-lanai.0
121 lines
4.4 KiB
Plaintext
121 lines
4.4 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config QCOM_KGSL
|
|
tristate "Qualcomm Technologies, Inc. 3D Graphics driver"
|
|
depends on ARCH_QCOM
|
|
depends on NVMEM_QCOM_QFPROM || QCOM_QFPROM
|
|
select QCOM_MDT_LOADER
|
|
select INTERVAL_TREE
|
|
select TRACE_GPU_MEM
|
|
help
|
|
3D graphics driver for the Adreno family of GPUs from QTI.
|
|
Required to use hardware accelerated OpenGL, compute and Vulkan
|
|
on QTI targets. This includes power management, memory management,
|
|
and scheduling for the Adreno GPUs.
|
|
|
|
config DEVFREQ_GOV_QCOM_ADRENO_TZ
|
|
tristate "Qualcomm Technologies, Inc. GPU frequency governor"
|
|
depends on PM_DEVFREQ
|
|
help
|
|
GPU frequency governor for the Adreno GPU. Sets the frequency
|
|
using an "on demand" algorithm in conjunction with other
|
|
components on Adreno platforms. This is not useful for non-Adreno
|
|
devices.
|
|
|
|
config DEVFREQ_GOV_QCOM_GPUBW_MON
|
|
tristate "Qualcomm Technologies, Inc. GPU bandwidth governor"
|
|
depends on DEVFREQ_GOV_QCOM_ADRENO_TZ
|
|
help
|
|
This governor works together with the Adreno GPU governor to
|
|
select bus frequency votes using an "on-demand" algorithm.
|
|
This governor will not be useful for non-Adreno based
|
|
targets.
|
|
|
|
config QCOM_KGSL_FENCE_TRACE
|
|
bool "Enable built-in tracing for adreno fence timeouts"
|
|
help
|
|
A boolean flag used to create a KGSL-specific tracing instance
|
|
under <tracefs>/tracing/instances/kgsl-fence that can be used
|
|
for debugging timeouts for fences between KGSL-contexts and
|
|
sync-point blocks. If unsure, say 'N' here.
|
|
|
|
config QCOM_ADRENO_DEFAULT_GOVERNOR
|
|
string "devfreq governor for the adreno core"
|
|
default "msm-adreno-tz"
|
|
|
|
config QCOM_KGSL_CORESIGHT
|
|
bool "Enable coresight support for the Adreno GPU"
|
|
depends on CORESIGHT
|
|
default y
|
|
help
|
|
When enabled, the Adreno GPU is available as a source for Coresight
|
|
data. On a6xx targets there are two sources available for the GX and
|
|
CX domains respectively. Debug kernels should say 'Y' here.
|
|
|
|
config QCOM_KGSL_IOCOHERENCY_DEFAULT
|
|
bool "Enable I/O coherency on cached GPU memory by default"
|
|
default y if ARCH_LAHAINA
|
|
help
|
|
Say 'Y' here to enable I/O cache coherency by default on targets that
|
|
support hardware I/O coherency. If enabled all cached GPU memory
|
|
will use I/O coherency regardless of the user flags. If not enabled
|
|
the user can still selectively enable I/O coherency with a flag.
|
|
|
|
config QCOM_KGSL_IDLE_TIMEOUT
|
|
int
|
|
default 80
|
|
help
|
|
GPU idle timeout for Adreno GPU. This value decides after how
|
|
long the GPU will go into slumber. A higher value will mean that
|
|
the GPU is powered ON for a longer duration which will have
|
|
power costs.
|
|
|
|
config QCOM_KGSL_CONTEXT_DEBUG
|
|
bool "Log kgsl context information for all processes"
|
|
help
|
|
When enabled, total number of KGSL contexts, number of attached and
|
|
detached contexts are dumped into kernel log for all the processes.
|
|
This gives insight about the number of contexts held by each process.
|
|
|
|
config QCOM_KGSL_SORT_POOL
|
|
bool "Sort pool page list based on physical address"
|
|
default y
|
|
help
|
|
When enabled, the pool page list is sorted based on physical
|
|
addresses. This can be turned on for targets where better DDR
|
|
efficiency is attained on accesses for adjacent memory.
|
|
|
|
config QCOM_KGSL_QDSS_STM
|
|
bool "Enable support for QDSS STM for Adreno GPU"
|
|
depends on CORESIGHT
|
|
help
|
|
When enabled, the Adreno GPU QDSS STM support is enabled. GPU QDSS STM
|
|
memory will be mapped to GPU and QDSS clock needed to access this memory
|
|
is voted. Debug kernels should say 'Y' here.
|
|
|
|
config QCOM_KGSL_USE_SHMEM
|
|
bool "Enable using shmem for memory allocations"
|
|
depends on SHMEM
|
|
help
|
|
Say 'Y' to enable using shmem for memory allocations. If enabled,
|
|
there will be no support for the memory pools and higher order pages.
|
|
But using shmem will help in making kgsl pages available for
|
|
reclaiming.
|
|
|
|
config QCOM_KGSL_PROCESS_RECLAIM
|
|
bool "Make driver pages available for reclaim"
|
|
select QCOM_KGSL_USE_SHMEM
|
|
help
|
|
Say 'Y' to make driver pages available for reclaiming. If enabled,
|
|
shmem will be used for allocation. kgsl would know the process
|
|
foreground/background activity through the sysfs entry exposed per
|
|
process. Based on this kgsl can unpin given number of pages from
|
|
background processes and make them available to the shrinker.
|
|
|
|
config QCOM_KGSL_HIBERNATION
|
|
bool "Enable Hibernation support in KGSL"
|
|
depends on HIBERNATION
|
|
help
|
|
Say 'Y' to enable hibernation support in kgsl. If enabled, kgsl
|
|
will register necessary power manager callbacks to support
|
|
hibernation.
|