Colin Cross [Mon, 25 Oct 2010 23:23:09 +0000 (16:23 -0700)]
ARM: tegra: clock: Fix warning
Change-Id: I2c175f65b7e7db234f7317e7c51aeea65d33d555
Colin Cross [Sun, 24 Oct 2010 23:10:31 +0000 (16:10 -0700)]
ARM: tegra: Remove debugging from tegra_move_framebuffer
Change-Id: I012b3b565faefe60e7ce581f748905d3baab6da4
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sun, 24 Oct 2010 06:25:52 +0000 (23:25 -0700)]
ARM: tegra: suspend: Track the amount of time spent in suspend
Change-Id: Iee5ec7da45d3405846d8655104d9736eccedb713
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sun, 24 Oct 2010 23:11:03 +0000 (16:11 -0700)]
ARM: tegra: timer: Fix us timer time after resume from LP1
In LP1 suspend, or during a failed LP0 suspend, the core power is
not turned off and the timer register is not reset. Saving the
timer value during suspend and adding it to the offset after resume
will cause the timer value to double for each suspend cycle.
To fix, when resuming subtract the current value of the timer
register from the offset. Also, use the rtc registers to add
the time that passed during suspend.
Change-Id: I9f7ee2089b98cf66af45271f8478fbd9eb2ee250
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sun, 24 Oct 2010 06:22:53 +0000 (23:22 -0700)]
ARM: tegra: timer: Remove 32k clocksource
The 32k clocksource is never used, because it is always registered
at the same time as the us clocksource, which has a higher rating.
Using the 32k clocksource would cause a race condition with the
tegra_rtc driver on the RTC shadow registers. Remove the 32k
clocksource, add a replacement tegra_read_rtc_ms function for the
suspend code to track suspend time, and add a comment on
read_persistent_clock that it should never be called while the
tegra_rtc driver is running. It is currently only called from
timekeeping init, suspend, and resume.
Change-Id: Ic964578e9923b0f0338959f75de1ac170f850337
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sun, 24 Oct 2010 06:22:07 +0000 (23:22 -0700)]
ARM: tegra: irq: Add debugfs file to show wake irqs
Change-Id: I66124275869d5f83024937010e14018b7980bb05
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sat, 23 Oct 2010 22:55:32 +0000 (15:55 -0700)]
ARM: tegra: cpuidle: Keep statistics on idle wake interrupts
Change-Id: Ieaee455b4e52f232c5b1285756c22bcdc7fdc6b4
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sat, 23 Oct 2010 22:01:35 +0000 (15:01 -0700)]
ARM: tegra: suspend: Fix compile issues with CONFIG_SMP=n
Move suspend pagetable creation to suspend.c
Always compile headsmp-t2.S, it's needed for LP2 resume
Change-Id: I9e23c6bf72fff3e98e0549edf1f85bec823a3a38
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sat, 23 Oct 2010 21:56:27 +0000 (14:56 -0700)]
ARM: tegra: cpuidle: Fix compile issues with CONFIG_SMP=n
Change-Id: Id02744bcdfc079a6091be2e8a736bcd3a6cc0ba6
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Sat, 23 Oct 2010 21:55:56 +0000 (14:55 -0700)]
ARM: tegra: cpufreq: Fix compile issues with CONFIG_SMP=n
Change-Id: Id678df6299adfc23a4321ddaff10b4c64a4ed895
Signed-off-by: Colin Cross <ccross@android.com>
James Wylder [Wed, 20 Oct 2010 20:05:09 +0000 (15:05 -0500)]
[ARM] tegra: cpuidle define power_specified
Turn on the cpuidle_device power_specified field
to enable usage of the defined cpuidle_state.power_usage fields
for each state.
Signed-off-by: James Wylder <james.wylder@motorola.com>
Change-Id: Ibca20a937bf4079f61e4b3ae64394d797b4eb287
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Colin Cross [Mon, 25 Oct 2010 21:15:44 +0000 (14:15 -0700)]
ARM: tegra: clock: Remove dependency between "set" and debugfs
Change-Id: I732f9428096d057e08092120c6f8c2890230a242
Colin Cross [Mon, 18 Oct 2010 03:49:48 +0000 (20:49 -0700)]
video: tegra: dc: Call dvfs functions
Change-Id: If3cca5da2abc5e6c3671c8c23af90cd4e029db5c
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 9 Sep 2010 02:49:54 +0000 (19:49 -0700)]
[ARM] tegra: dvfs: Convert cpu to new dvfs, add core dvfs tables
Change-Id: I4020943ee10026866b29302aac177a5bdc259184
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 21 Oct 2010 02:19:58 +0000 (19:19 -0700)]
[ARM] tegra: clock: Refcount periph clock enables
Some peripheral clocks share enable bits. Refcount the enables so
that calling clk_disable on one clock will not turn off another
clock.
Change-Id: Iefb015bc83cac77b3faef8db86cfc42b25c0b6ae
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 04:39:04 +0000 (21:39 -0700)]
[ARM] tegra: clock: Add shared bus clock type
Change-Id: If8022248049e790030f1480f37a074401e24d54c
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 02:16:27 +0000 (19:16 -0700)]
[ARM] tegra: clock: Move unshared clk struct members into union
Change-Id: I4e03194d4a86c73eea4773fbdcaf773e06b6eebf
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 04:38:28 +0000 (21:38 -0700)]
[ARM] tegra: clock: Rearrange static clock tables
Change-Id: I90078bf5e9eaa0fa64681e2ed77c7ac7f7d31804
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 9 Sep 2010 02:46:13 +0000 (19:46 -0700)]
[ARM] tegra: clock: Add new dvfs
New and improved dvfs:
Registered dynamically during init
Exports dvfs functions to control clocks that are not visible to
the clock subsystem
Supports multiple regulators per clock
Fix dvfs on disabled clocks
Adds /d/clock/dvfs to show current voltage requirements
Change-Id: I93794a7761dccc702566e8850bb79f344ff787a2
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 9 Sep 2010 02:41:14 +0000 (19:41 -0700)]
[ARM] tegra: clock: Drop old CPU dvfs
Change-Id: Iaa5377dd1d8bf32e90deb668053c10588642fa03
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 01:04:47 +0000 (18:04 -0700)]
[ARM] tegra: cpufreq: Remove cansleep from clk api
Change-Id: I97614cac27da66a95664664143952f376fc5462e
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 02:16:02 +0000 (19:16 -0700)]
[ARM] tegra: clock: Initialize clocks that have no enable
Change-Id: I136713c2a2ff9fec9fc629ae8f91709e49016618
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 21 Oct 2010 00:47:18 +0000 (17:47 -0700)]
[ARM] tegra: Disable clocks left on by bootloader
Change-Id: I6651ab59b738787ec94f358d5789d950c3d1a563
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 21 Oct 2010 00:47:59 +0000 (17:47 -0700)]
[ARM] tegra: cpufreq: Take an extra reference to pllx
During cpu frequency changes, take an extra reference to pllx so
that it doesn't turn off and on while the cpu is on pllp.
Change-Id: I574d399a67aab21f99473296a29aa1eedc0eedb9
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 9 Sep 2010 02:45:30 +0000 (19:45 -0700)]
[ARM] tegra: common: Enable clocks that should always be on
Change-Id: Ic2cb51d54b0a75081672acf0bccbc859d817cd88
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 16 Sep 2010 21:59:49 +0000 (14:59 -0700)]
[ARM] tegra: clock: Don't use PLL lock bits
The PLL lock bits are not reliable, use per-PLL timeouts instead.
Change-Id: I2749e0d8bcfb0b60dbbcf6378b38307f77ff8d4d
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 9 Sep 2010 03:01:04 +0000 (20:01 -0700)]
[ARM] tegra: clock: Drop debugging
Change-Id: Ic707eb111856eb9bdb165776d011c35d04502a9a
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 9 Sep 2010 02:41:58 +0000 (19:41 -0700)]
[ARM] tegra: clock: Don't BUG on changing an enabled PLL
Change-Id: Id213fd4ad8ae1e4429e31625c8b61d6be3fe708f
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 21 Oct 2010 02:30:48 +0000 (19:30 -0700)]
[ARM] tegra: clock: Add host and avp clocks
Change-Id: Icde28cb63ecb7c210a05d25fbc6be96337f96a17
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 21 Oct 2010 21:48:14 +0000 (14:48 -0700)]
Merge commit 'v2.6.36' into linux-tegra-2.6.36
Erik Gilling [Tue, 19 Oct 2010 21:51:09 +0000 (14:51 -0700)]
video: tegra: clear video modes on hdmi unplug
Change-Id: If9aabc5efa1b934c94e71e0210f38979f6f7e58e
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Tue, 19 Oct 2010 21:49:05 +0000 (14:49 -0700)]
video: tegra: allow clearing of video modes in fb driver
Change-Id: Ibec4fd2ef7136843b68c52b60862b2c5c3e795fc
Signed-off-by: Erik Gilling <konkers@android.com>
Erik Gilling [Tue, 19 Oct 2010 21:48:26 +0000 (14:48 -0700)]
video: tegra: don't enable display when mode is invalid
Change-Id: I84a494f7c125ceadbe39a681a8ed7cfa244a6a2b
Signed-off-by: Erik Gilling <konkers@android.com>
Colin Cross [Wed, 20 Oct 2010 05:11:37 +0000 (22:11 -0700)]
video: tegra: fb: Add flag to flip fb during probe
Change-Id: Ibe65175392fe2fe491cb88b5df0771a17bc0c706
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 01:01:45 +0000 (18:01 -0700)]
video: tegra: dc: Move init to module_init
Move dc init to the device init level so that all clocks are
initialized before the late init level. This depends on I2C
being initialized in the subsys init level.
Change-Id: Iafe759d943b6cc90d5c6718b69e872e14d6acd4e
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Thu, 14 Oct 2010 01:00:21 +0000 (18:00 -0700)]
i2c: busses: i2c-tegra: Move init to subsys_initcall
Some drivers (like hdmi) need to communicate over i2c during probe.
Move the i2c bus init to the subsys init level so that i2c is ready
for the start of the device init level.
Change-Id: I81234d42aa26b657ffc619099e47df09e12083bb
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Wed, 20 Oct 2010 04:09:29 +0000 (21:09 -0700)]
[ARM] tegra: Add function to copy framebuffer contents
Due to conflicting restrictions on the location of the framebuffer
between the bootloader and the protected aperture, the framebuffer
is likely to need to be moved during boot. This patch provides
tegra_move_framebuffer, which can handle move the framebuffer from
lowmem, highmem, or unmapped memory into unmapped memory.
Change-Id: Ic37e5e337cd3129065fe56fd7777a86d06ad69ac
Colin Cross [Wed, 20 Oct 2010 01:33:52 +0000 (18:33 -0700)]
video: tegra: nvmap: Prevent reverting to sysmem for small allocations
Change-Id: Icfe552ad4a968329a1a2959d5b438062587a83b6
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Tue, 19 Oct 2010 23:08:48 +0000 (16:08 -0700)]
[ARM] tegra: suspend: Save protected aperture across LP0
Change-Id: Iab66c566957cfbac8ddab615ec92e57c2164ab68
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Tue, 19 Oct 2010 23:12:33 +0000 (16:12 -0700)]
[ARM] tegra: Add function to enable protected aperture
Change-Id: I699cee3bc9a131259b330655126146f5d1f92043
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Tue, 19 Oct 2010 21:45:50 +0000 (14:45 -0700)]
[ARM] tegra: Use memblock_remove to allocate carveout and framebuffer
This uses the patch by rmk to allow memblock_remove to be used to
remove areas of memory from the 1:1 mapping, allowing them to be
remapped later using iomap or, for Tegra, nvmap.
Also uses memblock_reserve to reserve the lp0 boot vector, so it
doesn't need to be copied later in tegra_init_suspend.
tegra_reserve should be called from the machine reserve callback
after any board-specific memory areas are reserved.
Change-Id: I26be8544a03b6da74fe66dc53a77681d431c303c
Signed-off-by: Colin Cross <ccross@android.com>
Colin Cross [Tue, 19 Oct 2010 19:42:34 +0000 (12:42 -0700)]
[ARM] mm: init: Use memblock to set up memory map
Based on patch by rmk on lkml at http://lkml.org/lkml/2010/10/11/179
Reverts changes to find_limits to fix crash when using memblock_remove
on the end of memory.
Original-author: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Colin Cross <ccross@android.com>
Change-Id: I6137a7939329381e4ed34bfcdc8b713dc50ebcc8
Rebecca Schultz Zavin [Tue, 19 Oct 2010 22:57:40 +0000 (15:57 -0700)]
video: tegra: nvmap: Remove warning from nvmap_pin
The framebuffer driver needs to be able to arbitrarily pin whatever
gets handed to it. Regardless of the interface used, functions need
to unpin as soon as they finish using the gart anyway.
Change-Id: Ida8aea2fb6eaca8bcbf3ae72f8dfa849dc198542
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Chris Fries [Wed, 20 Oct 2010 18:10:29 +0000 (13:10 -0500)]
[ARM] tegra_i2s_audio: support mono capture
Support mono data formats such as DSP PCM Mode with 16 bit mono capture.
This patch also disables the in-driver downsampler.
Signed-off-by: Iliyan Malchev <malchev@google.com>
Linus Torvalds [Wed, 20 Oct 2010 20:30:22 +0000 (13:30 -0700)]
Linux 2.6.36
Linus Torvalds [Wed, 20 Oct 2010 20:18:21 +0000 (13:18 -0700)]
Merge branch 'upstream' of git://git.linux-mips.org/upstream-linus
* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
MIPS: O32 compat/N32: Fix to use compat syscall wrappers for AIO syscalls.
MAINTAINERS: Change list for ioc_serial to linux-serial.
SERIAL: ioc3_serial: Return -ENOMEM on memory allocation failure
MIPS: jz4740: Fix Kbuild Platform file.
MIPS: Repair Kbuild make clean breakage.
Amit Shah [Wed, 20 Oct 2010 03:15:43 +0000 (13:45 +1030)]
virtio: console: Don't block entire guest if host doesn't read data
If the host is slow in reading data or doesn't read data at all,
blocking write calls not only blocked the program that called write()
but the entire guest itself.
To overcome this, let's not block till the host signals it has given
back the virtio ring element we passed it. Instead, send the buffer to
the host and return to userspace. This operation then becomes similar
to how non-blocking writes work, so let's use the existing code for this
path as well.
This code change also ensures blocking write calls do get blocked if
there's not enough room in the virtio ring as well as they don't return
-EAGAIN to userspace.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
CC: stable@kernel.org
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Wed, 20 Oct 2010 20:13:09 +0000 (13:13 -0700)]
Merge git://git./linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] bsg: fix incorrect device_status value
[SCSI] Fix VPD inquiry page wrapper
Iliyan Malchev [Wed, 20 Oct 2010 00:50:32 +0000 (17:50 -0700)]
[ARM] tegra_i2s_audio: add support for selecting tx/rx channels separately
Signed-off-by: Iliyan Malchev <malchev@google.com>
Linus Torvalds [Wed, 20 Oct 2010 16:00:44 +0000 (09:00 -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: Fix fs/gs reload oops with invalid ldt
Dmitry Shmidt [Tue, 19 Oct 2010 23:06:36 +0000 (16:06 -0700)]
mmc: sdhci: Enable MMC_CAP_ERASE
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
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>
Michel Thebeau [Tue, 28 Sep 2010 18:15:37 +0000 (14:15 -0400)]
MIPS: O32 compat/N32: Fix to use compat syscall wrappers for AIO syscalls.
[Ralf: Michel's original patch only fixed N32; I replicated the same fix
for O32.]
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Cc: paul.gortmaker@windriver.com
Cc: bruce.ashfield@windriver.com
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 19 Oct 2010 17:32:41 +0000 (18:32 +0100)]
MAINTAINERS: Change list for ioc_serial to linux-serial.
IOC3 is also being used on SGI MIPS systems but this particular driver is
only being used on IA64 systems so linux-mips made no sense as a list. Pat
also thinks linux-serial@vger.kernel.org is the better list.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Julia Lawall [Fri, 15 Oct 2010 13:00:09 +0000 (15:00 +0200)]
SERIAL: ioc3_serial: Return -ENOMEM on memory allocation failure
In this code, 0 is returned on memory allocation failure, even though other
failures return -ENOMEM or other similar values.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
expression ret;
expression x,e1,e2,e3;
@@
ret = 0
... when != ret = e1
*x = \(kmalloc\|kcalloc\|kzalloc\)(...)
... when != ret = e2
if (x == NULL) { ... when != ret = e3
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
To: Pat Gefre <pfg@sgi.com>
Cc: kernel-janitors@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1704/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
David Daney [Tue, 19 Oct 2010 01:05:49 +0000 (18:05 -0700)]
MIPS: jz4740: Fix Kbuild Platform file.
The platform specific files should be included via the platform-y
variable.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Patchwork: https://patchwork.linux-mips.org/patch/1719/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
David Daney [Tue, 19 Oct 2010 00:51:26 +0000 (17:51 -0700)]
MIPS: Repair Kbuild make clean breakage.
When running make clean, Kbuild doesn't process the .config file, so nothing
generates a platform-y variable. We can get it to descend into the platform
directories by setting $(obj-).
The dec Platform file was unconditionally setting platform-, obliterating
its previous contents and preventing some directories from being cleaned.
This is change to an append operation '+=' to allow cavium-octeon to be
cleaned.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Patchwork: https://patchwork.linux-mips.org/patch/1718/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Linus Torvalds [Tue, 19 Oct 2010 17:10:20 +0000 (10:10 -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: avivo cursor workaround applies to evergreen as well
Avi Kivity [Tue, 19 Oct 2010 14:46:55 +0000 (16:46 +0200)]
KVM: Fix fs/gs reload oops with invalid ldt
kvm reloads the host's fs and gs blindly, however the underlying segment
descriptors may be invalid due to the user modifying the ldt after loading
them.
Fix by using the safe accessors (loadsegment() and load_gs_index()) instead
of home grown unsafe versions.
This is CVE-2010-3698.
KVM-Stable-Tag.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
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>
Linus Torvalds [Mon, 18 Oct 2010 20:10:36 +0000 (13:10 -0700)]
Merge branch 'upstream' of git://git.linux-mips.org/upstream-linus
* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
MIPS: Enable ISA_DMA_API config to fix build failure
MIPS: 32-bit: Fix build failure in asm/fcntl.h
MIPS: Remove all generated vmlinuz* files on "make clean"
MIPS: do_sigaltstack() expects userland pointers
MIPS: Fix error values in case of bad_stack
MIPS: Sanitize restart logics
MIPS: secure_computing, syscall audit: syscall number should in r2, not r0.
MIPS: Don't block signals if we'd failed to setup a sigframe
Linus Torvalds [Mon, 18 Oct 2010 20:10:08 +0000 (13:10 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: evdev - fix EVIOCSABS regression
Input: evdev - fix Ooops in EVIOCGABS/EVIOCSABS
Linus Torvalds [Mon, 18 Oct 2010 20:09:26 +0000 (13:09 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
firewire: ohci: fix TI TSB82AA2 regression since 2.6.35
Sascha Hauer [Mon, 18 Oct 2010 08:16:26 +0000 (10:16 +0200)]
mxc_nand: do not depend on disabling the irq in the interrupt handler
This patch reverts the driver to enabling/disabling the NFC interrupt
mask rather than enabling/disabling the system interrupt. This cleans
up the driver so that it doesn't rely on interrupts being disabled
within the interrupt handler.
For i.MX21 we keep the current behaviour, that is calling
enable_irq/disable_irq_nosync to enable/disable interrupts. This patch
is based on earlier work by John Ogness.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: John Ogness <john.ogness@linutronix.de>
Tested-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 18 Oct 2010 20:05:10 +0000 (13:05 -0700)]
Merge branch 'for-linus/i2c/2636-rc8' of git://git.fluff.org/bjdooks/linux
* 'for-linus/i2c/2636-rc8' of git://git.fluff.org/bjdooks/linux:
i2c-imx: do not allow interruptions when waiting for I2C to complete
i2c-davinci: Fix TX setup for more SoCs
Linus Torvalds [Mon, 18 Oct 2010 20:04:33 +0000 (13:04 -0700)]
Merge branch 'fixes'
* fixes:
v4l1: fix 32-bit compat microcode loading translation
De-pessimize rds_page_copy_user
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>
Namhyung Kim [Mon, 18 Oct 2010 03:55:21 +0000 (12:55 +0900)]
MIPS: Enable ISA_DMA_API config to fix build failure
Add ISA_DMA_API config item and select it when GENERIC_ISA_DMA enabled.
This fixes build failure on allmodconfig like following:
CC sound/isa/es18xx.o
sound/isa/es18xx.c: In function 'snd_es18xx_playback1_prepare':
sound/isa/es18xx.c:501:9: error: implicit declaration of function 'snd_dma_program'
sound/isa/es18xx.c: In function 'snd_es18xx_playback_pointer':
sound/isa/es18xx.c:818:3: error: implicit declaration of function 'snd_dma_pointer'
make[3]: *** [sound/isa/es18xx.o] Error 1
make[2]: *** [sound/isa/es18xx.o] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1717/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Namhyung Kim [Sun, 17 Oct 2010 16:41:39 +0000 (01:41 +0900)]
MIPS: 32-bit: Fix build failure in asm/fcntl.h
CC security/integrity/ima/ima_fs.o
In file included from linux/include/linux/fcntl.h:4:0,
from linux/security/integrity/ima/ima_fs.c:18:
linux/arch/mips/include/asm/fcntl.h:63:2: error: expected specifier-qualifier-list before 'off_t'
make[3]: *** [security/integrity/ima/ima_fs.o] Error 1
make[2]: *** [security/integrity/ima/ima_fs.o] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1715/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Wu Zhangjin [Wed, 22 Sep 2010 06:03:57 +0000 (14:03 +0800)]
MIPS: Remove all generated vmlinuz* files on "make clean"
[Ralf: I changed the patch to explicitly list all files to be deleted out
of paranoia.]
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Patchwork: http://patchwork.linux-mips.org/patch/1590/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Al Viro [Tue, 28 Sep 2010 17:50:57 +0000 (18:50 +0100)]
MIPS: do_sigaltstack() expects userland pointers
o32 compat does the right thing, native and n32 compat do not...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/1700/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Al Viro [Tue, 28 Sep 2010 17:50:47 +0000 (18:50 +0100)]
MIPS: Fix error values in case of bad_stack
We want EFAULT, not -<syscall number>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1699/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Al Viro [Tue, 28 Sep 2010 17:50:37 +0000 (18:50 +0100)]
MIPS: Sanitize restart logics
Put the original syscall number into ->regs[0] when we leave syscall
with error. Use it in restart logics. Everything else will have
it 0 since we pass through SAVE_SOME on all the ways in. Note that
in places like bad_stack and inllegal_syscall we leave it 0 - it's not
restartable.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1698/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Al Viro [Tue, 28 Sep 2010 17:50:27 +0000 (18:50 +0100)]
MIPS: secure_computing, syscall audit: syscall number should in r2, not r0.
As it is, audit_syscall_entry() and secure_computing() get the
bogus value (0, in fact)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1697/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Al Viro [Tue, 28 Sep 2010 17:50:17 +0000 (18:50 +0100)]
MIPS: Don't block signals if we'd failed to setup a sigframe
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1696/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Daniel Mack [Mon, 18 Oct 2010 15:43:50 +0000 (08:43 -0700)]
Input: evdev - fix EVIOCSABS regression
448cd16 ("Input: evdev - rearrange ioctl handling") broke EVIOCSABS by
checking for the wrong direction bit.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Sven Neumann <s.neumann@raumfeld.com>
Tested-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Daniel Mack [Mon, 18 Oct 2010 15:43:30 +0000 (08:43 -0700)]
Input: evdev - fix Ooops in EVIOCGABS/EVIOCSABS
This fixes a regression introduced by the dynamic allocation of absinfo
for input devices. We need to bail out early for input devices which
don't have absolute axis.
[ 929.664303] Pid: 2989, comm: input Not tainted 2.6.36-rc8+ #14 MS-7260/MS-7260
[ 929.664318] EIP: 0060:[<
c12bdc01>] EFLAGS:
00010246 CPU: 0
[ 929.664331] EIP is at evdev_ioctl+0x4f8/0x59f
[ 929.664341] EAX:
00000040 EBX:
00000000 ECX:
00000006 EDX:
f45a1efc
[ 929.664355] ESI:
00000000 EDI:
f45a1efc EBP:
f45a1f24 ESP:
f45a1eb8
[ 929.664369] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 929.664402]
f470da74 f6a30e78 f462c240 00000018 bfe4a260 00000000 f45b06fc 00000000
[ 929.664429] <0>
000000c4 b769d000 c3544620 f470da74 f45b06fc f45b06fc f45a1f38 c107dd1f
[ 929.664458] <0>
f4710b74 000000c4 00000000 00000000 00000000 0000029d 00000a74 f4710b74
[ 929.664500] [<
c107dd1f>] ? handle_mm_fault+0x2be/0x59a
[ 929.664513] [<
c12bd709>] ? evdev_ioctl+0x0/0x59f
[ 929.664524] [<
c1099d30>] ? do_vfs_ioctl+0x494/0x4d9
[ 929.664538] [<
c10432a1>] ? up_read+0x16/0x29
[ 929.664550] [<
c101c818>] ? do_page_fault+0x2ff/0x32d
[ 929.664564] [<
c108d048>] ? do_sys_open+0xc5/0xcf
[ 929.664575] [<
c1099db6>] ? sys_ioctl+0x41/0x61
[ 929.664587] [<
c1002710>] ? sysenter_do_call+0x12/0x36
[ 929.684570] ---[ end trace
11b83e923bd8f2bb ]---
Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Marc Kleine-Budde [Mon, 21 Jun 2010 07:27:05 +0000 (09:27 +0200)]
i2c-imx: do not allow interruptions when waiting for I2C to complete
The i2c_imx_trx_complete() function is using
wait_event_interruptible_timeout() to wait for the I2C controller to
signal that it has completed an I2C bus operation. If the process that
causes the I2C operation receives a signal, the wait will be
interrupted, returning an error. It is better to let the I2C operation
finished before handling the signal (i.e. returning into userspace).
It is safe to use wait_event_timeout() instead, because the timeout
will allow the process to exit if the I2C bus hangs. It's also better
to allow the I2C operation to finish, because unacknowledged I2C
operations can cause the I2C bus to hang.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Jon Povey [Tue, 12 Oct 2010 04:47:05 +0000 (13:47 +0900)]
i2c-davinci: Fix TX setup for more SoCs
This patch is an improvement to
4bba0fd8d1c6d405df666e2573e1a1f917098be0
which got to mainline a little early.
Sudhakar Rajashekhara explains that at least OMAP-L138 requires MDR mode
settings before DXR for correct behaviour, so load MDR first with
STT cleared and later load again with STT set.
Tested on DM355 connected to Techwell TW2836 and Wolfson WM8985
Signed-off-by: Jon Povey <jon.povey@racelogic.co.uk>
Acked-by: Troy Kisky <troy.kisky@boundarydevices.com>
Tested-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Alex Deucher [Thu, 14 Oct 2010 21:14:57 +0000 (17:14 -0400)]
drm/radeon/kms: avivo cursor workaround applies to evergreen as well
Fixes cursor corruption in certain cases.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Linus Torvalds [Sun, 17 Oct 2010 16:38:08 +0000 (09:38 -0700)]
Merge branch 'fix/misc' of git://git./linux/kernel/git/tiwai/sound-2.6
* 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: rawmidi: fix oops (use after free) when unloading a driver module
Stefan Richter [Sun, 17 Oct 2010 12:09:12 +0000 (14:09 +0200)]
firewire: ohci: fix TI TSB82AA2 regression since 2.6.35
Revert commit
54672386ccf36ffa21d1de8e75624af83f9b0eeb
"firewire: ohci: fix up configuration of TI chips".
It caused massive slow-down and data corruption with a TSB82AA2 based
StarTech
EC1394B2 ExpressCard and FireWire 800 harddisks.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/657081
http://thread.gmane.org/gmane.linux.kernel.firewire.user/4013
The fact that some card EEPROMs do not program these enhancements may be
related to TSB81BA3 phy chip errata, if not to bugs of TSB82AA2 itself.
We could re-add these configuration steps, but only conditional on a
whitelist of cards on which these enhancements bring a proven positive
effect.
Reported-and-tested-by: Eric Shattow <lucent@gmail.com>
Cc: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org> 2.6.35
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Clemens Ladisch [Fri, 15 Oct 2010 10:06:18 +0000 (12:06 +0200)]
ALSA: rawmidi: fix oops (use after free) when unloading a driver module
When a driver module is unloaded and the last still open file is a raw
MIDI device, the card and its devices will be actually freed in the
snd_card_file_remove() call when that file is closed. Afterwards, rmidi
and rmidi->card point into freed memory, so the module pointer is likely
to be garbage.
(This was introduced by commit
9a1b64caac82aa02cb74587ffc798e6f42c6170a.)
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-by: Krzysztof Foltman <wdev@foltman.com>
Cc: 2.6.30-2.6.35 <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
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>
Kyle McMartin [Sat, 16 Oct 2010 01:17:16 +0000 (21:17 -0400)]
m32r: test __LITTLE_ENDIAN__ instead of __LITTLE_ENDIAN
Fixes build for me... these are what's tested in byteorder.h...
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Kyle McMartin [Sat, 16 Oct 2010 01:17:13 +0000 (21:17 -0400)]
m32r: add kernel/.gitignore and ignore vmlinux.lds
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Kyle McMartin [Sat, 16 Oct 2010 01:17:09 +0000 (21:17 -0400)]
m32r: get_user takes an lvalue, not a pointer
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Acked-by: Al "my fuckup" Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>