Commit Graph

211889 Commits

Author SHA1 Message Date
Colin Cross
dccfbe43e3 ARM: tegra: cpuidle: Keep statistics on idle wake interrupts
Change-Id: Ieaee455b4e52f232c5b1285756c22bcdc7fdc6b4
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 18:46:19 -07:00
Colin Cross
1c83ad292d 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>
2010-10-25 18:46:19 -07:00
Colin Cross
1d583e43c3 ARM: tegra: cpuidle: Fix compile issues with CONFIG_SMP=n
Change-Id: Id02744bcdfc079a6091be2e8a736bcd3a6cc0ba6
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 18:46:19 -07:00
Colin Cross
b1a196f10a ARM: tegra: cpufreq: Fix compile issues with CONFIG_SMP=n
Change-Id: Id678df6299adfc23a4321ddaff10b4c64a4ed895
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 18:46:19 -07:00
James Wylder
86db6643b3 [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>
2010-10-25 17:05:35 -07:00
Colin Cross
f729366c17 ARM: tegra: clock: Remove dependency between "set" and debugfs
Change-Id: I732f9428096d057e08092120c6f8c2890230a242
2010-10-25 15:06:14 -07:00
Colin Cross
348d21313d video: tegra: dc: Call dvfs functions
Change-Id: If3cca5da2abc5e6c3671c8c23af90cd4e029db5c
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 15:06:14 -07:00
Colin Cross
9655d3117e [ARM] tegra: dvfs: Convert cpu to new dvfs, add core dvfs tables
Change-Id: I4020943ee10026866b29302aac177a5bdc259184
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:57:44 -07:00
Colin Cross
d86613c649 [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>
2010-10-25 14:57:42 -07:00
Colin Cross
e99be0bd23 [ARM] tegra: clock: Add shared bus clock type
Change-Id: If8022248049e790030f1480f37a074401e24d54c
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:57:41 -07:00
Colin Cross
4fb700a34f [ARM] tegra: clock: Move unshared clk struct members into union
Change-Id: I4e03194d4a86c73eea4773fbdcaf773e06b6eebf
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:57:40 -07:00
Colin Cross
bc77f9721e [ARM] tegra: clock: Rearrange static clock tables
Change-Id: I90078bf5e9eaa0fa64681e2ed77c7ac7f7d31804
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:57:39 -07:00
Colin Cross
8f716a774a [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>
2010-10-25 14:57:38 -07:00
Colin Cross
011cc07a11 [ARM] tegra: clock: Drop old CPU dvfs
Change-Id: Iaa5377dd1d8bf32e90deb668053c10588642fa03
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:41:36 -07:00
Colin Cross
69250e7b06 [ARM] tegra: cpufreq: Remove cansleep from clk api
Change-Id: I97614cac27da66a95664664143952f376fc5462e
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:41:35 -07:00
Colin Cross
93c186fb2e [ARM] tegra: clock: Initialize clocks that have no enable
Change-Id: I136713c2a2ff9fec9fc629ae8f91709e49016618
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:41:34 -07:00
Colin Cross
7ef0c96152 [ARM] tegra: Disable clocks left on by bootloader
Change-Id: I6651ab59b738787ec94f358d5789d950c3d1a563
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-25 14:41:32 -07:00
Colin Cross
b06eacd21e [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>
2010-10-25 13:11:47 -07:00
Colin Cross
20d2474a1e [ARM] tegra: common: Enable clocks that should always be on
Change-Id: Ic2cb51d54b0a75081672acf0bccbc859d817cd88
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-21 15:07:20 -07:00
Colin Cross
fd58ffb042 [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>
2010-10-21 15:07:20 -07:00
Colin Cross
d39386553b [ARM] tegra: clock: Drop debugging
Change-Id: Ic707eb111856eb9bdb165776d011c35d04502a9a
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-21 15:07:20 -07:00
Colin Cross
a2b67e2884 [ARM] tegra: clock: Don't BUG on changing an enabled PLL
Change-Id: Id213fd4ad8ae1e4429e31625c8b61d6be3fe708f
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-21 15:07:20 -07:00
Colin Cross
56a2d8caf7 [ARM] tegra: clock: Add host and avp clocks
Change-Id: Icde28cb63ecb7c210a05d25fbc6be96337f96a17
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-21 15:07:19 -07:00
Colin Cross
766197150f Merge commit 'v2.6.36' into linux-tegra-2.6.36 2010-10-21 14:48:14 -07:00
Erik Gilling
61804f1c49 video: tegra: clear video modes on hdmi unplug
Change-Id: If9aabc5efa1b934c94e71e0210f38979f6f7e58e
Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-20 18:21:34 -07:00
Erik Gilling
d7962c6bae video: tegra: allow clearing of video modes in fb driver
Change-Id: Ibec4fd2ef7136843b68c52b60862b2c5c3e795fc
Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-20 18:21:34 -07:00
Erik Gilling
99bf62514f video: tegra: don't enable display when mode is invalid
Change-Id: I84a494f7c125ceadbe39a681a8ed7cfa244a6a2b
Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-20 18:21:33 -07:00
Colin Cross
0b313530b3 video: tegra: fb: Add flag to flip fb during probe
Change-Id: Ibe65175392fe2fe491cb88b5df0771a17bc0c706
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-20 14:30:18 -07:00
Colin Cross
4076bd38a5 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>
2010-10-20 14:30:17 -07:00
Colin Cross
8b2a43378b 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>
2010-10-20 14:30:17 -07:00
Colin Cross
00eb0f29e9 [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
2010-10-20 14:30:17 -07:00
Colin Cross
bd5e7b5939 video: tegra: nvmap: Prevent reverting to sysmem for small allocations
Change-Id: Icfe552ad4a968329a1a2959d5b438062587a83b6
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-20 14:30:17 -07:00
Colin Cross
25d5d351ec [ARM] tegra: suspend: Save protected aperture across LP0
Change-Id: Iab66c566957cfbac8ddab615ec92e57c2164ab68
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-20 14:30:17 -07:00
Colin Cross
0f712aa808 [ARM] tegra: Add function to enable protected aperture
Change-Id: I699cee3bc9a131259b330655126146f5d1f92043
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-20 14:30:17 -07:00
Colin Cross
9796850a6b [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>
2010-10-20 14:30:17 -07:00
Colin Cross
4263b27049 [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
2010-10-20 14:30:16 -07:00
Rebecca Schultz Zavin
424e17f5a2 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>
2010-10-20 14:19:25 -07:00
Chris Fries
1e7893b76b [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>
2010-10-20 14:09:43 -07:00
Linus Torvalds
f6f94e2ab1 Linux 2.6.36 v2.6.36 2010-10-20 13:30:22 -07:00
Linus Torvalds
7d7c4d06be Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/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.
2010-10-20 13:18:21 -07:00
Amit Shah
531295e63b 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>
2010-10-20 13:18:04 -07:00
Linus Torvalds
30c278192f Merge git://git.kernel.org/pub/scm/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
2010-10-20 13:13:09 -07:00
Iliyan Malchev
ffd385c7f8 [ARM] tegra_i2s_audio: add support for selecting tx/rx channels separately
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-10-20 11:12:41 -07:00
Linus Torvalds
ef2533dae5 Merge branch 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/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
2010-10-20 09:00:44 -07:00
Dmitry Shmidt
dc7ed6438a mmc: sdhci: Enable MMC_CAP_ERASE
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2010-10-19 16:06:36 -07:00
Gary King
7f91ddc135 Revert "[ARM] mm: add page allocator for modifying cache attributes"
This reverts commit 54d4145704.

Change-Id: I8e5cf6ef3555129da9741ef52a1e6a3a772ad588
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-19 12:42:23 -07:00
Gary King
78d98c3245 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>
2010-10-19 12:42:21 -07:00
Michel Thebeau
e2cc502c3f 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>
2010-10-19 18:32:41 +01:00
Ralf Baechle
d39e072166 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>
2010-10-19 18:32:41 +01:00
Julia Lawall
6cc0cc4a35 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>
2010-10-19 18:32:40 +01:00