From: Huang, Tao Date: Tue, 10 Feb 2015 08:24:25 +0000 (+0800) Subject: Merge tag 'lsk-v3.10-android-15.01' X-Git-Tag: firefly_0821_release~4158^2~447^2~23 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=089c13477b5bed0c83ebb4e7092f254b70df080d;p=firefly-linux-kernel-4.4.55.git Merge tag 'lsk-v3.10-android-15.01' LSK Android 15.01 v3.10 Conflicts: arch/arm/Kconfig.debug arch/arm64/mm/init.c drivers/Makefile drivers/cpufreq/cpufreq_interactive.c --- 089c13477b5bed0c83ebb4e7092f254b70df080d diff --cc arch/arm/Kconfig.debug index 31508289061d,4d1793474c9c..11acee61fa5f --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@@ -698,22 -690,6 +698,14 @@@ config EARLY_PRINT kernel low-level debugging functions. Add earlyprintk to your kernel parameters to enable this console. +config EARLY_PRINTK_DIRECT + bool "Early printk direct" + depends on DEBUG_LL + help + Say Y here if you want to have an early console using the + kernel low-level debugging functions and EARLY_PRINTK is + not early enough. + - config OC_ETM - bool "On-chip ETM and ETB" - depends on ARM_AMBA - help - Enables the on-chip embedded trace macrocell and embedded trace - buffer driver that will allow you to collect traces of the - kernel code. - config ARM_KPROBES_TEST tristate "Kprobes test module" depends on KPROBES && MODULES diff --cc arch/arm64/mm/init.c index 1adb46528fb2,109a0442b6a1..ea0c0812ef8e --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@@ -189,10 -183,11 +199,14 @@@ void __init arm64_memblock_init(void } early_init_fdt_scan_reserved_mem(); +#ifdef CONFIG_ARCH_ROCKCHIP + rockchip_ion_reserve_bit64(); +#endif - dma_contiguous_reserve(0); + + /* 4GB maximum for 32-bit only capable devices */ + if (IS_ENABLED(CONFIG_ZONE_DMA)) + dma_phys_limit = max_zone_dma_phys(); + dma_contiguous_reserve(dma_phys_limit); memblock_allow_resize(); memblock_dump_all(); diff --cc drivers/Makefile index 2c0f180ab343,65ac273d67be..a77fca50d550 mode 100755,100644..100755 --- a/drivers/Makefile +++ b/drivers/Makefile @@@ -157,4 -155,4 +157,5 @@@ obj-$(CONFIG_IPACK_BUS) += ipack obj-$(CONFIG_NTB) += ntb/ obj-$(CONFIG_GATOR) += gator/ - obj-y += headset_observe/ ++obj-y += headset_observe/ + obj-$(CONFIG_CORESIGHT) += coresight/ diff --cc drivers/amba/bus.c index 7e35fed9d5bf,4144a3a999bd..9d3a90397d16 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@@ -506,9 -504,9 +506,9 @@@ int amba_device_add(struct amba_device cid |= (readl(tmp + size - 0x10 + 4 * i) & 255) << (i * 8); - amba_put_disable_pclk(dev); +// amba_put_disable_pclk(dev); - if (cid == AMBA_CID) + if (cid == AMBA_CID || cid == CORESIGHT_CID) dev->periphid = pid; if (!dev->periphid) diff --cc drivers/cpufreq/cpufreq_interactive.c index 1956eea7df16,55c499df8bb8..f77778e9e463 --- a/drivers/cpufreq/cpufreq_interactive.c +++ b/drivers/cpufreq/cpufreq_interactive.c @@@ -109,14 -106,7 +109,15 @@@ struct cpufreq_interactive_tunables int boostpulse_duration_val; /* End time of boost pulse in ktime converted to usecs */ u64 boostpulse_endtime; +#ifdef CONFIG_ARCH_ROCKCHIP + /* Frequency to which a touch boost takes the cpus to */ + unsigned long touchboost_freq; + /* Duration of a touchboost pulse in usecs */ + int touchboostpulse_duration_val; + /* End time of touchboost pulse in ktime converted to usecs */ + u64 touchboostpulse_endtime; +#endif + bool boosted; /* * Max additional time to wait in idle, beyond timer_rate, at speeds * above minimum before wakeup to reduce speed, or -1 if unnecessary. @@@ -376,21 -365,9 +376,21 @@@ static void cpufreq_interactive_timer(u do_div(cputime_speedadj, delta_time); loadadjfreq = (unsigned int)cputime_speedadj * 100; cpu_load = loadadjfreq / pcpu->target_freq; - boosted = tunables->boost_val || now < tunables->boostpulse_endtime; + tunables->boosted = tunables->boost_val || now < tunables->boostpulse_endtime; +#ifdef CONFIG_ARCH_ROCKCHIP + pcpu->target_freq = pcpu->policy->cur; - boosted |= now < tunables->touchboostpulse_endtime; ++ tunables->boosted |= now < tunables->touchboostpulse_endtime; +#endif + - if (cpu_load >= tunables->go_hispeed_load || boosted) { + if (cpu_load >= tunables->go_hispeed_load || tunables->boosted) { +#ifdef CONFIG_ARCH_ROCKCHIP + if (now < tunables->touchboostpulse_endtime) { + new_freq = choose_freq(pcpu, loadadjfreq); + if (new_freq < tunables->touchboost_freq) + new_freq = tunables->touchboost_freq; + } else +#endif if (pcpu->target_freq < tunables->hispeed_freq) { new_freq = tunables->hispeed_freq; } else { diff --cc drivers/mmc/card/block.c index a5eb95bc4717,c0ac6f4d646e..6df820652d6d mode 100755,100644..100755 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c