7de456facf4ac52acd3389988ea2de25063c96d2
[linux-3.10.git] / drivers / video / tegra / Kconfig
1 if ARCH_TEGRA
2
3 comment "NVIDIA Tegra Display Driver options"
4
5 config TEGRA_GRHOST
6         tristate "Tegra graphics host driver"
7         help
8           Driver for the Tegra graphics host hardware.
9
10 config TEGRA_GRHOST_VI
11         tristate "Tegra video input host1x client driver"
12         default y if TEGRA_GRHOST
13         help
14           Driver for the Tegra video input hardware.
15           To compile this driver as a module, choose M here:
16           the  module will be called nvhost-vi.
17
18 config TEGRA_GRHOST_DEFAULT_TIMEOUT
19         depends on TEGRA_GRHOST
20         int "Default timeout for submits"
21         default 10000
22         help
23           Default timeout for jobs in milliseconds. Set to zero for no timeout.
24
25 config TEGRA_GRHOST_SYNC
26         depends on TEGRA_GRHOST
27         bool "Tegra host synchronization objects"
28         default y
29         select SYNC
30         help
31           Add tegra host backend for the cross driver synchronization framework.
32           Allows creating sync fence file descriptors from Tegra host syncpoints.
33
34 config TEGRA_DC
35         tristate "Tegra Display Contoller"
36         depends on ARCH_TEGRA && TEGRA_GRHOST && I2C
37         select BACKLIGHT_CLASS_DEVICE
38         select FB_MODE_HELPERS
39         help
40           Tegra display controller support.
41
42 config TEGRA_DC_CMU
43         bool "Tegra Color Management Unit"
44         default y
45         help
46           Say Y here to enable Tegra color management unit.
47           Enabled by default to support color correction for panels.
48           It is used to make the representation of color match
49           accross displays.
50
51 config TEGRA_DC_WIN_H
52     bool
53
54 config TEGRA_MIPI_CAL
55         bool
56         default y
57
58 config TEGRA_DC_SCAN_COLUMN
59         bool
60         default y if ARCH_TEGRA_12x_SOC
61
62 config TEGRA_DC_BLENDER_GEN2
63     bool
64     default y
65
66 config TEGRA_DC_BLENDER_DEPTH
67     bool
68     default y if ARCH_TEGRA_12x_SOC
69
70 config TEGRA_DC_BLOCK_LINEAR
71     bool
72     default y if ARCH_TEGRA_12x_SOC
73
74 config TEGRA_DC_INTERLACE
75         bool
76         default y if ARCH_TEGRA_12x_SOC
77
78 config TEGRA_DC_64BIT_SUPPORT
79         bool
80         help
81                 T12x LPAE support in dc driver
82
83 config TEGRA_DC_LOW_LATENCY_CURSOR
84         bool
85         default y if ARCH_TEGRA_12x_SOC
86
87 config TEGRA_DC_CLOCK_GEN2
88     bool
89     default y if ARCH_TEGRA_12x_SOC
90     help
91         T12x redefined pll usages for pll_d and pll_d2.
92
93 config TEGRA_SD_GEN2
94         bool
95         default y
96
97 config TEGRA_DC_TEMPORAL_DITHER
98         bool
99         default y
100
101 config FB_TEGRA
102         tristate "Tegra Framebuffer driver"
103         depends on TEGRA_DC && FB = y
104         select FB_CFB_FILLRECT
105         select FB_CFB_COPYAREA
106         select FB_CFB_IMAGEBLIT
107         default FB && !ADF
108         help
109           Framebuffer device support for the Tegra display controller.
110
111 config ADF_TEGRA
112         tristate "Tegra ADF driver"
113         depends on TEGRA_DC && ADF
114         default ADF
115         select ADF_FBDEV
116         help
117           ADF device support for the Tegra display controller.
118
119 config TEGRA_DC_EXTENSIONS
120         bool "Tegra Display Controller Extensions"
121         depends on TEGRA_DC
122         default y
123         help
124           This exposes support for extended capabilities of the Tegra display
125           controller to userspace drivers.
126
127 config TEGRA_NVMAP
128         bool "Tegra GPU memory management driver (nvmap)"
129         select ARM_DMA_USE_IOMMU if IOMMU_API
130         select DMA_SHARED_BUFFER
131         default y
132         help
133           Say Y here to include the memory management driver for the Tegra
134           GPU, multimedia and display subsystems
135
136 config NVMAP_HIGHMEM_ONLY
137         bool "Use only HIGHMEM for nvmap"
138         depends on TEGRA_NVMAP && IOMMU_API && HIGHMEM
139         help
140           Say Y here to restrict nvmap system memory allocations (both
141           physical system memory and IOVMM) to just HIGHMEM pages.
142
143 config NVMAP_PAGE_POOLS
144         bool "Use page pools to reduce allocation overhead"
145         depends on TEGRA_NVMAP
146         default y
147         help
148           say Y here to reduce the alloction overhead, which is significant
149           for uncached, writecombine and inner cacheable memories as it
150           involves changing page attributes during every allocation per page
151           and flushing cache. Alloc time is reduced by allcoating the pages
152           ahead and keeping them aside. The reserved pages would be released
153           when system is low on memory and acquired back during release of
154           memory.
155
156 config NVMAP_PAGE_POOL_DEBUG
157         bool "Debugging for page pools"
158         depends on NVMAP_PAGE_POOLS
159         help
160           Say Y here to include some debugging info in the page pools. This
161           adds a bit of unnecessary overhead so only enable this is you
162           suspect there is an issue with the nvmap page pools.
163
164 config NVMAP_PAGE_POOLS_INIT_FILLUP
165         bool "Fill up page pools during page pools init"
166         depends on NVMAP_PAGE_POOLS
167         default y
168         help
169           Say Y here to fill up the page pools during page pool init time.
170           This helps in faster alloctions right from the early alloction
171           requests. Page pools fill up during init would increase the boot time.
172           If increase in boot time is not acceptable, keep this option disabled.
173
174 config NVMAP_PAGE_POOLS_INIT_FILLUP_SIZE
175         depends on NVMAP_PAGE_POOLS_INIT_FILLUP
176         hex "Amount of memory to fill up page pools with during bootup in MB"
177         default 0x64
178
179 config NVMAP_PAGE_POOL_SIZE
180         depends on NVMAP_PAGE_POOLS
181         hex "Page pool size in pages"
182         default 0x0
183
184 config NVMAP_CACHE_MAINT_BY_SET_WAYS
185         bool "Enable cache maintenance by set/ways"
186         depends on TEGRA_NVMAP
187         help
188          Say Y here to reduce cache maintenance overhead by MVA.
189          This helps in reducing cache maintenance overhead in the systems,
190          where inner cache includes only L1. For the systems, where inner cache
191          includes L1 and L2, keep this option disabled.
192
193 config NVMAP_CACHE_MAINT_BY_SET_WAYS_ON_ONE_CPU
194         bool "Perform cache maint on one cpu only"
195         depends on TEGRA_NVMAP && NVMAP_CACHE_MAINT_BY_SET_WAYS
196         help
197           Say Y here to avoid cache maint on all CPU's during inner cache maint
198           by set/ways. When L1 and L2 are inner caches, cache maint on one
199           CPU is enough. When L1 is inner and L2 is outer, cache maint on
200           all CPU's is necessary during L1 cache maint by set/ways.
201
202 config NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
203         bool "Enable outer cache maintenance by set/ways"
204         depends on TEGRA_NVMAP
205         help
206           Say Y here if you want to optimize cache maintenance for ranges
207           bigger than size of outer cache. This option has no effect on
208           system without outer cache.
209
210 config NVMAP_DMABUF_STASH
211         bool "Enable stashing of IOVA maps with dmabuf"
212         depends on TEGRA_NVMAP
213         default y
214         help
215           Set to Y if you would like nvmap to stash maps when using dma
216           bufs. This will speed up remapping of the same handle at the cost
217           of using more IOVA space.
218
219 config NVMAP_DMABUF_STASH_STATS
220         bool "Enable stat tracking on the stash"
221         depends on NVMAP_DMABUF_STASH
222         help
223           Say Y to enable tracking of basic cache statistics on the dmabuf
224           stash. This adds some overhead but should be very useful for
225           debugging memory leaks.
226
227 config NVMAP_FORCE_ZEROED_USER_PAGES
228         bool "Only alloc zeroed pages for user space"
229         depends on TEGRA_NVMAP
230         default y
231         help
232           Say Y here to force zeroing of pages allocated for user space. This
233           avoids leaking kernel secure data to user space. This can add
234           significant overhead to allocation operations depending on the
235           allocation size requested.
236
237 config NVMAP_USE_CMA_FOR_CARVEOUT
238         bool "Use CMA memory for carveouts"
239         depends on TEGRA_NVMAP
240         help
241           Say Y here to reserve carveout memory using CMA
242           API. CMA reserved memory can be used by applications
243           when it is not in use by the device that reserved it.
244
245 config NVMAP_FD_START
246         hex "FD number to start allocation from"
247         depends on TEGRA_NVMAP
248         default 0x400
249         help
250           NvMap handles are represented with FD's in the user processes.
251           To avoid Linux FD usage limitations, NvMap allocates FD starting
252           from this number.
253
254 config NVMAP_DEFER_FD_RECYCLE
255         bool "Defer FD recycle"
256         depends on TEGRA_NVMAP
257         help
258           Say Y here to enable deferred FD recycle.
259           A released nvmap handle would release memory and FD. This FD
260           can be reused immediately for subsequent nvmap allocation req in
261           the same process. Any buggy code in client process that continues to
262           use FD of released allocation would continue to use new allocation
263           and can lead to undesired consequences, which can be hard to debug.
264           Enabling this option would defer recycling FD for longer time and
265           allows debugging incorrect FD references by clients by returning errors
266           for the accesses that occur after handle/FD release.
267
268 config NVMAP_DEFER_FD_RECYCLE_MAX_FD
269         hex "FD number to start free FD recycle"
270         depends on NVMAP_DEFER_FD_RECYCLE
271         default 0x8000
272         help
273           Once last allocated FD reaches this number, allocation of subsequent
274           FD's start from NVMAP_START_FD.
275
276 config TEGRA_DSI
277         bool "Enable DSI panel."
278         help
279           Say Y here to enable the DSI panel.
280
281 config TEGRA_DSI2EDP_TC358767
282         bool "Enable DSI2EDP TC358767 bridge."
283         help
284           Say Y here to enable the DSI2EDP TOSHIBA 358767 adapter.
285
286 config TEGRA_DSI2EDP_SN65DSI86
287         bool "Enable DSI2EDP SN65DSI86 bridge."
288         help
289           Say Y here to enable the DSI2EDP TI SN65DSI86 adapter.
290
291 config TEGRA_DP
292         bool "Enable eDP panel."
293         default  n
294         help
295           Say Y here to enable eDP panel.
296
297 config TEGRA_LVDS
298         bool "Enable LVDS panel."
299         default  n
300         help
301           Say Y here to enable LVDS panel.
302
303 config TEGRA_NVSR
304         bool "Enable NVSR support."
305         default  n
306         help
307            Say Y here to enable NVSR support.
308
309 config NVMAP_CONVERT_CARVEOUT_TO_IOVMM
310         bool "Convert carveout to IOVMM"
311         depends on TEGRA_NVMAP && IOMMU_API
312         default y
313         help
314           Say Y here to force to convert carveout memory requests to
315           I/O virtual memory requests.
316
317 config TEGRA_NVHDCP
318         bool "Support NVHDCP content protection on HDMI"
319         help
320           Say Y here to support NVHDCP upstream and downstream protocols, this
321           requires a correctly fused chip to negotiate keys.
322
323 config TEGRA_HDMI_74MHZ_LIMIT
324         bool "Support only up to 74.25 MHz HDMI pixel frequency"
325         help
326           Say Y here to make kernel report only low bandwidth modes.
327           Useful only for boards which can't deliver 148.50 MHz.
328
329 endif
330
331 config TEGRA_CAMERA
332         bool "Enable support for tegra camera/isp hardware"
333         depends on ARCH_TEGRA
334         default y
335         help
336           Enables support for the Tegra camera interface
337
338           If unsure, say Y