Age | Commit message (Collapse) | Author |
|
Keyboard controller goes to continuous polling mode from
wakeup mode if any key is pressed and stay for hw default
to 5 second. This parameter was not configurable from odm.
It is require to configure this parameter from odm based on
platform.
Adding support for keeping this time as configurable. The default
time still be 5 second if it is not configured from odm.
Change-Id: I0fc11cc2a2d64db33b00c048f87081b6181354fa
Reviewed-on: http://git-master/r/8644
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Chun-Hung (Alex) Wu <chuwu@nvidia.com>
Tested-by: Chun-Hung (Alex) Wu <chuwu@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Made sure graphics and sdhci clocks are enabled before the respective
rate is configured.
Change-Id: I2d09ad111321b296a8d8fbb2d4bff02016e12feb
Reviewed-on: http://git-master/r/8272
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Enable PPP and USB serial driver used by huawei EM700 modem.
Bug 721467
Change-Id: Ibeedb2660b041c0d08478ecd26c3e958f775d678
Reviewed-on: http://git-master/r/8471
Reviewed-by: Rakesh Kumar <krakesh@nvidia.com>
Tested-by: Rakesh Kumar <krakesh@nvidia.com>
Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Tuned recently added (commit 98b1475bce96ad088e4105a73d34f1cf803f2ee0)
2d busy hint level to reduce NV omxplayer video-playback power.
Change-Id: Ic8f807e761e13cefed84a1fdaccb81e8c3c79535
Reviewed-on: http://git-master.nvidia.com/r/8473
Reviewed-by: Michael Frydrych <mfrydrych@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Drastic reduction of ACM timeout to 2ms (from 1sec) resulted in power
increase for NV omxplayer video-playback (bug 738557). The reason is
that short-term scheduling does not provide enough idle time for LP2
state (CPU powered down). On the other hand, 1 sec timeout prevented
core voltage scaling during Android music audio-playback (bug 735111).
Hence, tuned ACM timeout to 25ms.
(cherry picked from commit 32c727ae2c4f91e8d7c9c261921bb62ad14217c9)
Change-Id: I96c46c43e9b3089b6a7e01db5f6d122122758c90
Reviewed-on: http://git-master.nvidia.com/r/8470
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Bug 731923
Reviewed-on: http://git-master/r/7002
(cherry picked from commit b927a389930941297f987cc7967d10d319deba6b)
Change-Id: I576de9b2dfd4245f471ca26636a146ead3df021b
Reviewed-on: http://git-master.nvidia.com/r/8430
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com>
Tested-by: Andrew Wright <awright@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Added EM770 vendor and product id in usb serial driver.
Bug 721467
Change-Id: Ib64820f25b02a69c8a366b9251f9419dd4bfa786
Reviewed-on: http://git-master.nvidia.com/r/8385
Reviewed-by: Rakesh Kumar <krakesh@nvidia.com>
Tested-by: Rakesh Kumar <krakesh@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Check for pgalloc is not required.
Bug 731923
Reviewed-on: http://git-master/r/7218
(cherry picked from commit 665dba4dd0617f763815bce96dec4a14f8a0c6f6)
Change-Id: I82e701555605f4322a95a66b75ffe3f3bce2a5a6
Reviewed-on: http://git-master.nvidia.com/r/8266
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
When the memory for a handle is not allocated, and then
if the caller calls _nvmap_handle_free it should
not do the cache operations on the memory as there
is no memory allocated
Bug 731923
Reviewed-on: http://git-master.nvidia.com/r/7166
(cherry picked from commit f3824fd58e2654a0d8d3159cb1f776d3ad0169a2)
Change-Id: Icf11ece6d07e122991e0d9b6b4a3dbf8c45ea017
Reviewed-on: http://git-master.nvidia.com/r/8265
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Reviewed-on: http://git-master/r/6507
(cherry picked from commit 3708cd7a859d1ca4f3230bc8bfb018894bb6277e)
Change-Id: I1609b8b8d1f2de51f7eafa2105fb1f695903a252
Reviewed-on: http://git-master.nvidia.com/r/8262
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Code added to track i2c and gpio object types on NVRM reftracker. This can be
used to release handles whenever a system crash happens.
This can help properly shutdown and deinitialize imager peripherals.
Bug 728160
Reviewed-on: http://git-master/r/5877
(cherry picked from commit 2661d755bfb401204cacafcc5f944085c19df627)
Change-Id: Iae3d08ef0fa5ef21d1e243249caa386f2a37fc3a
Reviewed-on: http://git-master.nvidia.com/r/8261
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
Bug 731173
(cherry picked from commit 8961b22287d3f7b6ea33744905675ebd2df236a2)
Change-Id: Icc323fec5507991184b20fcb22e017d2acadd4e3
Reviewed-on: http://git-master/r/8127
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Restarted EMC digital dll after EMC clock change.
Bug 722440
Change-Id: Id8b0ea4381302eb9dec85757840587d782a7a793
Reviewed-on: http://git-master/r/8259
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
The pta pingroup is in NORMAL at POR. Tristating this pingroup at init
by default to reduce the power when enter LP0 mode
Bug 740749
Change-Id: I5ff86c3ddbeb5c608eaee9e11db462acff8ea222
Reviewed-on: http://git-master/r/8109
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
|
|
There was typo bug in the gpio-pingroup table where gpio M6
is configured for LD1 pingroup.
Correcting table entry to configure GPIO M6 to pingroup LDI.
Change-Id: I6938e3e7b28525a920c8a8c6eb59d7013c1f97d0
Reviewed-on: http://git-master/r/8182
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Martin Chi <mchi@nvidia.com>
Tested-by: Martin Chi <mchi@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Added syncpoints reset to host initialization, to synchronize h/w state
with shadow variables.
Bug 743910
Change-Id: I09420fe2fb85b0e79f0e5d11ade8515e28e96910
Reviewed-on: http://git-master/r/8038
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Andrew Howe <ahowe@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Set correct field offset in assert on CPU power request polarity
during suspend initialization.
Bug 741736
Change-Id: Ie7c6589b47b92af815151f6d95ae0acd3030c9cc
Reviewed-on: http://git-master/r/7794
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Tested-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Harry Hong <hhong@nvidia.com>
Tested-by: Harry Hong <hhong@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
KBC does not behave properly after resume from LP0 if KBC
is in continuous mode before entering into LP0.
So making sure that KBC should be in wakeup mode before
entering to LP0.
bug 740263
Change-Id: Ia882dfb034bd9ab87811855f2ac20d26fc9581d8
Reviewed-on: http://git-master/r/7756
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
USB devices are not recognised when connected to the USB port, when system is
already in LP0. Root port power is not getting enabled when resume from LP0.
By the time root hub checks for the port connection auto suspend is getting
called and device is not recognised. Fixed this by enabling the root port power
during the ehci_restart functionality.
Bug 741890
(cherry picked from commit 188bf7050751a40d6f2d6a858e2702774fc70f77)
Change-Id: Ib88ed3fc4b01719777a0e49e27434ef6425bc53d
Reviewed-on: http://git-master/r/7834
Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Incorrect address is passed to iounmap, which is causing virtual space leak.
Bug 732355
Reviewed-on: http://git-master/r/7554
(cherry picked from commit 593fc2ae6dfadff51ca45353b35dfbd3de0fcce7)
Change-Id: Id69a7b3a6e130c91d594fc0ff32b8080cf192e2c
Reviewed-on: http://git-master/r/7858
Tested-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
During resume from LP0 controller is getting restarted in host mode due to this
hcd state is getting changed from the suspend state. Controller state should not
be changed for host mode. Fixed this to restart the controller only in OTG mode.
Bug 724437
(cherry picked from commit cbea530301ae3d9a4a7271d11c819bfc8de8f892)
Change-Id: Idc2897a2790087e00ee66e30fea734c9d117029e
Reviewed-on: http://git-master/r/7833
Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
There is one wmb missing in the usb host controller driver after the queue head
update. Due to this data transaction is not happening on the bus after urb
submission by the hcd driver. Register updates/queue heads data in the memory
is not reflected on the AHB bus. After adding the wmb after queue head update
data transaction the USB bus started with out any delay.
Bug 737242
(cherry picked from commit eff18c3f40253f7af0b576126b954d8572cbea64)
Change-Id: I9f3ae6d8743a03a58034a82f4fe2850fd7278c4f
Reviewed-on: http://git-master/r/7747
Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
In kernel-2.6.32 some times softlockups are seen with cgroup file locking.
Some of the locking issues are fixed in kernel-34. Pulling the kernel-2.6.34
changes related to the cgroups and integrated with k32. With this change
soft lockups with cgroups file locking are not observed.
Bug 714293
Bug 703146
Change-Id: I8debb33d1edb34abdea3169e37a7b4f0ec302f40
cgroups: fix 2.6.32 regression causing BUG_ON() in cgroup_diput()
The LTP cgroup test suite generates a "kernel BUG at kernel/cgroup.c:790!"
here in cgroup_diput():
/*
* if we're getting rid of the cgroup, refcount should ensure
* that there are no pidlists left.
*/
BUG_ON(!list_empty(&cgrp->pidlists));
The cgroup pidlist rework in 2.6.32 generates the BUG_ON, which is caused
when pidlist_array_load() calls cgroup_pidlist_find():
(1) if a matching cgroup_pidlist is found, it down_write's the mutex of the
pre-existing cgroup_pidlist, and increments its use_count.
(2) if no matching cgroup_pidlist is found, then a new one is allocated, it
down_write's its mutex, and the use_count is set to 0.
(3) the matching, or new, cgroup_pidlist gets returned back to pidlist_array_load(),
which increments its use_count -- regardless whether new or pre-existing --
and up_write's the mutex.
So if a matching list is ever encountered by cgroup_pidlist_find() during
the life of a cgroup directory, it results in an inflated use_count value,
preventing it from ever getting released by cgroup_release_pid_array().
Then if the directory is subsequently removed, cgroup_diput() hits the
BUG_ON() when it finds that the directory's cgroup is still populated with
a pidlist.
The patch simply removes the use_count increment when a matching pidlist
is found by cgroup_pidlist_find(), because it gets bumped by the calling
pidlist_array_load() function while still protected by the list's mutex.
Signed-off-by: Dave Anderson <anderson@redhat.com>
Reviewed-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Ben Blum <bblum@andrew.cmu.edu>
Cc: Paul Menage <menage@google.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroups: fix to return errno in a failure path
In cgroup_create(), if alloc_css_id() returns failure, the errno is not
propagated to userspace, so mkdir will fail silently.
To trigger this bug, we mount blkio (or memory subsystem), and create more
then 65534 cgroups. (The number of cgroups is limited to 65535 if a
subsystem has use_id == 1)
# mount -t cgroup -o blkio xxx /mnt
# for ((i = 0; i < 65534; i++)); do mkdir /mnt/$i; done
# mkdir /mnt/65534
(should return ENOSPC)
#
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: Paul Menage <menage@google.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
sched, cgroups: Fix module export
I have exported it in d11c563 - but cgroups.c did not have module.h included ...
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1266887105-1528-6-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
cgroup: introduce cancel_attach()
Add cancel_attach() operation to struct cgroup_subsys. cancel_attach()
can be used when can_attach() operation prepares something for the subsys,
but we should rollback what can_attach() operation has prepared if attach
task fails after we've succeeded in can_attach().
Change-Id: I04a834952591179843f925e7db719df4d82a69bf
Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Reviewed-by: Paul Menage <menage@google.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroup: introduce coalesce css_get() and css_put()
Current css_get() and css_put() increment/decrement css->refcnt one by
one.
This patch add a new function __css_get(), which takes "count" as a arg
and increment the css->refcnt by "count". And this patch also add a new
arg("count") to __css_put() and change the function to decrement the
css->refcnt by "count".
These coalesce version of __css_get()/__css_put() will be used to improve
performance of memcg's moving charge feature later, where instead of
calling css_get()/css_put() repeatedly, these new functions will be used.
No change is needed for current users of css_get()/css_put().
Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Acked-by: Paul Menage <menage@google.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroups: revamp subsys array
This patch series provides the ability for cgroup subsystems to be
compiled as modules both within and outside the kernel tree. This is
mainly useful for classifiers and subsystems that hook into components
that are already modules. cls_cgroup and blkio-cgroup serve as the
example use cases for this feature.
It provides an interface cgroup_load_subsys() and cgroup_unload_subsys()
which modular subsystems can use to register and depart during runtime.
The net_cls classifier subsystem serves as the example for a subsystem
which can be converted into a module using these changes.
Patch #1 sets up the subsys[] array so its contents can be dynamic as
modules appear and (eventually) disappear. Iterations over the array are
modified to handle when subsystems are absent, and the dynamic section of
the array is protected by cgroup_mutex.
Patch #2 implements an interface for modules to load subsystems, called
cgroup_load_subsys, similar to cgroup_init_subsys, and adds a module
pointer in struct cgroup_subsys.
Patch #3 adds a mechanism for unloading modular subsystems, which includes
a more advanced rework of the rudimentary reference counting introduced in
patch 2.
Patch #4 modifies the net_cls subsystem, which already had some module
declarations, to be configurable as a module, which also serves as a
simple proof-of-concept.
Part of implementing patches 2 and 4 involved updating css pointers in
each css_set when the module appears or leaves. In doing this, it was
discovered that css_sets always remain linked to the dummy cgroup,
regardless of whether or not any subsystems are actually bound to it
(i.e., not mounted on an actual hierarchy). The subsystem loading and
unloading code therefore should keep in mind the special cases where the
added subsystem is the only one in the dummy cgroup (and therefore all
css_sets need to be linked back into it) and where the removed subsys was
the only one in the dummy cgroup (and therefore all css_sets should be
unlinked from it) - however, as all css_sets always stay attached to the
dummy cgroup anyway, these cases are ignored. Any fix that addresses this
issue should also make sure these cases are addressed in the subsystem
loading and unloading code.
This patch:
Make subsys[] able to be dynamically populated to support modular
subsystems
This patch reworks the way the subsys[] array is used so that subsystems
can register themselves after boot time, and enables the internals of
cgroups to be able to handle when subsystems are not present or may
appear/disappear.
Signed-off-by: Ben Blum <bblum@andrew.cmu.edu>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Paul Menage <menage@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroups: subsystem module loading interface
Add interface between cgroups subsystem management and module loading
This patch implements rudimentary module-loading support for cgroups -
namely, a cgroup_load_subsys (similar to cgroup_init_subsys) for use as a
module initcall, and a struct module pointer in struct cgroup_subsys.
Several functions that might be wanted by modules have had EXPORT_SYMBOL
added to them, but it's unclear exactly which functions want it and which
won't.
Signed-off-by: Ben Blum <bblum@andrew.cmu.edu>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Paul Menage <menage@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroups: subsystem module unloading
Provides support for unloading modular subsystems.
This patch adds a new function cgroup_unload_subsys which is to be used
for removing a loaded subsystem during module deletion. Reference
counting of the subsystems' modules is moved from once (at load time) to
once per attached hierarchy (in parse_cgroupfs_options and
rebind_subsystems) (i.e., 0 or 1).
Signed-off-by: Ben Blum <bblum@andrew.cmu.edu>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Paul Menage <menage@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroups: clean up cgroup_pidlist_find() a bit
Don't call get_pid_ns() before we locate/alloc the ns.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Serge Hallyn <serue@us.ibm.com>
Acked-by: Paul Menage <menage@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroup: implement eventfd-based generic API for notifications
This patchset introduces eventfd-based API for notifications in cgroups
and implements memory notifications on top of it.
It uses statistics in memory controler to track memory usage.
Output of time(1) on building kernel on tmpfs:
Root cgroup before changes:
make -j2 506.37 user 60.93s system 193% cpu 4:52.77 total
Non-root cgroup before changes:
make -j2 507.14 user 62.66s system 193% cpu 4:54.74 total
Root cgroup after changes (0 thresholds):
make -j2 507.13 user 62.20s system 193% cpu 4:53.55 total
Non-root cgroup after changes (0 thresholds):
make -j2 507.70 user 64.20s system 193% cpu 4:55.70 total
Root cgroup after changes (1 thresholds, never crossed):
make -j2 506.97 user 62.20s system 193% cpu 4:53.90 total
Non-root cgroup after changes (1 thresholds, never crossed):
make -j2 507.55 user 64.08s system 193% cpu 4:55.63 total
This patch:
Introduce the write-only file "cgroup.event_control" in every cgroup.
To register new notification handler you need:
- create an eventfd;
- open a control file to be monitored. Callbacks register_event() and
unregister_event() must be defined for the control file;
- write "<event_fd> <control_fd> <args>" to cgroup.event_control.
Interpretation of args is defined by control file implementation;
eventfd will be woken up by control file implementation or when the
cgroup is removed.
To unregister notification handler just close eventfd.
If you need notification functionality for a control file you have to
implement callbacks register_event() and unregister_event() in the
struct cftype.
[kamezawa.hiroyu@jp.fujitsu.com: Kconfig fix]
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Paul Menage <menage@google.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Cc: Dan Malek <dan@embeddedalley.com>
Cc: Vladislav Buzov <vbuzov@embeddedalley.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: Alexander Shishkin <virtuoso@slind.org>
Cc: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I73060a6a951a86a6e2b5d03d36e1777aaf4f9fe2
cgroups: fix race between userspace and kernelspace
Notify userspace about cgroup removing only after rmdir of cgroup
directory to avoid race between userspace and kernelspace.
eventfd are used to notify about two types of event:
- control file-specific, like crossing memory threshold;
- cgroup removing.
To understand what really happen, userspace can check if the cgroup still
exists. To avoid race beetween userspace and kernelspace we have to
notify userspace about cgroup removing only after rmdir of cgroup
directory.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Paul Menage <menage@google.com>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Cc: Dan Malek <dan@embeddedalley.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroups: remove duplicate include
commit e6a1105b ("cgroups: subsystem module loading interface") and commit
c50cc752 ("sched, cgroups: Fix module export") result in duplicate
including of module.h
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cgroup: Fix an RCU warning in alloc_css_id()
With CONFIG_PROVE_RCU=y, a warning can be triggered:
# mount -t cgroup -o memory xxx /mnt
# mkdir /mnt/0
...
kernel/cgroup.c:4442 invoked rcu_dereference_check() without protection!
...
This is a false-positive. It's safe to directly access parent_css->id.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
(cherry picked from commit cf6e8b67221b96d73c0a9dfb71856627ab4bd1b7)
Change-Id: Ibc9f6adcb55e37834ce030036c83b0405afc13f4
Reviewed-on: http://git-master/r/7823
Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
aplay app and dmix plugin are behaving differently with ALSA
kernel. aplay app modifies appl_ptr on every new buffer.
dmix plugin does not update appl_ptr for new buffers. To
handle these cases play_thread function is split in to three
small functions and checks are added to identify if appl_ptr
gets updated.
For Bug 741242
Change-Id: I24f621a98ba1948dd3f4ae047f7ab407ff473c7b
Reviewed-on: http://git-master/r/7751
Tested-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
When user switches on wifi, wifi driver need to poweron wifi card and
ask sdhci stack to enumerate the card. Sdhci stack does not provide any
interface to achieve this. Major wifi vendors depend on platform to
provide wifi poweron/reset/carddetect abstraction function.
Bug ID 739374
Change-Id: I988393352ff6cb54be3d70a59c94f67eedff06fb
Reviewed-on: http://git-master/r/7097
Reviewed-by: Rakesh Kumar <krakesh@nvidia.com>
Tested-by: Rakesh Kumar <krakesh@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
To enable dpd override of the kbc pins during suspend, it needs to
write into dpd override register. By mistake, it was also resetting
the other configuration bits.
Fixing this issue.
bug 739052
Change-Id: I06cf4a7252157418a4789281a79f79946d7f2bdc
Reviewed-on: http://git-master/r/7500
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Harry Hong <hhong@nvidia.com>
Tested-by: Harry Hong <hhong@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Adding this support to allow USB webcam verification on Ventana.
Bug 722146
Change-Id: Id856ca674faf9cd663fcaf1042569c9b2d733aa8
Reviewed-on: http://git-master/r/7595
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
On k32, remote wake up is enabled in the descriptor based on gadget->ops. Since,
remote wakeup is not supported, disabled gadget->op->remote_wakeup based
on USB_ANDROID.
Bug 710624
(cherry picked from commit c0340053278c9c9ceb98772cc3566d298dca4d9a)
Change-Id: I760632dd38a9f56dadfbb4d446e83f28cdb5338f
Reviewed-on: http://git-master/r/7556
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
|
|
Keep enabling the kc controller only if any of keys are configured
as wakeup source during suspend.
bug 735233
(cherry picked from commit 13825a46587b0508aa7a43054964b76524d5f2b6)
Change-Id: I028965400ee4f96c1460f8e261a2376943384030
Reviewed-on: http://git-master/r/7499
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Enabling the config variable CONFIG_I2C_CHARDEV to
enable I2C device interface from user space.
With enabling this, i2c-* device files will be found
in /dev directory. This make it possible to use the
user-space programs to use the I2C bus.
bug 723618
Change-Id: Ib0702e02638f34089ff448b5f28ba8e999544612
Reviewed-on: http://git-master/r/7423
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Expanded CPU DVFS tables to include AP25/T25 data.
Dependency on tegra core commit 7fedffa609eaa8288b2db93068a88a509f5268df
Bug 643434
Change-Id: I705e7373007aed0b524dda221f690162880fd585
Reviewed-on: http://git-master/r/7243
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Enabling the config variable ISL29018 for enabling the driver
for light sensor ISL29018.
Change-Id: I676ba2493e8d590d379f81177ce8b036dd271a4d
Reviewed-on: http://git-master/r/7196
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
During LP0 suspend host mode context is not saved and this makes atatched device
to re-enumerate after coming out of the LP0. To fix this USB context registers
are saved during LP0 suspend and restored back on LP0 resume.
Bug 721762
(cherry picked from commit c4ff3f80540e0228790ea568464b2a8078cce188)
Change-Id: I2b57abcfc6451ceccc545c648c0182a6b81dec71
Reviewed-on: http://git-master/r/7185
Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
With dmix appl_ptr is not modified i.e. it remains 0. Removed
the check using appl_ptr to avoid playback of last few buffer,
added more reasonable fix.
For Bug 734678
Change-Id: I0046541c0dece9c5f61b23430b60ac43d3c47a3b
Reviewed-on: http://git-master/r/7193
Tested-by: Manjula Gupta <magupta@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Putting in IPv6 Security related dependencies.
Bug: 690020, 690023, 687255
Change-Id: Ie8fe292eca61657e1dad816126849872bd3f9111
Reviewed-on: http://git-master/r/7132
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
enabling BT wake source to wake up the system from low
power modes.
Bug 680524, 691608
Change-Id: Icc63ab86616da302270325f9d4867834af645785
Reviewed-on: http://git-master/r/6854
Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Bluesleep driver manages the power of BT chip. now enabling the driver
in the default build of ventana.
Bug 680524, 691608
(cherry picked from commit 9e75f8c8a105bc82f280eeed4284a1bf8779b048)
Change-Id: Ied1c31a2f7f63eddf201bd7c82c116effa10deaf
Reviewed-on: http://git-master/r/6852
Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com>
Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Based on CONFIG_BT_BLUESLEEP configuration variable, a bluesleep device
will be created and used to actively manage the BT device power.
Bug 680524
Bug 691608
Change-Id: If2f470a385392ad7a94b6d69a919be55487569e9
(cherry picked from commit 011a705248274804c80c12af5366693e6662829b)
Change-Id: If2f470a385392ad7a94b6d69a919be55487569e9
Reviewed-on: http://git-master/r/6851
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
A new driver is implemented to actively manage the bluetooth module
power. bluesleep also tries to manage the power of the transport used.
Two signals (GPIOs) are used to manage the power events.
BT_WAKE : signal from HOST to BT chip to intimate BT chip can sleep.
HOST_WAKE: signal from BT chip to HOST to intimate HOST should wakeup/
activate the transport modules required for BT communication.
Bug 680524, 691608
(cherry picked from commit 111f4ccd3c4cfde2fa52ae4c0c56a2288c3af3a8)
Change-Id: I5edba2aa18c566f0ebfc4ecf9c54149ee3376666
Reviewed-on: http://git-master/r/6850
Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com>
Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com>
|
|
RIL interacing with UARTA is using the 4 line.
The correct configuration for this interface is Config6.
Currently it is config1 which is causing the issue on other
pin operation.
Fixing this issue.
bug 710711
Change-Id: I68e426de4597f87d832fb934e2cf6120e898b3de
Reviewed-on: http://git-master/r/7100
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Moving the isl29018 from hwmon to the staging/iio/light driver.
Replacing the hwmon registration with iio registration and doing
required changes to make it iio driver.
bug 728678
(cherry picked from commit 2c72f7dff2b74375b35936cd4c94a891f169009d)
Change-Id: I223d4451b62f2260cd2f9ee2ed8ba77ec8672b52
Reviewed-on: http://git-master/r/7109
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Enabled EMC DFS for Whistler E1112 board with Elpida LPDDR2.
Change-Id: Id6a09e1b96120d44af95498d9c6ef8e3e318bb0b
Reviewed-on: http://git-master/r/7044
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
The isl29018 driver have moved from hwmon to iio and so config
varaible name changed. Changing config name in board specific file.
(cherry picked from commit 50bb444f37080936d94e0c99bdcec1756d254901)
Change-Id: I6bed55c9e2bc907678e6ba927817d3f380cdb53b
Reviewed-on: http://git-master.nvidia.com/r/7110
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Following are changes:
- using smbus api to read/write from/to device.
- Adding proximitysensing with scheme 0 and 1.
- Adding ir sensing.
- Removing the undesired definition and code.
- Remove gpio initialzation and usage.
- Sysfs interface for setting range/resolution/proximity scheme.
- sysfs interface for reading lux/proximity ir and ir.
- General code cleaning.
(cherry picked from commit 0a148f035c9284cfa0e60e875052d6768267d731)
Change-Id: I0d84f534a14b85e5a6bcea3218ecd8d864c0a103
Reviewed-on: http://git-master.nvidia.com/r/7102
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Tested-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Reduced ACM timeout to 2ms (from 1sec). This is necessary to detect
host / 3D idle under frequent activity bursts.
Bug 735111
Bug 726052
(cherry picked from commit 1ff7aa46f02f61f070ae41abd8e0a36d4a4f1f3d)
Change-Id: I711286925776c2955f7c43acae0cb8b2c1763e4a
Reviewed-on: http://git-master.nvidia.com/r/7007
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Niranjan Wartikar <nwartikar@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Changed PLLC settings to increase comparison and VCO frequency for
12MHz and 26MHz reference clocks. Kept PLLC settings unchanged for
other reference clocks. Setup constant charge pump control for all
HDMI PLL configurations.
Bug 734868
Bug 719667
Change-Id: I6a34bbebc39042dbf9645cb84538eacf775eb8ff
Reviewed-on: http://git-master.nvidia.com/r/6752
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Tested-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Nvrm exposes nvrm DMA APIs to allocate and use the DMA channel
from user mode. I2S (i.e audio HAL) is the main user of these
APIs. When the process that allocates the handles doesn't free-up
and crashes, RM reftracker driver will clean up the handles its
on-behalf. Same mechanism already exists for the mmeory handles.
bug 730003
Change-Id: Iceb5c3b6d22989463d184c90e25ab06f6979b5a4
Reviewed-on: http://git-master.nvidia.com/r/7013
Tested-by: Victor (Weiguo) Pan <wpan@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
limit the number of times adb_open and adb_release may be printed
in a short period of time, to prevent adb death spirals when
exiting suspend
(cherry picked from commit 3a1e33f6715f7133ba9fe26d68342c1ff6106b20)
Change-Id: I575f38269c9a4c46a3a59ff7a06c8bda36a0c0d4
Reviewed-on: http://git-master/r/6723
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
enable rtc as a valid wake up source/event on ventana.
Bug 728544
(cherry picked from commit a93c1ee40eddaa6c2244c30f03868fb589fdf062)
Change-Id: Ib1ee0211d3a69a6dbb83f6b78ebc89863c64a499
Reviewed-on: http://git-master.nvidia.com/r/6778
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Tested-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
X direction needs to be reversed to correct orientation in portrait
mode for Whistler.
Bug 678250
Reviewed-on: http://git-master/r/6661
Tested-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
(cherry picked from commit 2406bc176b9bb86bd7b6c9e707c4e44b97d997d6)
Change-Id: I35eff83ba9cb39d49062f2fb9e01d968543b7bde
Reviewed-on: http://git-master/r/6767
|