| if ARCH_TEGRA |
| |
| comment "NVIDIA Tegra Display Driver options" |
| |
| config TEGRA_GRHOST |
| tristate "Tegra graphics host driver" |
| help |
| Driver for the Tegra graphics host hardware. |
| |
| config TEGRA_GRHOST_VI |
| tristate "Tegra video input host1x client driver" |
| default y if TEGRA_GRHOST |
| help |
| Driver for the Tegra video input hardware. |
| To compile this driver as a module, choose M here: |
| the module will be called nvhost-vi. |
| |
| 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_GRHOST_SYNC |
| depends on TEGRA_GRHOST |
| bool "Tegra host synchronization objects" |
| default y |
| select SYNC |
| help |
| Add tegra host backend for the cross driver synchronization framework. |
| Allows creating sync fence file descriptors from Tegra host syncpoints. |
| |
| config TEGRA_DC |
| tristate "Tegra Display Contoller" |
| depends on ARCH_TEGRA && TEGRA_GRHOST && I2C |
| select BACKLIGHT_CLASS_DEVICE |
| select FB_MODE_HELPERS |
| help |
| Tegra display controller support. |
| |
| config TEGRA_DC_CMU |
| bool "Tegra Color Management Unit" |
| default y |
| help |
| Say Y here to enable Tegra color management unit. |
| Enabled by default to support color correction for panels. |
| It is used to make the representation of color match |
| accross displays. |
| |
| config TEGRA_DC_WIN_H |
| bool |
| |
| config TEGRA_MIPI_CAL |
| bool |
| default y |
| |
| config TEGRA_DC_SCAN_COLUMN |
| bool |
| default y if ARCH_TEGRA_12x_SOC |
| |
| config TEGRA_DC_BLENDER_GEN2 |
| bool |
| default y |
| |
| config TEGRA_DC_BLENDER_DEPTH |
| bool |
| default y if ARCH_TEGRA_12x_SOC |
| |
| config TEGRA_DC_BLOCK_LINEAR |
| bool |
| default y if ARCH_TEGRA_12x_SOC |
| |
| config TEGRA_DC_INTERLACE |
| bool |
| default y if ARCH_TEGRA_12x_SOC |
| |
| config TEGRA_DC_64BIT_SUPPORT |
| bool |
| help |
| T12x LPAE support in dc driver |
| |
| config TEGRA_DC_LOW_LATENCY_CURSOR |
| bool |
| default y if ARCH_TEGRA_12x_SOC |
| |
| config TEGRA_DC_CLOCK_GEN2 |
| bool |
| default y if ARCH_TEGRA_12x_SOC |
| help |
| T12x redefined pll usages for pll_d and pll_d2. |
| |
| config TEGRA_SD_GEN2 |
| bool |
| default y |
| |
| config TEGRA_DC_TEMPORAL_DITHER |
| bool |
| default y |
| |
| 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 && !ADF |
| help |
| Framebuffer device support for the Tegra display controller. |
| |
| config ADF_TEGRA |
| tristate "Tegra ADF driver" |
| depends on TEGRA_DC && ADF && FB_TEGRA = n |
| default ADF |
| select ADF_FBDEV |
| select ADF_MEMBLOCK |
| select VIDEOBUF2_DMA_CONTIG |
| help |
| ADF device support for the Tegra display controller. |
| |
| config ADF_TEGRA_FBDEV |
| bool "Tegra ADF fbdev support" |
| depends on ADF_TEGRA |
| help |
| Enables fbdev compatibility in the ADF Tegra driver. |
| |
| config TEGRA_DC_EXTENSIONS |
| bool "Tegra Display Controller Extensions" |
| depends on TEGRA_DC && ADF_TEGRA = n |
| default y |
| help |
| This exposes support for extended capabilities of the Tegra display |
| controller to userspace drivers. |
| |
| 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 |
| help |
| Say Y here to restrict nvmap system memory allocations (both |
| physical system memory and IOVMM) to just HIGHMEM pages. |
| |
| 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_POOL_DEBUG |
| bool "Debugging for page pools" |
| depends on NVMAP_PAGE_POOLS |
| help |
| Say Y here to include some debugging info in the page pools. This |
| adds a bit of unnecessary overhead so only enable this is you |
| suspect there is an issue with the nvmap page pools. |
| |
| 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_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_FORCE_ZEROED_USER_PAGES |
| bool "Only alloc zeroed pages for user space" |
| depends on TEGRA_NVMAP |
| default y |
| 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_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_FD_START |
| hex "FD number to start allocation from" |
| depends on TEGRA_NVMAP |
| default 0x400 |
| help |
| NvMap handles are represented with FD's in the user processes. |
| To avoid Linux FD usage limitations, NvMap allocates FD starting |
| from this number. |
| |
| config NVMAP_DEFER_FD_RECYCLE |
| bool "Defer FD recycle" |
| depends on TEGRA_NVMAP |
| help |
| Say Y here to enable deferred FD recycle. |
| A released nvmap handle would release memory and FD. This FD |
| can be reused immediately for subsequent nvmap allocation req in |
| the same process. Any buggy code in client process that continues to |
| use FD of released allocation would continue to use new allocation |
| and can lead to undesired consequences, which can be hard to debug. |
| Enabling this option would defer recycling FD for longer time and |
| allows debugging incorrect FD references by clients by returning errors |
| for the accesses that occur after handle/FD release. |
| |
| config NVMAP_DEFER_FD_RECYCLE_MAX_FD |
| hex "FD number to start free FD recycle" |
| depends on NVMAP_DEFER_FD_RECYCLE |
| default 0x8000 |
| help |
| Once last allocated FD reaches this number, allocation of subsequent |
| FD's start from NVMAP_START_FD. |
| |
| config TEGRA_DSI |
| bool "Enable DSI panel." |
| help |
| Say Y here to enable the DSI panel. |
| |
| config TEGRA_DSI2EDP_TC358767 |
| bool "Enable DSI2EDP TC358767 bridge." |
| help |
| Say Y here to enable the DSI2EDP TOSHIBA 358767 adapter. |
| |
| config TEGRA_DSI2EDP_SN65DSI86 |
| bool "Enable DSI2EDP SN65DSI86 bridge." |
| 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 |
| help |
| Say Y here to enable LVDS panel. |
| |
| config TEGRA_NVSR |
| bool "Enable NVSR support." |
| default n |
| help |
| Say Y here to enable NVSR support. |
| |
| 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 TEGRA_NVHDCP |
| bool "Support NVHDCP content protection on HDMI" |
| help |
| Say Y here to support NVHDCP upstream and downstream protocols, this |
| requires a correctly fused chip to negotiate keys. |
| |
| config TEGRA_HDMI_74MHZ_LIMIT |
| bool "Support only up to 74.25 MHz HDMI pixel frequency" |
| help |
| Say Y here to make kernel report only low bandwidth modes. |
| Useful only for boards which can't deliver 148.50 MHz. |
| |
| endif |
| |
| config TEGRA_CAMERA |
| bool "Enable support for tegra camera/isp hardware" |
| depends on ARCH_TEGRA |
| default y |
| help |
| Enables support for the Tegra camera interface |
| |
| If unsure, say Y |