Benoit Goby [Mon, 11 Oct 2010 23:54:48 +0000 (16:54 -0700)]
mdm6600: Add write_room and chars_in_buffer
Change-Id: I119e88938a06c4abfc0ad4da19fdb7b75a8329de
Signed-off-by: Benoit Goby <benoit@android.com>
Benoit Goby [Tue, 12 Oct 2010 00:00:24 +0000 (17:00 -0700)]
mdm6600: Fix spinlock usage to avoid GFP_ATOMIC allocations
usb_serial holds an autopm reference before calling open, so the
modem is always resumed when open is called.
Change-Id: Ica2f4e69620fd1d80f4bfc43dd3453313c1be185
Signed-off-by: Benoit Goby <benoit@android.com>
Todd Poynor [Wed, 13 Oct 2010 01:38:51 +0000 (18:38 -0700)]
Temporary I2C debugging code
To help diagnose repeated transfer timeouts and interrupt storms on
Stingray.
Change-Id: I55366d269c6bc4ffdb4468a614442f2dad87ace1
Todd Poynor [Fri, 27 Aug 2010 01:10:54 +0000 (18:10 -0700)]
[ARM] Tegra: Stingray: Switch from CMDLINE partitions to GPT.
Depends on:
- MMC > 8 partitions per card
- EFI/GPT named partitions
Change-Id: I026f879a05b95b3b65c5a334e4a3aca75be6984f
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Rebecca Schultz Zavin [Tue, 19 Oct 2010 19:50:25 +0000 (12:50 -0700)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Rebecca Schultz Zavin [Tue, 19 Oct 2010 19:48:52 +0000 (12:48 -0700)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Gary King [Wed, 13 Oct 2010 01:10:31 +0000 (18:10 -0700)]
Revert "[ARM] mm: add page allocator for modifying cache attributes"
This reverts commit
54d414570432ce07fa1a14b657f53bed752e3d7e.
Change-Id: I8e5cf6ef3555129da9741ef52a1e6a3a772ad588
Signed-off-by: Gary King <gking@nvidia.com>
Gary King [Wed, 13 Oct 2010 00:40:18 +0000 (17:40 -0700)]
video: tegra: nvmap: eliminate arm_attrib_allocator dependency
remove the dependency that nvmap has on the arm_attrib_allocator
and the lowmem in PTEs change by adding a private page allocator
utility function and calling vm_map_ram unconditionally for all
sysmem handles.
also, add Kconfig variables to allow platforms to disallow the
SYSMEM heap, and to optionally restrict the SYSMEM and IOVMM
heaps to just HIGHMEM.
Change-Id: I3dab1c7323f54a8ab3994dc672b27fd79a9057d7
Signed-off-by: Gary King <gking@nvidia.com>
Chris Fries [Thu, 14 Oct 2010 21:30:05 +0000 (16:30 -0500)]
[ARM] tegra: stingray: set bus with on i2s playback to 32 bits
-- Change Stingray STDAC's I2S to be 32 bits, packed, to avoid left/right audio
swaps.
Signed-off-by: Iliyan Malchev <malchev@google.com>
Greg Meiste [Fri, 15 Oct 2010 19:22:00 +0000 (14:22 -0500)]
power: ds2781: Reduce wakeups from suspend
Increase SLOW_POLL to 20 minutes to improve current drain. However,
if temperature is over TEMP_HOT, remain at fast poll rate.
Change-Id: I9361a98b1a57f415cacf05008444e47adca13dc8
Signed-off-by: Greg Meiste <w30289@motorola.com>
Greg Meiste [Fri, 15 Oct 2010 16:28:02 +0000 (11:28 -0500)]
power: ds2781: Fix alarm
The driver was waking the system from LP0 every minute, instead of
every ten minutes like desired.
Change-Id: Iac38b02c7239e20eb1b9ea7e390b61c065a31d70
Signed-off-by: Greg Meiste <w30289@motorola.com>
Colin Cross [Mon, 18 Oct 2010 23:20:49 +0000 (16:20 -0700)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Colin Cross [Mon, 18 Oct 2010 23:19:27 +0000 (16:19 -0700)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Change-Id: I200eea8eecc5afb9eb1595f2b5357315b0b14808
Gary King [Wed, 13 Oct 2010 01:55:07 +0000 (18:55 -0700)]
[ARM] tegra: Set bit 22 in the PL310 AuxCtrl
Duplicate Catalin Marinas' <catalin.marinas@arm.com> ARM change
6395/1 for VExpress to tegra
Clearing bit 22 in the PL310 Auxiliary Control register (shared
attribute override enable) has the side effect of transforming Normal
Shared Non-cacheable reads into Cacheable no-allocate reads.
Coherent DMA buffers in Linux always have a Cacheable alias via the
kernel linear mapping and the processor can speculatively load cache
lines into the PL310 controller. With bit 22 cleared, Non-cacheable
reads would unexpectedly hit such cache lines leading to buffer
corruption.
Change-Id: I37232041c035f5153a7ad73257c6333634a5f4b8
Signed-off-by: Gary King <gking@nvidia.com>
Colin Cross [Mon, 18 Oct 2010 22:07:30 +0000 (15:07 -0700)]
spi: tegra: Use shared DMA channel
To avoid running out of DMA channels, use the shared DMA channel
for all four Tegra spi controllers.
Change-Id: Iff644253cf7fae36aa2e42321a1ded35a728da4f
Signed-off-by: Colin Cross <ccross@android.com>
Jay Cheng [Mon, 18 Oct 2010 05:41:04 +0000 (01:41 -0400)]
[arm/tegra]serial:rewrite interrupt handler
rewrite interrupt handler to prevent race condition between dma operation
and serial isr.
Change-Id: I4464ba882f39ff1dc2423241f6582df687057420
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
Jay Cheng [Sat, 16 Oct 2010 03:55:02 +0000 (23:55 -0400)]
[ARM/tegra] dma: add transfer count query. Checking interrupt pending status.
Stopping Dma after last req transfer.
add an API to return the completed transfer count of a pending, active
or finished DMA request
originally fixed by Gary King <gking@nvidia.com>
It is observed that the dma interrupt has the lower priority then
its client interupt priority. When client's isr calls dma get transfer,
the dma status has not been upated as dma isr have not been served yet.
So before reading the status, explicitly checking the interrupt status and
handling accordingly.
The another issue which is observed is that if dma has transferred the data
of amount = requested -4 and if it moves to invalid requestor before stopping
then status got reset and tarnsfered bytes becomes 0. This seems the apb dma
hw behavior. Following is the suggestion to overcome this issue:
- Disable global enable bit.
- Read status.
- Stop dma.
- Enable global status bit.
Added this workaround and it worked fine.
originally fixed by Laxman Dewangan <ldewangan@nvidia.com>
In continous mode, dma should stop after last transfer completed and
if there is no more req pending.
If there is pending req then it should check whether it has updated
in hw for next transfer or not and if it has not started then stop dma
and start new req immediatley.
originally fixed by Laxman Dewangan <ldewangan@nvidia.com>
Change-Id: I49c97c96eacdf4060de6b21cec0e71d940d33f00
Erik Gilling [Mon, 18 Oct 2010 22:38:22 +0000 (15:38 -0700)]
video: tegra: add hdmi switch_dev for hotplug notifications
Change-Id: I0454179633835d35367bc5c28513319e3aa6a069
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Mon, 18 Oct 2010 22:22:05 +0000 (15:22 -0700)]
video: tegra: disable display on hotunplug
Also tighents up the hotplug detect timing
Change-Id: I2d48c38250b5aaef2d30895fe44806e7d133a823
Signed-off-by: Erik Gilling <konkers@android.com>
Benoit Goby [Fri, 15 Oct 2010 21:32:21 +0000 (14:32 -0700)]
usb: host: ehci-tegra: Don't power down the phy on shutdown
There is no need to poweroff the phy and disable the clocks on shutdown.
This interferes with autopm that may try to disable the clocks after
shutdown.
Change-Id: I3aee19abe6dd11685b3be348e25fc3e195a2a416
Signed-off-by: Benoit Goby <benoit@android.com>
Erik Gilling [Mon, 18 Oct 2010 22:20:42 +0000 (15:20 -0700)]
i2c: tegra: fix repeated start handling
A repeated start should be used for all but the last msg in an xfer. The
NOSTART flag is for skipping the START frame (addr/rw)
Change-Id: If4bc88478521a8c4e1ec761bd42a84d3e398fa26
Signed-off-by: Erik Gilling <konkers@android.com>
Kazuhiro Ondo [Mon, 18 Oct 2010 21:07:44 +0000 (16:07 -0500)]
misc: mdm6600_ctrl: Revert recent changes for AP & BP status defs.
Change-Id: If8010e934d55af3770e8ebc78e59b93886eb50f6
Erik Gilling [Fri, 15 Oct 2010 01:28:21 +0000 (18:28 -0700)]
[ARM] tegra: remove hdmi enable/disable function in board-stingray
The functions toggled the depricated vwlan2 regulator
Change-Id: I55b1dda27ffcc44b50ec45795d4607e4713f9ef3
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Mon, 18 Oct 2010 19:13:36 +0000 (12:13 -0700)]
Merge branch android-tegra-2.6.36 into android-tegra-moto-2.6.36
Change-Id: Iafbbd226a23d555ad198180d5e17c13a4bb14cf0
Erik Gilling [Mon, 18 Oct 2010 19:12:20 +0000 (12:12 -0700)]
Merge branch 'linux-tegra' into android-tegra
Erik Gilling [Fri, 15 Oct 2010 00:18:31 +0000 (17:18 -0700)]
video: tegra: don't assert/deassert reset in dc
There seems to be some interdependency between the two display controllers'
resets and HDMI. If dc0 is put into reset while HDMI is connected to dc1,
HDMI will blank.
Change-Id: I978814628609ebe3d78e7809fccef6a3d19c0f7f
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Thu, 14 Oct 2010 21:56:05 +0000 (14:56 -0700)]
video: tegra: fb var info on monspecs change
activates the default mode
Change-Id: I34d27d2947377771e8f1c89f3933204d7e65364f
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Thu, 14 Oct 2010 19:46:57 +0000 (12:46 -0700)]
video: tegra: ensure first video mode is marked with FB_MODE_IS_FIRST
Change-Id: If3c417c670962e4ca6ff92c3bd1a388c189f11ab
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Thu, 14 Oct 2010 19:44:10 +0000 (12:44 -0700)]
video: modedb: make fb_add_videomode keep modelist in order added
This makes the default case in fb_find_best_display ("last resort, use
the very first mode") actually use the first mode added.
Change-Id: Ia43ac4a4251522cd30c0da514da23e47b2906e2c
Signed-off-by: Erik Gilling <konkers@android.com>
Chris Fries [Thu, 14 Oct 2010 21:31:52 +0000 (16:31 -0500)]
[ARM] tegra_i2s_audio: allow different DMA bus widths
Added separate APB DMA bus-width controls depending on the audio bus format.
Signed-off-by: Iliyan Malchev <malchev@google.com>
Chris Fries [Thu, 14 Oct 2010 21:31:52 +0000 (16:31 -0500)]
[ARM] tegra_i2s_audio: add suspend/resume handlers
The resume handler restores i2s state, which gets lost on LP0
Signed-off-by: Iliyan Malchev <malchev@google.com>
Iliyan Malchev [Fri, 15 Oct 2010 21:13:48 +0000 (14:13 -0700)]
[ARM] tegra_i2s_audio: add a few overlooked checks
Signed-off-by: Iliyan Malchev <malchev@google.com>
Colin Cross [Sat, 16 Oct 2010 01:31:28 +0000 (18:31 -0700)]
[ARM] tegra: stingray: Enable ARM errata 743622 in defconfig
Change-Id: Id794af4b9808633fb991cb7ccf65122bd6e0d2d7
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sat, 16 Oct 2010 01:29:44 +0000 (18:29 -0700)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Mike Corrigan [Wed, 13 Oct 2010 03:05:32 +0000 (22:05 -0500)]
[ARM] tegra: stingray: fixed Bluetooth-bypass switch for DAC2-DAP4
Corrected the DAP4 input source.
Corrected the DAP control register index.
Change-Id: I514bdb30ead272cf1dfb65acfae06c3654ea935a
Signed-off-by: Mike Corrigan <michael.corrigan@motorola.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Chris Fries [Wed, 13 Oct 2010 03:55:30 +0000 (22:55 -0500)]
[ARM] mfd: cpcap-audio: fix typos.
Change-Id: Ic825d2765d6e1c879e4278e2c0212ddf9bf5959f
Signed-off-by: Iliyan Malchev <malchev@google.com>
Iliyan Malchev [Wed, 13 Oct 2010 20:02:36 +0000 (13:02 -0700)]
Revert "[ARM] mfd: tegra-cpcap-audio: workaround for audio wakelock preventing LP0"
This reverts commit
f922d75a29624dc250a74d90f8c8e9e7c1f8988d.
Colin Cross [Fri, 15 Oct 2010 19:04:05 +0000 (12:04 -0700)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Colin Cross [Fri, 15 Oct 2010 19:03:22 +0000 (12:03 -0700)]
Merge commit 'v2.6.36-rc8' into linux-tegra-2.6.36
Colin Cross [Fri, 15 Oct 2010 00:19:09 +0000 (17:19 -0700)]
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
Iliyan Malchev [Thu, 14 Oct 2010 23:35:59 +0000 (16:35 -0700)]
[ARM] tegra_i2s_audio: add suspend wakelocks
Signed-off-by: Iliyan Malchev <malchev@google.com>
Linus Torvalds [Thu, 14 Oct 2010 23:26:43 +0000 (16:26 -0700)]
Linux 2.6.36-rc8
Colin Cross [Thu, 14 Oct 2010 23:22:55 +0000 (16:22 -0700)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36
Colin Cross [Thu, 14 Oct 2010 23:22:51 +0000 (16:22 -0700)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Mike Corrigan [Thu, 14 Oct 2010 18:56:13 +0000 (13:56 -0500)]
[arm]: tegra: dma: DMA error debugging.
Print an error message when a DMA channel cannot be allocated.
Change-Id: I93a96851ac12c5ea66b2fb053033aa4260c2178a
Signed-off-by: Mike Corrigan <michael.corrigan@motorola.com>
Mike Corrigan [Thu, 14 Oct 2010 18:55:13 +0000 (13:55 -0500)]
[arm]: tegra: serial: DMA allocation fix.
Handle the case where DMA channels cannot be allocated and PIO must be used.
Fixed a typo for forcing RX to use PIO.
Change-Id: I167184f9ce936d4a08dd9919ae4f8b0d9ad7e0c4
Signed-off-by: Mike Corrigan <michael.corrigan@motorola.com>
Dmitry Shmidt [Thu, 14 Oct 2010 22:20:21 +0000 (15:20 -0700)]
mmc: Fix pm_notifier obeying deferred resume
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Linus Torvalds [Thu, 14 Oct 2010 21:32:06 +0000 (14:32 -0700)]
Un-inline the core-dump helper functions
Tony Luck reports that the addition of the access_ok() check in commit
0eead9ab41da ("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>
Erik Gilling [Fri, 17 Sep 2010 21:44:28 +0000 (14:44 -0700)]
video: tegra: update overlay stride in fb_set_par
Fixes recovery graphics
Change-Id: I68824dfcd29b40eaa27a8b5ee437e5763288a49e
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Wed, 13 Oct 2010 20:06:29 +0000 (13:06 -0700)]
spi: tegra: cleanups from upstream review
Change-Id: Icecf7e64efcb39de072a15234ba1faa4bad40d25
Signed-off-by: Erik Gilling <konkers@android.com>
Linus Torvalds [Thu, 14 Oct 2010 18:19:44 +0000 (11:19 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
ehea: Fix a checksum issue on the receive path
net: allow FEC driver to use fixed PHY support
tg3: restore rx_dropped accounting
b44: fix carrier detection on bind
net: clear heap allocations for privileged ethtool actions
NET: wimax, fix use after free
ATM: iphase, remove sleep-inside-atomic
ATM: mpc, fix use after free
ATM: solos-pci, remove use after free
net/fec: carrier off initially to avoid root mount failure
r8169: use device model DMA API
r8169: allocate with GFP_KERNEL flag when able to sleep
Linus Torvalds [Thu, 14 Oct 2010 17:57:40 +0000 (10:57 -0700)]
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>
Chris Fries [Wed, 13 Oct 2010 03:00:25 +0000 (22:00 -0500)]
[ARM] tegra_i2s_audio: add support for DSP (PCM) mode.
Change-Id: I132b8b7709c154ca1fb52f437966bd90451e89f7
Signed-off-by: Iliyan Malchev <malchev@google.com>
Iliyan Malchev [Tue, 12 Oct 2010 19:50:48 +0000 (12:50 -0700)]
[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>
Jay Cheng [Thu, 10 Jun 2010 20:27:56 +0000 (16:27 -0400)]
usb: gadget: fsl_udc: Add support for USB test mode feature
Adding support for USB-IF High Speed electrical test mode for device mode.
Support added for electrical test modes:
1. TEST_J
2. TEST_K
3. TEST_SE0_NAK
4. TEST_PACKET
5. TEST_FORCE_ENABLE
originally fixed by Venkat Moganty <vmoganty@nvidia.com>
Change-Id: If5a4dcf9eb81dc368f24c660460d35495b6a4253
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
Linus Torvalds [Wed, 13 Oct 2010 23:51:59 +0000 (16:51 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/djbw/async_tx
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
ioat2: fix performance regression
Linus Torvalds [Wed, 13 Oct 2010 23:51:29 +0000 (16:51 -0700)]
Merge branch 'for-2.6.36' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.36' of git://linux-nfs.org/~bfields/linux:
nfsd: fix BUG at fs/nfsd/nfsfh.h:199 on unlink
Linus Torvalds [Wed, 13 Oct 2010 23:50:23 +0000 (16:50 -0700)]
Merge branch 'perf-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
ring-buffer: Fix typo of time extends per page
perf, MIPS: Support cross compiling of tools/perf for MIPS
perf: Fix incorrect copy_from_user() usage
Benoit Goby [Tue, 21 Sep 2010 04:19:37 +0000 (21:19 -0700)]
usb: gadget: fsl_udc: Fix dTDs allocation gfp flags
fsl_build_dtd may be called from atomic context. Don't hardcode the gfp
flag to GFP_KERNEL. Pass down to dma_pool_alloc the flag used by the
function driver to enqueue the request.
Change-Id: Iba1ccf73bbcd648b8c13228157431d2ce52979ef
Signed-off-by: Benoit Goby <benoit@android.com>
Colin Cross [Fri, 23 Jul 2010 19:54:37 +0000 (12:54 -0700)]
usb: gadget: fsl_udc: Prevent udc timeout on suspend
Change-Id: Ic4780063d432860df835c54c17b2b9249132c8c5
Signed-off-by: Colin Cross <ccross@android.com>
Linus Torvalds [Wed, 13 Oct 2010 23:35:33 +0000 (16:35 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
ARM: relax ioremap prohibition (
309caa9) for -final and -stable
ARM: 6440/1: ep93xx: DMA: fix channel_disable
cpuimx27: fix i2c bus selection
cpuimx27: fix compile when ULPI is selected
ARM: 6435/1: Fix HWCAP_TLS flag for ARM11MPCore/Cortex-A9
ARM: 6436/1: AT91: Fix power-saving in idle-mode on 926T processors
ARM: fix section mismatch warnings in Versatile Express
ARM: 6412/1: kprobes-decode: add support for MOVW instruction
ARM: 6419/1: mmu: Fix MT_MEMORY and MT_MEMORY_NONCACHED pte flags
ARM: 6416/1: errata: faulty hazard checking in the Store Buffer may lead to data corruption
Linus Torvalds [Wed, 13 Oct 2010 23:35:05 +0000 (16:35 -0700)]
Merge branch 'omap-fixes-for-linus' of git://git./linux/kernel/git/tmlind/linux-omap-2.6
* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
omap: iommu-load cam register before flushing the entry
Linus Torvalds [Wed, 13 Oct 2010 23:34:46 +0000 (16:34 -0700)]
Merge branch 'drm-fixes' of git://git./linux/kernel/git/airlied/drm-2.6
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm/radeon/kms: Silent spurious error message
drm/radeon/kms: fix bad cast/shift in evergreen.c
drm/radeon/kms: make TV/DFP table info less verbose
drm/radeon/kms: leave certain CP int bits enabled
drm/radeon/kms: avoid corner case issue with unmappable vram V2
Linus Torvalds [Wed, 13 Oct 2010 23:34:23 +0000 (16:34 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, numa: For each node, register the memory blocks actually used
x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order
x86, mce, therm_throt.c: Fix missing curly braces in error handling logic
Dan Williams [Wed, 13 Oct 2010 22:43:10 +0000 (15:43 -0700)]
ioat2: fix performance regression
Commit
0793448 "DMAENGINE: generic channel status v2" changed the interface for
how dma channel progress is retrieved. It inadvertently exported an internal
helper function ioat_tx_status() instead of ioat_dma_tx_status(). The latter
polls the hardware to get the latest completion state, while the helper just
evaluates the current state without touching hardware. The effect is that we
end up waiting for completion timeouts or descriptor allocation errors before
the completion state is updated.
iperf (before fix):
[SUM] 0.0-41.3 sec 364 MBytes 73.9 Mbits/sec
iperf (after fix):
[SUM] 0.0- 4.5 sec 499 MBytes 940 Mbits/sec
This is a regression starting with 2.6.35.
Cc: <stable@kernel.org>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Cc: Maciej Sosnowski <maciej.sosnowski@intel.com>
Reported-by: Richard Scobie <richard@sauce.co.nz>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Rebecca Schultz Zavin [Wed, 13 Oct 2010 21:09:46 +0000 (14:09 -0700)]
Revert "[ARM]: tegra: tuning for touch-panel in stingray board file"
This reverts commit
ae4691e0a9a79c158feb755ca0b32d7693bc0f54.
Breno Leitao [Thu, 7 Oct 2010 13:17:33 +0000 (13:17 +0000)]
ehea: Fix a checksum issue on the receive path
Currently we set all skbs with CHECKSUM_UNNECESSARY, even
those whose protocol we don't know. This patch just
add the CHECKSUM_COMPLETE tag for non TCP/UDP packets.
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
J. Bruce Fields [Wed, 13 Oct 2010 18:46:17 +0000 (14:46 -0400)]
nfsd: fix BUG at fs/nfsd/nfsfh.h:199 on unlink
As of commit
43a9aa64a2f4330a9cb59aaf5c5636566bce067c "NFSD:
Fill in WCC data for REMOVE, RMDIR, MKNOD, and MKDIR", we sometimes call
fh_unlock on a filehandle that isn't fully initialized.
We should fix up the callers, but as a quick fix it is also sufficient
just to remove this assertion.
Reported-by: Marius Tolzmann <tolzmann@molgen.mpg.de>
Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Greg Ungerer [Mon, 11 Oct 2010 21:03:05 +0000 (21:03 +0000)]
net: allow FEC driver to use fixed PHY support
At least one board using the FEC driver does not have a conventional
PHY attached to it, it is directly connected to a somewhat simple
ethernet switch (the board is the SnapGear/LITE, and the attached
4-port ethernet switch is a RealTek RTL8305). This switch does not
present the usual register interface of a PHY, it presents nothing.
So a PHY scan will find nothing - it finds ID's of 0 for each PHY
on the attached MII bus.
After the FEC driver was changed to use phylib for supporting PHYs
it no longer works on this particular board/switch setup.
Add code support to use a fixed phy if no PHY is found on the MII bus.
This is based on the way the cpmac.c driver solved this same problem.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Erik Gilling [Wed, 13 Oct 2010 00:13:16 +0000 (17:13 -0700)]
[ARM] tegra: stingray: fix HDMI support
This moves the nvmap carveout to make room for the HDMI framebuffer
and hard codes the buffer's location.
Change-Id: I06609ce127d01fba66ddbef6ee4a25ff2ad181c7
Signed-off-by: Erik Gilling <konkers@android.com>
Gary King [Tue, 12 Oct 2010 22:39:21 +0000 (15:39 -0700)]
[ARM] tegra: nvrm: duplicate all handles on AVP pin
one of the AVP modules used by camera apparently pins a handle
without duplicating the handle onto the AVP first. this is
an incorrect usage of the API, but was only flagged as an error
with the new nvmap implementation.
work-around this for now by performing an explicit duplicate on
pin, and an explicit free on unpin.
Change-Id: I49777fdd1009e564ac326fda00b96275d0ae5c19
Signed-off-by: Gary King <gking@nvidia.com>
Colin Cross [Wed, 13 Oct 2010 01:50:31 +0000 (18:50 -0700)]
Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
arch/arm/mach-tegra/Makefile
Colin Cross [Wed, 13 Oct 2010 01:47:05 +0000 (18:47 -0700)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Colin Cross [Wed, 13 Oct 2010 01:44:55 +0000 (18:44 -0700)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36
Gary King [Wed, 4 Aug 2010 00:56:37 +0000 (17:56 -0700)]
panjit_touch: add early suspend support to panjit I2C touchscreen
Change-Id: I1adc2bb646269f17480718a7efb3dc14e6325fbc
Signed-off-by: Gary King <gking@nvidia.com>
Gary King [Thu, 7 Oct 2010 21:12:18 +0000 (14:12 -0700)]
[ARM] add config file for tegra SoCs running Android
Change-Id: I989d6f498aa5abbd46adff5875969b39060d9ea1
Signed-off-by: Gary King <gking@nvidia.com>
Gary King [Thu, 7 Oct 2010 20:49:08 +0000 (13:49 -0700)]
tegra: ventana: add adb support
Change-Id: I79e57cd58fc83242c4b1c5e1e03fab041ed69e57
Signed-off-by: Gary King <gking@nvidia.com>
Colin Cross [Wed, 13 Oct 2010 01:33:34 +0000 (18:33 -0700)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36
Gary King [Sat, 2 Oct 2010 00:00:39 +0000 (17:00 -0700)]
[ARM] tegra: ventana: add graphics support
register the tegradc0, tegradc1, grhost, pwm-backlight and carveout
devices
Change-Id: Ia61c0632470e571cc57279dc3b197ccd1fca80f0
Signed-off-by: Gary King <gking@nvidia.com>
Gary King [Fri, 10 Sep 2010 03:01:08 +0000 (20:01 -0700)]
[ARM] tegra: ventana: add ldo3 consumer for avdd_lvds
Change-Id: If5e07b2eb62805a00426799184989fa290318f4a
Signed-off-by: Gary King <gking@nvidia.com>
Gary King [Fri, 1 Oct 2010 00:03:16 +0000 (17:03 -0700)]
[ARM] tegra: ventana: remove BUG() in set_charge.
Signed-off-by: Gary King <gking@nvidia.com>
Rebecca Schultz Zavin [Wed, 13 Oct 2010 00:03:02 +0000 (17:03 -0700)]
video: tegra: nvmap: Only allow allocations out of highmem
Low mem pages are allocated in larger super pages and their caching
attributes can't be controlled on a per page basis. This patch
forces nvmap to map out of highmem pages which are guaranteed to have
page mappings.
Change-Id: Id3921342ecceb0345d43365d4dd90b82ca8cfd11
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Rebecca Schultz Zavin [Tue, 12 Oct 2010 23:58:27 +0000 (16:58 -0700)]
Revert "[ARM] mmu: add option to map lowmem with page mappings"
This reverts commit
ac21b321048091bdbf45bbda87161cc9f312c393.
Gary King [Tue, 12 Oct 2010 22:37:01 +0000 (15:37 -0700)]
[ARM] attrib_alloc: fix outer cache flush end address
when allocating uncached pages, the outer cache should be flushed;
the end address should be specified in bytes, not in pages.
Change-Id: I3fe036f4f7e10e009f96567e3afeeef6ea603240
Signed-off-by: Gary King <gking@nvidia.com>
Erik Gilling [Mon, 11 Oct 2010 22:36:11 +0000 (15:36 -0700)]
Revert "video: tegra: add utility function to compute framebuffer stride"
This reverts commit
10c751b8f5bb78f674d4939b47be933934bb23dd.
Change-Id: I236ddcd531d3ca17c8727cac84e6d2aa6e27dbe1
Erik Gilling [Mon, 11 Oct 2010 22:35:41 +0000 (15:35 -0700)]
video: tegra: clean up fb flipping code
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I1c1f5aea92c1b062c8ccf2f2f6116c399d847262
Erik Gilling [Fri, 8 Oct 2010 21:12:15 +0000 (14:12 -0700)]
[ARM] tegra: add 10us delay after unclamping in powergate_on sequence
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I94a979e6a1ec6ecf80b4d4f1721a8aacac7b8a11
Michael I. Gold [Fri, 24 Sep 2010 18:41:51 +0000 (11:41 -0700)]
video: tegra: dump current pushbuffer from channel debugger
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: Ia14a2bad23ae1c6401755d413ffdc32c9f35b0fd
Erik Gilling [Thu, 7 Oct 2010 22:47:26 +0000 (15:47 -0700)]
video: tegra: fix host1x command decoding debug prints
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: Ia0073a4e679174fc7e9ca6ff0b67973980c6af97
Erik Gilling [Thu, 7 Oct 2010 22:45:49 +0000 (15:45 -0700)]
video: tegra: lock around DC suspend/resume
Change-Id: I9c134a2417106538b15cc1cfd615cfb65573e878
Signed-off-by: Erik Gilling <konkers@android.com>
Greg Meiste [Wed, 6 Oct 2010 19:27:28 +0000 (14:27 -0500)]
[ARM] mfd: tegra-cpcap-audio: workaround for audio wakelock preventing LP0
The audio output FIFO is not empty when the request to put audio in standby
occurs. This stops the DMA callbacks, preventing the FIFO from ever emptying.
Therefore, audio will forever hold a wakelock, preventing the device from
entering LP0.
Change-Id: I8a642916707d07e2ff71f4e0ff7fc0f23dd41959
Signed-off-by: Greg Meiste <w30289@motorola.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Todd Poynor [Tue, 12 Oct 2010 23:17:04 +0000 (16:17 -0700)]
fs: EFI: Convert UTF-16LE partition names to UTF-8
Change-Id: Ib3f91913e69ca8d5a3bd644e3a01deca690067a8
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Russell King [Tue, 12 Oct 2010 23:15:25 +0000 (00:15 +0100)]
ARM: relax ioremap prohibition (
309caa9) for -final and -stable
... but produce a big warning about the problem as encouragement
for people to fix their drivers.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Sergey Kudakov [Thu, 30 Sep 2010 19:37:05 +0000 (14:37 -0500)]
[ARM]: stingray: panel file - adjust panel timings
display should now run at 60.015940 Hz
Change-Id: I26da77694e858ddc4e7db5130e86633f6044f359
Signed-off-by: Sergey Kudakov <sergey.kudakov@motorola.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Russell King [Tue, 12 Oct 2010 21:43:26 +0000 (22:43 +0100)]
Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6
Mika Westerberg [Tue, 12 Oct 2010 09:37:59 +0000 (10:37 +0100)]
ARM: 6440/1: ep93xx: DMA: fix channel_disable
When channel_disable() is called, it disables per channel interrupts and
waits until channels state becomes STATE_STALL, and then disables the
channel. Now, if the DMA transfer is disabled while the channel is in
STATE_NEXT we will not wait anything and disable the channel immediately.
This seems to cause weird data corruption for example in audio transfers.
Fix is to wait while we are in STATE_NEXT or STATE_ON and only then
disable the channel.
Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Tue, 12 Oct 2010 16:16:01 +0000 (09:16 -0700)]
Merge branch 'kvm-updates/2.6.36' of git://git./virt/kvm/kvm
* 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
KVM: x86: Move TSC reset out of vmcb_init
KVM: x86: Fix SVM VMCB reset
Steven Rostedt [Tue, 12 Oct 2010 16:06:43 +0000 (12:06 -0400)]
ring-buffer: Fix typo of time extends per page
Time stamps for the ring buffer are created by the difference between
two events. Each page of the ring buffer holds a full 64 bit timestamp.
Each event has a 27 bit delta stamp from the last event. The unit of time
is nanoseconds, so 27 bits can hold ~134 milliseconds. If two events
happen more than 134 milliseconds apart, a time extend is inserted
to add more bits for the delta. The time extend has 59 bits, which
is good for ~18 years.
Currently the time extend is committed separately from the event.
If an event is discarded before it is committed, due to filtering,
the time extend still exists. If all events are being filtered, then
after ~134 milliseconds a new time extend will be added to the buffer.
This can only happen till the end of the page. Since each page holds
a full timestamp, there is no reason to add a time extend to the
beginning of a page. Time extends can only fill a page that has actual
data at the beginning, so there is no fear that time extends will fill
more than a page without any data.
When reading an event, a loop is made to skip over time extends
since they are only used to maintain the time stamp and are never
given to the caller. As a paranoid check to prevent the loop running
forever, with the knowledge that time extends may only fill a page,
a check is made that tests the iteration of the loop, and if the
iteration is more than the number of time extends that can fit in a page
a warning is printed and the ring buffer is disabled (all of ftrace
is also disabled with it).
There is another event type that is called a TIMESTAMP which can
hold 64 bits of data in the theoretical case that two events happen
18 years apart. This code has not been implemented, but the name
of this event exists, as well as the structure for it. The
size of a TIMESTAMP is 16 bytes, where as a time extend is only
8 bytes. The macro used to calculate how many time extends can fit on
a page used the TIMESTAMP size instead of the time extend size
cutting the amount in half.
The following test case can easily trigger the warning since we only
need to have half the page filled with time extends to trigger the
warning:
# cd /sys/kernel/debug/tracing/
# echo function > current_tracer
# echo 'common_pid < 0' > events/ftrace/function/filter
# echo > trace
# echo 1 > trace_marker
# sleep 120
# cat trace
Enabling the function tracer and then setting the filter to only trace
functions where the process id is negative (no events), then clearing
the trace buffer to ensure that we have nothing in the buffer,
then write to trace_marker to add an event to the beginning of a page,
sleep for 2 minutes (only 35 seconds is probably needed, but this
guarantees the bug), and then finally reading the trace which will
trigger the bug.
This patch fixes the typo and prevents the false positive of that warning.
Reported-by: Hans J. Koch <hjk@linutronix.de>
Tested-by: Hans J. Koch <hjk@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Stable Kernel <stable@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Deng-Cheng Zhu [Tue, 12 Oct 2010 11:33:33 +0000 (19:33 +0800)]
perf, MIPS: Support cross compiling of tools/perf for MIPS
Changes:
v4: Fix the cosmetic issue of redundant dot-ops
v3: Change rmb() to use SYNC
v2: Include mips unistd.h and define rmb()/cpu_relax() in tools/perf/perf.h
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@gmail.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: David Daney <ddaney@caviumnetworks.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Jean Delvare [Fri, 8 Oct 2010 12:34:49 +0000 (14:34 +0200)]
drm/radeon/kms: Silent spurious error message
I see the following error message in my kernel log from time to time:
radeon 0000:07:00.0:
ffff88007c334000 reserve failed for wait
radeon 0000:07:00.0:
ffff88007c334000 reserve failed for wait
After investigation, it turns out that there's nothing to be afraid of
and everything works as intended. So remove the spurious log message.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>