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