video: tegra: dc: Add support to SCAN_COLUMN.
[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_USE_NVMAP
11         bool "Use nvmap as graphics memory manager"
12         default y
13         help
14           Use nvmap as the graphics memory manager. This is the only
15           choice at the moment.
16
17 config TEGRA_GRHOST_DEFAULT_TIMEOUT
18         depends on TEGRA_GRHOST
19         int "Default timeout for submits"
20         default 0 if TEGRA_SIMULATION_PLATFORM
21         default 30000
22         help
23           Default timeout for jobs in milliseconds. Set to zero for no timeout.
24
25 config TEGRA_DC
26         tristate "Tegra Display Contoller"
27         depends on ARCH_TEGRA && TEGRA_GRHOST
28         select FB_MODE_HELPERS
29         select I2C
30         help
31           Tegra display controller support.
32
33 config TEGRA_DC_CMU
34     bool
35     default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC
36     default y
37
38 config TEGRA_DC_SCAN_COLUMN
39     bool
40     default y if ARCH_TEGRA_11x_SOC
41     default n
42
43 config TEGRA_SD_GEN2
44     bool
45     default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC
46     default y
47
48 config FB_TEGRA
49         tristate "Tegra Framebuffer driver"
50         depends on TEGRA_DC && FB = y
51         select FB_CFB_FILLRECT
52         select FB_CFB_COPYAREA
53         select FB_CFB_IMAGEBLIT
54         default FB
55         help
56           Framebuffer device support for the Tegra display controller.
57
58 config TEGRA_DC_EXTENSIONS
59         bool "Tegra Display Controller Extensions"
60         depends on TEGRA_DC
61         default y
62         help
63           This exposes support for extended capabilities of the Tegra display
64           controller to userspace drivers.
65
66 config TEGRA_NVMAP
67         bool "Tegra GPU memory management driver (nvmap)"
68         select ARM_DMA_USE_IOMMU if IOMMU_API
69         default y
70         help
71           Say Y here to include the memory management driver for the Tegra
72           GPU, multimedia and display subsystems
73
74 config NVMAP_RECLAIM_UNPINNED_VM
75         bool "Virtualize IOVMM memory in nvmap"
76         depends on TEGRA_NVMAP && (TEGRA_IOVMM || IOMMU_API)
77         default y
78         help
79           Say Y here to enable nvmap to reclaim I/O virtual memory after
80           it has been unpinned, and re-use it for other handles. This can
81           allow a larger virtual I/O VM space than would normally be
82           supported by the hardware, at a slight cost in performance.
83
84 config NVMAP_ALLOW_SYSMEM
85         bool "Allow physical system memory to be used by nvmap"
86         depends on TEGRA_NVMAP
87         default n
88         help
89           Say Y here to allow nvmap to use physical system memory (i.e.,
90           shared with the operating system but not translated through
91           an IOVMM device) for allocations.
92
93 config NVMAP_HIGHMEM_ONLY
94         bool "Use only HIGHMEM for nvmap"
95         depends on TEGRA_NVMAP && (NVMAP_ALLOW_SYSMEM || TEGRA_IOVMM || IOMMU_API) && HIGHMEM
96         default n
97         help
98           Say Y here to restrict nvmap system memory allocations (both
99           physical system memory and IOVMM) to just HIGHMEM pages.
100
101 config NVMAP_CARVEOUT_KILLER
102         bool "Reclaim nvmap carveout by killing processes"
103         depends on TEGRA_NVMAP
104         default n
105         help
106           Say Y here to allow the system to reclaim carveout space by killing
107           processes. This will kill the largest consumers of lowest priority
108           first.
109
110 config NVMAP_CARVEOUT_COMPACTOR
111         bool "Compact carveout when it gets fragmented"
112         depends on TEGRA_NVMAP
113         default y
114         help
115           When carveout allocation attempt fails, compactor defragements
116           heap and retries the failed allocation.
117           Say Y here to let nvmap to keep carveout fragmentation under control.
118
119 config NVMAP_PAGE_POOLS
120         bool "Use page pools to reduce allocation overhead"
121         depends on TEGRA_NVMAP
122         default y
123         help
124           say Y here to reduce the alloction overhead, which is significant
125           for uncached, writecombine and inner cacheable memories as it
126           involves changing page attributes during every allocation per page
127           and flushing cache. Alloc time is reduced by allcoating the pages
128           ahead and keeping them aside. The reserved pages would be released
129           when system is low on memory and acquired back during release of
130           memory.
131
132 config NVMAP_PAGE_POOLS_INIT_FILLUP
133         bool "Fill up page pools during page pools init"
134         depends on NVMAP_PAGE_POOLS
135         default y
136         help
137           Say Y here to fill up the page pools during page pool init time.
138           This helps in faster alloctions right from the early alloction
139           requests. Page pools fill up during init would increase the boot time.
140           If increase in boot time is not acceptable, keep this option disabled.
141
142 config NVMAP_PAGE_POOL_SIZE
143         hex
144         default 0x0
145
146 config NVMAP_CACHE_MAINT_BY_SET_WAYS
147         bool "Enable cache maintenance by set/ways"
148         depends on TEGRA_NVMAP
149         help
150          Say Y here to reduce cache maintenance overhead by MVA.
151          This helps in reducing cache maintenance overhead in the systems,
152          where inner cache includes only L1. For the systems, where inner cache
153          includes L1 and L2, keep this option disabled.
154
155 config NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
156         bool "Enable outer cache maintenance by set/ways"
157         depends on TEGRA_NVMAP
158         help
159           Say Y here if you want to optimize cache maintenance for ranges
160           bigger than size of outer cache. This option has no effect on
161           system without outer cache.
162
163 config NVMAP_VPR
164         bool "Enable VPR Heap."
165         depends on TEGRA_NVMAP
166         default n
167         help
168           Say Y here to enable Video Protection Region(VPR) heap.
169           if unsure, say N.
170
171 config NVMAP_FORCE_ZEROED_USER_PAGES
172         bool "Only alloc zeroed pages for user space"
173         depends on TEGRA_NVMAP
174         help
175           Say Y here to force zeroing of pages allocated for user space. This
176           avoids leaking kernel secure data to user space. This can add
177           significant overhead to allocation operations depending on the
178           allocation size requested.
179
180 config TEGRA_DSI
181         bool "Enable DSI panel."
182         default n
183         help
184           Say Y here to enable the DSI panel.
185
186 config NVMAP_CONVERT_CARVEOUT_TO_IOVMM
187         bool "Convert carveout to IOVMM"
188         depends on TEGRA_NVMAP &&  (TEGRA_IOVMM_SMMU || IOMMU_API)
189         default y
190         help
191           Say Y here to force to convert carveout memory requests to
192           I/O virtual memory requests.
193
194 config TEGRA_NVHDCP
195         bool "Support NVHDCP content protection on HDMI"
196         default n
197         help
198           Say Y here to support NVHDCP upstream and downstream protocols, this
199           requires a correctly fused chip to negotiate keys.
200
201 config TEGRA_HDMI_74MHZ_LIMIT
202         bool "Support only up to 74.25 MHz HDMI pixel frequency"
203         default n
204         help
205           Say Y here to make kernel report only low bandwidth modes.
206           Useful only for boards which can't deliver 148.50 MHz.
207
208 endif
209