Commit Graph

170334 Commits

Author SHA1 Message Date
Robert Love
97f93ad8e2 ashmem for 2.6.27.
Forward port of ashmem to 2.6.27.

Signed-off-by: Robert Love <rlove@google.com>

ashmem: Don't install fault handler for private mmaps.

Ashmem is used to create named private heaps. If this heap is backed
by a tmpfs file it will allocate two pages for every page touched.
In 2.6.27, the extra page would later be freed, but 2.6.29 does not
scan anonymous pages when running without swap so the memory is not
freed while the file is referenced. This change changes the behavior
of private ashmem mmaps to match /dev/zero instead tmpfs.

Signed-off-by: Arve Hjønnevåg <arve@android.com>

ashmem: Add common prefix to name reported in /proc/pid/maps

Signed-off-by: Arve Hjønnevåg <arve@android.com>

ashmem: don't require a page aligned size

This makes ashmem more similar to shmem and mmap, by
not requiring the specified size to be page aligned,
instead rounding it internally as needed.

Signed-off-by: Marco Nelissen <marcone@android.com>
2010-02-08 15:07:23 -08:00
Robert Love
d69e8af598 Add android_aid.h
Add <linux/android_aid.h>, our mapping of AID defines to gid numbers.

Signed-off-by: Robert Love <rlove@google.com>
2010-02-08 15:07:20 -08:00
Rebecca Schultz
653d96473f pmem: Add pmem driver
Signed-off-by: Rebecca Schultz <rschultz@google.com>

pmem: Use the thread group leader insted of the current thread.

Instead of keeping track of the current thread, use the thread group leader

Signed-off-by: Rebecca Schultz <rschultz@google.com>

pmem: Add some apis to reference and flush pmem files by file struct

The api to refer to pmem files by fd should be depricated, it can
cause problems if a processes fd table changes while the kernel is processing
data in a pmem file.  This change adds the safer api.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

pmem: Remove unused depricated fd api to pmem.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

pmem: Remove error message when calling get_pmem_addr

This call is used from the mdp driver to determine if the memory
is in pmem or in the fb.  We will encounter this case during normal operation
so this error message should be removed.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

pmem: Add include sched.h to fix compile errors

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

pmem: remove HW3D_* ioctls

Signed-off-by: Dima Zavin <dima@android.com>

pmem: Expose is_pmem_file to the in-kernel users.

Signed-off-by: Dima Zavin <dima@android.com>

pmem: Make the exposed functions be noops if CONFIG_ANDROID_PMEM is not set.

Signed-off-by: Dima Zavin <dima@android.com>

misc: pmem: don't flush if file was opened with O_SYNC

Change-Id: I067218658a0d7f7ecc1fe73e9ff6b0c3b3054653
Signed-off-by: Dima Zavin <dima@android.com>
2010-02-08 15:07:12 -08:00
Mike Lockwood
310504662c switch: switch class and GPIO drivers.
switch: Export symbol switch_set_state.

Signed-off-by: Mike Lockwood <lockwood@android.com>

switch: gpio: Don't call request_irq with interrupts disabled

Signed-off-by: Arve Hjønnevåg <arve@android.com>

switch: Use device_create instead of device_create_drvdata.

device_create_drvdata is obsolete.

Signed-off-by: Arve Hjønnevåg <arve@android.com>

switch_gpio: Add missing #include <linux/interrupt.h>

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-03 21:27:14 -08:00
Arve Hjønnevåg
cd1ffe8d5d power_supply: Hold a wake_lock while power supply change notifications are pending
When connecting usb or the charger the device would often go back to sleep
before the charge led and screen turned on.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:13 -08:00
Mike Chan
f8d61c26af input: evdev: Use unique wakelock names
wakelock names are now contain evdev->name and pid

Signed-off-by: Mike Chan <mike@android.com>
2010-02-03 21:27:12 -08:00
Arve Hjønnevåg
9abcb847ea Input: Use monotonic time for event time stamps.
Since wall time can jump backwards, it cannot be used to determine if one
event occured before another or for how long a key was pressed.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:12 -08:00
Arve Hjønnevåg
a92683626c Input: Hold wake lock while event queue is not empty.
Allows userspace code to process input events while
the device appears to be asleep.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:11 -08:00
Arve Hjønnevåg
2ec68be75c ledtrig-sleep: Add led trigger for sleep debugging.
Signed-off-by: Brian Swetland <swetland@google.com>
2010-02-03 21:27:10 -08:00
Arve Hjønnevåg
65a8471259 rtc: Try to prevent RTC errors from accumulating.
When we resume we only know how many whole seconds has elapsed.
These errors would accumulate in delta. We now only set the delta
if it would change by more than two seconds. If we drift back by
by more than a second add one in resume.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:10 -08:00
Arve Hjønnevåg
d1d79061a9 rtc: alarm: Add in-kernel alarm interface
Drivers can now create alarms that will use an hrtimer while the
system is running and the rtc to wake up from suspend.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:09 -08:00
Arve Hjønnevåg
b76a757d7b rtc: Add android alarm driver. 2010-02-03 21:27:09 -08:00
Rebecca Schultz
cc2ae286f8 PM: earlysuspend: Removing dependence on console.
Rather than signaling a full update of the display from userspace via a
console switch, this patch introduces 2 files int /sys/power,
wait_for_fb_sleep and wait_for_fb_wake.  Reading these files will block
until the requested state has been entered.  When a read from
wait_for_fb_sleep returns userspace should stop drawing.  When
wait_for_fb_wake returns, it should do a full update.  If either are called
when the fb driver is already in the requested state, they will return
immediately.

Signed-off-by: Rebecca Schultz <rschultz@google.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:08 -08:00
Arve Hjønnevåg
7fc8c1c281 consoleearlysuspend: Fix for 2.6.32
vt_waitactive now needs a 1 based console number

Change-Id: I07ab9a3773c93d67c09d928c8d5494ce823ffa2e
2010-02-03 21:27:08 -08:00
Arve Hjønnevåg
849d91c2b3 PM: earlysuspend: Add console switch when user requested sleep state changes.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:07 -08:00
Arve Hjønnevåg
ddbad8da31 PM: wakelock: Don't dump unfrozen task list when aborting try_to_freeze_tasks after less than one second
Change-Id: Ib2976e5b97a5ee4ec9abd4d4443584d9257d0941
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:07 -08:00
Arve Hjønnevåg
9a4999395d PM: wakelock: Abort task freezing if a wake lock is held.
Avoids a problem where the device sometimes hangs for 20 seconds
before the screen is turned on.
2010-02-03 21:27:06 -08:00
Arve Hjønnevåg
f5c158e396 PM: Add user-space wake lock api.
This adds /sys/power/wake_lock and /sys/power/wake_unlock.
Writing a string to wake_lock creates a wake lock the
first time is sees a string and locks it. Optionally, the
string can be followed by a timeout.
To unlock the wake lock, write the same string to wake_unlock.
2010-02-03 21:27:05 -08:00
Arve Hjønnevåg
5f36bdf159 PM: Enable early suspend through /sys/power/state
If EARLYSUSPEND is enabled then writes to /sys/power/state no longer
blocks, and the kernel will try to enter the requested state every
time no wakelocks are held. Write "on" to resume normal operation.
2010-02-03 21:27:05 -08:00
Arve Hjønnevåg
74643fdcc3 PM: Implement early suspend api 2010-02-03 21:27:04 -08:00
Arve Hjønnevåg
d38f947b14 PM: wakelocks: Use seq_file for /proc/wakelocks so we can get more than 3K of stats.
Change-Id: I42ed8bea639684f7a8a95b2057516764075c6b01
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:04 -08:00
Erik Gilling
0f8a3256cb power: wakelocks: fix buffer overflow in print_wake_locks
Change-Id: Ic944e3b3d3bc53eddc6fd0963565fd072cac373c
Signed-off-by: Erik Gilling <konkers@android.com>
2010-02-03 21:27:03 -08:00
Mike Chan
368bb8b6ee power: Prevent spinlock recursion when wake_unlock() is called
Signed-off-by: Mike Chan <mike@android.com>
2010-02-03 21:27:03 -08:00
Arve Hjønnevåg
1ea6dbb506 PM: Implement wakelock api.
PM: wakelock: Replace expire work with a timer

The expire work function did not work in the normal case.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:27:02 -08:00
Arve Hjønnevåg
e86d97ab02 PM: Add early suspend api. 2010-02-03 21:27:01 -08:00
Arve Hjønnevåg
046ebf066d PM: Add wake lock api. 2010-02-03 21:27:01 -08:00
Mike Chan
9319b2654f [docs] android: Add android config documentation to boot framework.
Signed-off-by: Mike Chan <mike@android.com>
2010-02-03 21:27:00 -08:00
Brian Swetland
b08a883b6d w1: don't allow arbitrary users to remove w1 devices
The search/pullup/add/remove device attributes were 0666 which would
allow arbitrary users to affect the 1 wire bus.  Change to 0664 to
prevent that.

Signed-off-by: Brian Swetland <swetland@google.com>
2010-02-03 21:27:00 -08:00
Robert Love
196f3dc567 Make /dev/mem configurable, as we don't want it.
Signed-off-by: Brian Swetland <swetland@google.com>
2010-02-03 21:26:59 -08:00
Erik Gilling
604ad7390d sched: make task dump print all 15 chars of proc comm
Change-Id: I1a5c9676baa06c9f9b4424bbcab01b9b2fbfcd99
Signed-off-by: Erik Gilling <konkers@android.com>
2010-02-03 21:26:58 -08:00
Arve Hjønnevåg
5630369405 sched: Enable might_sleep before initializing drivers.
This allows detection of init bugs in built-in drivers.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:26:58 -08:00
Arve Hjønnevåg
207f66e23a Add build option to to set the default panic timeout. 2010-02-03 21:26:57 -08:00
Arve Hjønnevåg
3414e45fe0 [ARM] Optionally flush entire dcache from v6_dma_flush_range
If CACHE_FLUSH_RANGE_LIMIT is defined, then the entire dcache will
be flushed if the requested range is larger than this limit.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:26:57 -08:00
Arve Hjønnevåg
8d4c42afa5 futex: Restore one of the fast paths eliminated by 38d47c1b70
This improves futex performance until our user-space code is fixed to use
FUTEX_PRIVATE_FLAG for non-shared futexes.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 21:26:56 -08:00
Arve Hjønnevåg
675bed294c mm: Check if any page in a pageblock is reserved before marking it MIGRATE_RESERVE
This fixes a problem where the first pageblock got marked MIGRATE_RESERVE even
though it only had a few free pages. This in turn caused no contiguous memory
to be reserved and frequent kswapd wakeups that emptied the caches to get more
contiguous memory.
2010-02-03 20:48:14 -08:00
Arve Hjønnevåg
c177d04116 mm: Add min_free_order_shift tunable.
By default the kernel tries to keep half as much memory free at each
order as it does for one order below. This can be too agressive when
running without swap.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 20:48:13 -08:00
Brian Swetland
7725dd9abd [ARM] avoid mis-detecting some V7 cores in the decompressor
This allows kernel decompress to happen nearly instantly instead
of taking over 20 seconds.

Signed-off-by: Brian Swetland <swetland@google.com>
2010-02-03 20:48:13 -08:00
Brian Swetland
bdc8620a08 [ARM] Allow ICEDCC to work with CPU_V7 as well as CPU_V6.
The mechanism is the same -- just need to adjust some ifdefs.

Signed-off-by: Brian Swetland <swetland@google.com>
2010-02-03 20:48:12 -08:00
Arve Hjønnevåg
8084e5f64a [ARM] armv6 dcc tty driver
Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 20:48:11 -08:00
Arve Hjønnevåg
85d747b476 [ARM] Add code to prevent system calls from being restarted muliple times before returning from the kernel.
Fixes crashes with thumb syscalls.
2010-02-03 20:48:11 -08:00
Tony Lindgren
39078ee4d1 ARM: Make low-level printk work
Makes low-level printk work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-03 20:48:10 -08:00
Arve Hjønnevåg
0343090602 Revert "Staging: android: mark subsystem as broken"
This reverts commit 2cdf99ce2b.
2010-02-03 20:48:10 -08:00
Corentin Chary
3cc8af27c1 staging/android: fix build issues
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-03 20:48:09 -08:00
Arve Hjønnevåg
f1f8e7cd6f sysfs: Fix sysfs owner and group.
First call to sysfs_setattr ignored the requested owner and group.

Change-Id: I8343f818c65c54f6dbb55533cd34b31eeba5b554
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-02-03 20:48:08 -08:00
Peter Zijlstra
18ed2ed460 sched: Fix task priority bug
83f9ac removed a call to effective_prio() in wake_up_new_task(), which
leads to tasks running at MAX_PRIO.

This is caused by the idle thread being set to MAX_PRIO before forking
off init. O(1) used that to make sure idle was always preempted, CFS
uses check_preempt_curr_idle() for that so we can savely remove this bit
of legacy code.

Reported-by: Mike Galbraith <efault@gmx.de>
Tested-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1259754383.4003.610.camel@laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-02-03 20:48:07 -08:00
Greg Kroah-Hartman
b4bdd73ce8 Linux 2.6.32.7 v2.6.32.7 2010-01-28 15:06:20 -08:00
Russ Anderson
a8e96d6f81 x86, msr/cpuid: Pass the number of minors when unregistering MSR and CPUID drivers.
commit da482474b8 upstream.

Pass the number of minors when unregistering MSR and CPUID drivers.

Reported-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: Dean Nelson <dnelson@redhat.com>
LKML-Reference: <20100127023722.GA22305@sgi.com>
Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-01-28 15:03:02 -08:00
Greg Kroah-Hartman
0a1c275a44 fnctl: f_modown should call write_lock_irqsave/restore
commit b04da8bfdf upstream.

Commit 7036251180 exposed that f_modown()
should call write_lock_irqsave instead of just write_lock_irq so that
because a caller could have a spinlock held and it would not be good to
renable interrupts.

Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Tavis Ormandy <taviso@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-01-28 15:03:00 -08:00
Wey-Yi Guy
01e991b8eb iwlwifi: Fix throughput stall issue in HT mode for 5000
commit 1152dcc28c upstream

Similar to 6000 and 1000 series, RTS/CTS is the recommended protection
mechanism for 5000 series in HT mode based on the HW design.

Using RTS/CTS will better protect the inner exchange from interference,
especially in highly-congested environment, it also prevent uCode encounter
TX FIFO underrun and other HT mode related performance issues.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-01-28 15:02:56 -08:00
Len Brown
d274df694b ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
upstream in 2.6.33-rc:  5d76b6f6c1

Refreshed here for 2.6.32.y, applies w/ offset back to 2.6.29.y.

Linux has always ignored ACPI BIOS C2 with exit latency > 100 usec,
and the ACPI spec is clear that is correct FADT-supplied C2.

However, the ACPI spec explicitly states that _CST-supplied C-states
have no latency limits.

So move the 100usec C2 test out of the code shared
by FADT and _CST code-paths, and into the FADT-specific path.

This bug has not been visible until Nehalem, which advertises
a CPU-C2 worst case exit latency on servers of 205usec.
That (incorrect) figure is being used by BIOS writers
on mobile Nehalem systems for the AC configuration.
Thus, Linux ignores C2 leaving just C1, which is
saves less power, and also impacts performance
by preventing the use of turbo mode.

http://bugzilla.kernel.org/show_bug.cgi?id=15064

Tested-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-01-28 15:02:54 -08:00