Commit Graph

44391 Commits

Author SHA1 Message Date
Kiran Kumar H N
0fb9dcfbc6 msm-camera: configure preview and recording buffers
seperately.

decouple preview and recording path configuration
by configuring the buffers during preview start
and recording start respectively.

Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
Signed-off-by: Mingcheng Zhu <mingchen@codeaurora.org>
2011-10-03 10:26:29 -07:00
Mingcheng Zhu
9812bd34ec msm camera: migrate to videobuf2 framework
add necessary changes in camera driver to
migrate to videobuf2 framework.

Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
Signed-off-by: Mingcheng Zhu <mingchen@codeaurora.org>

Conflicts:

	drivers/media/video/Makefile
2011-10-03 10:26:28 -07:00
Kiran Kumar H N
5a19c68d63 Revert "msm: camera: YV12 video support"
This reverts commit 66882a5046143601429632a0b589d9ffeeb3c668.
This change will be submitted later.

Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
2011-10-03 10:26:23 -07:00
Azam Sadiq Pasha Kapatrala Syed
7ff0cf4999 msm: camera: YV12 video support
Support for color format YV12.

Signed-off-by: Azam Sadiq Pasha Kapatrala Syed <akapatra@codeaurora.org>
2011-10-03 10:26:16 -07:00
Ben Romberger
c49b85db0b msm: audio: qdsp6v2: Support for RX & TX ADM topology
This adds support to store separate RX & TX topology for
the audio device manager (ADM).

Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2011-10-03 10:26:11 -07:00
Bradley Rubin
229c6a5dc0 ASoC: WCD9310: Add Active Noise Cancellation support
ANC is a feature which reduces noise on the near-end
by pushing anti-noise onto the audio stream heard
by the user.  ANC mixes the anti-noise signal
inside of the WCD9310 codec.

Signed-off-by: Brad Rubin <brubin@codeaurora.org>
2011-10-03 10:26:06 -07:00
Shubhraprakash Das
5cd33b3765 mm: ashmem: Add cache clean and invalidate ioctls for ashmem
CRs-fixed: 291124
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2011-10-03 10:25:50 -07:00
Anantha Krishnan
3b44cd4aee radio-tavarua: Adding private control to configure the RMSSI threshold
This change is to add V4L2 private controls for configuring the
value of RMSSI threshold.

CRs-Fixed: 293328
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
2011-10-03 10:25:48 -07:00
Lucille Sylvester
7f12ebf6a2 msm: kgsl: Remove unused variable w/ unneeded ifdef
This variable/ifdef should have been removed in a prior change.

Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
2011-10-03 10:25:45 -07:00
Abhijeet Dharmapurikar
57390b03ac power: msm_charger: control system power
Some chargers can control their current supply for the system. Provide
facility in the msm_charger to choose which charger supplies system
current. It is guaranteed that start charging will always be called
on a charger that has been previously been asked to provide system
current.

Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2011-10-03 10:25:43 -07:00
Ankur Nandwani
4246251a69 radio: iris: updating the values for RDS PID and PTYPE
Signed-off-by: Ankur Nandwani <ankurn@codeaurora.org>
2011-10-03 10:25:42 -07:00
Srinivasa Rao Uppala
18fb80ef71 radio: iris: Added code for search station list response
This patch adds support to handle  the search station list
response event

Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
2011-10-03 10:25:38 -07:00
Anantha Krishnan
e46ef6f1bc radio-tavarua: FM jumps to alternate freq. with AF jump option disabled
When the transmit power of the currently tuned station decreases,
FM Receiver automatically switches to available alternate frequencies,
even though the auto AF jump feature is not enabled

CRs-Fixed: 293773
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
2011-10-03 09:59:11 -07:00
Shubhraprakash Das
79c87bf556 Kbuild: Export ashmem header file to user space
CRs-fixed: 291124
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2011-10-03 09:59:11 -07:00
Ashay Jaiswal
4d1ab557f0 drivers: rtc-pm8058: Fix automatic wakeup of APPS due to RTC alarm.
Alarm interrupt causes automatic wakeup even when the phone is in
powerdown state.

CRs-Fixed: 286086
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2011-10-03 09:59:08 -07:00
Srinivasa Rao Uppala
7bb2210232 radio-iris: Adding offset to the search mode for RDS search command
Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
2011-10-03 09:59:06 -07:00
Abhijeet Dharmapurikar
52344ac584 power: pm8921-bms: add nano-doc comments to exported functions
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2011-10-03 09:59:06 -07:00
Abhijeet Dharmapurikar
2fb6f08e50 power: pm8921-bms: Add api to read Vsense
The Rsense resistor connects between the -ve end of the battery
and GND. The voltage across the Rsense gives us a good indication
of the current flowing through the battery.

Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2011-10-03 09:59:06 -07:00
Ankur Nandwani
78a782be53 radio: iris: adding support for RDS program service and radio text
This patch adds support for RDS program service and radio text
so that RDS data is displayed in the UI

Signed-off-by: Ankur Nandwani <ankurn@codeaurora.org>
2011-10-03 09:59:05 -07:00
Abhijeet Dharmapurikar
c448d98e7e power: pm8921-bms: read temperature and voltage via adc
Read the battery temeperature and voltage from the adc driver instead
of hard coding them in the driver.

In the charing began and charing end functions, use
pm8921_bms_get_percent_charge api. This prevents duplicating calling
the adc functions.

Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2011-10-03 09:59:00 -07:00
Larry Bassel
7429cea50e pmem: remove support for unstable PMEM devices
This functionality has never been used, is ugly and
complicates the DMM design.

Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
2011-10-03 09:58:55 -07:00
Anirudh Ghayal
15187778e4 input: touchscreen: Move power mode handling to platform data
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2011-10-03 09:58:24 -07:00
Jason Varbedian
80ba33d88f msm: kgsl: change readtimestamp from IOR to IOWR and keep legacy
Signed-off-by: Jason Varbedian <jasonv@codeaurora.org>
2011-10-03 09:58:23 -07:00
Bryan Huntsman
3f2bc4d6eb Initial Contribution
msm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142

Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
2011-10-03 09:57:10 -07:00
Bryan Huntsman
f06154cc47 Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
* 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6:
  dt: include linux/errno.h in linux/of_address.h
  of/address: Add of_find_matching_node_by_address helper
  dt: remove extra xsysace platform_driver registration
  tty/serial: Add devicetree support for nVidia Tegra serial ports
  dt: add empty of_property_read_u32[_array] for non-dt
  dt: bindings: move SEC node under new crypto/
  dt: add helper function to read u32 arrays
  tty/serial: change of_serial to use new of_property_read_u32() api
  dt: add 'const' for of_property_read_string parameter **out_string
  dt: add helper functions to read u32 and string property values
  tty: of_serial: support for 32 bit accesses
  dt: document the of_serial bindings
  dt/platform: allow device name to be overridden
  drivers/amba: create devices from device tree
  dt: add of_platform_populate() for creating device from the device tree
  dt: Add default match table for bus ids
2011-09-23 11:47:21 -07:00
Bryan Huntsman
66589de55e Merge remote-tracking branch 'linux-audio/sgc/topic/omap_3.0'
* linux-audio/sgc/topic/omap_3.0: (106 commits)
  ASoC: twl6040: Configure init gain to minimal value
  ASoC: ABE: Protect playback/capture triggers against removal
  ASoC: DSP: Connect FE->BE links if FE is active
  ASoC: McPDM: Update channel management (for squash)
  ASoC: OMAP4 - Port Manager: Fix up DEBUG_FS compilation error
  ASoC: ABE DSP: Fixes for firmware equalizer parsing
  ASoC: ABE DSP: Use same firmware strategy for built-in and modules
  ASoC: ABE HAL: Allow flexible firmware loading
  ASoC: ABE DSP: Fix compilation warnings
  ASoC: OMAP ABE: update Firmware version 09.45
  ASoC: pcm - fix locking for dsp ops
  ASoC: OMAP ABE: Update for PM.
  ASoC: McPDM: Update channels management to link UL and DL
  ASoC: ABE DAI: Call modem trigger in bespoke_trigger()
  ASoC: ABE DAI: support 2 channels for MODEM DAI
  OMAP4: SDP4430: Fix merge issue with new MFD driver
  ASoC: OMAP: SDP4430 fix merge issue.
  ASoC: dapm: Fix long_name pointer for DAPM muxes
  ASoC: mcpdm: Enable watchdog during audio activity
  ASoC: SDP4430: Fix DMICs stream name
  ...
2011-09-23 11:00:20 -07:00
Nishanth Menon
efcf89c8eb panic: Add board ID to panic output
At times, it is necessary for boards to provide some additional information
as part of panic logs. Provide information on the board hardware as part
of panic logs.

It is safer to print this information at the very end in case something
bad happens as part of the information retrieval itself.

To use this, set global mach_panic_string to an appropriate string in the
board file.

Change-Id: Id12cdda87b0cd2940dd01d52db97e6162f671b4d
Signed-off-by: Nishanth Menon <nm@ti.com>
2011-08-19 11:41:00 -07:00
Colin Cross
9abd59b0df Merge commit 'v3.0.1' into android-3.0 2011-08-10 18:07:59 -07:00
Colin Cross
4e111751cf Merge commit 'v3.0' into android-3.0 2011-08-10 18:04:30 -07:00
Erik Gilling
e65d9fe556 usb: otg: add proxy_wait handler to otg_id
Some otg_id handlers can detect what's connected but can't detect a change.
This allows that handler to pass off the waiting for ID change to a proxy.

Change-Id: Ib38b750c3da4bffc35e37b620ecee37c5d64d31f
Signed-off-by: Erik Gilling <konkers@android.com>
2011-08-09 17:58:49 -07:00
Iliyan Malchev
3fe24366a4 ion: minor clean up
-- init rb nodes in ion_handle_create
-- in ion_handle_destroy, check that a node belongs to a tree before removing
   it (safety check, does not happen right now)
-- mark as static functions used only inside ion.c
-- update comments to ion_share() with a relevant blurb from the implementation
-- other minor updates/typo fixes to comments

Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-08-09 14:49:21 -07:00
Trond Myklebust
c14acb19a4 NFS: Fix spurious readdir cookie loop messages
commit 0c0308066ca53fdf1423895f3a42838b67b3a5a8 upstream.

If the directory contents change, then we have to accept that the
file->f_pos value may shrink if we do a 'search-by-cookie'. In that
case, we should turn off the loop detection and let the NFS client
try to recover.

The patch also fixes a second loop detection bug by ensuring
that after turning on the ctx->duped flag, we read at least one new
cookie into ctx->dir_cookie before attempting to match with
ctx->dup_cookie.

Reported-by: Petr Vandrovec <petr@vandrovec.name>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-04 21:58:40 -07:00
Benjamin Herrenschmidt
b045b9a265 mm/futex: fix futex writes on archs with SW tracking of dirty & young
commit 2efaca927f5cd7ecd0f1554b8f9b6a9a2c329c03 upstream.

I haven't reproduced it myself but the fail scenario is that on such
machines (notably ARM and some embedded powerpc), if you manage to hit
that futex path on a writable page whose dirty bit has gone from the PTE,
you'll livelock inside the kernel from what I can tell.

It will go in a loop of trying the atomic access, failing, trying gup to
"fix it up", getting succcess from gup, go back to the atomic access,
failing again because dirty wasn't fixed etc...

So I think you essentially hang in the kernel.

The scenario is probably rare'ish because affected architecture are
embedded and tend to not swap much (if at all) so we probably rarely hit
the case where dirty is missing or young is missing, but I think Shan has
a piece of SW that can reliably reproduce it using a shared writable
mapping & fork or something like that.

On archs who use SW tracking of dirty & young, a page without dirty is
effectively mapped read-only and a page without young unaccessible in the
PTE.

Additionally, some architectures might lazily flush the TLB when relaxing
write protection (by doing only a local flush), and expect a fault to
invalidate the stale entry if it's still present on another processor.

The futex code assumes that if the "in_atomic()" access -EFAULT's, it can
"fix it up" by causing get_user_pages() which would then be equivalent to
taking the fault.

However that isn't the case.  get_user_pages() will not call
handle_mm_fault() in the case where the PTE seems to have the right
permissions, regardless of the dirty and young state.  It will eventually
update those bits ...  in the struct page, but not in the PTE.

Additionally, it will not handle the lazy TLB flushing that can be
required by some architectures in the fault case.

Basically, gup is the wrong interface for the job.  The patch provides a
more appropriate one which boils down to just calling handle_mm_fault()
since what we are trying to do is simulate a real page fault.

The futex code currently attempts to write to user memory within a
pagefault disabled section, and if that fails, tries to fix it up using
get_user_pages().

This doesn't work on archs where the dirty and young bits are maintained
by software, since they will gate access permission in the TLB, and will
not be updated by gup().

In addition, there's an expectation on some archs that a spurious write
fault triggers a local TLB flush, and that is missing from the picture as
well.

I decided that adding those "features" to gup() would be too much for this
already too complex function, and instead added a new simpler
fixup_user_fault() which is essentially a wrapper around handle_mm_fault()
which the futex code can call.

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: fix some nits Darren saw, fiddle comment layout]
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reported-by: Shan Hai <haishan.bai@gmail.com>
Tested-by: Shan Hai <haishan.bai@gmail.com>
Cc: David Laight <David.Laight@ACULAB.COM>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Darren Hart <darren.hart@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-04 21:58:38 -07:00
Peng Tao
892cd4a38f pnfs: let layoutcommit handle a list of lseg
commit a9bae5666d0510ad69bdb437371c9a3e6b770705 upstream.

There can be multiple lseg per file, so layoutcommit should be
able to handle it.

[Needed in v3.0]
Signed-off-by: Peng Tao <peng_tao@emc.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Jim Rees <rees@umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-04 21:58:37 -07:00
Stefan Richter
6f43778391 firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing
commit 93b37905f70083d6143f5f4dba0a45cc64379a62 upstream.

Between open(2) of a /dev/fw* and the first FW_CDEV_IOC_GET_INFO
ioctl(2) on it, the kernel already queues FW_CDEV_EVENT_BUS_RESET events
to be read(2) by the client.  The get_info ioctl is practically always
issued right away after open, hence this condition only occurs if the
client opens during a bus reset, especially during a rapid series of bus
resets.

The problem with this condition is twofold:

  - These bus reset events carry the (as yet undocumented) @closure
    value of 0.  But it is not the kernel's place to choose closures;
    they are privat to the client.  E.g., this 0 value forced from the
    kernel makes it unsafe for clients to dereference it as a pointer to
    a closure object without NULL pointer check.

  - It is impossible for clients to determine the relative order of bus
    reset events from get_info ioctl(2) versus those from read(2),
    except in one way:  By comparison of closure values.  Again, such a
    procedure imposes complexity on clients and reduces freedom in use
    of the bus reset closure.

So, change the ABI to suppress queuing of bus reset events before the
first FW_CDEV_IOC_GET_INFO ioctl was issued by the client.

Note, this ABI change cannot be version-controlled.  The kernel cannot
distinguish old from new clients before the first FW_CDEV_IOC_GET_INFO
ioctl.

We will try to back-merge this change into currently maintained stable/
longterm series, and we only document the new behaviour.  The old
behavior is now considered a kernel bug, which it basically is.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: <stable@kernel.org>
2011-08-04 21:58:34 -07:00
Herbert Xu
97edbc9012 gro: Only reset frag0 when skb can be pulled
commit 17dd759c67f21e34f2156abcf415e1f60605a188 upstream.

Currently skb_gro_header_slow unconditionally resets frag0 and
frag0_len.  However, when we can't pull on the skb this leaves
the GRO fields in an inconsistent state.

This patch fixes this by only resetting those fields after the
pskb_may_pull test.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-04 21:58:31 -07:00
JP Abgrall
4ea6b8974a ipv6: updates to privacy addresses per RFC 4941
Update the code to handle some of the differences between
RFC 3041 and RFC 4941, which obsoletes it. Also a couple
of janitorial fixes.

- Allow router advertisements to increase the lifetime of
  temporary addresses. This was not allowed by RFC 3041,
  but is specified by RFC 4941. It is useful when RA
  lifetimes are lower than TEMP_{VALID,PREFERRED}_LIFETIME:
  in this case, the previous code would delete or deprecate
  addresses prematurely.

- Change the default of MAX_RETRY to 3 per RFC 4941.

- Add a comment to clarify that the preferred and valid
  lifetimes in inet6_ifaddr are relative to the timestamp.

- Shorten lines to 80 characters in a couple of places.

Change-Id: I4da097664d4b1de7c1cebf410895319601c7f1cc
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: JP Abgrall <jpa@google.com>
2011-08-04 14:32:59 -07:00
Liam Girdwood
6e30b2e682 ASoC: core - improve probe/remove ordering
To be SQUASHED

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:06 +02:00
Liam Girdwood
a42d64d51c ASoC: dsp - cleanup struct dsp_link
Refactor out some member resulting in code reduction.
For SQUASH.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:05 +02:00
Liam Girdwood
3f5dc29172 ASoC: dapm - improvements to path finder - SQUASH
Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:05 +02:00
Liam Girdwood
a8d99da4ad ASoC: OMAP4 ABE DSP - Add support for the OMAP4 ABE DSP
This patch adds the OMAP4 ABE platform driver. This driver defines and
exports control for the DSP Frontend and Backend routing.

TODO: cleanup

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:02 +02:00
Liam Girdwood
59c96f127c ASoC: dsp - add core support for bespoke trigger()
This allows the DSP core to call a beskope trigger() call
on DAIs and platforms that require it.

TODO: move into DSP patch series.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:01 +02:00
Liam Girdwood
f320fddc26 ASoC: core - add hostless DAI support
Allow DAI's to be hostless so that no PCM data is sent between DAI
and CPU. This allows for power savings as there is no DMA or CPU
interaction required.

TODO: we shouldn't need to allocate a PAGE for a dummy DMA buffer.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:01 +02:00
Liam Girdwood
ad2581ef84 ALSA: pcm - add support for hostless audio
Allow some PCM devices to be hostless, i.e. there is no PCM data transferred
to or from the host CPU. This can be used to minimise power on systems since
the CPU can idle/sleep during the PCM device operation (e.g. a phone call
where the DAI is between a MODEM and DSP)

TODO: cleanup, look at adding a read/write blocker.

Singed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-07-24 21:32:01 +02:00
Liam Girdwood
a8f13d8879 ASoC: core - add dynamic kcontrols
TODO: First phase of dynamic kcontrols. More todo.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:00 +02:00
Liam Girdwood
bfe7dc4032 ASoC: dsp - Add DSP support to core ASoC API/structures
Export inline DAI PCM operations to allow DSP core to individually call BE PCM
operations and ....

Allow machine drivers to specifify DSP FE and BE DAI links.
Add FE and BE state information to PCM rtd.

TODO: split out this into smaller patches.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:00 +02:00
Liam Girdwood
a00663bf80 ASoC: dsp - Add ASoC DSP core
This adds ASoC core support for internal and external DSPs and represents them
to the audio user as a CODEC like device with mixers, muxes and runtime audio
route changing.

The DSP core allows DSP DAIs to be dynamically re-routed at runtime between the
PCM device end (or Frontend - FE) and the physical DAI (Backend - BE) using
regular kcontrols (just like a hardware CODEC).

The DSP core also deal with DSP FE+BE suspend and resume PM ops.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:32:00 +02:00
Liam Girdwood
e002c98e5c ASoC: dapm - allow custom widgets to update power events.
In preparation for ASoC DSP support.

Allow for the operation of custom mixer and mux DAPM widgets that can call
snd_soc_dapm_mixer_update_power() and snd_soc_dapm_mux_update_power() directly
after updating their status.

This adds two previously static calls to the public DAPM API.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:31:59 +02:00
Liam Girdwood
ecc1a0d5f5 ASoC: dapm - FIXME -add locking to the DAPM power_widgets()
TODO: look into why _w is required.
FIXME: did oops in the past.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:31:59 +02:00
Liam Girdwood
ab1058a9b9 ASoC: dapm - Add API call to query valid DAPM paths.
In preparation for ASoC DSP support.

Add a DAPM API call to determine whether a DAPM audio path is valid between
source and sink widgets. This also takes into account all kcontrol mux and mixer
settings in between the source and sink widgets to validate the audio path.

This will be used by the DSP core to determine the runtime DAI mappings
between FE and BE DAIs in order to run PCM operations.

Signed-off-by: Liam Girdwood <lrg@ti.com>
2011-07-24 21:31:59 +02:00