X-Git-Url: https://git.stricted.de/?p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git;a=blobdiff_plain;f=arch%2Farm%2FKconfig;h=78e54d1d111dd96ad38afef76e0258881337c583;hp=d41951246cd6f831fa8660e188257819ccc6cc02;hb=6fa3eb70c07b7ce2061fd6602159ac2d45a7dc3d;hpb=a8d97b1bd0c91fbc1be54d068b5f051b4f70b4f7 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d41951246cd6..78e54d1d111d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -7,6 +7,7 @@ config ARM select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_WANT_IPC_PARSE_VERSION + select ARM_HAS_SG_CHAIN if (ARCH_MT6589 || ARCH_MT6582 || ARCH_MT6572 || ARCH_MT8135 || ARCH_MT6595 || ARCH_MT6795 || ARCH_MT6752 || ARCH_MT8127) select BUILDTIME_EXTABLE_SORT if MMU select CPU_PM if (SUSPEND || CPU_IDLE) select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU @@ -15,6 +16,7 @@ config ARM select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_PCI_IOMAP + select GENERIC_SCHED_CLOCK select GENERIC_SMP_IDLE_THREAD select GENERIC_IDLE_POLL_SETUP select GENERIC_STRNCPY_FROM_USER @@ -61,6 +63,7 @@ config ARM select OLD_SIGSUSPEND3 select OLD_SIGACTION select HAVE_CONTEXT_TRACKING + select CRYPTO_AES_ARM if (ARCH_MT6752) help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and @@ -633,6 +636,138 @@ config ARCH_MSM stack and controls some vital subsystems (clock and power control, etc). +config ARCH_MT6572 + bool "MediaTek MT6572" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select VFP_OPT + help + This enable support for MediaTek MT6572 + +config ARCH_MT6595 + bool "MediaTek MT6595" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select FIQ_GLUE + select IRQ_DOMAIN + select IRQ_DOMAIN_DEBUG + select ARCH_REQUIRE_GPIOLIB + select ARM_ERRATA_828419 + select ARM_ERRATA_828420 + select ARM_ERRATA_831171 + select VFP_OPT + select MTK_CPU_STRESS + select MTK_LASTPC + select MTK_SYSTRACKER + select ZONE_DMA if ARM_LPAE + help + This enable support for MediaTek MT6595 + +config ARCH_MT6582 + bool "MediaTek MT6582" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select L1C_OPT + select VFP_OPT + select HAVE_TRUSTONIC_TEE_SUPPORT + select MTK_CPU_STRESS + select MTK_DBG_DUMP + select MTK_KERNEL_IN_SECURE_MODE if ((!TRUSTONIC_TEE_SUPPORT) && (!ARM_PSCI)) + select FIQ_GLUE if TRUSTONIC_TEE_SUPPORT + help + This enable support for MediaTek MT6582. + +config ARCH_MT6592 + bool "MediaTek MT6592" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select ARM_HAS_SG_CHAIN + select VFP_OPT + select HAVE_TRUSTONIC_TEE_SUPPORT + select L1C_OPT + help + This enable support for MediaTek MT6592. + +config ARCH_MT6752 + bool "MediaTek MT6752" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select IRQ_DOMAIN + select IRQ_DOMAIN_DEBUG + select GENERIC_SCHED_CLOCK + select VFP_OPT + select MTK_SYSTRACKER + select MTK_L2C_SHARE + select ARM_ERRATA_824069 + select ARM_ERRATA_826319 + select ARCH_REQUIRE_GPIOLIB + select MTK_EIC + select MTK_ETM + help + This enable support for MediaTek MT6752 + +config ARCH_MT6795 + bool "MediaTek MT6795" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select FIQ_GLUE + select IRQ_DOMAIN + select IRQ_DOMAIN_DEBUG + select GENERIC_SCHED_CLOCK + select ARM_ERRATA_828419 + select ARM_ERRATA_828420 + select VFP_OPT + help + This enable support for MediaTek MT6795 + +config ARCH_MT8127 + bool "MediaTek MT8127" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select ARCH_HAS_CPUFREQ + select ARM_AMBA + select CPU_V7 + select HAVE_SMP + select NEED_MACH_MEMORY_H + select FIQ_GLUE + select IRQ_DOMAIN + select IRQ_DOMAIN_DEBUG + select ARCH_REQUIRE_GPIOLIB + select VFP_OPT + select HAVE_MTK_IN_HOUSE_TEE_SUPPORT + help + This enable support for MediaTek MT8127 + config ARCH_SHMOBILE bool "Renesas SH-Mobile / R-Mobile" select CLKDEV_LOOKUP @@ -955,6 +1090,24 @@ source "arch/arm/mach-ks8695/Kconfig" source "arch/arm/mach-msm/Kconfig" +if ARCH_MT6572 +#source "arch/arm/mach-mt6572/Kconfig" +endif + +if ARCH_MT6582 +#source "arch/arm/mach-mt6582/Kconfig" +endif + +if ARCH_MT6592 +#source "arch/arm/mach-mt6592/Kconfig" +endif + +if ARCH_MT8127 +source "arch/arm/mach-mt8127/Kconfig" +endif + +source "drivers/misc/mediatek/mach/Kconfig" + source "arch/arm/mach-mv78xx0/Kconfig" source "arch/arm/mach-imx/Kconfig" @@ -1088,6 +1241,17 @@ if !MMU source "arch/arm/Kconfig-nommu" endif +config MTK_KERNEL_IN_SECURE_MODE + bool "MTK's kernel runs in secure mode" + depends on ((!TRUSTONIC_TEE_SUPPORT) && (!ARM_PSCI)) + help + Indication to kernel's mode. (secure or non-secure) + +config L1C_OPT + bool "MTK's cache operation fixup" + help + Use two stages of cache operations to do flush + config PJ4B_ERRATA_4742 bool "PJ4B Errata 4742: IDLE Wake Up Commands can Cause the CPU Core to Cease Operation" depends on CPU_PJ4B && MACH_ARMADA_370 @@ -1357,6 +1521,52 @@ config ARM_ERRATA_798181 which sends an IPI to the CPUs that are running the same ASID as the one being invalidated. +config ARM_ERRATA_828419 + def_bool n + depends on CPU_V7 && SMP + help + ARM errata: A Instruction Cache Maintenance Operation by MVA with an incorrect NS descriptor + This workaround is to replace ICIMVAU operations by ICIALLUIS operations + +config ARM_ERRATA_828420 + def_bool n + depends on CPU_V7 && SMP + help + ARM errata: Cache Clean by MVA to PoC might not be correctly executed + The software workaround is to treat every Data Clean by MVA to PoC + as Data Clean Invalidate by MVA to PoC. + +config ARM_ERRATA_831171 + def_bool n + depends on CPU_V7 && SMP + help + ARM errata: Within rare timing constraints, a DSB following a TLB or ICache invalidation might complete + before the TLB or ICache invalidation has effectively completed on other CPUs within the cluster + The software workaround is to issue the TLB or ICache maintenance invalidation twice before the DSB + +config ARM_ERRATA_824069 + def_bool n + depends on SMP + help + This option enables the workaround for erratum 824069 + affecting Cortex-A53 MPCore with two or more processors (r0p0..r0p2). + If a Cortex-A53 processor is executing a store or PLDW instruction at the same time + as a processor in another cluster is executing a cache maintenance operation + to the same address, then this erratum might cause a clean cache line to be + incorrectly marked as dirty. This workaround replaces all cache clean opeartion + to clean & invalidate. + +config ARM_ERRATA_826319 + def_bool n + depends on SMP + help + This option enables the workaround for erratum 826319 + affecting Cortex-A53 MPCore with two or more processors (r0p0..r0p2). + This erratum only affects configurations of the Cortex-A53 processor with an ABMA 4 ACE or AXI master interface and an L2 cache. + To be affected by this erratum, the system that Cortex-A53 is connected to must also contain a peripheral or + other component that contains a dependency between the read and write channels. The dependency must + prevent the peripheral from accepting or responding to a write until it finishes processing a read. + endmenu source "arch/arm/common/Kconfig" @@ -1495,6 +1705,178 @@ config SCHED_SMT MultiThreading at a cost of slightly increased overhead in some places. If unsure say N here. +config DISABLE_CPU_SCHED_DOMAIN_BALANCE + bool "(EXPERIMENTAL) Disable CPU level scheduler load-balancing" + help + Disables scheduler load-balancing at CPU sched domain level. + +config SCHED_HMP + bool "(EXPERIMENTAL) Heterogenous multiprocessor scheduling" + depends on DISABLE_CPU_SCHED_DOMAIN_BALANCE && SCHED_MC && FAIR_GROUP_SCHED && !SCHED_AUTOGROUP + help + Experimental scheduler optimizations for heterogeneous platforms. + Attempts to introspectively select task affinity to optimize power + and performance. Basic support for multiple (>2) cpu types is in place, + but it has only been tested with two types of cpus. + There is currently no support for migration of task groups, hence + !SCHED_AUTOGROUP. Furthermore, normal load-balancing must be disabled + between cpus of different type (DISABLE_CPU_SCHED_DOMAIN_BALANCE). + +config SCHED_HMP_PRIO_FILTER + bool "(EXPERIMENTAL) Filter HMP migrations by task priority" + depends on SCHED_HMP + help + Enables task priority based HMP migration filter. Any task with + a NICE value above the threshold will always be on low-power cpus + with less compute capacity. + +config SCHED_HMP_PRIO_FILTER_VAL + int "NICE priority threshold" + default 5 + depends on SCHED_HMP_PRIO_FILTER + +config HMP_FAST_CPU_MASK + string "HMP scheduler fast CPU mask" + depends on SCHED_HMP + help + Leave empty to use device tree information. + Specify the cpuids of the fast CPUs in the system as a list string, + e.g. cpuid 0+1 should be specified as 0-1. + +config HMP_SLOW_CPU_MASK + string "HMP scheduler slow CPU mask" + depends on SCHED_HMP + help + Leave empty to use device tree information. + Specify the cpuids of the slow CPUs in the system as a list string, + e.g. cpuid 0+1 should be specified as 0-1. + +config HMP_VARIABLE_SCALE + bool "Allows changing the load tracking scale through sysfs" + depends on SCHED_HMP + help + When turned on, this option exports the thresholds and load average + period value for the load tracking patches through sysfs. + The values can be modified to change the rate of load accumulation + and the thresholds used for HMP migration. + The load_avg_period_ms is the time in ms to reach a load average of + 0.5 for an idle task of 0 load average ratio that start a busy loop. + The up_threshold and down_threshold is the value to go to a faster + CPU or to go back to a slower cpu. + The {up,down}_threshold are devided by 1024 before being compared + to the load average. + For examples, with load_avg_period_ms = 128 and up_threshold = 512, + a running task with a load of 0 will be migrated to a bigger CPU after + 128ms, because after 128ms its load_avg_ratio is 0.5 and the real + up_threshold is 0.5. + This patch has the same behavior as changing the Y of the load + average computation to + (1002/1024)^(LOAD_AVG_PERIOD/load_avg_period_ms) + but it remove intermadiate overflows in computation. + +config MET_SCHED_HMP + bool "(EXPERIMENTAL) MET SCHED HMP Info" + depends on SCHED_HMP_ENHANCEMENT + depends on HMP_TRACER + help + MET SCHED HMP Info + +config HMP_FREQUENCY_INVARIANT_SCALE + bool "(EXPERIMENTAL) Frequency-Invariant Tracked Load for HMP" + depends on HMP_VARIABLE_SCALE && CPU_FREQ + depends on !ARCH_SCALE_INVARIANT_CPU_CAPACITY + help + Scales the current load contribution in line with the frequency + of the CPU that the task was executed on. + In this version, we use a simple linear scale derived from the + maximum frequency reported by CPUFreq. + Restricting tracked load to be scaled by the CPU's frequency + represents the consumption of possible compute capacity + (rather than consumption of actual instantaneous capacity as + normal) and allows the HMP migration's simple threshold + migration strategy to interact more predictably with CPUFreq's + asynchronous compute capacity changes. + +config SCHED_HMP_ENHANCEMENT + bool "(EXPERIMENTAL) HMP Ennhancement" + depends on SCHED_HMP + help + HMP Ennhancement + +config HMP_TRACER + bool "(EXPERIMENTAL) Profile HMP scheduler" + depends on SCHED_HMP_ENHANCEMENT + help + Profile HMP scheduler + +config HMP_DYNAMIC_THRESHOLD + bool "(EXPERIMENTAL) Dynamically adjust task migration threshold" + depends on SCHED_HMP_ENHANCEMENT + help + Dynamically adjust task migration threshold according to current system load + +config HMP_GLOBAL_BALANCE + bool "(EXPERIMENTAL) Enhance HMP global load balance" + depends on SCHED_HMP_ENHANCEMENT + help + Enhance HMP global load balance + +config HMP_TASK_ASSIGNMENT + bool "(EXPERIMENTAL) Enhance HMP task assignment" + depends on SCHED_HMP_ENHANCEMENT + help + Enhance HMP task assignment + +config HMP_DISCARD_CFS_SELECTION_RESULT + bool "(EXPERIMENTAL) Discard CFS runqueue selection result" + depends on SCHED_HMP_ENHANCEMENT && HMP_TASK_ASSIGNMENT + help + Discard CFS runqueue selection result even if only one cluster exists + +config HMP_PACK_SMALL_TASK + bool "(EXPERIMENTAL) Packing Small Tasks" + depends on SCHED_HMP_ENHANCEMENT + help + This option enables Packing Small Tasks + +config HMP_PACK_BUDDY_INFO + bool "(EXPERIMENTAL) Packing Small Tasks Buddy Information Log" + depends on SCHED_HMP_ENHANCEMENT && HMP_PACK_SMALL_TASK + help + This option enables Packing Small Tasks Buddy Information Log + +config HMP_LAZY_BALANCE + bool "(EXPERIMENTAL) Lazy Balance" + depends on SCHED_HMP_ENHANCEMENT && HMP_PACK_SMALL_TASK + help + This option enables Lazy Balance + +config HMP_POWER_AWARE_CONTROLLER + bool "(EXPERIMENTAL) Power-aware Scheduler for b.L MP Controller" + depends on SCHED_HMP_ENHANCEMENT && HMP_PACK_SMALL_TASK && HMP_LAZY_BALANCE + help + Power-aware scheduler for b.L MP controller and status interface + +config HEVTASK_INTERFACE + bool "task status interface" + help + The option provide an interface to show task status + +config ARCH_SCALE_INVARIANT_CPU_CAPACITY + bool "(EXPERIMENTAL) Scale-Invariant CPU Compute Capacity Recording" + depends on CPU_FREQ + help + Provides a new measure of maximum and instantaneous CPU compute + capacity, derived from a table of relative compute performance + for each core type present in the system. The table is an + estimate and specific core performance may be different for + any particular workload. The measure includes the relative + performance and a linear scale of current to maximum frequency + such that at maximum frequency (as expressed in the DTB) the + reported compute capacity will be equal to the estimated + performance from the table. Values range between 0 and 1023 where + 1023 is the highest capacity available in the system. + config HAVE_ARM_SCU bool help @@ -1572,6 +1954,7 @@ config LOCAL_TIMERS bool "Use local timer interrupts" depends on SMP default y + select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT && !ARCH_MT6589 && !ARCH_MT6582 && !ARCH_MT8135 && !ARCH_MT6592 && !ARCH_MT6595 && !ARCH_MT6795 && !ARCH_MT6752 && !ARCH_MT8127 && !ARCH_MT6572) help Enable support for local timers on SMP platforms, rather then the legacy IPI broadcast method. Local timers allows the system @@ -1820,6 +2203,15 @@ config XEN help Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. +config ARM_FLUSH_CONSOLE_ON_RESTART + bool "Force flush the console on restart" + help + If the console is locked while the system is rebooted, the messages + in the temporary logbuffer would not have propogated to all the + console drivers. This option forces the console lock to be + released if it failed to be acquired, which will cause all the + pending messages to be flushed. + endmenu menu "Boot options" @@ -1829,6 +2221,7 @@ config USE_OF select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE + select OF_RESERVED_MEM help Include support for flattened device tree machine descriptions. @@ -1849,6 +2242,21 @@ config DEPRECATED_PARAM_STRUCT This was deprecated in 2001 and announced to live on for 5 years. Some old boot loaders still use this way. +config BUILD_ARM_APPENDED_DTB_IMAGE + bool "Build a concatenated zImage/dtb by default" + depends on OF + help + Enabling this option will cause a concatenated zImage and list of + DTBs to be built by default (instead of a standalone zImage.) + The image will built in arch/arm/boot/zImage-dtb + +config BUILD_ARM_APPENDED_DTB_IMAGE_NAMES + string "Default dtb names" + depends on BUILD_ARM_APPENDED_DTB_IMAGE + help + Space separated list of names of dtbs to append when + building a concatenated zImage-dtb. + # Compressed boot loader in ROM. Yes, we really want to ask about # TEXT and BSS so we preserve their values in the config files. config ZBOOT_ROM_TEXT @@ -1882,6 +2290,14 @@ config ZBOOT_ROM Say Y here if you intend to execute your compressed kernel image (zImage) directly from ROM or flash. If unsure, say N. +config COMPAT_CPUINFO + bool "Show /proc/cpuinfo in old form" + default n + help + Show old style /proc/cpuinfo. Do not show cpu features with each + cpu cores. + If unsure, say N + choice prompt "Include SD/MMC loader in zImage (EXPERIMENTAL)" depends on ZBOOT_ROM && ARCH_SH7372 @@ -2063,6 +2479,14 @@ config CRASH_DUMP For more details see Documentation/kdump/kdump.txt +config RESTART_DISABLE_CACHE + bool "Disable cache in arm_machine_restart" + default y + help + Whther to disable DCache in arm_machine_restart(). + This is a temporary solution before MTK change to use new kernel + restart flow. + config AUTO_ZRELADDR bool "Auto calculation of the decompressed kernel image address" depends on !ZBOOT_ROM && !ARCH_U300 @@ -2186,6 +2610,12 @@ config VFP Say N if your target does not have VFP hardware. +config VFP_OPT + def_bool n + depends on VFP + help + Say Y if you want to enable VFP/NEON always + config VFPv3 bool depends on VFP @@ -2229,6 +2659,11 @@ config ARCH_SUSPEND_POSSIBLE config ARM_CPU_SUSPEND def_bool PM_SLEEP +config ARCH_HIBERNATION_POSSIBLE + bool + depends on MMU + default y if ARCH_SUSPEND_POSSIBLE + endmenu source "net/Kconfig" @@ -2246,3 +2681,4 @@ source "crypto/Kconfig" source "lib/Kconfig" source "arch/arm/kvm/Kconfig" +