firefly-linux-kernel-4.4.55.git
14 years ago[ARM] tegra_i2s_audio: add suspend wakelocks
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>
14 years agoMerge branch 'android-2.6.36' into android-tegra-2.6.36
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

14 years agoMerge branch 'linux-tegra-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

14 years ago[arm]: tegra: dma: DMA error debugging.
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>
14 years ago[arm]: tegra: serial: DMA allocation fix.
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>
14 years agommc: Fix pm_notifier obeying deferred resume
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>
14 years agovideo: tegra: update overlay stride in fb_set_par
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>
14 years agospi: tegra: cleanups from upstream review
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>
14 years ago[ARM] tegra_i2s_audio: add support for DSP (PCM) mode.
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>
14 years ago[ARM] tegra_i2s_audio: fixes
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>
14 years agousb: gadget: fsl_udc: Add support for USB test mode feature
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>
14 years agousb: gadget: fsl_udc: Fix dTDs allocation gfp flags
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>
14 years agousb: gadget: fsl_udc: Prevent udc timeout on suspend
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>
14 years agoMerge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
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

14 years agoMerge branch 'android-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

14 years agopanjit_touch: add early suspend support to panjit I2C touchscreen
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>
14 years ago[ARM] add config file for tegra SoCs running Android
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>
14 years agotegra: ventana: add adb support
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>
14 years agoMerge branch 'android-2.6.36' into android-tegra-2.6.36
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

14 years ago[ARM] tegra: ventana: add graphics support
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>
14 years ago[ARM] tegra: ventana: add ldo3 consumer for avdd_lvds
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>
14 years ago[ARM] tegra: ventana: remove BUG() in set_charge.
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>
14 years agovideo: tegra: nvmap: Only allow allocations out of highmem
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>
14 years agoRevert "[ARM] mmu: add option to map lowmem with page mappings"
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.

14 years ago[ARM] attrib_alloc: fix outer cache flush end address
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>
14 years agoRevert "video: tegra: add utility function to compute framebuffer stride"
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

14 years agovideo: tegra: clean up fb flipping code
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

14 years ago[ARM] tegra: add 10us delay after unclamping in powergate_on sequence
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

14 years agovideo: tegra: dump current pushbuffer from channel debugger
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

14 years agovideo: tegra: fix host1x command decoding debug prints
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

14 years agovideo: tegra: lock around DC suspend/resume
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>
14 years agofs: EFI: Convert UTF-16LE partition names to UTF-8
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>
14 years agovideo: tegra: nvmap: fix read failures, super user and noref pinning
Gary King [Mon, 11 Oct 2010 21:22:35 +0000 (14:22 -0700)]
video: tegra: nvmap: fix read failures, super user and noref pinning

a >= vs > error when checking the operating region of the read and
write ioctls was causing failures when reading the last byte of a handle.

the super-user node (knvmap) wasn't registered correctly due to a cut-
and-paste error, and the regular user node was assigned super-user
priveleges.

noref pinning wasn't correctly validating that the specified handle
existed before pinning it, which caused the reference count for the
handle to become imbalanced on a subsequent unpin

Change-Id: I9985b85023705b00389a53fb962c3b60d62da6b8
Signed-off-by: Gary King <gking@nvidia.com>
14 years agomisc: kernel_debugger: fix handle_sysrq call
Erik Gilling [Tue, 31 Aug 2010 01:16:30 +0000 (18:16 -0700)]
misc: kernel_debugger: fix handle_sysrq call

Change-Id: I58376b7de56751fd57a038fb8f908f36fe60dda1
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Author:    Erik Gilling <konkers@android.com>

14 years agospi: tegra: Increase delay between CS and clock start
Greg Meiste [Thu, 30 Sep 2010 16:40:22 +0000 (11:40 -0500)]
spi: tegra: Increase delay between CS and clock start

Some SPI devices require a delay between the CS and when the clock
starts.  Increase SS_SETUP to accommodate these devices.

Change-Id: I301e3583e70c722cadde5a9f91119881805dd3a5
Signed-off-by: Greg Meiste <w30289@motorola.com>
14 years agoMerge commit 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36
Rebecca Schultz Zavin [Fri, 8 Oct 2010 23:04:11 +0000 (16:04 -0700)]
Merge commit 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36

14 years agovideo: tegra: add host1x support to driver
Gary King [Tue, 31 Aug 2010 23:45:55 +0000 (16:45 -0700)]
video: tegra: add host1x support to driver

includes changes by:

Antti Hatala <ahatala@nvidia.com> (1)
Gary King <gking@nvidia.com> (1)
Erik Gilling <konkers@android.com> (2)

Antti Hatala <ahatala@nvidia.com>
video: tegra: dc: use nvhost driver for host1x power management

Gary King <gking@nvidia.com>
video: tegra: fb: add ioctl to flip dc windows to nvmap handles

Erik Gilling <konkers@android.com>
video: tegra: dc: increment syncpoints following window flips
video: tegra: drain syncpt waits on display disable

Original commit messages:
**
video: tegra: dc: use nvhost driver for host1x power management

Incrementing the frame done syncpoint value from the display interrupt
requires that the host module is powered on. As the syncpoint state is
saved and restored automatically by the host driver a cpu increment of
a syncpoint in the powered down state will be lost.

Also adds checks for host module being powered.
**
video: tegra: fb: add ioctl to flip dc windows to nvmap handles

tegra user-space graphics drivers may allocate framebuffers using
nvmap rather than rendering to the common framebuffer, this may
be done to support deeper buffer pipelining, color formats
and pixel layouts other than the initial bootup framebuffer,
etc.

to use this ioctl, a caller must first specify an nvmap fd
which is already open in the calling process so that the
subsequent flip ioctls may be properly validated. flips are performed
asynchronously, with flip completion notifications provided back to
the caller via the host1x syncpoint mechanism

based on earlier changes made by Antti Hatala <ahatala@nvidia.com>
and Erik Gilling <konkers@android.com>

Change-Id: I4e8a8bb92085a485d65fd87d89112b2969ee37ff
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: add graphics host to devices.c
Gary King [Sat, 2 Oct 2010 00:02:12 +0000 (17:02 -0700)]
[ARM] tegra: add graphics host to devices.c

Change-Id: I4c694d3c9f8a15975591ba5b61625da410991efd
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: add SYNCPT_THRESH interrupts to irqs.h
Gary King [Sat, 2 Oct 2010 00:21:12 +0000 (17:21 -0700)]
[ARM] tegra: add SYNCPT_THRESH interrupts to irqs.h

Change-Id: Ibff6f3281b6e81143b5f4535d6d5688e6a631b46
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: add graphics host apertures to iomap.h
Gary King [Sat, 2 Oct 2010 00:20:24 +0000 (17:20 -0700)]
[ARM] tegra: add graphics host apertures to iomap.h

Change-Id: Ic6acf37bdc36aaa8af71bd2a576089ca8579fcc6
Signed-off-by: Gary King <gking@nvidia.com>
14 years agovideo: tegra: host1x driver
Gary King [Tue, 31 Aug 2010 22:51:55 +0000 (15:51 -0700)]
video: tegra: host1x driver

the graphics and display hardware on tegra SoCs is accessed
through a command DMA front-end called host1x

host driver clients place commands into memory objects called
streams, and submit a stream on one of 8 channels: the assignment
of streams-to-channels depends on the hardware module(s) programmed
by the stream: for example, all streams which program the 3D
hardware are submitted on channel 1.

the host1x hardware includes two synchronization primitives to
allow command streams to synchronize access to memory or to
hardware engines shared across channels (e.g. the 2D blitter):
sync points and module mutexes. both primitives can also be
used to synchronize with the CPU.

the host1x driver performs power management for all modules
behind the host block: once a module is idle (i.e., the
last stream which accesses it has completed, indicated by
a syncpoint) and has remained idle for an extended period
of time, the module's clock (and power gate island, if the
module is uniquely power-gated) is disabled, and will be
automatically re-enabled when a new stream is submitted for
that module.

includes channel debugging support originally implemented
by Erik Gilling <konkers@google.com>

Original Author: Antti Hatala <ahatala@nvidia.com>
Signed-off-by: Gary King <gking@nvidia.com>
Change-Id: Idf0ecc8e7710f3839903a9fbfbe5650990a96b2c

14 years agovideo: tegra: add utility function to compute framebuffer stride
Gary King [Sun, 15 Aug 2010 18:26:49 +0000 (11:26 -0700)]
video: tegra: add utility function to compute framebuffer stride

framebuffers will generally not be exactly width * bpp / 8 bytes wide;
on tegra, linearly-addressed framebuffers will generally be rounded
up so that the stride is a multiple of 16B (so that they are compatible
with rendering from the hardware engines), and tiled framebuffers
will be a multiple of the tile width (64B).

add a utility function to tegra_dc to compute the correct stride
given a width, bpp and pixel layout, and use this in set_par.

Change-Id: I803a55b49c12476f20d5644707899c3fe1336c2d
Signed-off-by: Gary King <gking@nvidia.com>
14 years agovideo: tegra: move nvhost.h to mach-tegra/include/nvhost.h
Gary King [Thu, 16 Sep 2010 20:28:51 +0000 (13:28 -0700)]
video: tegra: move nvhost.h to mach-tegra/include/nvhost.h

Change-Id: I3bcc0a91cb379c0bd6ef382a5bf10e2406e55697
Signed-off-by: Gary King <gking@nvidia.com>
14 years agovideo: tegra: add GPU memory management driver (nvmap)
Gary King [Tue, 31 Aug 2010 21:04:37 +0000 (14:04 -0700)]
video: tegra: add GPU memory management driver (nvmap)

nvmap provides an interface for user- and kernel-space clients to
allocate and access memory "handles" which can be pinned to enable
the memory to be shared with DMA devices on the system, and may
also be mapped (using caller-specified cache attributes) so that
they are directly accessible by the CPU.

the memory handle object gives clients a common API to allocate from
multiple types of memory: platform-reserved physically contiguous
"carveout" memory, physically contiguous (order > 0) OS pages,
or physically discontiguous order-0 OS pages that can be remapped
into a contiguous region of the DMA device's virtual address space
through the tegra IOVMM subsystem.

unpinned and unmapped memory handles are relocatable at run-time
by the nvmap system. handles may also be shared between multiple
clients, allowing (for example) a window manager and its client
applications to directly share framebuffers

Change-Id: Ie8ead17fe7ab64f1c27d922b1b494f2487a478b6
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: mirror inner-cacheable change in tegra startup
Gary King [Wed, 15 Sep 2010 16:55:30 +0000 (09:55 -0700)]
[ARM] tegra: mirror inner-cacheable change in tegra startup

Change-Id: Ibe2662934076a28a6ce22ffc5eb0bfaa46f98ccd
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] mm: add memory type for inner-writeback
Gary King [Wed, 15 Sep 2010 16:49:24 +0000 (09:49 -0700)]
[ARM] mm: add memory type for inner-writeback

For streaming-style operations (e.g., software rendering of graphics
surfaces shared with non-coherent DMA devices), the cost of performing
L2 cache maintenance can exceed the benefit of having the larger cache
(this is particularly true for OUTER_CACHE configurations like the ARM
PL2x0).

This change uses the currently-unused mapping 5 (TEX[0]=1, C=0, B=1)
in the tex remapping tables as an inner-writeback-write-allocate, outer
non-cacheable memory type, so that this mapping will be available to
clients which will benefit from the reduced L2 maintenance.

Change-Id: Iaec3314a304eab2215100d991b1e880b676ac906
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: change SMP startup to use read-allocate cache
Gary King [Wed, 15 Sep 2010 16:42:36 +0000 (09:42 -0700)]
[ARM] tegra: change SMP startup to use read-allocate cache

mirror the change to v7 common startup in the tegra-specific
LP2 and hotplug statup routines

Change-Id: I0552eba951dbfc168e37e59b41394d31fab30256
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] mm: change to read-allocate as default SMP cache policy
Gary King [Wed, 15 Sep 2010 16:32:10 +0000 (09:32 -0700)]
[ARM] mm: change to read-allocate as default SMP cache policy

the "streaming" mode optimization which skips cacheline allocation
for fully-dirty lines is frequently defeated when coherent processors
perfom stores simultaneously

this results in cachelines being allocated in SMP which are not
allocated when run in uniprocessor, resulting in a significant
reduction in aggregate write bandwidth. for example, on Tegra 2
systems with 300MHz DDR main memory, running memset over a large
buffer (i.e., L2 miss) on a single processor will achieve ~2GB/sec
of write bandwidth, but if the same operation is run in parallel on
both CPUs, the aggregate write bandwidth is just 500MB/sec

changing the cache allocation policy to read-allocate reduces some
of this performance loss on SMP systems.

Change-Id: Ice47ab0a15f2490b7e9a007b4b37800566ed7be1
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: remove inner-writeback memory type from SMP startup
Gary King [Wed, 15 Sep 2010 16:24:35 +0000 (09:24 -0700)]
[ARM] tegra: remove inner-writeback memory type from SMP startup

the memory remapping (NMRR) registers were configured differently
by the SMP and LP2 startup code from the standard kernel.

temporarily reverting the inner-writeback change for now.

Change-Id: Ib9c4fc75580d1cc705a5dd83377c0703669bcabc
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] mm: add page allocator for modifying cache attributes
Gary King [Mon, 2 Aug 2010 22:55:16 +0000 (15:55 -0700)]
[ARM] mm: add page allocator for modifying cache attributes

ARM CPUs with speculative prefetching have undefined behaviors when the
same physical page is mapped to two different virtual addresses with
conflicting cache attributes.

since many recent systems include IOMMU functionality (i.e., remapping
of discontiguous physical pages into a virtually-contiguous address
range for I/O devices), it is desirable to support allocating any
available OS memory for use by the I/O devices. however, since many
systems do not support cache coherency between the CPU and DMA devices,
these devices are left with using DMA-coherent allocations from the OS
(which severely limits the benefit of an IOMMU) or performing cache
maintenance (which can be a severe performance loss, particularly on
systems with outer caches, compared to using DMA-coherent memory).

this change adds an API for allocating pages from the OS with specific
cache maintenance properties and ensures that the kernel's mapping
of the page reflects the desired cache attributes, in line with the
ARMv7 architectural requirements

Change-Id: If0bd3cfe339b9a9b10fd6d45a748cd5e65931cf0
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] mmu: add option to map lowmem with page mappings
Gary King [Thu, 7 Oct 2010 19:44:06 +0000 (12:44 -0700)]
[ARM] mmu: add option to map lowmem with page mappings

add a kernel configuration to map the kernel's lowmem pages using PTE
mappings, rather than the default behavior of 1MiB section mappings.
on ARMv7 processors, to support allocating pages with DMA-coherent
cache attributes, the cache attributes specified in the kernel's
mapping must match cache attributes specified for other mappings;
to ensure that this is the case, the kernel's attributes must be
specified on a per-page basis.

to avoid problems caused by the init_mm page table allocations exceeding
the available initial memory, when this config is enabled lowmem is
initially mapped using sections (matches current behavior), then remapped
using pages after bootmem is initialized

Change-Id: I8a6feba1d6806d007e17d9d4616525b0446c0fb1
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: i2s: Add I2S ioctl for setting bit format
Chris Fries [Fri, 8 Oct 2010 18:54:28 +0000 (13:54 -0500)]
[ARM] tegra: i2s: Add I2S ioctl for setting bit format

Added an ioctl to set the bit format for I2S between "DSP"/"PCM" mode and
normal mode (set by board file)

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: Add fiq debugger
Colin Cross [Tue, 5 Oct 2010 01:32:15 +0000 (18:32 -0700)]
[ARM] tegra: Add fiq debugger

Change-Id: Ic625e20c0a9a147ae39153f18d328f2181b81318
Signed-off-by: Colin Cross <ccross@android.com>
14 years agoMerge branch 'android-2.6.36' into android-tegra-2.6.36
Colin Cross [Fri, 8 Oct 2010 00:35:27 +0000 (17:35 -0700)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36

14 years agoMerge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Colin Cross [Fri, 8 Oct 2010 00:35:10 +0000 (17:35 -0700)]
Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36

14 years ago[ARM] fiq glue: Align fiq stacks
Colin Cross [Wed, 6 Oct 2010 05:08:01 +0000 (22:08 -0700)]
[ARM] fiq glue: Align fiq stacks

Change-Id: I956f05d0b0ce48572e611765e56a439dc036c052
Signed-off-by: Colin Cross <ccross@android.com>
14 years ago[ARM] tegra: irq: Implement retrigger
Colin Cross [Sat, 2 Oct 2010 02:16:54 +0000 (19:16 -0700)]
[ARM] tegra: irq: Implement retrigger

Change-Id: I5be02f60f1b0f35835a8d05abdb2934cdafb1122
Signed-off-by: Colin Cross <ccross@android.com>
14 years ago[ARM] tegra: Combine tegra_fiq_select with enable/disable
Colin Cross [Tue, 5 Oct 2010 01:22:56 +0000 (18:22 -0700)]
[ARM] tegra: Combine tegra_fiq_select with enable/disable

Change-Id: Iba3dc43e1a95993a6278eea008c7a8610ed0cd4c
Signed-off-by: Colin Cross <ccross@android.com>
14 years agommc: Add "ignore mmc pm notify" functionality
Dmitry Shmidt [Thu, 7 Oct 2010 21:39:16 +0000 (14:39 -0700)]
mmc: Add "ignore mmc pm notify" functionality

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
14 years ago[ARM] fiq debugger: Allow selection of target cpu
Colin Cross [Sat, 2 Oct 2010 06:41:38 +0000 (23:41 -0700)]
[ARM] fiq debugger: Allow selection of target cpu

Change-Id: I676bac08ba12dfa506aea16800fc80432b4bc83d
Signed-off-by: Colin Cross <ccross@android.com>
14 years agoepoll: make epoll_wait use the hrtimer range feature
Shawn Bohrer [Tue, 28 Sep 2010 23:12:05 +0000 (01:12 +0200)]
epoll: make epoll_wait use the hrtimer range feature

This make epoll use hrtimers for the timeout value which prevents
epoll_wait() from timing out up to a millisecond early.

This mirrors the behavior of select() and poll().

Change-Id: Ic6489ab6194935df348d31b8e92239227ffd3f17
Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Davide Libenzi <davidel@xmailserver.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
14 years agoselect: rename estimate_accuracy to select_estimate_accuracy
Andrew Morton [Tue, 28 Sep 2010 23:12:04 +0000 (01:12 +0200)]
select: rename estimate_accuracy to select_estimate_accuracy

Make it a subsystem-specific identifier because we wish to amke it
non-static in the next patch ("epoll: make epoll_wait() use the hrtimer
range feature").

Change-Id: Ie333f2051a3dc73dc8b0615b4fdccef63591c918
Cc: Shawn Bohrer <shawn.bohrer@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Davide Libenzi <davidel@xmailserver.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
14 years agommc: sdhci: Fix 4-bit wide support capability
Dmitry Shmidt [Thu, 7 Oct 2010 17:55:04 +0000 (10:55 -0700)]
mmc: sdhci: Fix 4-bit wide support capability

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
14 years agoRevert "[ARM] tegra: driver for spdif audio"
Iliyan Malchev [Thu, 7 Oct 2010 02:05:13 +0000 (19:05 -0700)]
Revert "[ARM] tegra: driver for spdif audio"

This reverts commit 3543d53703c5a1ed0b987c77e7a79226c3a24f45.

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: i2s: Update pm_qos for 2.6.36
Colin Cross [Wed, 6 Oct 2010 04:59:08 +0000 (21:59 -0700)]
[ARM] tegra: i2s: Update pm_qos for 2.6.36

Change-Id: I205457db1432c672b026887defa8d498bc613412
Signed-off-by: Colin Cross <ccross@android.com>
14 years ago[ARM] tegra: correct device definition of second i2s controller
Chris Fries [Thu, 7 Oct 2010 01:44:47 +0000 (18:44 -0700)]
[ARM] tegra: correct device definition of second i2s controller

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years agoMerge branch 'android-2.6.36' into android-tegra-2.6.36
Colin Cross [Thu, 7 Oct 2010 00:51:38 +0000 (17:51 -0700)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36

14 years agommc: sdio: Fix enable_hs and enable_wide in sdio_reset_comm()
Dmitry Shmidt [Thu, 7 Oct 2010 00:25:02 +0000 (17:25 -0700)]
mmc: sdio: Fix enable_hs and enable_wide in sdio_reset_comm()

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
14 years agofixes calculation error when processing large partition sizes
Boris Bekkerman [Tue, 3 Aug 2010 01:38:55 +0000 (20:38 -0500)]
fixes calculation error when processing large partition sizes

Change-Id: I193b89c97d607456edf64e96cb4614d9c92ff095
Signed-off-by: Boris Bekkerman <boris.bekkerman@motorola.com>
14 years agofs: partitions: add partition name to uevent
Colin Cross [Thu, 15 Apr 2010 21:04:27 +0000 (14:04 -0700)]
fs: partitions: add partition name to uevent

Change-Id: Ibde080cb84b313867ae593e3d46f12223f28babe

14 years agofs: partitions: Add command line partitioning
Colin Cross [Thu, 18 Mar 2010 23:06:56 +0000 (16:06 -0700)]
fs: partitions: Add command line partitioning

Signed-off-by: Colin Cross <ccross@android.com>
14 years agoARMv7: Use lazy cache flushing if hardware broadcasts cache operations
Catalin Marinas [Tue, 9 Mar 2010 09:55:10 +0000 (09:55 +0000)]
ARMv7: Use lazy cache flushing if hardware broadcasts cache operations

ARMv7 processors like Cortex-A9 broadcast the cache maintenance
operations in hardware. The patch adds the CPU ID checks for such
feature and allows the flush_dcache_page/update_mmu_cache pair to work
in lazy flushing mode similar to the UP case.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
14 years agoMerge branch 'android-2.6.36' into android-tegra-2.6.36
Colin Cross [Wed, 6 Oct 2010 23:31:32 +0000 (16:31 -0700)]
Merge branch 'android-2.6.36' into android-tegra-2.6.36

Conflicts:
drivers/input/touchscreen/Kconfig

Change-Id: Ifc75266e258f9513d78c47c12e2f1de1d2344f02

14 years ago[ARM] tegra: hdmi: fix an incorrect register write
Iliyan Malchev [Tue, 5 Oct 2010 00:01:56 +0000 (17:01 -0700)]
[ARM] tegra: hdmi: fix an incorrect register write

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: tegra_hsuart: fix a typo
Iliyan Malchev [Mon, 4 Oct 2010 22:11:37 +0000 (15:11 -0700)]
[ARM] tegra: tegra_hsuart: fix a typo

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: dma: fix a typo
Iliyan Malchev [Mon, 4 Oct 2010 22:11:37 +0000 (15:11 -0700)]
[ARM] tegra: dma: fix a typo

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: driver for spdif audio
Ravindra Lokhande [Mon, 27 Sep 2010 17:53:41 +0000 (12:53 -0500)]
[ARM] tegra: driver for spdif audio

-- creates /dev/spdif_out and /dev/spdif_out_ctl for playback and control
   settings.
-- playback only

Change-Id: I19af1d41e13dedef650784835339ef9718300d0c
Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: add spdif device and resources
Iliyan Malchev [Tue, 28 Sep 2010 23:12:48 +0000 (16:12 -0700)]
[ARM] tegra: add spdif device and resources

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra_i2s_audio: add more elaborate error counts
Iliyan Malchev [Mon, 4 Oct 2010 19:10:29 +0000 (12:10 -0700)]
[ARM] tegra_i2s_audio: add more elaborate error counts

This patch replaces the error counter with two separate error counters, one for
late dma callbacks, and another for overruns (during recording) or underruns
(during playback).  The ioctls TEGRA_AUDIO_IN_GET_ERROR_COUNT and
TEGRA_AUDIO_OUT_GET_ERROR_COUNT now take a pointer to a struct containing both
error counters.

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra_i2s_audio: use pm_qos to prevent DMA-callback delays
Iliyan Malchev [Sun, 3 Oct 2010 00:31:54 +0000 (17:31 -0700)]
[ARM] tegra_i2s_audio: use pm_qos to prevent DMA-callback delays

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years agoARM: tegra: parent sclk on pll_m_out1 so it can run @ 240Mhz
Dima Zavin [Sat, 2 Oct 2010 03:01:42 +0000 (20:01 -0700)]
ARM: tegra: parent sclk on pll_m_out1 so it can run @ 240Mhz

Since sclk no longer needs pll_p_out4, don't explicitly enable it.

Change-Id: I47debdd3402e02967f77ebd4c3b8c4594ece4083
Signed-off-by: Dima Zavin <dima@android.com>
14 years agoARM: tegra: provide the correct max rates for pclk and sclk
Dima Zavin [Sat, 2 Oct 2010 03:00:59 +0000 (20:00 -0700)]
ARM: tegra: provide the correct max rates for pclk and sclk

Change-Id: Ieb1ae5356df26e0c9be631b9f58c641a350dc4eb
Signed-off-by: Dima Zavin <dima@android.com>
14 years agoARM: tegra: add a virtual cop clock for AVP reset assertion
Dima Zavin [Fri, 3 Sep 2010 02:18:59 +0000 (19:18 -0700)]
ARM: tegra: add a virtual cop clock for AVP reset assertion

Change-Id: Ib27e5191d78f7994d444167b7d3a981a43f59b3c
Signed-off-by: Dima Zavin <dima@android.com>
14 years agoARM: tegra: enable clk reset for non-peripheral clocks
Dima Zavin [Fri, 3 Sep 2010 02:11:11 +0000 (19:11 -0700)]
ARM: tegra: enable clk reset for non-peripheral clocks

Add a new 'reset' clk op. This can be provided for any clock,
not just peripherals.

Change-Id: I0742cfad1587ddc006066c7fa9bc22f180c04e6f
Signed-off-by: Dima Zavin <dima@android.com>
14 years agotegrafb: fix section mismatch in host driver skeleton
Gary King [Tue, 31 Aug 2010 21:17:57 +0000 (14:17 -0700)]
tegrafb: fix section mismatch in host driver skeleton

Change-Id: I2cf4646c8e362f591e8f1e5d6c0573fd7aee4365
Signed-off-by: Gary King <gking@nvidia.com>
14 years agotegrafb: add forward-decls for structs used in function prototypes
Gary King [Tue, 31 Aug 2010 22:22:24 +0000 (15:22 -0700)]
tegrafb: add forward-decls for structs used in function prototypes

Change-Id: Ief5f09f9340362197b01adeef28fbd42cd0a7a06
Signed-off-by: Gary King <gking@nvidia.com>
14 years agotegra: iovmm-gart: move init call to subsys_initcall
Gary King [Fri, 13 Aug 2010 18:08:42 +0000 (11:08 -0700)]
tegra: iovmm-gart: move init call to subsys_initcall

nvmap and nvhost will behave improperly if iovmm is not present when
their respective devices are probed; however, the probe ordering depends
on the order the initcalls are made to register the drivers. move
iovmm-gart into subsys_initcall to ensure that it is registered earlier
than other drivers

Change-Id: If3e07ce239e593a0833a3381cd1132f5d6ef6786
Signed-off-by: Gary King <gking@nvidia.com>
14 years agotouchscreen: panjit: use multi-touch reporting interface
Gary King [Sat, 11 Sep 2010 01:43:14 +0000 (18:43 -0700)]
touchscreen: panjit: use multi-touch reporting interface

Change-Id: I2bcad8cd07725e36598545168f33b87b9f217c11
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: ventana: fix pinmux for bluetooth and gas gauge
Gary King [Thu, 16 Sep 2010 23:37:23 +0000 (16:37 -0700)]
[ARM] tegra: ventana: fix pinmux for bluetooth and gas gauge

Fixes by Anantha Idapalapati <aidapalapati@nvidia.com> and
Mayuresh Kulkarni <mkulkarni@nvidia.com>

Change-Id: Ib7599d3593a8cc19b5b6dce451f3b203d4c5b70f
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: ventana: add OTG device
Gary King [Tue, 28 Sep 2010 19:36:31 +0000 (12:36 -0700)]
[ARM] tegra: ventana: add OTG device

Change-Id: Ie35453a385221b6d1f8b7eb05ed19e550a4c1d16
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: add tegra-otg and tegra_uart to devices.c
Gary King [Tue, 28 Sep 2010 19:39:08 +0000 (12:39 -0700)]
[ARM] tegra: add tegra-otg and tegra_uart to devices.c

Change-Id: Icdc0de036566220f337a21d5b1bae0e81057f115
Signed-off-by: Gary King <gking@nvidia.com>
14 years agousb: add OTG driver for tegra USB PHY
Gary King [Tue, 28 Sep 2010 19:32:13 +0000 (12:32 -0700)]
usb: add OTG driver for tegra USB PHY

Change-Id: I23be62e819b658c0e25f70eebfbb8dc0dc76c173
Signed-off-by: Gary King <gking@nvidia.com>
14 years agousb: gadget: fsl_udc: Removed unnecessary checks
Benoit Goby [Wed, 29 Sep 2010 23:17:18 +0000 (16:17 -0700)]
usb: gadget: fsl_udc: Removed unnecessary checks

The OTG driver disables the gadget device when the cable is
removed, so there is no need to check if the cable is plugged
before touching registers.

Change-Id: I0b1a3a8b07560d3eca2e2e25574b5219e3373808
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agousb: gadget: fsl_udc: Unlock the spinlock before calling clk_enable
Benoit Goby [Wed, 29 Sep 2010 23:04:25 +0000 (16:04 -0700)]
usb: gadget: fsl_udc: Unlock the spinlock before calling clk_enable

On suspend, dr_controller_stop disable interrupts and on resume, interrupts
are disabled until dr_controller_run is called, so it is safe to call
fsl_udc_clk_suspend/resume with interrupts and the spinlock unlocked.

Change-Id: I33618295ea096a4bfd796d1a07dfc9722e7786b0
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agousb: gadget: fsl_udc: fix warning
Benoit Goby [Wed, 29 Sep 2010 06:53:35 +0000 (23:53 -0700)]
usb: gadget: fsl_udc: fix warning

Change-Id: I2123ac05aafe3f89db3c17dbcb16b44ca6222ce2
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: usb_phy: fix warning
Benoit Goby [Wed, 29 Sep 2010 06:52:10 +0000 (23:52 -0700)]
[ARM] tegra: usb_phy: fix warning

Change-Id: I10d3f7b001a13d4689adb64a7b4bf06626b6c786
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agovideo: tegra: remove out of date TODO
Erik Gilling [Mon, 27 Sep 2010 23:51:54 +0000 (16:51 -0700)]
video: tegra: remove out of date TODO

Change-Id: I47d065e3cd89276c951a77dc76db02eecf1257a3
Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: force 24bit output on HDMI
Erik Gilling [Mon, 27 Sep 2010 23:50:54 +0000 (16:50 -0700)]
video: tegra: force 24bit output on HDMI

Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I180bc0219485c96f3e24f0fa415fdaa488c56c8c

14 years agovideo: tegra: enable both display controller clock when enabling hdmi
Erik Gilling [Mon, 27 Sep 2010 23:49:38 +0000 (16:49 -0700)]
video: tegra: enable both display controller clock when enabling hdmi

The upstream DC needs to be clocked for accesses to HDMI to not hard lock the
system.  Because we don't know if HDMI is conencted to disp1 or disp2 we need
to enable both until we set the DC mux.

Change-Id: Iab7df9911aa9034ea559896850787e4eff3237d7
Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: add a no_vsync module param to disable vsync
Erik Gilling [Mon, 27 Sep 2010 00:55:52 +0000 (17:55 -0700)]
video: tegra: add a no_vsync module param to disable vsync

Change-Id: Icc950e1a94a7441dd820b774f8656b3db1be0e20
Signed-off-by: Erik Gilling <konkers@android.com>