Linux v4.10-rc2-183-gc433eb7

This commit is contained in:
Justin M. Forbes 2017-01-05 16:23:36 -06:00
parent 349c9e50bb
commit 0272029090
24 changed files with 26 additions and 113 deletions

View File

@ -1,88 +0,0 @@
From patchwork Fri Nov 18 11:15:12 2016
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [v3] ARM: Drop fixed 200 Hz timer requirement from Samsung platforms
From: Krzysztof Kozlowski <krzk@kernel.org>
X-Patchwork-Id: 9436225
Message-Id: <1479467712-5218-1-git-send-email-krzk@kernel.org>
To: Russell King <linux@armlinux.org.uk>, Kukjin Kim <kgene@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Javier Martinez Canillas <javier@osg.samsung.com>,
linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Tomasz Figa <tomasz.figa@gmail.com>,
Ben Dooks <ben.dooks@codethink.co.uk>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Lee Jones <lee.jones@linaro.org>,
Marek Szyprowski <m.szyprowski@samsung.com>
Date: Fri, 18 Nov 2016 13:15:12 +0200
All Samsung platforms, including the Exynos, are selecting HZ_FIXED with
200 Hz. Unfortunately in case of multiplatform image this affects also
other platforms when Exynos is enabled.
This looks like an very old legacy code, dating back to initial
upstreaming of S3C24xx. Probably it was required for s3c24xx timer
driver, which was removed in commit ad38bdd15d5b ("ARM: SAMSUNG: Remove
unused plat-samsung/time.c").
Since then, this fixed 200 Hz spread everywhere, including out-of-tree
Samsung kernels (SoC vendor's and Tizen's). I believe this choice
was rather an effect of coincidence instead of conscious choice.
On S3C24xx, the PWM counter is only 16 bit wide, and with the
typical 12MHz input clock that overflows every 5.5ms. This works
with HZ=200 or higher but not with HZ=100 which needs a 10ms
interval between ticks. On Later chips (S3C64xx, S5P and EXYNOS),
the counter is 32 bits and does not have this problem.
The new samsung_pwm_timer driver solves the problem by scaling the input
clock by a factor of 50 on S3C24xx, which makes it less accurate but
allows HZ=100 as well as CONFIG_NO_HZ with fewer wakeups.
Few perf mem and sched tests on Odroid XU3 board (Exynos5422, 4x Cortex
A7, 4x Cortex A15) show no regressions when switching from 200 Hz to
other values.
Reported-by: Lee Jones <lee.jones@linaro.org>
[Dropping of 200_HZ from S3C/S5P was suggested by Arnd]
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Kukjin Kim <kgene@kernel.org>
[Tested on Exynos5800]
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Kukjin Kim <kgene@kernel.org>
[Tested on S3C2440]
Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
---
Changes since v2:
1. Extend message.
2. Add Kukjin's ack.
3. Add Sylwester's tested-by.
Changes since v1:
1. Add Javier's tested-by.
2. Drop HZ_FIXED also from ARCH_S5PV210 and ARCH_S3C24XX after Arnd
suggestions and analysis.
---
arch/arm/Kconfig | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b5d529fdffab..ced2e08a9d08 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1496,8 +1496,7 @@ source kernel/Kconfig.preempt
config HZ_FIXED
int
- default 200 if ARCH_EBSA110 || ARCH_S3C24XX || \
- ARCH_S5PV210 || ARCH_EXYNOS4
+ default 200 if ARCH_EBSA110
default 128 if SOC_AT91RM9200
default 0

2
gitrev
View File

@ -1 +1 @@
62f8c40592172a9c3bc2658e63e6e76ba00b3b45
c433eb70f37de2514f3ae3d43dd7e4a75493fe48

View File

@ -1289,7 +1289,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1279,7 +1279,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1419,7 +1419,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1345,7 +1345,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1336,7 +1336,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1410,7 +1410,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1158,7 +1158,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1168,7 +1168,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1168,7 +1168,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1158,7 +1158,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1137,7 +1137,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1127,7 +1127,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1093,7 +1093,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1083,7 +1083,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1092,7 +1092,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1082,7 +1082,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1090,7 +1090,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1080,7 +1080,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1198,7 +1198,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -1188,7 +1188,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_DUMMY_CONSOLE=y
# CONFIG_DUMMY_IRQ is not set
CONFIG_DUMMY=m
# CONFIG_DVB_AS102 is not set
CONFIG_DVB_AS102=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

View File

@ -69,7 +69,7 @@ Summary: The Linux kernel
# The rc snapshot level
%global rcrev 2
# The git snapshot level
%define gitrev 2
%define gitrev 3
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@ -519,8 +519,6 @@ Patch431: bcm2837-initial-support.patch
Patch433: AllWinner-net-emac.patch
Patch434: ARM-Drop-fixed-200-Hz-timer-requirement-from-Samsung-platforms.patch
Patch460: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
Patch466: input-kill-stupid-messages.patch
@ -2154,6 +2152,9 @@ fi
#
#
%changelog
* Thu Jan 05 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc2.git3.1
- Linux v4.10-rc2-183-gc433eb7
* Wed Jan 04 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc2.git2.1
- Linux v4.10-rc2-43-g62f8c40

View File

@ -1,4 +1,4 @@
SHA512 (linux-4.9.tar.xz) = bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
SHA512 (perf-man-4.9.tar.gz) = d23bb3da1eadd6623fddbf4696948de7675f3dcf57c711a7427dd7ae111394f58d8f42752938bbea7cd219f1e7f6f116fc67a1c74f769711063940a065f37b99
SHA512 (patch-4.10-rc2.xz) = 45ec25c586aa89e4e8dd53cf01a88e25331e379a2532a7059eb182a634279c92e23d057c71df10ceb374fcc51c3a4eed6769261a7e2b9c5cd0112a81161ff597
SHA512 (patch-4.10-rc2-git2.xz) = 04aff23e5cf1f2b419a469c28f3cb6f1197ed87f5059f34c424a57526d730717b99ea4b612ac12445771de938245254c2ecbce7304aa3c509075d629a829741b
SHA512 (patch-4.10-rc2-git3.xz) = 3599932ecfdde2e4ed3122ee641634720a86eb801357923962a0110bed814e0038fba8a49bbba66ee8f0812732ebdaa19111ebcb01d08978910304627ca7ce5e