396 lines
11 KiB
Plaintext

if ARCH_TEGRA
comment "NVIDIA Tegra Display Driver options"
config TEGRA_GRHOST
tristate "Tegra graphics host driver"
depends on PM_DEVFREQ
select PM_GENERIC_DOMAINS
help
Driver for the Tegra graphics host hardware.
config ARCH_TEGRA_VIC
bool "Tegra Video Image Compositor present"
default y
help
Say Y here if the SOC supports the Tegra Video Image Compositor.
Note that this not the same as the ARM Vectored Interrupt Controller.
config TEGRA_GRHOST_USE_NVMAP
bool "Use nvmap as graphics memory manager"
default y if TEGRA_NVMAP
help
Use nvmap as the graphics memory manager.
config TEGRA_GRHOST_FORCE_NVMAP
bool "Force nvmap as graphics memory manager"
default n
help
Force using nvmap instead of dma mapping API
config TEGRA_GRHOST_USE_DMABUF
bool "Support dmabuf buffers"
default y
select DMA_SHARED_BUFFER
help
Support dmabuf buffers.
config TEGRA_GRHOST_DEFAULT_TIMEOUT
depends on TEGRA_GRHOST
int "Default timeout for submits"
default 10000
help
Default timeout for jobs in milliseconds. Set to zero for no timeout.
config TEGRA_GK20A
bool "Enable the GK20A graphics engine"
depends on ARCH_TEGRA_124_SOC
default y
help
Enable support for the GK20A graphics engine
config TEGRA_GRHOST_GK20A_PHYS_PAGE_TABLES
bool "Use physical addressing for gk20a page tables"
default n
help
Use physical addressing for gk20a page tables. If this is off, we
use SMMU translation.
config TEGRA_DC
tristate "Tegra Display Contoller"
depends on ARCH_TEGRA && TEGRA_GRHOST && TEGRA_NVMAP
select BACKLIGHT_CLASS_DEVICE
select FB_MODE_HELPERS
select I2C
help
Tegra display controller support.
config TEGRA_DC_CMU
bool
default y
config TEGRA_MIPI_CAL
bool
default y
config TEGRA_DC_SCAN_COLUMN
bool
default y
config TEGRA_DC_BLENDER_GEN2
bool
default y if ARCH_TEGRA_124_SOC
default n
config TEGRA_DC_BLENDER_DEPTH
bool
default y if ARCH_TEGRA_124_SOC
default n
config TEGRA_DC_BLOCK_LINEAR
bool
default y if ARCH_TEGRA_124_SOC
default n
config TEGRA_DC_INTERLACE
bool
default y if ARCH_TEGRA_124_SOC
default n
config TEGRA_DC_LOW_LATENCY_CURSOR
bool
default y if ARCH_TEGRA_124_SOC
default n
config TEGRA_DC_CLOCK_GEN2
bool
default y if ARCH_TEGRA_124_SOC
default n
help
T12x redefined pll usages for pll_d and pll_d2.
config TEGRA_DC_TEMPORAL_DITHER
bool
default y if ARCH_TEGRA_124_SOC
default n
config FB_TEGRA
tristate "Tegra Framebuffer driver"
depends on TEGRA_DC && FB = y
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
default FB
help
Framebuffer device support for the Tegra display controller.
config TEGRA_DC_EXTENSIONS
bool "Tegra Display Controller Extensions"
depends on TEGRA_DC
default y
help
This exposes support for extended capabilities of the Tegra display
config TEGRA_NVMAP
bool "Tegra GPU memory management driver (nvmap)"
select ARM_DMA_USE_IOMMU if IOMMU_API
select DMA_SHARED_BUFFER
default y
help
Say Y here to include the memory management driver for the Tegra
GPU, multimedia and display subsystems
config NVMAP_HIGHMEM_ONLY
bool "Use only HIGHMEM for nvmap"
depends on TEGRA_NVMAP && IOMMU_API && HIGHMEM
default n
help
Say Y here to restrict nvmap system memory allocations (both
physical system memory and IOVMM) to just HIGHMEM pages.
config NVMAP_CARVEOUT_KILLER
bool "Reclaim nvmap carveout by killing processes"
depends on TEGRA_NVMAP
default n
help
Say Y here to allow the system to reclaim carveout space by killing
processes. This will kill the largest consumers of lowest priority
first.
config NVMAP_PAGE_POOLS
bool "Use page pools to reduce allocation overhead"
depends on TEGRA_NVMAP
default y
help
say Y here to reduce the alloction overhead, which is significant
for uncached, writecombine and inner cacheable memories as it
involves changing page attributes during every allocation per page
and flushing cache. Alloc time is reduced by allcoating the pages
ahead and keeping them aside. The reserved pages would be released
when system is low on memory and acquired back during release of
memory.
config NVMAP_PAGE_POOLS_INIT_FILLUP
bool "Fill up page pools during page pools init"
depends on NVMAP_PAGE_POOLS
default y
help
Say Y here to fill up the page pools during page pool init time.
This helps in faster alloctions right from the early alloction
requests. Page pools fill up during init would increase the boot time.
If increase in boot time is not acceptable, keep this option disabled.
config NVMAP_PAGE_POOLS_INIT_FILLUP_SIZE
depends on NVMAP_PAGE_POOLS_INIT_FILLUP
hex "Amount of memory to fill up page pools with during bootup in MB"
default 0x64
config NVMAP_PAGE_POOL_SIZE
depends on NVMAP_PAGE_POOLS
hex "Page pool size in pages"
default 0x0
config NVMAP_CACHE_MAINT_BY_SET_WAYS
bool "Enable cache maintenance by set/ways"
depends on TEGRA_NVMAP
help
Say Y here to reduce cache maintenance overhead by MVA.
This helps in reducing cache maintenance overhead in the systems,
where inner cache includes only L1. For the systems, where inner cache
includes L1 and L2, keep this option disabled.
config NVMAP_CACHE_MAINT_BY_SET_WAYS_ON_ONE_CPU
bool "Perform cache maint on one cpu only"
depends on TEGRA_NVMAP && NVMAP_CACHE_MAINT_BY_SET_WAYS
help
Say Y here to avoid cache maint on all CPU's during inner cache maint
by set/ways. When L1 and L2 are inner caches, cache maint on one
CPU is enough. When L1 is inner and L2 is outer, cache maint on
all CPU's is necessary during L1 cache maint by set/ways.
config NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
bool "Enable outer cache maintenance by set/ways"
depends on TEGRA_NVMAP
help
Say Y here if you want to optimize cache maintenance for ranges
bigger than size of outer cache. This option has no effect on
system without outer cache.
config NVMAP_DEFERRED_CACHE_MAINT
bool "Enable deferred cache maintenance"
depends on TEGRA_NVMAP
help
Say Y here if you want to defer flush requests for
nvmap memory buffer. Cache maintenance of deferred requests
is more efficient since there is a high chance that cache lines
of earlier requests are already flushed. Also, if total size of
deferred ranges is big enough, we flush whole inner or outer
cache.
config NVMAP_DMABUF_STASH
bool "Enable stashing of IOVA maps with dmabuf"
depends on TEGRA_NVMAP
default y
help
Set to Y if you would like nvmap to stash maps when using dma
bufs. This will speed up remapping of the same handle at the cost
of using more IOVA space.
config NVMAP_DMABUF_STASH_STATS
bool "Enable stat tracking on the stash"
depends on NVMAP_DMABUF_STASH
help
Say Y to enable tracking of basic cache statistics on the dmabuf
stash. This adds some overhead but should be very useful for
debugging memory leaks.
config NVMAP_VPR
bool "Enable VPR Heap."
depends on TEGRA_NVMAP
default n
help
Say Y here to enable Video Protection Region(VPR) heap.
if unsure, say N.
config NVMAP_FORCE_ZEROED_USER_PAGES
bool "Only alloc zeroed pages for user space"
depends on TEGRA_NVMAP
help
Say Y here to force zeroing of pages allocated for user space. This
avoids leaking kernel secure data to user space. This can add
significant overhead to allocation operations depending on the
allocation size requested.
config NVMAP_USE_FD_FOR_HANDLE
bool "Use Fd's to represent NvMap handles"
depends on TEGRA_NVMAP
default y
help
Say Y here to use Fd's for representing NvMap handles
in user space. Enabling this config returns DmaBuf
compatible Fd's to user space during handle creation
requests. The kernel component that receives these Fd's
can use either NvMap interface or DmaBuf interface in order
to access NvMap handle memory.
config NVMAP_USE_CMA_FOR_CARVEOUT
bool "Use CMA memory for carveouts"
depends on TEGRA_NVMAP
help
Say Y here to reserve carveout memory using CMA
API. CMA reserved memory can be used by applications
when it is not in use by the device that reserved it.
config NVMAP_CPA
bool "Use CPA API in nvmap"
depends on CPA
help
Say Y here to have nvmap use CPA. CPA is necessary for
certain chips where page table aliasing can cause undefined
results due to speculative memory loads/stores. If unsure,
say N.
config NVMAP_CONVERT_CARVEOUT_TO_IOVMM
bool "Convert carveout to IOVMM"
depends on TEGRA_NVMAP && IOMMU_API
default y
help
Say Y here to force to convert carveout memory requests to
I/O virtual memory requests.
config NVMAP_HANDLE_MARSHAL
bool "Marshal nvmap handle id"
depends on TEGRA_NVMAP
help
Enables nvmap handle id marshalling. Marshalling converts
the nvmap handle id into an unique number before passing
the handle id to user/kernel clients. The marshalling
would allow sharing a 64-bit handle id as 32-bit id to
user space when kernel is 64-bit and user space is 32-bit.
config TEGRA_DSI
bool "Enable DSI panel."
default n
help
Say Y here to enable the DSI panel.
config TEGRA_DSI2EDP_TC358767
bool "Enable DSI2EDP TC358767 bridge."
default n
help
Say Y here to enable the DSI2EDP TOSHIBA 358767 adapter.
config TEGRA_DSI2EDP_SN65DSI86
bool "Enable DSI2EDP SN65DSI86 bridge."
default n
help
Say Y here to enable the DSI2EDP TI SN65DSI86 adapter.
config TEGRA_DP
bool "Enable eDP panel."
default n
help
Say Y here to enable eDP panel.
config TEGRA_LVDS
bool "Enable LVDS panel."
default n
config TEGRA_NVHDCP
bool "Support NVHDCP content protection on HDMI"
default n
select TEGRA_KFUSE
help
Say Y here to support NVHDCP upstream and downstream protocols, this
requires a correctly fused chip to negotiate keys.
config TEGRA_GK20A_PMU
bool "Support GK20A PMU"
depends on TEGRA_GK20A
default n
help
Say Y here to enable GK20A PMU features.
choice
depends on TEGRA_GK20A
prompt "Enable GK20A frequency scaling"
default TEGRA_GK20A_PERFMON
optional
help
Select this entry to enable gk20a scaling
config TEGRA_GK20A_PERFMON
bool "Use Perfmon"
help
Select this to enable built-in perfmon scaling.
The built-in scaling option uses simplistic
scaling mechanism (if busy, increase frequency and
decrease frequency if idle).
config TEGRA_GK20A_DEVFREQ
bool "Use Devfreq"
help
Select this to use devfreq based scaling.
Devfreq is a common framework that allows using
variety of different governors and changing
between governors on the fly. By default, no
governor is selected.
endchoice
config TEGRA_GK20A_DEBUG_SESSION
bool "Enable GK20A debug session"
depends on TEGRA_GK20A
default n
help
Enables using debug session on GK20A.
config TEGRA_GPU_CYCLE_STATS
bool "Support GK20A GPU CYCLE STATS"
depends on TEGRA_GK20A_DEBUG_SESSION
default n
help
Say Y here to enable the cycle stats debugging features.
endif