Huang, Tao [Wed, 20 May 2015 08:01:55 +0000 (16:01 +0800)]
arm: rockchip: use read_cpuid_part instead of read_cpuid_part_number
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Wed, 20 May 2015 07:34:59 +0000 (15:34 +0800)]
rk: gcc-wrapper.py ignore sysctl_net_core.c:24
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Wed, 20 May 2015 07:34:03 +0000 (15:34 +0800)]
rkwifi: dhd_config: fix compilation warning
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Wed, 20 May 2015 07:17:32 +0000 (15:17 +0800)]
rk1000: fix compilation warning
Huang, Tao [Wed, 20 May 2015 06:49:34 +0000 (14:49 +0800)]
Merge branch develop-3.10-next
Xiao Feng [Thu, 14 May 2015 07:45:31 +0000 (15:45 +0800)]
ddrfreq: add vop bandwidth freq table in dts, in order to support more boards
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Xiao Feng [Wed, 13 May 2015 11:27:56 +0000 (19:27 +0800)]
ddrfreq: fix new_freq=0 when the current load of ddr is between high_load and low_load
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Alpha Lin [Fri, 15 May 2015 08:54:02 +0000 (16:54 +0800)]
VPU, set the power-on flag after power domain already on.
Previous register operation before power on.
Software reset vpu inside vdpu interrupt handle.
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
Sugar Zhang [Wed, 20 May 2015 03:01:43 +0000 (11:01 +0800)]
ASoC: es8316: reduce standby power consumption around ~uA.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
hjc [Wed, 20 May 2015 03:05:09 +0000 (11:05 +0800)]
rk fb:extern rockchip_get_screen_type for mipi dsi
Signed-off-by: hjc <hjc@rock-chips.com>
hjc [Wed, 6 May 2015 08:18:36 +0000 (16:18 +0800)]
rk fb: fix hdmi/cvbs display error when uboot display logo
Signed-off-by: hjc <hjc@rock-chips.com>
Zheng Yang [Tue, 19 May 2015 09:53:55 +0000 (17:53 +0800)]
HDMI: Not filter the input 3dmode with EDID information.
If input 3dmode is not list in EDID, we print a
warning log and send it to sink, no longer return
error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Zheng Yang [Tue, 19 May 2015 09:50:55 +0000 (17:50 +0800)]
HDMI: fix edid 3d information offset parse error.
In EDID 3D descriptor, 3d information is after
4K format. But we did not increase the offset of
3d content if 4K format is zero, which make 3d
information error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Zheng Yang [Tue, 19 May 2015 09:53:55 +0000 (17:53 +0800)]
HDMI: Not filter the input 3dmode with EDID information.
If input 3dmode is not list in EDID, we print a
warning log and send it to sink, no longer return
error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Zheng Yang [Tue, 19 May 2015 09:50:55 +0000 (17:50 +0800)]
HDMI: fix edid 3d information offset parse error.
In EDID 3D descriptor, 3d information is after
4K format. But we did not increase the offset of
3d content if 4K format is zero, which make 3d
information error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Mark Yao [Wed, 13 May 2015 08:17:28 +0000 (16:17 +0800)]
rk_fb: compatible for mid hdmi switch screen
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Tue, 28 Apr 2015 06:52:23 +0000 (14:52 +0800)]
rockchip: video: fix logo display when switch screen
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Huang, Tao [Tue, 19 May 2015 02:56:23 +0000 (10:56 +0800)]
input: keyboard: rk_keys: add wake lock
New version Android will never call EPOLLWAKEUP or EVIOCSSUSPENDBLOCK.
So we need add wake lock in driver.
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Tue, 19 May 2015 02:06:36 +0000 (10:06 +0800)]
input: keyboard: rk_keys: use jiffies rather than msecs_to_jiffies
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Tue, 19 May 2015 01:57:19 +0000 (09:57 +0800)]
input: keyboard: rk_keys: fix CodingStyle issues only
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Mark Yao [Wed, 13 May 2015 08:17:28 +0000 (16:17 +0800)]
rk_fb: compatible for mid hdmi switch screen
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Kevin Hilman [Mon, 18 May 2015 23:18:16 +0000 (16:18 -0700)]
Merge branch 'v3.10/topic/arm64-errata' into linux-linaro-lsk-v3.10
* v3.10/topic/arm64-errata:
arm64: errata: add workaround for cortex-a53 erratum #845719
arm64: Remove unused cpu_name ascii in arch/arm64/mm/proc.S
Will Deacon [Mon, 23 Mar 2015 19:07:02 +0000 (19:07 +0000)]
arm64: errata: add workaround for cortex-a53 erratum #845719
When running a compat (AArch32) userspace on Cortex-A53, a load at EL0
from a virtual address that matches the bottom 32 bits of the virtual
address used by a recent load at (AArch64) EL1 might return incorrect
data.
This patch works around the issue by writing to the contextidr_el1
register on the exception return path when returning to a 32-bit task.
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
(cherry picked from commit
905e8c5dcaa147163672b06fe9dcb5abaacbc711)
[khilman: modified to remove dependency on alternatives framwork. Feature
is now only compile-time selectable, and defaults to off. ]
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Catalin Marinas [Mon, 2 Sep 2013 15:33:54 +0000 (16:33 +0100)]
arm64: Remove unused cpu_name ascii in arch/arm64/mm/proc.S
This string has been moved to arch/arm64/kernel/cputable.c.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit
f3a1d7d53dccf51959aec16b574617cc6bfeca09)
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Ruchi Kandoi [Thu, 7 May 2015 17:18:55 +0000 (10:18 -0700)]
suspend: Return error when pending wakeup source is found.
If a wakeup source is found to be pending in the last stage of suspend
after syscore suspend then the device doesn't suspend but the error is
not propogated which causes an error in the accounting for the number
of suspend aborts and successful suspends.
Change-Id: Ib63b4ead755127eaf03e3b303aab3c782ad02ed1
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
Xiao Feng [Mon, 18 May 2015 13:23:31 +0000 (21:23 +0800)]
rk3368: cpufreq: fix pm_notifier return NOTIFY_BAD
the big cluster mask is random when down cpu1~cpu7, so we get the error policy cpu in pm_notifier.
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 10:22:30 +0000 (18:22 +0800)]
arm64: rockchip: cpuquiet: be quiet when cpu up/down
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 09:26:13 +0000 (17:26 +0800)]
cpufreq: rockchip_big_little: minor cleanups
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 09:25:12 +0000 (17:25 +0800)]
rockchip: hmp: adjust hmp_up/down_threshold
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 09:22:52 +0000 (17:22 +0800)]
cpuquiet: add rockchip cpuquiet bl_balanced governor driver
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 09:20:35 +0000 (17:20 +0800)]
cpuquiet: add rockchip cpuquiet driver
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 09:17:28 +0000 (17:17 +0800)]
cpuquiet: Update averaging of nr_runnables
Doing a Exponential moving average per nr_running++/-- does not
guarantee a fixed sample rate which induces errors if there are lots of
threads being enqueued/dequeued from the rq (Linpack mt). Instead of
keeping track of the avg, the scheduler now keeps track of the integral
of nr_running and allows the readers to perform filtering on top.
Implemented a proper exponential moving average for the runnables
governor and a straight 100ms average for the balanced governor. Tweaked
the thresholds for the runnables governor to minimize latency. Also,
decreased sample_rate for the runnables governor to the absolute minimum
of 10msecs.
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 18 May 2015 09:08:55 +0000 (17:08 +0800)]
cpuquiet: PM QoS: Add max/min online cpus as PM QoS parameter
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Krishna Sitaraman [Tue, 15 Apr 2014 20:35:54 +0000 (13:35 -0700)]
arm64: add cpu power configs to arm64/Kconfig
Add cpuquiet to proper location
Bug
1453967
Change-Id: I03b35ed12acdf5c6fc62c3bddc8b5a2a018a1303
Signed-off-by: Krishna Sitaraman <ksitaraman@nvidia.com>
Reviewed-on: http://git-master/r/396582
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Adeel Raza <araza@nvidia.com>
Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com>
Sai Charan Gurrappadi [Thu, 16 Aug 2012 01:00:35 +0000 (18:00 -0700)]
cpuquiet: Added cpuquiet to driver Makefile
Change-Id: I8a3fd51df81de8d4375b9ddabbaf4fed5277b17d
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/123849
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R90846374c2567592a285664e65941d6534017c8a
Sai Gurrappadi [Tue, 13 May 2014 21:50:09 +0000 (14:50 -0700)]
drivers: cpuquiet: Fix runnable gov device_busy
On device_busy, the runnable governor stops its sample timer and cancels
any queued runnable_work. However, it is possible for the cpuquiet
platform driver to call device_busy on cpuquiet_quiesence/wake_cpu calls
which can be invoked from the queued runnable_worker thread. This will
lead to the runnable_worker thread waiting infinitely on it self
finishing in cancel_work_sync.
Fix this by removing the cancel_work_sync call as it isn't necessary
because the worker doesn't requeue it self. Stopping the timer is
sufficient.
Bug
200002511
Change-Id: Ic69061b12d4dbb96b259ed9b62a0475271bd36d0
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
(cherry picked from commit
b9a2a2cfa91d14935fdef626517d738399af4e4d)
Reviewed-on: http://git-master/r/415315
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-by: Kerwin Wan <kerwinw@nvidia.com>
Sai Gurrappadi [Fri, 20 Dec 2013 00:30:02 +0000 (16:30 -0800)]
cpuquiet: Add Sysfs node for nr_run_thresholds
Added sysfs node that exposes the nr_runnable threshold at which cores
are quiesenced/woken up. To write into this node:
echo 1core# 2core# ... n_core# > nr_run_thresholds
Bug
1427140
Change-Id: I7cabd63692cf92f7fe8d1064437b1d73002d4ba5
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/369017
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Sai Gurrappadi [Fri, 20 Dec 2013 00:30:02 +0000 (16:30 -0800)]
cpuquiet: Support X cpus for runnables governor
Runnables govenror will now work properly for any number of cpus as
defined by NR_CPUS. Switched the ordering of nr_run_threshold init to
ensure that array is initialized correctly to UINT_MAX for NR_CPUS-1 cpu.
Bug
1427140
Change-Id: Ic612406ceaf80dd7e0b6693906df339f8b6512aa
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/369016
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Sai Gurrappadi [Tue, 17 Dec 2013 21:40:45 +0000 (13:40 -0800)]
cpuquiet: Clean up sysfs memory properly
Runnable sysfs node wasn't being free'd in stop via a kobject_put call
because the sysfs node wasn't allocated with kobject_create. Now do an
explicity kfree on stop after the kobject_put.
Change-Id: I5ba554312757380dfb2e814f75832b28d4c7edf8
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/346645
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Sai Gurrappadi [Thu, 12 Dec 2013 23:25:53 +0000 (15:25 -0800)]
cpuquiet: Fix locking in driver_unregister
cpuquiet_switch_governors needs to be protected with the cpuquiet_lock.
Change-Id: I948d1190a270b9e8b732eaad80a303560fe9f282
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/345013
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Jubeom Kim [Fri, 29 Nov 2013 07:37:28 +0000 (16:37 +0900)]
cpuquiet: move back cpuquiet_lock
Moved cpuquiet_lock to the back of cpuquiet_switch_governor().
cpuquiet_switch_governor() has to be protected by cpuquiet_lock.
In the runnable cpuquiet_governor case, it can occur a kernel panic or BUG_ON
because schedule_work() and INIT_WORK() can be performed at the same time.
Bug
1410816
Change-Id: I6d3d69bd8896e5425a762cbc4a58343a319edf29
Signed-off-by: Jubeom Kim <jubeomk@nvidia.com>
(cherry picked from commit
8502d0b7c057f96b7cd0495b49e37fc968d4bf8a)
Reviewed-on: http://git-master/r/337335
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Dan Willemsen [Thu, 22 Aug 2013 21:18:19 +0000 (14:18 -0700)]
cpuquiet: balanced: WQ_RESCUER has been removed
Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>
Simo Melenius [Fri, 8 Mar 2013 09:24:12 +0000 (11:24 +0200)]
ARM: tegra: cpuquiet: augment no_lp to force both LP and G
- tegra_cpuquiet 'no_lp' node now accepts '-1' to force LP cluster on
- when a cluster is forced the switches take place immediately without
any delay
Bug
1247636
Change-Id: I1ec07acc3cf51419a4770542c6a1c90b92e0bf66
Signed-off-by: Simo Melenius <smelenius@nvidia.com>
Reviewed-on: http://git-master/r/208772
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
(cherry picked from commit
ab16bbb6f581da538448d2a64e03dd272b8fb985)
Reviewed-on: http://git-master/r/210358
Peter De Schrijver [Tue, 12 Feb 2013 15:51:26 +0000 (17:51 +0200)]
ARM: tegra: cpuquiet: make userspace governor actions synchronous
Userspace expects changes to happen synchronously. Implement this by waiting
with a (configureable) timeout for the action to happen.
Bug
1220065
Change-Id: I81301719707e4baf2b3aea62c38fc771ffe1205d
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/200013
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Peter Boonstoppel [Thu, 24 Jan 2013 19:04:02 +0000 (11:04 -0800)]
cpuquiet: Remove synchronization from runnables_work_func()
runnables_stop() can deadlock when cancel_work_sync() waits for the
work function to end and the work function blocks on the same lock
held by runnables_stop().
Removing the locks from runnables_work_func() fixes this. This should
be safe because runnables_lock protects runnables_state and
runnables_work_func() only reads runnables_state. Also, the functions
that change state to DISABLED do a cancel_work_sync() to guarantee the
work function stopped running.
Bug
1215668
Change-Id: I70617b3b0fc81db8555869e67e3b11652af8d94c
Signed-off-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-on: http://git-master/r/193881
Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com>
Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
Sami Liedes [Tue, 5 Feb 2013 13:22:03 +0000 (15:22 +0200)]
cpuquiet: Fix warning about unused variable
drivers/cpuquiet/governors/runnable_threads.c: In function 'runnables_work_func':
drivers/cpuquiet/governors/runnable_threads.c:184:14: warning: unused variable 'state' [-Wunused-variable]
Change-Id: I26c2288876043cf3dd21e1b57317a1f5b2de5a9b
Signed-off-by: Sami Liedes <sliedes@nvidia.com>
Reviewed-on: http://git-master/r/197469
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Juha Tukkinen [Tue, 22 Jan 2013 08:30:28 +0000 (10:30 +0200)]
cpuquiet: Add GCOV_PROFILE for governors
Include cpuquiet in GCOV profiling when enabled by defconfig.
Change-Id: Iadac806d4b7efd9e34afa765dbec59f0491b96a8
Signed-off-by: Juha Tukkinen <jtukkinen@nvidia.com>
Reviewed-on: http://git-master/r/192980
Reviewed-by: Automatic_Commit_Validation_User
Juha Tukkinen [Mon, 10 Sep 2012 14:00:35 +0000 (17:00 +0300)]
cpuquiet: Add GCOV_PROFILE
Include cpuquiet in GCOV profiling when enabled by defconfig.
Change-Id: I448602d2c79f4113b99e6546743585e629fa726e
Signed-off-by: Juha Tukkinen <jtukkinen@nvidia.com>
Reviewed-on: http://git-master/r/131127
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Rebase-Id: R7daa534f10a211bf7b15a253f5cfee7a126428f0
Peter Boonstoppel [Wed, 5 Dec 2012 18:45:53 +0000 (10:45 -0800)]
cpuquiet: Fix race in runnable governor
Fixed a race where the cpuquiet driver would call device_free() before
the governor was started, which would lead to a kernel panic because
runnables_timer was not initialized.
Introduced RUNNING state, so states are:
- DISABLED: truly disabled
- IDLE: enabled, but not polling upon request from the driver
- RUNNING: actively polling
Bug
1189042
Change-Id: I45b9ce40e61e1cfddde74ff7b2691722204045bb
Signed-off-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-on: http://git-master/r/168803
Reviewed-by: Sang-Hun Lee <sanlee@nvidia.com>
Tested-by: Sang-Hun Lee <sanlee@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Peter De Schrijver [Wed, 5 Dec 2012 14:13:09 +0000 (16:13 +0200)]
cpuquiet: Make stats optional
Make the per CPU statistics a configureable option.
bug
1049625
Change-Id: I28b248bbbad89a19e8d8d69400733dfd4a2cf052
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/168749
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Peter Boonstoppel [Mon, 12 Nov 2012 19:17:01 +0000 (11:17 -0800)]
cpuquiet: Update runnable gov param 20/100ms (1.25/2.25/2.5 +.5)
Sampling interval: 20ms
Window size: 100ms
Thresholds: 1.25/2.25/2.5 thread
Hysteresis: .5 thread
Bug
1050445
Change-Id: I5138bed06e6f3548ec440d2b9ee17460fc37adfb
Signed-off-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-on: http://git-master/r/163105
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Peter De Schrijver [Tue, 11 Sep 2012 14:30:32 +0000 (17:30 +0300)]
cpuquiet: initialize runnable threads first as the default governor
Add the necessary code to initialize the runnable threads governor first when
selected as the default governor.
Change-Id: Iebbf304f3934b429d8a217011b3cb45ecddfd558
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/131438
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Rebase-Id: Rb5009930e554648a17d78edf9d8bdd17199c9c6a
Peter De Schrijver [Tue, 11 Sep 2012 14:27:51 +0000 (17:27 +0300)]
cpuquiet: balanced governor requires cpufreq
The balanced governor relies on cpufreq for some of its decisions. Fail
initialization if there are no cpufreq OPP tables available.
Change-Id: I5d64215d56f50d5df52c1433208b1eb40440c812
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/131437
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Rebase-Id: R03bb471218a088a816a67232861759cba2b91f38
Peter De Schrijver [Tue, 11 Sep 2012 14:25:11 +0000 (17:25 +0300)]
cpuquiet: cleanup Kconfig and Makefile
Add options to enable/disable individual governors and adjust the Makefile
to only build the selected governors.
Change-Id: Ia3d36afd0f1d2e8cc622956fa0dc16c23cc9904d
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/131436
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Rebase-Id: R0353ccd8d52227302fe7a890b9805b6c9170f58c
Sai Charan Gurrappadi [Sat, 25 Aug 2012 01:42:36 +0000 (18:42 -0700)]
cpuquiet: Update averaging of nr_runnables
Doing a Exponential moving average per nr_running++/-- does not
guarantee a fixed sample rate which induces errors if there are lots of
threads being enqueued/dequeued from the rq (Linpack mt). Instead of
keeping track of the avg, the scheduler now keeps track of the integral
of nr_running and allows the readers to perform filtering on top.
Implemented a proper exponential moving average for the runnables
governor and a straight 100ms average for the balanced governor. Tweaked
the thresholds for the runnables governor to minimize latency. Also,
decreased sample_rate for the runnables governor to the absolute minimum
of 10msecs.
Updated to K3.4
Change-Id: Ia25bf8baf2a1a015ba188b2c06e551e89b16c5f8
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/131147
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Sai Charan Gurrappadi [Wed, 25 Jul 2012 15:41:53 +0000 (08:41 -0700)]
cpuquiet: Add notifiers for the runnables governor
The governor stops sampling whenever the device is busy and starts its
sampling loop when the device is free.
Change-Id: Ifdae4a84e56c2734be48e49f6112b537602a02da
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/124680
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Sai Charan Gurrappadi [Wed, 25 Jul 2012 15:37:14 +0000 (08:37 -0700)]
cpuquiet: Runnable threads governor
[perf] The runnable threads governor only looks at the average number of
runnables in the system to make a decision when bringing cores
offline/online. First pass; tweaks thresholds and delays to reduce
decision latency to about ~50-70ms per core (from ~100-150ms per core)
Change-Id: Idd3b268a74a8f56ad3fc0e5c7f388174d1b6611f
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/124679
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Xiao Bo Zhao [Thu, 2 Aug 2012 23:33:51 +0000 (16:33 -0700)]
cpuquiet: Adding runnable thread knobs
Ported the knobs that select runnable thread profiles from autohotplug
into cpuquiet.
Change-Id: I6858731e238404d33c772767d066cd6d467267a8
Signed-off-by: Xiao Bo Zhao <xiaoboz@nvidia.com>
Reviewed-on: http://git-master/r/123852
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R640f1619f85fbf52701b39f5649c950f0d2bf9a0
Sai Charan Gurrappadi [Fri, 22 Jun 2012 23:18:02 +0000 (16:18 -0700)]
cpuquiet: Enable cpuquiet by default
Enable cpuquiet by default if autohotplug is enabled. Cpuquiet will now
replace autohotplug as the hotplugging infrastructure. The down_delay in
the balanced governor has also been increased to 2s from 500ms to match
a similar patch for autohotplug.
Change-Id: I36747af67c55547b3dee95f7d435f9ebc075d393
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/123851
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Sai Charan Gurrappadi [Thu, 16 Aug 2012 00:56:11 +0000 (17:56 -0700)]
cpuquiet: Fix cpuquiet for k3.4
Change-Id: I75d8dba6c9c4c43152c819e08beeccb1e3c07c0c
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/123850
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Sai Charan Gurrappadi [Wed, 11 Jul 2012 00:33:58 +0000 (17:33 -0700)]
ARM: tegra: cpuquiet: Notify the cpuquiet governor when the driver is busy
Added generic busy/free notifiers that the driver can invoke to let the
governor know that it cannot process further core online/offline
requests (invoked in our case whenever we switch to the LP cluster).
Change-Id: I5e3f7f28f38806a7f87050e8d0c8d2f2cf7521aa
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/114807
Reviewed-by: Lokesh Pathak <lpathak@nvidia.com>
Tested-by: Lokesh Pathak <lpathak@nvidia.com>
Sai Charan Gurrappadi [Thu, 5 Jul 2012 17:47:23 +0000 (10:47 -0700)]
cpuquiet: Account for the corner case frequency when setting state
Now consider frequency greater than or equal to idle_top_freq as UP
Change-Id: I1332d46d1e42a00b3b31897b158eaf4ccfbaf8f5
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/113678
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
GVS: Gerrit_Virtual_Submit
Rebase-Id: Rd67b2870e4916d1e616adf61f4bd4f3ef8916d1f
Sai Charan Gurrappadi [Fri, 15 Jun 2012 01:23:17 +0000 (18:23 -0700)]
cpuquiet: Fix compiler warning
Change-Id: I03c11c295b40ebd500a715974f7fdca560d9a43a
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/111286
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Rebase-Id: R843b536a90d042c7849fa3a44246e473f89e715f
Sai Charan Gurrappadi [Thu, 14 Jun 2012 21:17:14 +0000 (14:17 -0700)]
cpuquiet: Update stats only on successful operations
Change-Id: I0584fba7458b3a860f9ab3751a8eb5f0345864ad
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/111285
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Rebase-Id: R8fb05f5e99be6262ec28d7e733904c450f3985f6
Sai Charan Gurrappadi [Fri, 22 Jun 2012 22:42:59 +0000 (15:42 -0700)]
cpuquiet: Properly return the first registered governor
Change-Id: I8a21a15d5cf8e4c91a166810387b5d8f1dd7cdb6
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/111284
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Rebase-Id: R5df2ed43a42e0bd32eee1601a6f945bf6df90227
Peter De Schrijver [Mon, 11 Jun 2012 17:43:59 +0000 (20:43 +0300)]
ARM: tegra: add sysfs support for tegra cpuquiet driver
Change-Id: I215c5de8e98d139a93113978e1e27adb5a6b252c
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/111283
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Peter De Schrijver [Fri, 30 Mar 2012 08:18:38 +0000 (11:18 +0300)]
cpuquiet: Makefile for cpuquiet framework
Change-Id: Ia071b03c6073c514b99457e35ebbd65ef32a6906
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105273
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: Rafb8e4b976fac62210bc2e0e95837d4bdce7e61a
Sai Charan Gurrappadi [Tue, 19 Jun 2012 01:22:33 +0000 (18:22 -0700)]
cpuquiet: Updated balanced governor to use the runnable threads patch
The balanced governor now looks at the average number of runnable
threads when bringing cores online and offline. The balanced governor
parameters have also been updated to reflect a similar patch for
autohotplug.
Change-Id: I8dac26659ba43d95a68830c6cc268591a7f03f80
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/111282
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Rebase-Id: Raeb86f51e0e21475ee9b96f97ce95f00883dac11
Peter De Schrijver [Mon, 11 Jun 2012 15:41:27 +0000 (18:41 +0300)]
drivers: cpuquiet: fix error message
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Change-Id: If04c699e002542bd8ce4b37b2367d7ec496c284e
Reviewed-on: http://git-master/r/107959
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Tested-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-by: Matthew Longnecker <mlongnecker@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Rebase-Id: R97cd3cf7f09c2dd919177aea88f618df7fa6a0a1
Peter De Schrijver [Fri, 30 Mar 2012 08:46:09 +0000 (11:46 +0300)]
cpuquiet: Makefile for governors
Change-Id: I33018bb5db39f2881a3defc55758681cfb1d6284
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105272
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R667765931c89762f949113e9132232391b952592
Peter De Schrijver [Fri, 30 Mar 2012 08:45:48 +0000 (11:45 +0300)]
cpuquiet: balanced governor
This is a port of the existing governor logic in cpu-tegra3.c.
Change-Id: Id79e6fc697dd0de85242fb2471bbed3d10101693
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105271
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: Rf6addc1b20f47ccee2180380d021b54c41adff57
Peter De Schrijver [Fri, 30 Mar 2012 08:44:32 +0000 (11:44 +0300)]
cpuquiet: userspace governor
Change-Id: If9830d423b1751cbe9493eda0a85f88e7003173f
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105270
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R382af37ab50a08c17c635bb1fee7e16afd0d9a18
Peter De Schrijver [Fri, 30 Mar 2012 08:42:17 +0000 (11:42 +0300)]
cpuquiet: governor support
Change-Id: I05b9dedc04bb3b2ddba6202a002c1e5514ec4777
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105269
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R481f3df7610b737f6c054370efbe3bdb95a5e78d
Peter De Schrijver [Fri, 30 Mar 2012 08:43:21 +0000 (11:43 +0300)]
cpuquiet: sysfs interfaces
Change-Id: Idb454f7380c48e2f4bab20e6ae51fef577b0f6c5
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105267
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R30228222507c41e129cbc2700fdd4c19c2db8be8
Peter De Schrijver [Fri, 30 Mar 2012 08:40:44 +0000 (11:40 +0300)]
cpuquiet: driver support
Change-Id: I4f3f67d4459eeda519efdfd80e1283bef2d597e3
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105266
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R23fdadebbf0644ed585f4d4d5ff8dad556773d2a
Peter De Schrijver [Fri, 30 Mar 2012 08:38:47 +0000 (11:38 +0300)]
cpuquiet: public interfaces for cpuquiet
Change-Id: Ie391d6d11fad7b76b0bf5daff67ac46663651dc0
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105265
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R7d711a55352cde2eac5ddbe86be2f97bb576dd57
Sai Charan Gurrappadi [Wed, 23 May 2012 18:30:47 +0000 (11:30 -0700)]
cpuquiet: Kconfig
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
Change-Id: I930dedaa3bf7b2c64bc61f28c3461f125cca2f44
Reviewed-on: http://git-master/r/105264
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: R99b786496aad17710bd9d878d7844c50aa105fbb
Peter De Schrijver [Fri, 30 Mar 2012 08:35:36 +0000 (11:35 +0300)]
cpuquiet: base files
Change-Id: I611b72a2e63fffc788bc6c7594c738d5ad65e06f
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/105263
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Tested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Rebase-Id: Rcace74f9483c6a9f2e345c206ba7ddc4c5f8c066
Sugar Zhang [Mon, 18 May 2015 07:05:36 +0000 (15:05 +0800)]
ASoC: es8316: reduce power consumption.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
xubilv [Mon, 18 May 2015 02:10:06 +0000 (10:10 +0800)]
3368sdk: TP: Support GT911.
Signed-off-by: xubilv <xbl@rock-chips.com>
Greg Kroah-Hartman [Sun, 17 May 2015 16:51:39 +0000 (09:51 -0700)]
Linux 3.10.79
Lv Zheng [Mon, 13 Apr 2015 03:48:37 +0000 (11:48 +0800)]
ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR().
commit
6d3fd3cc33d50e4c0d0c0bd172de02caaec3127c upstream.
ACPICA commit
154f6d074dd38d6ebc0467ad454454e6c5c9ecdf
There are code pieces converting pointers using "(acpi_physical_address) x"
or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them.
Known issues:
1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field
For the conversions around the table fields, it is better to fix it with
alignment also fixed. So this patch doesn't modify such code. There
should be no functional problem by leaving them unchanged.
Link: https://github.com/acpica/acpica/commit/154f6d07
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Lv Zheng [Mon, 13 Apr 2015 03:48:18 +0000 (11:48 +0800)]
ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_address.
commit
f254e3c57b9d952e987502aefa0804c177dd2503 upstream.
ACPICA commit
7d9fd64397d7c38899d3dc497525f6e6b044e0e3
OSPMs like Linux expect an acpi_physical_address returning value from
acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size) doesn't
equal to sizeof (acpi_physical_address):
drivers/acpi/osl.c:275:3: warning: passing argument 1 of 'acpi_find_root_pointer' from incompatible pointer type [enabled by default]
In file included from include/acpi/acpi.h:64:0,
from include/linux/acpi.h:36,
from drivers/acpi/osl.c:41:
include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument is of type 'acpi_physical_address *'
This patch corrects acpi_find_root_pointer().
Link: https://github.com/acpica/acpica/commit/7d9fd643
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christoph Hellwig [Thu, 14 Nov 2013 22:32:06 +0000 (14:32 -0800)]
revert "softirq: Add support for triggering softirq work on softirqs"
commit
fc21c0cff2f425891b28ff6fb6b03b325c977428 upstream.
This commit was incomplete in that code to remove items from the per-cpu
lists was missing and never acquired a user in the 5 years it has been in
the tree. We're going to implement what it seems to try to archive in a
simpler way, and this code is in the way of doing so.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Pan Xinhui <xinhuix.pan@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexey Khoroshilov [Fri, 17 Apr 2015 23:53:25 +0000 (02:53 +0300)]
sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
commit
bc26d4d06e337ade069f33d3f4377593b24e6e36 upstream.
A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND)
on /dev/sequencer with TMR_ECHO midi event.
In this case the control flow is:
sound_ioctl()
-> case SND_DEV_SEQ:
case SND_DEV_SEQ2:
sequencer_ioctl()
-> case SNDCTL_SEQ_OUTOFBAND:
spin_lock_irqsave(&lock,flags);
play_event();
-> case EV_TIMING:
seq_timing_event()
-> case TMR_ECHO:
seq_copy_to_input()
-> spin_lock_irqsave(&lock,flags);
It seems that spin_lock_irqsave() around play_event() is not necessary,
because the only other call location in seq_startplay() makes the call
without acquiring spinlock.
So, the patch just removes spinlocks around play_event().
By the way, it removes unreachable code in seq_timing_event(),
since (seq_mode == SEQ_2) case is handled in the beginning.
Compile tested only.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Willy Tarreau <w@1wt.eu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chuanxiao Dong [Tue, 12 Aug 2014 04:01:30 +0000 (12:01 +0800)]
mmc: card: Don't access RPMB partitions for normal read/write
commit
4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4 upstream.
During kernel boot, it will try to read some logical sectors
of each block device node for the possible partition table.
But since RPMB partition is special and can not be accessed
by normal eMMC read / write CMDs, it will cause below error
messages during kernel boot:
...
mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
mmcblk0rpmb: retrying using single block read
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
end_request: I/O error, dev mmcblk0rpmb, sector 0
Buffer I/O error on device mmcblk0rpmb, logical block 0
end_request: I/O error, dev mmcblk0rpmb, sector 8
Buffer I/O error on device mmcblk0rpmb, logical block 1
end_request: I/O error, dev mmcblk0rpmb, sector 16
Buffer I/O error on device mmcblk0rpmb, logical block 2
end_request: I/O error, dev mmcblk0rpmb, sector 24
Buffer I/O error on device mmcblk0rpmb, logical block 3
...
This patch will discard the access request in eMMC queue if
it is RPMB partition access request. By this way, it avoids
trigger above error messages.
Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
Signed-off-by: Yunpeng Gao <yunpeng.gao@intel.com>
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
Tested-by: Michael Shigorin <mike@altlinux.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Doug Anderson [Fri, 1 May 2015 16:01:27 +0000 (09:01 -0700)]
pinctrl: Don't just pretend to protect pinctrl_maps, do it for real
commit
c5272a28566b00cce79127ad382406e0a8650690 upstream.
Way back, when the world was a simpler place and there was no war, no
evil, and no kernel bugs, there was just a single pinctrl lock. That
was how the world was when (
57291ce pinctrl: core device tree mapping
table parsing support) was written. In that case, there were
instances where the pinctrl mutex was already held when
pinctrl_register_map() was called, hence a "locked" parameter was
passed to the function to indicate that the mutex was already locked
(so we shouldn't lock it again).
A few years ago in (
42fed7b pinctrl: move subsystem mutex to
pinctrl_dev struct), we switched to a separate pinctrl_maps_mutex.
...but (oops) we forgot to re-think about the whole "locked" parameter
for pinctrl_register_map(). Basically the "locked" parameter appears
to still refer to whether the bigger pinctrl_dev mutex is locked, but
we're using it to skip locks of our (now separate) pinctrl_maps_mutex.
That's kind of a bad thing(TM). Probably nobody noticed because most
of the calls to pinctrl_register_map happen at boot time and we've got
synchronous device probing. ...and even cases where we're
asynchronous don't end up actually hitting the race too often. ...but
after banging my head against the wall for a bug that reproduced 1 out
of 1000 reboots and lots of looking through kgdb, I finally noticed
this.
Anyway, we can now safely remove the "locked" parameter and go back to
a war-free, evil-free, and kernel-bug-free world.
Fixes: 42fed7ba44e4 ("pinctrl: move subsystem mutex to pinctrl_dev struct")
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Lukas Wunner [Mon, 4 May 2015 13:06:49 +0000 (15:06 +0200)]
drm/i915: Add missing MacBook Pro models with dual channel LVDS
commit
3916e3fd81021fb795bfbdb17f375b6b3685bced upstream.
Single channel LVDS maxes out at 112 MHz. The 15" pre-retina models
shipped with 1440x900 (106 MHz) by default or 1680x1050 (119 MHz)
as a BTO option, both versions used dual channel LVDS even though
the smaller one would have fit into a single channel.
Notes:
Bug report showing that the MacBookPro8,2 with 1440x900 uses dual
channel LVDS (this lead to it being hardcoded in intel_lvds.c by
Daniel Vetter with commit
618563e3945b9d0864154bab3c607865b557cecc):
https://bugzilla.kernel.org/show_bug.cgi?id=42842
If i915.lvds_channel_mode=2 is missing even though the machine needs
it, every other vertical line is white and consequently, only the left
half of the screen is visible (verified by myself on a MacBookPro9,1).
Forum posting concerning a MacBookPro6,2 with 1440x900, author is
using i915.lvds_channel_mode=2 on the kernel command line, proving
that the machine uses dual channels:
https://bbs.archlinux.org/viewtopic.php?id=185770
Chi Mei N154C6-L04 with 1440x900 is a replacement panel for all
MacBook Pro "A1286" models, and that model number encompasses the
MacBookPro6,2 / 8,2 / 9,1. Page 17 of the panel's datasheet shows it's
driven with dual channel LVDS:
http://www.ebay.com/itm/-/
400690878560
http://www.everymac.com/ultimate-mac-lookup/?search_keywords=A1286
http://www.taopanel.com/chimei/datasheet/N154C6-L04.pdf
Those three 15" models, MacBookPro6,2 / 8,2 / 9,1, are the only ones
with i915 graphics and dual channel LVDS, so that list should be
complete. And the 8,2 is already in intel_lvds.c.
Possible motivation to use dual channel LVDS even on the 1440x900
models: Reduce the number of different parts, i.e. use identical logic
boards and display cabling on both versions and the only differing
component is the panel.
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Acked-by: Jani Nikula <jani.nikula@intel.com>
[Jani: included notes in the commit message for posterity]
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gregory CLEMENT [Tue, 14 Apr 2015 09:50:13 +0000 (11:50 +0200)]
ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
commit
750e30d4076ae5e02ad13a376e96c95a2627742c upstream.
There is no crystal connected to the internal RTC on the Open Block
AX3. So let's disable it in order to prevent the kernel probing the
driver uselessly. Eventually this patches removes the following
warning message from the boot log:
"rtc-mv
d0010300.rtc: internal RTC not ticking"
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Wahren [Tue, 14 Apr 2015 20:37:26 +0000 (20:37 +0000)]
ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
commit
0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 upstream.
The dr_mode of usb0 on imx233-olinuxino is left to default "otg".
Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the
same pin as USB_OTG_ID it's possible to disable USB host by LED toggling:
echo 0 > /sys/class/leds/green/brightness
[ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1
[ 1068.890000] usb usb1: USB disconnect, device number 1
[ 1068.920000] usb 1-1: USB disconnect, device number 2
[ 1068.920000] usb 1-1.1: USB disconnect, device number 3
[ 1069.070000] usb 1-1.2: USB disconnect, device number 4
[ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
[ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for
00000800 in 11
This patch fixes the issue by setting dr_mode to "host" in the dts file.
Reported-by: Harald Geyer <harald@ccbib.org>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Peter Chen <peter.chen@freescale.com>
Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support")
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Marek Vasut [Fri, 24 Apr 2015 11:29:47 +0000 (13:29 +0200)]
ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
commit
4ada77e37a773168fea484899201e272ab44ba8b upstream.
Fix a typo in the TX DMA interrupt name for AUART4.
This patch makes AUART4 operational again.
Signed-off-by: Marek Vasut <marex@denx.de>
Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for mxs-dma")
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Markus Pargmann [Fri, 24 Apr 2015 07:27:33 +0000 (09:27 +0200)]
ARM: dts: imx25: Add #pwm-cells to pwm4
commit
f90d3f0d0a11fa77918fd5497cb616dd2faa8431 upstream.
The property '#pwm-cells' is currently missing. It is not possible to
use pwm4 without this property.
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree")
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Johan Hovold [Tue, 21 Apr 2015 15:42:09 +0000 (17:42 +0200)]
gpio: sysfs: fix memory leaks and device hotplug
commit
483d821108791092798f5d230686868112927044 upstream.
Unregister GPIOs requested through sysfs at chip remove to avoid leaking
the associated memory and sysfs entries.
The stale sysfs entries prevented the gpio numbers from being exported
when the gpio range was later reused (e.g. at device reconnect).
This also fixes the related module-reference leak.
Note that kernfs makes sure that any on-going sysfs operations finish
before the class devices are unregistered and that further accesses
fail.
The chip exported flag is used to prevent gpiod exports during removal.
This also makes it harder to trigger, but does not fix, the related race
between gpiochip_remove and export_store, which is really a race with
gpiod_request that needs to be addressed separately.
Also note that this would prevent the crashes (e.g. NULL-dereferences)
at reconnect that affects pre-3.18 kernels, as well as use-after-free on
operations on open attribute files on pre-3.14 kernels (prior to
kernfs).
Fixes: d8f388d8dc8d ("gpio: sysfs interface")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Johan Hovold [Mon, 12 Jan 2015 16:12:29 +0000 (17:12 +0100)]
gpio: unregister gpiochip device before removing it
commit
01cca93a9491ed95992523ff7e79dd9bfcdea8e0 upstream.
Unregister gpiochip device (used to export information through sysfs)
before removing it internally. This way removal will reverse addition.
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Boris Ostrovsky [Wed, 29 Apr 2015 21:10:14 +0000 (17:10 -0400)]
xen/console: Update console event channel on resume
commit
b9d934f27c91b878c4b2e64299d6e419a4022f8d upstream.
After a resume the hypervisor/tools may change console event
channel number. We should re-query it.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Naoya Horiguchi [Tue, 5 May 2015 23:23:35 +0000 (16:23 -0700)]
mm/memory-failure: call shake_page() when error hits thp tail page
commit
09789e5de18e4e442870b2d700831f5cb802eb05 upstream.
Currently memory_failure() calls shake_page() to sweep pages out from
pcplists only when the victim page is 4kB LRU page or thp head page.
But we should do this for a thp tail page too.
Consider that a memory error hits a thp tail page whose head page is on
a pcplist when memory_failure() runs. Then, the current kernel skips
shake_pages() part, so hwpoison_user_mappings() returns without calling
split_huge_page() nor try_to_unmap() because PageLRU of the thp head is
still cleared due to the skip of shake_page().
As a result, me_huge_page() runs for the thp, which is broken behavior.
One effect is a leak of the thp. And another is to fail to isolate the
memory error, so later access to the error address causes another MCE,
which kills the processes which used the thp.
This patch fixes this problem by calling shake_page() for thp tail case.
Fixes: 385de35722c9 ("thp: allow a hwpoisoned head page to be put back to LRU")
Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Dean Nelson <dnelson@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: Jin Dongming <jin.dongming@np.css.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ryusuke Konishi [Tue, 5 May 2015 23:24:00 +0000 (16:24 -0700)]
nilfs2: fix sanity check of btree level in nilfs_btree_root_broken()
commit
d8fd150fe3935e1692bf57c66691e17409ebb9c1 upstream.
The range check for b-tree level parameter in nilfs_btree_root_broken()
is wrong; it accepts the case of "level == NILFS_BTREE_LEVEL_MAX" even
though the level is limited to values in the range of 0 to
(NILFS_BTREE_LEVEL_MAX - 1).
Since the level parameter is read from storage device and used to index
nilfs_btree_path array whose element count is NILFS_BTREE_LEVEL_MAX, it
can cause memory overrun during btree operations if the boundary value
is set to the level parameter on device.
This fixes the broken sanity check and adds a comment to clarify that
the upper bound NILFS_BTREE_LEVEL_MAX is exclusive.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Junxiao Bi [Tue, 5 May 2015 23:24:02 +0000 (16:24 -0700)]
ocfs2: dlm: fix race between purge and get lock resource
commit
b1432a2a35565f538586774a03bf277c27fc267d upstream.
There is a race window in dlm_get_lock_resource(), which may return a
lock resource which has been purged. This will cause the process to
hang forever in dlmlock() as the ast msg can't be handled due to its
lock resource not existing.
dlm_get_lock_resource {
...
spin_lock(&dlm->spinlock);
tmpres = __dlm_lookup_lockres_full(dlm, lockid, namelen, hash);
if (tmpres) {
spin_unlock(&dlm->spinlock);
>>>>>>>> race window, dlm_run_purge_list() may run and purge
the lock resource
spin_lock(&tmpres->spinlock);
...
spin_unlock(&tmpres->spinlock);
}
}
Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Joseph Qi <joseph.qi@huawei.com>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
hwg [Sun, 17 May 2015 03:54:19 +0000 (11:54 +0800)]
wifi driver rtl8188eu: solve warning in rk3368
hwg [Sun, 17 May 2015 03:53:24 +0000 (11:53 +0800)]
update bcmdhd wifi driver to 1.201.59