blob: bed3667a421813b989c1159889653a20ea8586f5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
|
# TODO naming refine
menu "Kernel Configurations"
menu "Tracer Related"
config MTK_SCHED_TRACERS
bool "MTK Sched Tracers"
depends on TRACING
select CONTEXT_SWITCH_TRACER
default n
help
Trace context swicth, set_scheduler, Interrupt Handler
config MTK_FTRACE_DEFAULT_ENABLE
bool "enable MTK events by default"
depends on MTK_SCHED_TRACERS
default n
help
update ring buffer and enable MTK events by default
config MTK_KERNEL_MARKER
bool "MTK Kernel Marker API"
depends on TRACING && KALLSYMS
default n
help
Mark the user-defined points, such as systrace events in
user space, to visualize via systrace html files
config MT65XX_TRACER
bool "MT65XX Tracer"
select CONTEXT_SWITCH_TRACER
select GENERIC_TRACER
default n
menu "MET"
config MTK_MET
tristate "MET core driver"
default n
help
The core module of MTK MET profiling tool
config MTK_MET_PLF
tristate "MET platform-related driver"
depends on MTK_MET
default n
help
The platform module of MTK MET profiling tool
endmenu
endmenu
menu "MTPROF tools"
config MTK_MUTATION
bool "Support some MTK debug/profiling patches"
default y
config MTPROF_CPUTIME
bool "thread cputime profiling"
depends on SCHEDSTATS
endmenu
config MTPROF_IRQ_DURATION
bool "mt IRQ/ISR profiling"
config MTK_AEE_FEATURE
tristate "Enable Android Exception Enhancement"
default n
select FIQ_GLUE if !TRUSTONIC_TEE_SUPPORT && !ARM_PSCI
---help---
Enable Android Exception Enhancement
config MTK_AEE_AED
tristate "Enable AEE Kernel Exception Report Daemon"
default y
config MTK_AEE_IPANIC
tristate "Enable AEE Kernel Panic Dump"
default y
config MTK_AEE_POWERKEY_HANG_DETECT
bool "powerkey monitor"
default n
config MTK_AEE_MRDUMP
tristate "Enable AEE RAMDUMP support"
default y
config CPUTIME_SUPPORT
bool "cputime profiling support for functions"
default n
config CPUTIME_STATS
tristate "cputime profiling module for functions"
select CPUTIME_SUPPORT
default n
config PREEMPT_MONITOR
bool "mt preempt monitor"
default n
config ISR_MONITOR
bool "mt ISR monitor"
default n
config MT_SCHED_MONITOR
bool "mt scheduler monitor"
default n
config MT_CHRDEV_REG
bool "mt char driver number table"
default n
config MT_LOCK_DEBUG
bool "Record lock table and detect some possible deadlock"
default n
config MT_DEBUG_MUTEXES
bool "show mutex owner info"
depends on DEBUG_MUTEXES
default n
config PRINTK_PROCESS_INFO
bool "Prefix pid/process_name to each kernel log"
default n
config MT_PRINTK_UART_CONSOLE
bool "MTK printk UART controller"
default n
config MT_ENG_BUILD
bool "flag for MTK eng/usr build verification"
default n
config RAMDISK_OFFSET
hex "Uboot allocate memory offset for RAMDISK"
default 0xF00000
help
Used to check decompressed kernel overwrite ramdisk.
(DO NOT MODIFY IT YOURSELF.)
config EARLY_LINUX_PORTING
bool "Support For Linux Early Porting"
default n
help
config MTK_MCI
bool "Support For Memory coherence"
default n
help
config MTK_ETM
bool "Support For Embedded Trace Macrocell"
default y
help
config MTK_MEMCFG
bool "Support enhanced memory configurations"
default n
help
menu "MT load balance and schedule enhancement"
config MT_SCHED
bool "Enhance CPU affinity in hotplug"
default y
config MT_LOAD_BALANCE_ENHANCEMENT
bool "mt load balance enhancement"
depends on SMP
default y
config MT_LOAD_BALANCE_PROFILER
bool "mt load balance profiler"
depends on SCHEDSTATS && SMP
default n
config MT_RT_SCHED
bool "mt RT scheduling enhancement for big.LITTLE"
depends on SCHED_HMP
default n
config MTK_COMPAT
bool "mt fast mode switching enhancement"
depends on COMPAT
default n
config MT_SCHED_INTEROP
bool "mtk scheduling interopation enhancement"
default n
config MTK_SCHED_RQAVG_US
bool "Enable runqueue staticsic calculation used in user space operation"
depends on SMP && HIGH_RES_TIMERS
default n
help
TLP estimation for user space CPUfreq governors
config MTK_SCHED_RQAVG_KS
bool "Enable runqueue staticsic calculation used in kernel space operation"
depends on SMP
default n
help
TLP estimation for kernel space CPUfreq governors, e.g., hotplug
config MT_PRIO_TRACER
bool "Record priority changes"
default n
help
Export device node under debugfs/prio_tracer
config MT_SCHED_TRACE
bool "mt scheduling trace, output mtk schedule trace into FTRACE"
default n
config MT_SCHED_DEBUG
bool "mt scheduling log, also output the scheduling log into Kernel log"
depends on MT_SCHED_TRACE
default n
config MT_DEBUG_PREEMPT
bool "debug preempt, output the preempt enable/disable to FTRACE"
default n
endmenu
menu "MTK Cluster MultiProcessor Scheduler"
config MTK_SCHED_CMP
bool "Enable CMP scheduler"
depends on SMP && SCHED_MC
default n
help
CMP Scheduler Enhancement for MTK SoC.
Attempts to introspectively select tasks to optimize
energy and performance.
say no if not sure.
config MTK_SCHED_CMP_TGS
bool "Enable thread group scheduling"
depends on MTK_SCHED_CMP
default n
config MTK_SCHED_CMP_TGS_WAKEUP
bool "Enable thread group scheduling"
depends on MTK_SCHED_CMP_TGS
default n
config MTK_SCHED_CMP_PACK_SMALL_TASK
bool "Packing small task"
depends on MTK_SCHED_CMP && MTK_SCHED_CMP_TGS
default n
config MTK_SCHED_CMP_LAZY_BALANCE
bool "Enable CMP lazy balance"
depends on MTK_SCHED_CMP_PACK_SMALL_TASK
default n
config MTK_SCHED_CMP_POWER_AWARE_CONTROLLER
bool "(EXPERIMENTAL) Power-aware Scheduler for MP Controller"
depends on MTK_SCHED_CMP_PACK_SMALL_TASK && MTK_SCHED_CMP_LAZY_BALANCE
help
Power-aware scheduler for MP controller and status interface
endmenu
config MTK_CIRQ
bool "Support For System CIRQ"
default n
help
config MTK_CPU_TOPOLOGY
bool "MTK cpu topology infrastructure"
depends on ARM_CPU_TOPOLOGY && OF
default y
help
Say N if you want to build up another wheel
config MTK_HIBERNATION
bool "Support MTK hibernation"
depends on HIBERNATION && PM_WAKELOCKS
default y
help
config MTK_WQ_DEBUG
bool "mtk workqueue debug"
default n
config MTK_STORAGE_PID_LOGGER
bool "support MTK storage pid logger"
default y
endmenu
menu "MTK Large Memory mode support"
config MTK_LM_MODE
bool "MTK Large Memory mode"
select ARM_LPAE
select ARCH_PHYS_ADDR_T_64BIT
select ARCH_DMA_ADDR_T_64BIT
help
Large Memory mode support for supporting more than 4GB DRAM access
endmenu
config MTK_TABLET_HARDWARE
bool "MTK tablet machine name"
default n
help
MTM tablet machine name
config GATOR_DRIVER
tristate "DS-5 profiling tool kernel driver"
default n
depends on PROFILING
depends on HIGH_RES_TIMERS
depends on LOCAL_TIMERS || !(ARM && SMP)
depends on PERF_EVENTS
depends on HW_PERF_EVENTS || !(ARM || ARM64)
select TRACING
help
kernel driver of DS-5 profiling tool
config MTK_IPV6_TETHER_NDP_MODE
bool "MTK_IPV6_TETHER_NDP_MODE"
help
is NDP mode or RADVD mode during IPv6 tethering yes: enable NDP
mode during IPv6 tethering no: disable enable NDP mode during IPv6
tethering
config MTK_EMMC_SUPPORT_OTP
tristate "MediaTek eMMC Card OTP support"
depends on MTK_EMMC_SUPPORT
help
support ont time program on EMMC
config MTK_TETHERINGIPV6_SUPPORT
bool "MTK_TETHERINGIPV6_SUPPORT"
help
support tethering over ipv6
config MTK_LEGACY
bool "MTK LEGACY driver API support"
default y
help
This is an option for MTK legacy driver that using old API
It will be deprecated after all drivers changed to new structure
|