Commit graph

21,734 commits

Author SHA1 Message Date
Erik Gilling
0fe8d7bf98 Merge branch android-tegra-2.6.36 into android-tegra-moto-2.6.36
Change-Id: Id806720fee83d7515a38dc601a7570a3da55fec3
2010-12-14 18:12:15 -08:00
Erik Gilling
8afb3d3409 Merge remote branch android-2.6.36 into android-tegra-2.6.36
Change-Id: Ice30bc601132f829abd664c68ddc61cbcdb8668c
2010-12-14 18:10:32 -08:00
Mike Lockwood
a05f03bf6e USB: gadget: composite: Use separate switches for connected and config state
Also remove disconnect debouncing, which didn't actually work on some platforms

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-14 09:24:54 -08:00
Iliyan Malchev
63727fdcba Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-12-06 18:31:10 -08:00
Iliyan Malchev
8df654ec26 Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36 2010-12-06 18:22:59 -08:00
John Michelau
10a8f4d52e usb: gadget: Multiple ACM gadget instances
- Added multiple ACM instance support in Android gadget
- Fixed multiple instance naming issue in ACM function
- Increased max instances from 4 to 8

Change-Id: I65f1b0be94da859bab7ec0ad7cd804b896c7c4c5
Signed-off-by: John Michelau <john.michelau@motorola.com>
2010-12-03 16:31:43 -08:00
makarand.karvekar
cf2439b6ab misc: add capacitive proximity calibration driver
capacitive proximity(cap-prox) calibration scheme to rule out
proximity detection due to some light conductive surfaces as device
covers and table-top.

Change-Id: I64d566a168befb82a610de6094044eeca294c6c4
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
2010-12-01 21:00:16 -08:00
Colin Cross
fded4ab27f Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-12-01 18:27:33 -08:00
Colin Cross
0a11e95053 Merge branch 'android-2.6.36' into android-tegra-2.6.36 2010-12-01 18:27:19 -08:00
Mike Chan
5316236c8d cpufreq: interactive: New 'interactive' governor
This governor is designed for latency-sensitive workloads, such as
interactive user interfaces.  The interactive governor aims to be
significantly more responsive to ramp CPU quickly up when CPU-intensive
activity begins.

Existing governors sample CPU load at a particular rate, typically
every X ms.  This can lead to under-powering UI threads for the period of
time during which the user begins interacting with a previously-idle system
until the next sample period happens.

The 'interactive' governor uses a different approach. Instead of sampling
the CPU at a specified rate, the governor will check whether to scale the
CPU frequency up soon after coming out of idle.  When the CPU comes out of
idle, a timer is configured to fire within 1-2 ticks.  If the CPU is very
busy from exiting idle to when the timer fires then we assume the CPU is
underpowered and ramp to MAX speed.

If the CPU was not sufficiently busy to immediately ramp to MAX speed, then
the governor evaluates the CPU load since the last speed adjustment,
choosing the highest value between that longer-term load or the short-term
load since idle exit to determine the CPU speed to ramp to.

A realtime thread is used for scaling up, giving the remaining tasks the
CPU performance benefit, unlike existing governors which are more likely to
schedule rampup work to occur after your performance starved tasks have
completed.

The tuneables for this governor are:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:
	The minimum amount of time to spend at the current frequency before
	ramping down. This is to ensure that the governor has seen enough
	historic CPU load data to determine the appropriate workload.
	Default is 80000 uS.
/sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
	The CPU load at which to ramp to max speed.  Default is 85.

Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585
Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Bug: 3152864
2010-12-01 15:10:04 -08:00
Praveen Bharathi
88f695fd31 leds: als: improve ALS reporting accuracy
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
2010-11-30 16:25:27 -08:00
Iliyan Malchev
6c3960a399 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-11-22 16:44:56 -08:00
Iliyan Malchev
b4d50aa63c Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Conflicts:
	arch/arm/mach-tegra/tegra_i2s_audio.c

Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-22 16:07:44 -08:00
Chris Fries
230015ed6a [ARM] tegra: i2s: Continuous DMA support
- Refactor DMA interactions to handle continuous single-buffered DMA
- Remove PIO support (obsolete, conflicts with new buffer management)
- Remove sample rate conversion (obsolete)
- Remove error-reporting logic
- Remove TEGRA_AUDIO_IN/OUT_GET/SET_BUF_CONFIG
- Add TEGRA_AUDIO_IN/OUT_GET/SET_NUM_BUFS

Change-Id: I8f21a0bb314aac3b7d1bb4918bda9141e58db38d
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-22 15:41:10 -08:00
Greg Meiste
b0ec3b13a0 misc: Initial NCT1008 driver
Initial version of the NCT1008 driver to turn off the sensor when the
device is suspended.  This improves standby current drain.

Change-Id: Ia64613c33c0052434d5e304c434605611e5ef789
Signed-off-by: Greg Meiste <w30289@motorola.com>
2010-11-19 20:21:28 -08:00
Rebecca Schultz Zavin
44a883b43a Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-11-17 13:22:58 -08:00
Rebecca Schultz Zavin
71cf8afb3c Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36 2010-11-17 13:20:43 -08:00
Mike Lockwood
3482be62e4 USB: gadget: f_mtp: Support for file transfer length greater than 4 gigabytes
For backward compatibility with PTP, MTP is limited to a 32-bit file size.
When transferring files greater than 4 gig, MTP uses 0xFFFFFFFF as the file size
and the receiver reads until it receives a short packet.

Expanded size of mtp_file_range.length to 64 bits and added support for
writing zero length packets.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-17 09:29:20 -05:00
Colin Cross
82d0935279 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
	drivers/mmc/host/sdhci-tegra.c

Change-Id: Id44ce43b0c17f1f3e917b8c7ebfd213790e8e0e1
2010-11-09 15:50:14 -08:00
Colin Cross
1b7aeb9825 Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36 2010-11-09 15:49:46 -08:00
Erik Gilling
15e220587f video: add short video mode decode to fbmon
Change-Id: Ida529e096688c231029628d3d16d6f8569bfe2c9
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09 13:54:42 -08:00
Dima Zavin
156efc3e2d Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
	arch/arm/mach-tegra/devices.h
	arch/arm/mach-tegra/include/mach/iomap.h

Change-Id: I4c37389a3ac359b274bf4b45d7a1fb8cfae8c1f9
2010-11-08 00:04:30 -08:00
Dima Zavin
5d47678687 Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36 2010-11-07 23:55:59 -08:00
Dima Zavin
20e830c908 media: video: tegra: add support for the AVP media offload engine
Change-Id: Ia72e022ad1217ffe75915465ca0e886b16d1a64a
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 23:34:45 -08:00
Dima Zavin
44729054a5 media: video: tegra: Add Tegra RPC support for tegra multimedia framework
Change-Id: I9233c5d7c678f6a9ba1c23af686137bf4d6a4291
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 22:37:40 -08:00
makarand.karvekar
56b5fe87c2 qtouch: suspend/resume touch uC via wake-line
wake-line gpio high puts touch uC in low-power mode.
fixed inconsistent irq disable in suspend when irq_enable
is skipped due to i2c failure.

Change-Id: I6a9fe011abdffad599da0b2897f3a976db10fff5
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
2010-11-05 15:11:49 -07:00
Praveen Bharathi
a5ee9f2338 [ARM] mfd: cpcap-audio: add support for basic analog dock
The audio will now be routed to dock accesory when an accesory connected to
dock is detected.

Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-03 14:12:00 -07:00
Dima Zavin
01c2254a40 Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
	drivers/media/video/tegra/Kconfig
	drivers/media/video/tegra/Makefile
2010-11-02 16:30:03 -07:00
Colin Cross
3e759e2c91 Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36 2010-11-02 16:21:11 -07:00
Colin Cross
02039465df Merge branch 'android-2.6.36' into android-tegra-2.6.36 2010-11-02 16:21:00 -07:00
Ravindra Lokhande
53bb435d8d [ARM] tegra: driver for spdif audio
Creates /dev/spdif_out and /dev/spdif_out_ctl for playback and control
settings.  Playback is working.

Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-02 14:10:42 -07:00
Theodore Ts'o
ff23269fde ext4: fix kernel oops if the journal superblock has a non-zero j_errno
Commit 84061e0 fixed an accounting bug only to introduce the
possibility of a kernel OOPS if the journal has a non-zero j_errno
field indicating that the file system had detected a fs inconsistency.
After the journal replay, if the journal superblock indicates that the
file system has an error, this indication is transfered to the file
system and then ext4_commit_super() is called to write this to the
disk.

But since the percpu counters are now initialized after the journal
replay, the call to ext4_commit_super() will cause a kernel oops since
it needs to use the percpu counters the ext4 superblock structure.

The fix is to skip setting the ext4 free block and free inode fields
if the percpu counter has not been set.

Thanks to Ken Sumrall for reporting and analyzing the root causes of
this bug.

Addresses-Google-Bug: #3054080

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2010-10-29 18:23:44 -07:00
Dima Zavin
5ff1b9cdb1 Merge commit 'v2.6.36' into android-2.6.36 2010-10-21 15:00:17 -07:00
Colin Cross
e97de0161a Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-10-21 14:52:49 -07:00
Colin Cross
677151f967 Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36 2010-10-21 14:52:03 -07:00
Colin Cross
766197150f Merge commit 'v2.6.36' into linux-tegra-2.6.36 2010-10-21 14:48:14 -07:00
Colin Cross
c7f66ad4fa Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-10-15 18:29:44 -07:00
Eric Paris
79b5dc0c64 types.h: define __aligned_u64 and expose to userspace
We currently have a kernel internal type called aligned_u64 which aligns
__u64's on 8 bytes boundaries even on systems which would normally align
them on 4 byte boundaries.  This patch creates a new type __aligned_u64
which does the same thing but which is exposed to userspace rather than
being kernel internal.

[akpm: merge early as both the net and audit trees want this]

[akpm@linux-foundation.org: enhance the comment describing the reasons for using aligned_u64.  Via Andreas and Andi.]
Based-on-patch-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Eric Paris <eparis@redhat.com>
Cc: Jan Engelhardt <jengelh@medozas.de>
Cc: David Miller <davem@davemloft.net>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-10-15 14:42:24 -07:00
Chris Fries
b6c6d40578 [ARM] mfd: cpcap-audio: fix typos.
Change-Id: Ic825d2765d6e1c879e4278e2c0212ddf9bf5959f
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-10-15 13:39:59 -07:00
Colin Cross
9ab3d8b9fc Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36 2010-10-15 12:04:05 -07:00
Colin Cross
89c37cce1c Merge commit 'v2.6.36-rc8' into linux-tegra-2.6.36 2010-10-15 12:03:22 -07:00
Colin Cross
bedd07edd3 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
	arch/arm/mach-tegra/tegra_i2s_audio.c

Change-Id: I9e2892c49d97c63de3a8e5797d6d9a123ae2d161
2010-10-14 17:19:09 -07:00
Colin Cross
5cb18262c7 Merge branch 'android-2.6.36' into android-tegra-2.6.36 2010-10-14 16:22:55 -07:00
Colin Cross
40ab482b69 Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36 2010-10-14 16:22:51 -07:00
Dmitry Shmidt
a463843644 mmc: Fix pm_notifier obeying deferred resume
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2010-10-14 15:20:21 -07:00
Linus Torvalds
3aa0ce825a Un-inline the core-dump helper functions
Tony Luck reports that the addition of the access_ok() check in commit
0eead9ab41 ("Don't dump task struct in a.out core-dumps") broke the
ia64 compile due to missing the necessary header file includes.

Rather than add yet another include (<asm/unistd.h>) to make everything
happy, just uninline the silly core dump helper functions and move the
bodies to fs/exec.c where they make a lot more sense.

dump_seek() in particular was too big to be an inline function anyway,
and none of them are in any way performance-critical.  And we really
don't need to mess up our include file headers more than they already
are.

Reported-and-tested-by: Tony Luck <tony.luck@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-10-14 14:32:06 -07:00
Linus Torvalds
0eead9ab41 Don't dump task struct in a.out core-dumps
akiphie points out that a.out core-dumps have that odd task struct
dumping that was never used and was never really a good idea (it goes
back into the mists of history, probably the original core-dumping
code).  Just remove it.

Also do the access_ok() check on dump_write().  It probably doesn't
matter (since normal filesystems all seem to do it anyway), but he
points out that it's normally done by the VFS layer, so ...

[ I suspect that we should possibly do "vfs_write()" instead of
  calling ->write directly.  That also does the whole fsnotify and write
  statistics thing, which may or may not be a good idea. ]

And just to be anal, do this all for the x86-64 32-bit a.out emulation
code too, even though it's not enabled (and won't currently even
compile)

Reported-by: akiphie <akiphie@lavabit.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-10-14 10:57:40 -07:00
Iliyan Malchev
ce3ae8e74b [ARM] tegra_i2s_audio: fixes
-- Ignore kfifo thresholds on recording and playback and adjust the delays.
-- Take out the code from TEGRA_AUDIO_IN_STOP into a separate function
   stop_recording_nosync()
-- Rename stop_recording() to wait_for_recording_to_stop().
-- add ioctl(TEGRA_AUDIO_OUT_FLUSH), which blocks the caller until the output
   fifo is drained.  While the caller is blocked, pending write() calls will
   return immediately with whatever data they had managed to queue up.
-- removed ioctl(TEGRA_AUDIO_OUT_PRELOAD_FIFO)
-- since TEGRA_AUDIO_OUT_FLUSH and TEGRA_AUDIO_IN_STOP act similarly, moved
   audio_driver_state::recording_cancelled to audio_stream::stop and changed
   the code accordingly.  Renamed functions wait_for_recording_to_stop() and
   stop_recording_nosync() to wait_till_stopped() and request_stop_nosync()
   since they handle both playback and recording.
-- print errors on close() if wakelocks are still held
-- Call request_stop_nosync() on close() of a recording file handle
-- Do not use struct audio_stream::active for playback streams.  Instead,
   where applicable, use kfifo_len().  As a consequence, playback kfifo
   underruns are no longer reported.  These were bogus anyway, as we really
   need the DMA engine to tell us if there are underruns.
-- Because of above item, had to rework tx_fifo_atn_store(),
   rx_fifo_atn_store(), and __attr_fifo_atn_write().
-- Set struct audio_stream::active for a recording stream to true when a
   recording starts, and set it to false when recording get stopped.  Do not
   set/clear it within the body of read(), because just being within read()
   does not mean that recording is in progress.
-- In tegra_audio_read(), check for stop == true before calling
   start_recording_if_necessary(); this makes sure that if a user calls read()
   after calling ioctl(TEGRA_AUDIO_IN_STOP), recording will not resume unless
   ioctl(TEGRA_AUDIO_IN_START) gets called, or the file is closed and
   re-opened.
-- Fixed TEGRA_AUDIO_IN_START
-- In PIO mode, enabled FIFOs before enabling interrupts as specified in the
   TRM.
-- Added missing break in tegra_audio_ioctl().
-- Silenced some debug spew

Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-10-13 19:15:43 -07:00
Eric Paris
7c5347733d fanotify: disable fanotify syscalls
This patch disables the fanotify syscalls by just not building them and
letting the cond_syscall() statements in kernel/sys_ni.c redirect them
to sys_ni_syscall().

It was pointed out by Tvrtko Ursulin that the fanotify interface did not
include an explicit prioritization between groups.  This is necessary
for fanotify to be usable for hierarchical storage management software,
as they must get first access to the file, before inotify-like notifiers
see the file.

This feature can be added in an ABI compatible way in the next release
(by using a number of bits in the flags field to carry the info) but it
was suggested by Alan that maybe we should just hold off and do it in
the next cycle, likely with an (new) explicit argument to the syscall.
I don't like this approach best as I know people are already starting to
use the current interface, but Alan is all wise and noone on list backed
me up with just using what we have.  I feel this is needlessly ripping
the rug out from under people at the last minute, but if others think it
needs to be a new argument it might be the best way forward.

Three choices:
Go with what we got (and implement the new feature next cycle).  Add a
new field right now (and implement the new feature next cycle).  Wait
till next cycle to release the ABI (and implement the new feature next
cycle).  This is number 3.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-10-11 18:15:28 -07:00
Rebecca Schultz Zavin
639eb4e282 Merge commit 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-10-08 16:07:01 -07:00