John Kramer [Tue, 11 Jan 2011 16:43:59 +0000 (10:43 -0600)]
leds: lm3559: Fix overexposed images when flash is used
Change-Id: Ie353c61644e07d22448331961f16b06721f8ac77
Signed-off-by: John Kramer <john.kramer@motorola.com>
makarand.karvekar [Wed, 5 Jan 2011 20:47:54 +0000 (14:47 -0600)]
[ARM]: tegra: stingray: update accelerometer and gyro config data
accelerometer:
range set to 2G
initial ODR at 100Hz
Gryo:
2000dps max
ODR at 800Hz.
Change-Id: Ic220f847f43a29ecf6c064fbe0537c6922555781
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
makarand.karvekar [Fri, 7 Jan 2011 16:39:34 +0000 (10:39 -0600)]
misc: l3g4200d: update gyro register set and general cleanup
Change-Id: I17c2384842e1528c4dbdedb094e79de3c44ac5ee
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
makarand.karvekar [Wed, 5 Jan 2011 20:32:59 +0000 (14:32 -0600)]
misc: akm8975: report magnetometer data as EV_REL event
Change-Id: I134d0162b6725801157786329c2058cf4516e93b
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
makarand.karvekar [Fri, 7 Jan 2011 16:28:06 +0000 (10:28 -0600)]
misc: kxtf9: report accelerometer data as EV_REL events
reports EV_REL type events for continuous data.
updated ODR table.
Change-Id: I0da2ac63a25816641207f748d9f477fc16779b2c
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
makarand.karvekar [Thu, 13 Jan 2011 19:49:02 +0000 (13:49 -0600)]
input: touchscreen: qtouch: update palm suppression cfg params
Change-Id: I74d99c06ee8b73a2ed59cbfe5264f2f7370c4e48
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Chris Fries [Wed, 12 Jan 2011 22:35:43 +0000 (16:35 -0600)]
[ARM] mfd: cpcap: Audio capture pop reduction
Fix mic pop reduction to account for CPCAP mic bias.
Change-Id: Iff8a606520b06ffca91e3a07fc4a2e0b5b23b8d7
Greg Meiste [Fri, 14 Jan 2011 15:24:31 +0000 (09:24 -0600)]
[ARM] tegra: fuse: Fix copy_to_user typo
Correct order of parameters to copy_to_user.
Submitted on behalf of Eyob Tesfu <eyob.tesfu@motorola.com>
Change-Id: Ic7b3862e663672179584fc80c1994a6a0918904a
Signed-off-by: Greg Meiste <w30289@motorola.com>
Benoit Goby [Fri, 14 Jan 2011 00:30:19 +0000 (16:30 -0800)]
Revert "mdm6600: Resume modem synchronously"
Seeing usb errors on resume from lp0:
"hub 2-0:1.0: activate --> -22"
"usb 2-1: device not accepting address 2, error -22"
This reverts commit
dda0b352a7dac2c7eb188ffe2091bd509ce3853b.
Change-Id: Ibd6a0455e6aa77ccb4e9111f0248cec530f6dd15
Colin Cross [Thu, 13 Jan 2011 04:21:55 +0000 (20:21 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Thu, 13 Jan 2011 04:21:22 +0000 (20:21 -0800)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36
Dmitry Shmidt [Thu, 13 Jan 2011 04:12:26 +0000 (20:12 -0800)]
net: wireless: bcm4329: Turn off CONFIG_US_NON_DFS_CHANNELS_ONLY
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Benoit Goby [Wed, 12 Jan 2011 23:38:24 +0000 (15:38 -0800)]
mdm6600: Resume modem synchronously
If runtime pm auto-resumes the modem while the modem is being
disconnected, runtime pm might use the modem power spinlock after free.
Resumes the modem synchronously and make sure there are no pending
wakeup requests before disconnect returns.
Change-Id: Ie5fbbe819324018564502245a53e4fb5a663adb3
Signed-off-by: Benoit Goby <benoit@android.com>
Rebecca Schultz Zavin [Thu, 13 Jan 2011 01:51:34 +0000 (17:51 -0800)]
Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36
Rebecca Schultz Zavin [Thu, 13 Jan 2011 01:47:11 +0000 (17:47 -0800)]
Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36
Rebecca Schultz Zavin [Thu, 13 Jan 2011 01:46:58 +0000 (17:46 -0800)]
Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36
Rebecca Schultz Zavin [Thu, 13 Jan 2011 00:22:36 +0000 (16:22 -0800)]
video: tegra: nvmap: Several fixes to the carveout killer
-Modify the carveout killer to only kill tasks with lower priorities
than the one that's trying to allocate
-After delivering a sigkill to a task, wait for something to exit and
cleanup before retrying the allocation
Change-Id: If62b6ed008a73fc3c347ff26735a83eee284909e
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Sergey Kudakov [Thu, 21 Oct 2010 22:55:50 +0000 (17:55 -0500)]
video: tegra: reset default window in release
Change-Id: I242e9fac525472c5c20f213a6de516f95b2f6a12
Cc: Sergey Kudakov <sergey.kudakov@motorola.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Dmitry Shmidt [Thu, 13 Jan 2011 00:22:14 +0000 (16:22 -0800)]
net: wireless: bcm4329: Update to version 4.218.248-20
- Use US/69 locale for US
- Remove dhdsdio_mem_dump() function
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Ken Sumrall [Wed, 12 Jan 2011 23:58:37 +0000 (15:58 -0800)]
crypto: tegra-aes: Hack to disable HW AES for dm-crypt
The hardware aes engine is required for key management for
HDCP, but since it's performance is bad, we don't want it
enabled for dm-crypt. This hack changes the cra_name field
so dm-crypt won't find a match, but leaves the cra_driver_name
field unchanged to the device file interface will still find it.
Signed-off-by: Ken Sumrall <ksumrall@android.com>
Varun Wadekar [Wed, 12 Jan 2011 20:59:14 +0000 (02:29 +0530)]
crypto: tegra-aes: improve encrypt/decrypt performance
- enable/disable clocks only once per request
- create a thread for handling the driver's work queue
- always set vde clocks to the max before processing a request
Change-Id: I935e5523e9e913c93705cc694f8a475d212c15ce
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Colin Cross [Wed, 12 Jan 2011 20:03:05 +0000 (12:03 -0800)]
leds: cpcap: Convert to global non-reentrant workqueue
schedule_work puts work items into a global workqueue that is
not single threaded. If the work item is running when a
second schedule_work is called, the second one could be
immediately scheduled onto the second cpu while the first
one is running, breaking the synchronization expected in
cpcap_brightness_work.
Fix by converting schedule_work to queue_work(system_nrt_wq),
which puts the work on a global single-threaded workqueue.
Change-Id: Ieba89e0353b86f11350cb37552afbce5abe87088
Signed-off-by: Colin Cross <ccross@android.com>
Rebecca Schultz Zavin [Wed, 12 Jan 2011 19:39:11 +0000 (11:39 -0800)]
Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36
Rebecca Schultz Zavin [Wed, 12 Jan 2011 19:38:21 +0000 (11:38 -0800)]
Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36
Rebecca Schultz Zavin [Wed, 12 Jan 2011 19:10:34 +0000 (11:10 -0800)]
video: tegra: nvmap: Don't store task struct for kernel threads
No need to maintain a reference to the task struct if the client
is a kernel thread. In this case just set the task to NULL.
Change-Id: Ica4785388932f6b298eeb0da04b78b0e1cdc3a44
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Varun Wadekar [Tue, 11 Jan 2011 08:33:54 +0000 (14:03 +0530)]
crypto: tegra-aes: call INIT_COMPLETION before setting the transfer
Change-Id: I368a9bf8aa1c311532e54d18a813b556576b8da1
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Varun Wadekar [Fri, 7 Jan 2011 13:02:00 +0000 (18:32 +0530)]
crypto: tegra-aes: do not reset bsev/vde per operation
avp does not use the crypto engine inside the vde block,
so it is ok if we do not reset the entire block before
any crypto operation. this would save more than 100us per crypto
operation.
Change-Id: I4e6f4940c5b6e95498b6f7a62498fbf956e25254
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Colin Cross [Wed, 12 Jan 2011 08:04:17 +0000 (00:04 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Wed, 12 Jan 2011 08:04:01 +0000 (00:04 -0800)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Eric Laurent [Wed, 12 Jan 2011 03:39:58 +0000 (19:39 -0800)]
[ARM] tegra_i2s_audio: fixed several issues
- Acquire the DMA request spinlock in dma_tx_complete_callback()
(this was omitted)
- allow_suspend() was called by mistake in start_recording_if_necessary()
every time it was executed which could cause the wake lock to be
released during audio capture.
Signed-off-by: Eric Laurent <elaurent@google.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Chris Fries [Tue, 11 Jan 2011 05:01:57 +0000 (23:01 -0600)]
[ARM] mfd: cpcap-audio: CPCAP CODEC Capture pop
There appears to be a warm-up time for the CODEC to stabilize of
25 milliseconds (by measurement). Avoid noise at the start of
audio capture by holding off the CODEC enable for this duration.
Change-Id: I078af9272875cb77388fbbbd2796c4ba69301cb4
Signed-off-by: Iliyan Malchev <malchev@google.com>
Chris Fries [Tue, 11 Jan 2011 23:10:01 +0000 (17:10 -0600)]
[ARM] mfd: cpcap-audio: Deadlock in audio capture after LP0
LP0 was clearing out the DAC/DAP configuration registers.
Currently the CPCAP audio driver owns their configuration at
runtime, so fix the port config during system resume.
Change-Id: Ib7f26085d55a9184649b79ec8f647830d135489b
Signed-off-by: Iliyan Malchev <malchev@google.com>
Eric Laurent [Mon, 10 Jan 2011 18:48:19 +0000 (10:48 -0800)]
[ARM] mfd: cpcap-audio: fixed mic inversion.
There was an inversion between built-in mic and headset mic
in cpcap_audio_ctl_ioctl() which made that the wrong mic was
activated when exiting standby.
Signed-off-by: Eric Laurent <elaurent@google.com>
Colin Cross [Wed, 12 Jan 2011 01:48:42 +0000 (17:48 -0800)]
Revert "ARM: tegra: stingray: Disable panic on softlockup for debugging"
This reverts commit
05b22a4f5420263e66c330ad7d58da1c598b5334.
Colin Cross [Wed, 12 Jan 2011 00:59:55 +0000 (16:59 -0800)]
ARM: tegra: clock: Round frequency up in clock dividers
When picking clock divider values, the clock framework picks
the closest frequency that is lower than the requested
frequency. If the value from a clock divider rounds down,
and then the new rounded down frequency is requested, it
will get rounded down again, resulting in a frequency two
steps lower than the original requested frequency.
Fix the problem by rounding up when calculating the frequency
coming out of a clock divider, so if that frequency is
requested again, the same divider value will be picked.
Change-Id: Ieaf74448f67d91aeb7ba08226e48c092d8afaa2b
Signed-off-by: Colin Cross <ccross@android.com>
Rebecca Schultz Zavin [Tue, 11 Jan 2011 23:40:50 +0000 (15:40 -0800)]
ARM: tegra: stingray: Add watchdog timer to stingray board file
Change-Id: Ia20586b42fb95601e45e4fbb9623b8e3b0db6b86
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Rebecca Schultz Zavin [Tue, 11 Jan 2011 23:41:58 +0000 (15:41 -0800)]
ARM: configs: Add watchdog to stingray defconfig
Change-Id: I909c61b9068c5ba53832fff1712e157e04d21163
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Rebecca Schultz Zavin [Wed, 12 Jan 2011 00:43:37 +0000 (16:43 -0800)]
Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36
Rebecca Schultz Zavin [Wed, 12 Jan 2011 00:42:30 +0000 (16:42 -0800)]
Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36
Erik Gilling [Wed, 12 Jan 2011 00:32:20 +0000 (16:32 -0800)]
video: tegra: work around overlay corruption on underflows
Overlays can get their internal state corrupted during and underflow
condition. The only way to fix this state is to reset the DC. If we get
4 consecutive frames with underflows, assume we're hosed and reset.
Change-Id: Icdf61517837c8570b8de35f585075de08aa35fe7
Signed-off-by: Erik Gilling <konkers@android.com>
Cc: Michael I. Gold <gold@nvidia.com>
Rebecca Schultz Zavin [Tue, 11 Jan 2011 23:35:47 +0000 (15:35 -0800)]
watchdog: tegra_wdt: Several changes to watchdog driver
Add a config option to enable the watchdog driver from probe
Reduce the default timeout to 30 seconds
Read the reset reason and print a messge if the last reboot was
due to watchdog reset
Change-Id: I7500ef236089b06ffcff3d8e7d86a5b9060b59cb
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
makarand.karvekar [Tue, 11 Jan 2011 22:33:33 +0000 (16:33 -0600)]
tegra: enable filters in backlight controller
updated hysteresis and enabled slope, advanced slope
to smooth brightness transitions.
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Colin Cross [Tue, 11 Jan 2011 20:15:01 +0000 (12:15 -0800)]
ARM: tegra: clock: Save and restore audio clock during suspend
Change-Id: Id1c7a6c8e8679995ad462f17309c2f3550c00da1
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Tue, 11 Jan 2011 03:09:49 +0000 (19:09 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Tue, 11 Jan 2011 03:09:22 +0000 (19:09 -0800)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Colin Cross [Tue, 11 Jan 2011 02:39:43 +0000 (18:39 -0800)]
ARM: tegra: clock: Save and restore plld, plls, and pllu in suspend
HDMI was not working after LP0 because the plld were being reset
during suspend. plls and pllu were also not being saved. Add
all three to tegra_clk_suspend.
The lock time for plld is 1000 us, so increase the delay after
setting the PLLs.
Add a BUG_ON to ensure the size of the suspend context area is
correct.
Originally fixed by Mayuresh Kulkarni.
Original-author: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Change-Id: I50a3e994c6e3cab5989aa7a8e26e7a2eb66b6dfb
Signed-off-by: Colin Cross <ccross@android.com>
Rebecca Schultz Zavin [Tue, 11 Jan 2011 01:34:51 +0000 (17:34 -0800)]
ARM: configs: Add NVMAP_CARVEOUT_KILLER to stingray_defconfig
Change-Id: I745308dd74d45d10bc11dd1f46a0462fa7984ab1
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Greg Meiste [Tue, 11 Jan 2011 00:44:03 +0000 (18:44 -0600)]
firmware: cpcap: Improvements to reset procedures
1) Fix an issue where soft resets would only occur every other
boot.
2) On a soft reset, put the CPCAP back into hard reset mode. This
allows the user to issue a second reset command to get a hard
reset. (Of course, when the kernel re-loads, CPCAP will be
put back into soft reset mode.)
Change-Id: Icc46a14fa795971acc4d6de60e4d2db749ab489c
Signed-off-by: Greg Meiste <w30289@motorola.com>
Colin Cross [Tue, 11 Jan 2011 01:19:05 +0000 (17:19 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Tue, 11 Jan 2011 01:18:52 +0000 (17:18 -0800)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36
Colin Cross [Tue, 11 Jan 2011 01:18:42 +0000 (17:18 -0800)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Simon Wilson [Sat, 8 Jan 2011 02:46:34 +0000 (18:46 -0800)]
cgroup: leave cg_list valid upon cgroup_exit
A thread/process in cgroup_attach_task() could have called
list_del(&tsk->cg_list) after cgroup_exit() had already called
list_del() on the same list. Since it only checked for
!list_empty(&tsk->cg_list) before doing this, the list_del()
call would thus be made twice.
The solution is to leave tsk->cg_list in a valid state in
cgroup_exit() with list_del_init(&tsk->cg_list), which leaves
an empty list.
Change-Id: I4e7c1d0665fced629f5ca033c18dd98afe080e0c
Signed-off-by: Simon Wilson <simonwilson@google.com>
Arve Hjønnevåg [Sat, 8 Jan 2011 03:00:01 +0000 (19:00 -0800)]
rtc: alarm: Update hrtimer if alarm at the head of the queue is reprogrammed
If an alarm was restarted with a value that moved it away from the head
of a queue, the hrtimer would not be updated. This would cause unnecessary
wakeups.
Change-Id: If379f8dd92b0bdb3173bd8d057adfe0dc1d15259
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Greg Meiste [Tue, 4 Jan 2011 20:51:46 +0000 (14:51 -0600)]
[ARM] tegra: Add ioctls to tegra2_fuse driver
Exposing the fuse API to userspace for factory.
Submitted on behalf of Eyob Tesfu <eyob.tesfu@motorola.com>
Change-Id: Ib2a03c49bde7990d89165db24db41f1ea832a5b7
Signed-off-by: Greg Meiste <w30289@motorola.com>
Benoit Goby [Mon, 10 Jan 2011 22:58:00 +0000 (14:58 -0800)]
ARM: tegra: Fix powergate_debugfs_init return value
Change-Id: Iff865e0f74e1667aa6e998a63d33d3b4cd09694c
Signed-off-by: Benoit Goby <benoit@android.com>
James Wylder [Mon, 10 Jan 2011 21:23:26 +0000 (15:23 -0600)]
mdm6600_ctrl: Hold down pwron pin until acknowledged by modem
This ensures that the modem powers down correctly and is
part of the fix required to ensure that the BP powers up
correctly after reflash / over the air update.
Change-Id: Ied6a1fe2213127c944547ac2ed86abaf0eb63bd2
Signed-off-by: James Wylder <james.wylder@motorola.com>
makarand.karvekar [Fri, 7 Jan 2011 16:55:05 +0000 (10:55 -0600)]
inpus: touchscreen: qtouch: Fix permissions on device attributes
Change-Id: I7aa9004ee42375e0bd7cf4d79cc0ef4580918e70
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Rebecca Schultz Zavin [Fri, 3 Dec 2010 23:43:33 +0000 (15:43 -0800)]
video: tegra: nvmap: Add carveout killer
This change attempts to reclaim carveout memory by killing
other carveout users when an allocation fails. Processes
are killed in order of priority from lowest to highest, and then
from largest to smallest users.
Change-Id: Iee8a6f36269bc8165d691000a153dbf9f4337775
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Colin Cross [Mon, 10 Jan 2011 03:20:26 +0000 (19:20 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Mon, 10 Jan 2011 03:20:14 +0000 (19:20 -0800)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Stephen Warren [Wed, 5 Jan 2011 00:47:55 +0000 (17:47 -0700)]
ARM: tegra: pll_a clock fixes
Increase the max_frequency entries for clocks that can be driven from pll_a
to match the fastest pll_a table entry.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
Stephen Warren [Wed, 5 Jan 2011 21:24:12 +0000 (14:24 -0700)]
ARM: tegra: Prevent requeuing in-progress DMA requests
If a request already in the queue is passed to tegra_dma_enqueue_req,
tegra_dma_req.node->{next,prev} will end up pointing to itself instead
of at tegra_dma_channel.list, which is the way a the end-of-list
should be set up. When the DMA request completes and is list_del'd,
the list head will still point at it, yet the node's next/prev will
contain the list poison values. When the next DMA request completes,
a kernel panic will occur when those poison values are dereferenced.
This makes the DMA driver more robust in the face of buggy clients.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
Lowell Dennis [Wed, 15 Dec 2010 00:35:17 +0000 (16:35 -0800)]
rtc: tps6586x: Fix error in RTC tick calculations
In the TPS6586x PMU/PMIC RTC support code, when
converting from seconds to ticks using a shift
operator, the most significant bits were being lost
due to seconds being a 32-bit value and ticks being
a 64-bit value. A hard cast was added to avoid this
loss.
Reviewed-by: Lowell Dennis <ldennis@nvidia.com>
Tested-by: Lowell Dennis <ldennis@nvidia.com>
Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
Reviewed-by: Peter Zu <pzu@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Signed-off-by: Robert Morell <rmorell@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
Jay Cheng [Fri, 7 Jan 2011 07:03:46 +0000 (02:03 -0500)]
usb: ehci: tegra: continues driving FS-J during resume
To prevent USB glitch.
Also only program PTC bits when resume from LP0
Change-Id: Iced668e33f986828d3a483b411055948b5b257e1
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
Jay Cheng [Fri, 7 Jan 2011 07:03:46 +0000 (02:03 -0500)]
ARM: tegra: usb_phy: continues driving FS-J during resume
to prevent USB glitch.
Change-Id: Iced668e33f986828d3a483b411055948b5b257e1
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
Jay Cheng [Thu, 6 Jan 2011 05:16:18 +0000 (00:16 -0500)]
usb: ehci: tegra: remove reschedule rh_timer
Reschedule rh_timer may cause usb device resume fail, as rh_timer may be
timeout and send USB_REQ_GET_STATUS SETUP control transfer by the time when
the device is handling clear suspend feature, which in turn the device may
drop clear suspend feature request.
Actually on port resume case, the host driver don't need to reschedule
rh_timer to check port status. The host driver will check port status right
after suspend feature is cleared.
Change-Id: I6205e97af49ed4349b6215b851f6b5f1394258d8
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
Colin Cross [Sat, 8 Jan 2011 22:48:26 +0000 (14:48 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
drivers/misc/Kconfig
drivers/misc/Makefile
Change-Id: Ic136562830dcd821eaae66f4c1fc66b4e0b825bd
Colin Cross [Sat, 8 Jan 2011 22:47:29 +0000 (14:47 -0800)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Conflicts:
drivers/misc/Kconfig
drivers/misc/Makefile
Change-Id: I826244513f799fdd2fb0269abad3271c96661293
Colin Cross [Sat, 8 Jan 2011 21:59:15 +0000 (13:59 -0800)]
ARM: tegra: powergate: Allow calling power up when already powered
Allow calling tegra_powergate_sequence_power_up on a partition
that is already powered. Reset the partition, and return success
with the clock enabled.
Change-Id: I776c6a84091f0bb8faca22d87b3fabf0cfede564
Signed-off-by: Colin Cross <ccross@android.com>
Todd Poynor [Mon, 20 Dec 2010 23:05:52 +0000 (15:05 -0800)]
NCT1008 temperature sensor driver
Replace the PM-only driver for NCT1008 with a new version written by
Varun Wadekar and Dmitriy Gruzman. Add a callback to an alarm
function specified in the board platform data.
Change-Id: Ib429533930ee75af3402d24b0bc286da9f6ee67b
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Greg Meiste [Tue, 16 Nov 2010 19:33:06 +0000 (13:33 -0600)]
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>
Erik Gilling [Sat, 8 Jan 2011 02:45:43 +0000 (18:45 -0800)]
video: tegra: fix debug regs file hang
Change-Id: I2bdfe5ec9f69b7b7960e59bec76fb9b02b61f3fb
Signed-off-by: Erik Gilling <konkers@android.com>
Dmitriy Gruzman [Fri, 17 Dec 2010 05:15:53 +0000 (23:15 -0600)]
ARM: tegra: stingray: Enable NCT1008 temperature monitor
From Varun Wadekar and Dmitriy Gruzman, plus changes to pass
NCT1008 alarm function from platform data.
Change-Id: I4b625e9278a9c214c71ee8859316bb1a9a9bfd91
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Todd Poynor [Mon, 20 Dec 2010 23:05:52 +0000 (15:05 -0800)]
NCT1008 temperature sensor driver
Replace the PM-only driver for NCT1008 with a new version written by
Varun Wadekar and Dmitriy Gruzman. Add a callback to an alarm
function specified in the board platform data.
Change-Id: Ib429533930ee75af3402d24b0bc286da9f6ee67b
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Colin Cross [Sat, 8 Jan 2011 01:33:43 +0000 (17:33 -0800)]
ARM: tegra: stingray: Enable keyreset driver in defconfig
Change-Id: I2beb427a263ff54d6ae0da2c694241d1c8015cf6
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Fri, 7 Jan 2011 22:52:26 +0000 (14:52 -0800)]
ARM: tegra: stingray: Log when hard reset buttons are pushed
Change-Id: Ie8b7cccbf616b2e72a01a88afafc06820f9a3efb
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sat, 8 Jan 2011 01:21:20 +0000 (17:21 -0800)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Sat, 8 Jan 2011 01:20:53 +0000 (17:20 -0800)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Conflicts:
arch/arm/mm/cache-v6.S
Change-Id: I1a2063218dd705a762a40f4a9dfe504ce1a1d491
Colin Cross [Sat, 8 Jan 2011 01:16:59 +0000 (17:16 -0800)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36
Colin Cross [Sat, 8 Jan 2011 01:14:48 +0000 (17:14 -0800)]
Merge commit 'v2.6.36.3' into linux-tegra-2.6.36
Varun Wadekar [Tue, 28 Dec 2010 09:31:18 +0000 (15:01 +0530)]
crytpo: tegra-aes: make aes_handle_req aynschronous
the encrypt/decrypt callbacks have to return with -EINPROGRESS
error code and the request complete callback needs to be
called from handle_req for aynchronous block ciphers. use
work queue to make the driver asynchronous.
Change-Id: I0dec1185c31e5de7ba039c39d6bd87c8b3487b2a
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Colin Cross [Fri, 7 Jan 2011 22:52:56 +0000 (14:52 -0800)]
input: keyreset: Allow reset function to be overriden
Change-Id: Ibb3dda05772b2e89d7b2646689944d309cb1f74e
Signed-off-by: Colin Cross <ccross@android.com>
Greg Kroah-Hartman [Fri, 7 Jan 2011 22:39:58 +0000 (14:39 -0800)]
Linux 2.6.36.3
MyungJoo Ham [Tue, 23 Nov 2010 10:39:23 +0000 (11:39 +0100)]
ARM: 6490/1: MM: bugfix: initialize spinlock for init_mm.context
init_mm used at kernel/sched.c:idle_task_exit() has spin_lock
(init_mm.context.id_lock) that is not initialized when spin_lock/unlock
is called at an ARM machine. Note that mm_struct.context.id_lock is
usually initialized except for the instance of init_mm at
linux/arch/arm/mm/context.c
Not initializing this spinlock incurs "BUG: pinlock bad magic"
warning when spinlock debug is enabled. We have observed such
instances when testing PM in S5PC210 machines.
Change-Id: I52c6c6d035c220822a5675faaf8d163a3535985d
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Colin Cross <ccross@android.com>
Jean-Francois Moine [Tue, 14 Dec 2010 19:15:37 +0000 (16:15 -0300)]
gspca - sonixj: Add a flag in the driver_info table
commit
c6c14330717f9850b4b4c054b81424b9979cd07d upstream.
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jean-Francois Moine [Tue, 14 Dec 2010 19:16:16 +0000 (16:16 -0300)]
gspca - sonixj: Set the flag for some devices
commit
b2272a49e7df37732d73988f00468ce31e1ebc92 upstream.
The flag PDN_INV indicates that the sensor pin S_PWR_DN has not the same
value as other webcams with the same sensor. For now, only two webcams have
been so detected: the Microsoft's VX1000 and VX3000.
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
David Kilroy [Tue, 7 Dec 2010 18:50:42 +0000 (18:50 +0000)]
orinoco: initialise priv->hw before assigning the interrupt
commit
229bd792be0bad245b78ed8f119952733a4752e5 upstream.
The interrupt handler takes a lock - but since commit
bcad6e80f3f this
lock goes through an indirection specified in the hermes_t structure.
We must therefore initialise the structure before setting up the
interrupt handler.
Fix orinoco_cs and spectrum_cs
<https://bugzilla.kernel.org/show_bug.cgi?id=23932>
Bisected by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mauro Carvalho Chehab [Thu, 2 Dec 2010 03:57:03 +0000 (01:57 -0200)]
Don't export format_by_forcc on two different drivers
commit
a757ee2216211278680dd8ac869aabe7b4a9970d upstream.
Drivers should append their name on exported symbols, to avoid
conflicts with allyesconfig:
drivers/staging/built-in.o: In function `format_by_fourcc':
/home/v4l/work_trees/linus/drivers/staging/cx25821/cx25821-video.c:96: multiple definition of `format_by_fourcc'
drivers/media/built-in.o:/home/v4l/work_trees/linus/drivers/media/common/saa7146_video.c:88: first defined here
Let's rename both occurences with a small shellscript:
for i in drivers/staging/cx25821/*.[ch]; do sed s,format_by_fourcc,cx25821_format_by_fourcc,g <$i >a && mv a $i; done
for i in drivers/media/common/saa7146*.[ch]; do sed s,format_by_fourcc,saa7146_format_by_fourcc,g <$i >a && mv a $i; done
for i in include/media/saa7146*.[ch]; do sed s,format_by_fourcc,saa7146_format_by_fourcc,g <$i >a && mv a $i; done
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Baruch Siach [Wed, 27 Oct 2010 07:03:52 +0000 (04:03 -0300)]
mx2_camera: fix pixel clock polarity configuration
commit
42cc37fe20cc680fb58fe12ae5ba718d683b8ca2 upstream.
When SOCAM_PCLK_SAMPLE_FALLING, just leave CSICR1_REDGE unset, otherwise we get
the inverted behaviour.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oleg Nesterov [Fri, 5 Nov 2010 15:53:42 +0000 (16:53 +0100)]
posix-cpu-timers: workaround to suppress the problems with mt exec
commit
e0a70217107e6f9844628120412cb27bb4cea194 upstream.
posix-cpu-timers.c correctly assumes that the dying process does
posix_cpu_timers_exit_group() and removes all !CPUCLOCK_PERTHREAD
timers from signal->cpu_timers list.
But, it also assumes that timer->it.cpu.task is always the group
leader, and thus the dead ->task means the dead thread group.
This is obviously not true after de_thread() changes the leader.
After that almost every posix_cpu_timer_ method has problems.
It is not simple to fix this bug correctly. First of all, I think
that timer->it.cpu should use struct pid instead of task_struct.
Also, the locking should be reworked completely. In particular,
tasklist_lock should not be used at all. This all needs a lot of
nontrivial and hard-to-test changes.
Change __exit_signal() to do posix_cpu_timers_exit_group() when
the old leader dies during exec. This is not the fix, just the
temporary hack to hide the problem for 2.6.37 and stable. IOW,
this is obviously wrong but this is what we currently have anyway:
cpu timers do not work after mt exec.
In theory this change adds another race. The exiting leader can
detach the timers which were attached to the new leader. However,
the window between de_thread() and release_task() is small, we
can pretend that sys_timer_create() was called before de_thread().
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jesper Juhl [Sat, 25 Dec 2010 18:57:41 +0000 (19:57 +0100)]
x86/microcode: Fix double vfree() and remove redundant pointer checks before vfree()
commit
5cdd2de0a76d0ac47f107c8a7b32d75d25768dc1 upstream.
In arch/x86/kernel/microcode_intel.c::generic_load_microcode()
we have this:
while (leftover) {
...
if (get_ucode_data(mc, ucode_ptr, mc_size) ||
microcode_sanity_check(mc) < 0) {
vfree(mc);
break;
}
...
}
if (mc)
vfree(mc);
This will cause a double free of 'mc'. This patch fixes that by
just removing the vfree() call in the loop since 'mc' will be
freed nicely just after we break out of the loop.
There's also a second change in the patch. I noticed a lot of
checks for pointers being NULL before passing them to vfree().
That's completely redundant since vfree() deals gracefully with
being passed a NULL pointer. Removing the redundant checks
yields a nice size decrease for the object file.
Size before the patch:
text data bss dec hex filename
4578 240 1032 5850 16da arch/x86/kernel/microcode_intel.o
Size after the patch:
text data bss dec hex filename
4489 240 984 5713 1651 arch/x86/kernel/microcode_intel.o
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
Cc: Shaohua Li <shaohua.li@intel.com>
LKML-Reference: <alpine.LNX.2.00.
1012251946100.10759@swampdragon.chaosbits.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Martin K. Petersen [Wed, 1 Dec 2010 18:41:49 +0000 (19:41 +0100)]
block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits instead
commit
e692cb668fdd5a712c6ed2a2d6f2a36ee83997b4 upstream.
When stacking devices, a request_queue is not always available. This
forced us to have a no_cluster flag in the queue_limits that could be
used as a carrier until the request_queue had been set up for a
metadevice.
There were several problems with that approach. First of all it was up
to the stacking device to remember to set queue flag after stacking had
completed. Also, the queue flag and the queue limits had to be kept in
sync at all times. We got that wrong, which could lead to us issuing
commands that went beyond the max scatterlist limit set by the driver.
The proper fix is to avoid having two flags for tracking the same thing.
We deprecate QUEUE_FLAG_CLUSTER and use the queue limit directly in the
block layer merging functions. The queue_limit 'no_cluster' is turned
into 'cluster' to avoid double negatives and to ease stacking.
Clustering defaults to being enabled as before. The queue flag logic is
removed from the stacking function, and explicitly setting the cluster
flag is no longer necessary in DM and MD.
Reported-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mike Galbraith [Wed, 8 Dec 2010 10:05:42 +0000 (11:05 +0100)]
Sched: fix skip_clock_update optimization
commit
f26f9aff6aaf67e9a430d16c266f91b13a5bff64 upstream.
idle_balance() drops/retakes rq->lock, leaving the previous task
vulnerable to set_tsk_need_resched(). Clear it after we return
from balancing instead, and in setup_thread_stack() as well, so
no successfully descheduled or never scheduled task has it set.
Need resched confused the skip_clock_update logic, which assumes
that the next call to update_rq_clock() will come nearly immediately
after being set. Make the optimization robust against the waking
a sleeper before it sucessfully deschedules case by checking that
the current task has not been dequeued before setting the flag,
since it is that useless clock update we're trying to save, and
clear unconditionally in schedule() proper instead of conditionally
in put_prev_task().
Signed-off-by: Mike Galbraith <efault@gmx.de>
Reported-by: Bjoern B. Brandenburg <bbb.lst@gmail.com>
Tested-by: Yong Zhang <yong.zhang0@gmail.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <
1291802742.1417.9.camel@marge.simson.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Daniel T Chen [Tue, 28 Dec 2010 22:20:02 +0000 (17:20 -0500)]
ALSA: hda: Use LPIB quirk for Dell Inspiron m101z/1120
commit
e03fa055bc126e536c7f65862e08a9b143138ea9 upstream.
Sjoerd Simons reports that, without using position_fix=1, recording
experiences overruns. Work around that by applying the LPIB quirk
for his hardware.
Reported-and-tested-by: Sjoerd Simons <sjoerd@debian.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Johannes Berg [Wed, 22 Dec 2010 09:15:07 +0000 (10:15 +0100)]
mac80211: fix mesh forwarding
commit
b51aff057c9d0ef6c529dc25fd9f775faf7b6c63 upstream.
Under memory pressure, the mac80211 mesh code
may helpfully print a message that it failed
to clone a mesh frame and then will proceed
to crash trying to use it anyway. Fix that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Tejun Heo [Fri, 3 Dec 2010 14:19:13 +0000 (15:19 +0100)]
libata-sff: fix HSM_ST_ERR handling in __ata_sff_port_intr()
commit
687a993339c4f3a63654746230da3aab8bbdbffd upstream.
While separating out BMDMA irq handler from SFF, commit
c3b28894
(libata-sff: separate out BMDMA irq handler) incorrectly made
__ata_sff_port_intr() consider an IRQ to be an idle one if the host
state was transitioned to HSM_ST_ERR by ata_bmdma_port_intr().
This makes BMDMA drivers ignore IRQs reporting host bus error which
leads to timeouts instead of triggering EH immediately. Fix it by
making __ata_sff_port_intr() consider the IRQ to be an idle one iff
the state is HSM_ST_IDLE. This is equivalent to adding HSM_ST_ERR to
the "break"ing case but less error-prone.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Antonio Toma <antonio.toma@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mimi Zohar [Mon, 3 Jan 2011 22:59:10 +0000 (14:59 -0800)]
ima: fix add LSM rule bug
commit
867c20265459d30a01b021a9c1e81fb4c5832aa9 upstream.
If security_filter_rule_init() doesn't return a rule, then not everything
is as fine as the return code implies.
This bug only occurs when the LSM (eg. SELinux) is disabled at runtime.
Adding an empty LSM rule causes ima_match_rules() to always succeed,
ignoring any remaining rules.
default IMA TCB policy:
# PROC_SUPER_MAGIC
dont_measure fsmagic=0x9fa0
# SYSFS_MAGIC
dont_measure fsmagic=0x62656572
# DEBUGFS_MAGIC
dont_measure fsmagic=0x64626720
# TMPFS_MAGIC
dont_measure fsmagic=0x01021994
# SECURITYFS_MAGIC
dont_measure fsmagic=0x73636673
< LSM specific rule >
dont_measure obj_type=var_log_t
measure func=BPRM_CHECK
measure func=FILE_MMAP mask=MAY_EXEC
measure func=FILE_CHECK mask=MAY_READ uid=0
Thus without the patch, with the boot parameters 'tcb selinux=0', adding
the above 'dont_measure obj_type=var_log_t' rule to the default IMA TCB
measurement policy, would result in nothing being measured. The patch
prevents the default TCB policy from being replaced.
Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Cc: James Morris <jmorris@namei.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Cc: David Safford <safford@watson.ibm.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@suse.de>
Saeed Bishara [Tue, 21 Dec 2010 14:53:39 +0000 (16:53 +0200)]
mv_xor: fix race in tasklet function
commit
8333f65ef094e47020cd01452b4637e7daf5a77f upstream.
use mv_xor_slot_cleanup() instead of __mv_xor_slot_cleanup() as the former function
aquires the spin lock that needed to protect the drivers data.
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sheng Yang [Wed, 8 Dec 2010 02:49:43 +0000 (10:49 +0800)]
KVM: Fix OSXSAVE after migration
commit
3ea3aa8cf67d3bbe00a19b6a4013d19efa7d0f41 upstream.
CPUID's OSXSAVE is a mirror of CR4.OSXSAVE bit. We need to update the CPUID
after migration.
KVM-Stable-Tag.
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Joerg Roedel [Tue, 7 Dec 2010 16:15:05 +0000 (17:15 +0100)]
KVM: SVM: Do not report xsave in supported cpuid
commit
24d1b15f72abe3465e871d11cfc9dc34d1aab8b2 upstream.
To support xsave properly for the guest the SVM module need
software support for it. As long as this is not present do
not report the xsave as supported feature in cpuid.
As a side-effect this patch moves the bit() helper function
into the x86.h file so that it can be used in svm.c too.
KVM-Stable-Tag.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>