video: tegra: adf: replace nvmap_alloc_dmabuf with v4l2 API
[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         select VIDEOBUF2_DMA_CONTIG
117         help
118           ADF device support for the Tegra display controller.
119
120 config TEGRA_DC_EXTENSIONS
121         bool "Tegra Display Controller Extensions"
122         depends on TEGRA_DC
123         default y
124         help
125           This exposes support for extended capabilities of the Tegra display
126           controller to userspace drivers.
127
128 config TEGRA_NVMAP
129         bool "Tegra GPU memory management driver (nvmap)"
130         select ARM_DMA_USE_IOMMU if IOMMU_API
131         select DMA_SHARED_BUFFER
132         default y
133         help
134           Say Y here to include the memory management driver for the Tegra
135           GPU, multimedia and display subsystems
136
137 config NVMAP_HIGHMEM_ONLY
138         bool "Use only HIGHMEM for nvmap"
139         depends on TEGRA_NVMAP && IOMMU_API && HIGHMEM
140         help
141           Say Y here to restrict nvmap system memory allocations (both
142           physical system memory and IOVMM) to just HIGHMEM pages.
143
144 config NVMAP_PAGE_POOLS
145         bool "Use page pools to reduce allocation overhead"
146         depends on TEGRA_NVMAP
147         default y
148         help
149           say Y here to reduce the alloction overhead, which is significant
150           for uncached, writecombine and inner cacheable memories as it
151           involves changing page attributes during every allocation per page
152           and flushing cache. Alloc time is reduced by allcoating the pages
153           ahead and keeping them aside. The reserved pages would be released
154           when system is low on memory and acquired back during release of
155           memory.
156
157 config NVMAP_PAGE_POOL_DEBUG
158         bool "Debugging for page pools"
159         depends on NVMAP_PAGE_POOLS
160         help
161           Say Y here to include some debugging info in the page pools. This
162           adds a bit of unnecessary overhead so only enable this is you
163           suspect there is an issue with the nvmap page pools.
164
165 config NVMAP_PAGE_POOLS_INIT_FILLUP
166         bool "Fill up page pools during page pools init"
167         depends on NVMAP_PAGE_POOLS
168         default y
169         help
170           Say Y here to fill up the page pools during page pool init time.
171           This helps in faster alloctions right from the early alloction
172           requests. Page pools fill up during init would increase the boot time.
173           If increase in boot time is not acceptable, keep this option disabled.
174
175 config NVMAP_PAGE_POOLS_INIT_FILLUP_SIZE
176         depends on NVMAP_PAGE_POOLS_INIT_FILLUP
177         hex "Amount of memory to fill up page pools with during bootup in MB"
178         default 0x64
179
180 config NVMAP_PAGE_POOL_SIZE
181         depends on NVMAP_PAGE_POOLS
182         hex "Page pool size in pages"
183         default 0x0
184
185 config NVMAP_CACHE_MAINT_BY_SET_WAYS
186         bool "Enable cache maintenance by set/ways"
187         depends on TEGRA_NVMAP
188         help
189          Say Y here to reduce cache maintenance overhead by MVA.
190          This helps in reducing cache maintenance overhead in the systems,
191          where inner cache includes only L1. For the systems, where inner cache
192          includes L1 and L2, keep this option disabled.
193
194 config NVMAP_CACHE_MAINT_BY_SET_WAYS_ON_ONE_CPU
195         bool "Perform cache maint on one cpu only"
196         depends on TEGRA_NVMAP && NVMAP_CACHE_MAINT_BY_SET_WAYS
197         help
198           Say Y here to avoid cache maint on all CPU's during inner cache maint
199           by set/ways. When L1 and L2 are inner caches, cache maint on one
200           CPU is enough. When L1 is inner and L2 is outer, cache maint on
201           all CPU's is necessary during L1 cache maint by set/ways.
202
203 config NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
204         bool "Enable outer cache maintenance by set/ways"
205         depends on TEGRA_NVMAP
206         help
207           Say Y here if you want to optimize cache maintenance for ranges
208           bigger than size of outer cache. This option has no effect on
209           system without outer cache.
210
211 config NVMAP_DMABUF_STASH
212         bool "Enable stashing of IOVA maps with dmabuf"
213         depends on TEGRA_NVMAP
214         default y
215         help
216           Set to Y if you would like nvmap to stash maps when using dma
217           bufs. This will speed up remapping of the same handle at the cost
218           of using more IOVA space.
219
220 config NVMAP_DMABUF_STASH_STATS
221         bool "Enable stat tracking on the stash"
222         depends on NVMAP_DMABUF_STASH
223         help
224           Say Y to enable tracking of basic cache statistics on the dmabuf
225           stash. This adds some overhead but should be very useful for
226           debugging memory leaks.
227
228 config NVMAP_FORCE_ZEROED_USER_PAGES
229         bool "Only alloc zeroed pages for user space"
230         depends on TEGRA_NVMAP
231         default y
232         help
233           Say Y here to force zeroing of pages allocated for user space. This
234           avoids leaking kernel secure data to user space. This can add
235           significant overhead to allocation operations depending on the
236           allocation size requested.
237
238 config NVMAP_USE_CMA_FOR_CARVEOUT
239         bool "Use CMA memory for carveouts"
240         depends on TEGRA_NVMAP
241         help
242           Say Y here to reserve carveout memory using CMA
243           API. CMA reserved memory can be used by applications
244           when it is not in use by the device that reserved it.
245
246 config NVMAP_FD_START
247         hex "FD number to start allocation from"
248         depends on TEGRA_NVMAP
249         default 0x400
250         help
251           NvMap handles are represented with FD's in the user processes.
252           To avoid Linux FD usage limitations, NvMap allocates FD starting
253           from this number.
254
255 config NVMAP_DEFER_FD_RECYCLE
256         bool "Defer FD recycle"
257         depends on TEGRA_NVMAP
258         help
259           Say Y here to enable deferred FD recycle.
260           A released nvmap handle would release memory and FD. This FD
261           can be reused immediately for subsequent nvmap allocation req in
262           the same process. Any buggy code in client process that continues to
263           use FD of released allocation would continue to use new allocation
264           and can lead to undesired consequences, which can be hard to debug.
265           Enabling this option would defer recycling FD for longer time and
266           allows debugging incorrect FD references by clients by returning errors
267           for the accesses that occur after handle/FD release.
268
269 config NVMAP_DEFER_FD_RECYCLE_MAX_FD
270         hex "FD number to start free FD recycle"
271         depends on NVMAP_DEFER_FD_RECYCLE
272         default 0x8000
273         help
274           Once last allocated FD reaches this number, allocation of subsequent
275           FD's start from NVMAP_START_FD.
276
277 config TEGRA_DSI
278         bool "Enable DSI panel."
279         help
280           Say Y here to enable the DSI panel.
281
282 config TEGRA_DSI2EDP_TC358767
283         bool "Enable DSI2EDP TC358767 bridge."
284         help
285           Say Y here to enable the DSI2EDP TOSHIBA 358767 adapter.
286
287 config TEGRA_DSI2EDP_SN65DSI86
288         bool "Enable DSI2EDP SN65DSI86 bridge."
289         help
290           Say Y here to enable the DSI2EDP TI SN65DSI86 adapter.
291
292 config TEGRA_DP
293         bool "Enable eDP panel."
294         default  n
295         help
296           Say Y here to enable eDP panel.
297
298 config TEGRA_LVDS
299         bool "Enable LVDS panel."
300         default  n
301         help
302           Say Y here to enable LVDS panel.
303
304 config TEGRA_NVSR
305         bool "Enable NVSR support."
306         default  n
307         help
308            Say Y here to enable NVSR support.
309
310 config NVMAP_CONVERT_CARVEOUT_TO_IOVMM
311         bool "Convert carveout to IOVMM"
312         depends on TEGRA_NVMAP && IOMMU_API
313         default y
314         help
315           Say Y here to force to convert carveout memory requests to
316           I/O virtual memory requests.
317
318 config TEGRA_NVHDCP
319         bool "Support NVHDCP content protection on HDMI"
320         help
321           Say Y here to support NVHDCP upstream and downstream protocols, this
322           requires a correctly fused chip to negotiate keys.
323
324 config TEGRA_HDMI_74MHZ_LIMIT
325         bool "Support only up to 74.25 MHz HDMI pixel frequency"
326         help
327           Say Y here to make kernel report only low bandwidth modes.
328           Useful only for boards which can't deliver 148.50 MHz.
329
330 endif
331
332 config TEGRA_CAMERA
333         bool "Enable support for tegra camera/isp hardware"
334         depends on ARCH_TEGRA
335         default y
336         help
337           Enables support for the Tegra camera interface
338
339           If unsure, say Y