Commit Graph

44835 Commits

Author SHA1 Message Date
Linux Build Service Account
9a14eeb261 Merge changes Iad754e82,I98666d74,Ic20482e6,I0a833f47 into msm-3.0
* changes:
  mfd: pmic8901: Remove pm8901_reset_power_off implementation
  board: 8660: Add platform data for PM8901 pm8xxx-misc device
  mfd: pmic8901: Add pm8xxx-misc mfd device
  mfd: pm8xxx-misc: Add delay after disabling regulators in shutdown function
2011-12-15 07:10:54 -08:00
Linux Build Service Account
585339b007 Merge changes Ida66a62a,I206d116b,I29c71a20 into msm-3.0
* changes:
  power: pm8921-bms: expose start and end charging parameters
  power: pm8921-bms: refactor BMS driver code
  power: pm8921-bms: force max_voltage at end of charge
2011-12-15 07:10:54 -08:00
Anirudh Ghayal
f0b9ad0864 mfd: pmic8901: Remove pm8901_reset_power_off implementation
pm8901_reset_power_off is implemented as a part of
pm8xxx_reset_power_off (pm8xxx-misc driver).

Remove other functions (ssbi_read/ssbi_write) used only
by pm8901_reset_power_off.

Change-Id: Iad754e827061627cea55a4d6d1b7600c0cf64441
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2011-12-15 08:19:28 +05:30
Anirudh Ghayal
934b2717fb mfd: pmic8901: Add pm8xxx-misc mfd device
Misc driver supports global functions such as
pm8xxx_reset_power_off, pm8xxx_hard_reset_config.

Change-Id: Ic20482e693002ae97c31cc476bc52ad3f99891f7
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2011-12-15 08:19:27 +05:30
Linux Build Service Account
33f65e0cce Merge "msm: camera: Support for MT9M114 YUV sensor" into msm-3.0 2011-12-14 14:18:39 -08:00
Linux Build Service Account
d3f83726f1 Merge changes Ic51664f7,I6614dc07 into msm-3.0
* changes:
  hwmon: pm8xxx-adc: Fix setting disable bit for CNTRL register
  power: pm8921-charger: Disable BTM before entering suspend
2011-12-14 10:25:00 -08:00
Rajakumar Govindaram
6bc004a291 msm: camera: Support for MT9M114 YUV sensor
Initial support for Aptina 720p YUV sensor

Change-Id: Idb2eb0c1d98482077cb170f3fc581b1e548dc1ee
Signed-off-by: Rajakumar Govindaram <crajaku@codeaurora.org>
2011-12-14 07:30:54 -07:00
Linux Build Service Account
e48e9d12b8 Merge changes Ief2357bb,Iac66d768,Ib49a41f5 into msm-3.0
* changes:
  defconfig: 9615: Enable USB BAM driver
  msm: board-9615: Add USB BAM driver
  usb: gadget: SPS BAM-to-BAM - USB BAM driver
2011-12-14 04:44:16 -08:00
Linux Build Service Account
e9b4b64a51 Merge changes I74d93f35,Iea942e84 into msm-3.0
* changes:
  fmem: reserve memory for fmem
  fmem: add fmem API header file
2011-12-14 04:44:16 -08:00
Linux Build Service Account
c2f25f737f Merge "misc: tspp: adding TSPP driver files" into msm-3.0 2011-12-14 04:44:16 -08:00
Anantha Krishnan
71d6fa6ccd radio-tavarua: Add place holders for IRIS specific commands
Change-Id: I4bcf4316b23ce0f9c02815c0bc0d495ee49df51f
CRs-Fixed: 324758
Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
2011-12-14 11:08:11 +05:30
David Keitel
f222602046 power: pm8921-charger: Disable BTM before entering suspend
Significant sleep current is seen with BTM enabled during suspend.

Fix this by disabling BTM before entering suspend and re-enable it
on resume. A board file option may be added to disable this feature.
By default battery temperature monitoring will be turned off on
suspend.

Change-Id: I6614dc076d8ea69f25840dd3eeef94f9739e392f
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2011-12-13 20:22:52 -08:00
Larry Bassel
1daa0f027e fmem: add fmem API header file
Change-Id: Iea942e84106512ba4c1418fe10bd7f53e635451e
Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
2011-12-13 11:25:55 -08:00
Ofir Cohen
c7827e45a3 usb: gadget: SPS BAM-to-BAM - USB BAM driver
USB BAM driver to support BAM-to-BAM
USB<->Peripheral transactions.

Change-Id: Ib49a41f5dcdccb6f6bff2492fa64ead40f18b870
Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
2011-12-13 20:46:22 +02:00
Linux Build Service Account
1dc5ae6b97 Merge changes I1c9e58dd,I3e3d0f36,I132df8e6 into msm-3.0
* changes:
  genirq: percpu: allow interrupt type to be set at enable time
  genirq: Add support for per-cpu dev_id interrupts
  irq: Track the owner of irq descriptor
2011-12-13 09:09:54 -08:00
Linux Build Service Account
2acd05e80b Merge "vidc: Add metabuffer mode support for encoder driver." into msm-3.0 2011-12-13 09:09:54 -08:00
Joel Nider
5556a85245 misc: tspp: adding TSPP driver files
The TSPP driver manages the transport stream packet processor.  This core
is used to offload the main CPU by handling MPEG TS packets, generally
coming from a broadcast modem using the ISDB-T (or variant) protocol.

Change-Id: Ia4c16dcce970ae0f52d8d17957a92fce34ecdb44
Signed-off-by: Joel Nider <jnider@codeaurora.org>
2011-12-13 10:14:33 +02:00
Linux Build Service Account
4c3a49e1c7 Merge "mfd: pm8901: Modify pm8901 subdevices to pm8xxx interface" into msm-3.0 2011-12-12 16:35:44 -08:00
Gopikrishnaiah Anandan
0a34f5ce81 vidc: Add metabuffer mode support for encoder driver.
Video encoder driver when configured in meta buffer mode,
will allow clients to register buffers in data path.

Change-Id: I23e2cb07386461275da5731134d8aad7df1cd060
Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
2011-12-12 16:11:19 -08:00
Sameer Thalappil
409ed358cf wcnss: Proxy vote for Iris regulators on behalf of Riva
This patch includes the following changes,
a. Proxy vote for Iris regulators on behalf of Riva.
b. During SSR power-on, vote for Iris regulators just like in
   cold boot.
c. Remove wcnss_riva.h, it was meant to be local to platform driver.
d. Make WCNSS platform driver part of kernel

Change-Id: Ied1f91297305469a0e4d9e524a03b49e1f600852
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
2011-12-12 15:01:08 -08:00
Abhijeet Dharmapurikar
a93ede8e3f power: pm8921-bms: force max_voltage at end of charge
When an end of charge with a full battery happens, the bms driver
fakes max ocv and zero cc. To force max ocv the driver currently
assumes that the first row last column will have the highest profiled
voltage. This may not be true always.

Pass the maximum voltage from platform data and use that to force
max ocv.

Change-Id: I29c71a20648fb2f9066f2f82e14a6080692c63fd
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2011-12-12 13:53:12 -08:00
Anirudh Ghayal
9f77e968dd mfd: pm8901: Modify pm8901 subdevices to pm8xxx interface
Move the following  subdevices to use the pm8xxx interface -
mpp, irq, thermal, regulators.

This allows usage of a common driver for modules which are same
across multiple PM8XXX PMICs. It also provides flexibility
to add/remove subdevices for multiple board configurations.

Change-Id: I6478ec1b99b1ab55ca370d314dbeb590103a4b1c
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2011-12-12 13:43:27 -08:00
Linux Build Service Account
970346bf4d Merge "mmc: core: Ensure clocks are always enabled before host interaction" into msm-3.0 2011-12-12 04:59:53 -08:00
Sujit Reddy Thumma
abb9681051 mmc: core: Ensure clocks are always enabled before host interaction
Ensure clocks are always enabled before any interaction with the
host controller driver. This makes sure that there is no race
between host execution and the core layer turning off clocks
in different context with clock gating framework.

CRs-Fixed: 324380
Change-Id: Id3dc2074ed81bf758649bc61ce918500a95e9bae
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
2011-12-12 15:00:03 +05:30
Anji jonnala
a7c1c5ce1f USB: OTG: prevent idle standalone PC when USB cable is connected.
When USB cable is connected, the mass storage function in the
device will get interrupts for every 3ms. Entering and exiting the
idle standalone PC itself will take around 3ms on 8960. Hence allowing
idle standalone PC when USB cable is connected causes processor to
spend most of the time in entering and exiting the idle standalone PC.
Hence Vote for minimum DMA latency to prevent idle standalone PC
when USB cable is connected.

Change-Id: Id625dc01f253ed553b2f65f08900022a8c6e1daa
Signed-off-by: Anji jonnala <anjir@codeaurora.org>
2011-12-12 13:44:31 +05:30
Linux Build Service Account
a5df020eed Merge "mfd: pm8038: Add PMIC 8038 core driver" into msm-3.0 2011-12-10 15:31:48 -08:00
Trilok Soni
1714337153 genirq: percpu: allow interrupt type to be set at enable time
The commit 1e7c5fd breaks the build which gets fixed in the
next commit 32cffdd.

commit 1e7c5fd29487ee88cb3abac945bafa60ae026146
Author: Marc Zyngier <marc.zyngier@arm.com>
Date:   Fri Sep 30 10:48:47 2011 +0100

    genirq: percpu: allow interrupt type to be set at enable time

    As request_percpu_irq() doesn't allow for a percpu interrupt to have
    its type configured (it is generally impossible to configure it on all
    CPUs at once), add a 'type' argument to enable_percpu_irq().

    This allows some low-level, board specific init code to be switched to
    a generic API.

    [ tglx: Added WARN_ON argument ]

    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Cc: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

commit 32cffdde4a3ee6c2d9e0f0a94edecf1a9ce7586b
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue Oct 4 18:43:57 2011 +0200

    genirq: Fix fatfinered fixup really

    Putting the argument inside the quote does not really help.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Change-Id: I1c9e58dd8788b5515f183ec169975d48a329b339
[tsoni@codeaurora.org: Fixup MSM build failure]
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2011-12-10 16:34:15 +05:30
Marc Zyngier
2c4d6f229d genirq: Add support for per-cpu dev_id interrupts
The ARM GIC interrupt controller offers per CPU interrupts (PPIs),
which are usually used to connect local timers to each core. Each CPU
has its own private interface to the GIC, and only sees the PPIs that
are directly connect to it.

While these timers are separate devices and have a separate interrupt
line to a core, they all use the same IRQ number.

For these devices, request_irq() is not the right API as it assumes
that an IRQ number is visible by a number of CPUs (through the
affinity setting), but makes it very awkward to express that an IRQ
number can be handled by all CPUs, and yet be a different interrupt
line on each CPU, requiring a different dev_id cookie to be passed
back to the handler.

The *_percpu_irq() functions is designed to overcome these
limitations, by providing a per-cpu dev_id vector:

int request_percpu_irq(unsigned int irq, irq_handler_t handler,
		   const char *devname, void __percpu *percpu_dev_id);
void free_percpu_irq(unsigned int, void __percpu *);
int setup_percpu_irq(unsigned int irq, struct irqaction *new);
void remove_percpu_irq(unsigned int irq, struct irqaction *act);
void enable_percpu_irq(unsigned int irq);
void disable_percpu_irq(unsigned int irq);

The API has a number of limitations:
- no interrupt sharing
- no threading
- common handler across all the CPUs

Once the interrupt is requested using setup_percpu_irq() or
request_percpu_irq(), it must be enabled by each core that wishes its
local interrupt to be delivered.

Based on an initial patch by Thomas Gleixner.

Change-Id: I3e3d0f36e04added105753d30b2ef07e3d9d6a56
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[kumarrav@codeaurora.org: fixup manage.c merge conflict]
Signed-off-by: Ravi Kumar <kumarrav@codeaurora.org>
2011-12-10 16:34:13 +05:30
Sebastian Andrzej Siewior
6f1c405828 irq: Track the owner of irq descriptor
Interrupt descriptors can be allocated from modules. The interrupts
are used by other modules, but we have no refcount on the module which
provides the interrupts and there is no way to establish one on the
device level as the interrupt using module is agnostic to the fact
that the interrupt is provided by a module rather than by some builtin
interrupt controller.

To prevent removal of the interrupt providing module, we can track the
owner of the interrupt descriptor, which also provides the relevant
irq chip functions in the irq descriptor.

request/setup_irq() can now acquire a refcount on the owner module to
prevent unloading. free_irq() drops the refcount.

Change-Id: I132df8e65d4e01db4f15dba0868607c7cdd33e14
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Link: http://lkml.kernel.org/r/20110711101731.GA13804@Chamillionaire.breakpoint.cc
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ravi Kumar <kumarrav@codeaurora.org>
2011-12-10 16:34:12 +05:30
Linux Build Service Account
5411d64555 Merge "msm_fb: display: enable border color fill on external display" into msm-3.0 2011-12-09 17:24:47 -08:00
Jay Chokshi
9d36a3d457 mfd: pm8038: Add PMIC 8038 core driver
Add support for the Qualcomm PM8038 PMIC chip. The core driver
will communicate with the PMIC chip via the MSM SSBI bus.

Initial support is provided for: IRQ, GPIO, MPP, RTC, Power Key,
Misc, and Debug.

Change-Id: I83f995cc238699100a05e82d04b45ea2a63eb667
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2011-12-09 17:24:27 -08:00
Linux Build Service Account
8ce725fb06 Merge "radio-iris: Add place holder for TAVARUA specific commands." into msm-3.0 2011-12-09 13:32:33 -08:00
Linux Build Service Account
76bb397d5a Merge "msm: audio: qds6v2: Add support for new hardware codecs" into msm-3.0 2011-12-09 13:32:33 -08:00
Peter Krystad
d6a9cebcd1 Bluetooth: Fix possible access of hci_chan after it is deleted
When the connection is not in BT_CONNECTED state it was possible
for code in hci_chan_modify() to attempt to access the hci_chan
structure after it had already been deleted by hci_chan_put().

Change-Id: I5ae352ac12aa3b456e7bcf30633015d98b03e44b
CRs-fixed: 319934
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2011-12-09 08:10:19 -08:00
Linux Build Service Account
f077c70ec8 Merge "mm: Add total_unmovable_pages global variable" into msm-3.0 2011-12-09 02:43:11 -08:00
Anantha Krishnan
61dc15eae1 radio-iris: Add place holder for TAVARUA specific commands.
Change-Id: I83226f1d6dce998dab0bde990c6855b0763ac0f3
CRs-Fixed: 314648
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
2011-12-09 15:39:19 +05:30
Linux Build Service Account
c1ab5d376f Merge "clk: provide prepare/unprepare functions" into msm-3.0 2011-12-08 23:47:51 -08:00
Russell King
ed6e321217 clk: provide prepare/unprepare functions
As discussed previously, there's the need on some platforms to run some
parts of clk_enable() in contexts which can schedule.  The solution
which was agreed upon was to provide clk_prepare() and clk_unprepare()
to contain this parts, while clk_enable() and clk_disable() perform
the atomic part.

This patch provides a common definition for clk_prepare() and
clk_unprepare() in linux/clk.h, and provides an upgrade path for
existing implementation and drivers: drivers can start using
clk_prepare() and clk_unprepare() once this patch is merged without
having to wait for platform support.  Platforms can then start to
provide these additional functions.

Eventually, HAVE_CLK_PREPARE will be removed from the kernel, and
everyone will have to provide these new APIs.

Change-Id: Ib9d24a7a0fdb571d392b970b1c159acabb07b365
Acked-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2011-12-08 18:19:09 -08:00
Adrian Salido-Moreno
fc6be921ee msm_fb: display: enable border color fill on external display
Enable border color fill feature on external display. This avoids usage
of RGB pipe for background border fill and can now be used as overlay
layer for UI display.

Change-Id: I652ab3ffe2c43260590e4e5a2ffc986340c4a8c0
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2011-12-08 17:19:01 -08:00
Anji jonnala
7da3f26984 usb: msm_otg: vote and unvote for TCXO through XO API
USB PHY takes TCXO clock as input and using the PHY internal PLL,
gets the 480MHz clock for USB operations. While USB PHY is suspended,
the TCXO clock can be turned off.
On 8960 target, mandating that TCXO clock users must need to vote for
TCXO and if all the users vote for TCXO clock-off, then MSM can switch to
lower power clock and can run.

Change-Id: Ia9a91bca52a1003439a3a38bbd8eb835dbf349e1
Signed-off-by: Anji jonnala <anjir@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
2011-12-08 16:04:18 -08:00
Linux Build Service Account
5ba1e3291c Merge "radio-tavarua: Add host side support for the new FM Search Algorithm" into msm-3.0 2011-12-08 14:54:13 -08:00
Srinivasa Rao Uppala
c5320c2e36 radio: iris: Fix the FM FTM Tx configuration failure
FM configuration failure is due to two issues. Since the calibration
will take around 6 seconds to complete, any commands sent to SOC
during that time will fail.Added a state machine to prevent the
execution of another command while FM calibration is in progress.

The other issues is with the Get tuner command.FM kernel driver is
sending the Rx specific command to get the Tx configuration.
Send the proper command to get the TX configuration parameters.

CRs-Fixed: 317658
Change-Id: I54e637c267cbdb88d15d68d8ad7ceb72f985c54d
Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
2011-12-08 12:37:34 -07:00
Deepa Madiregama
52a74c097e msm: audio: qds6v2: Add support for new hardware codecs
Add support for following codecs
	-MP3 decoder
	-AMRNB decoder
	-AMRWB decoder
	-EVRC decoder
	-QCELP(v13k) decoder
	-AMRWB encoder

Change-Id: I3d6fe52b206ab7a82d0d068d35769c3aa8c2b855
Signed-off-by: Deepa Madiregama <dmadireg@codeaurora.org>
2011-12-08 15:11:11 +05:30
Jay Chokshi
89489c3e48 power_supply: Add driver for LTC4088 Charger
LTC4088 is high efficiency USB powerpath controller
and Li-Ion/Polymer battery charger. This driver
enables the charger, allows to set current limits,
and detection.

Change-Id: I844431210cfd6e71d02fa7ffb730ee56d8417273
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2011-12-07 19:00:30 -08:00
Willie Ruan
e6bee116fb power: core: add power supply APIs
Add two APIs, 1) set_current_limit API and 2) set_charging_by.
set_current_limit api is used for external control, such as for USB
driver to tell a charger driver the maximum current to draw.
set_charging_by is used to change the state of the charger.

Change-Id: I147eab37836b54627ca1458167eb117ba3eacd7a
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2011-12-07 19:00:30 -08:00
Anantha Krishnan
40bcd05937 radio-tavarua: Add host side support for the new FM Search Algorithm
Change-Id: Iba497b84e525d08fa588bb7f58ff6a238452c47c
CRs-Fixed: 314648
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
2011-12-07 12:47:26 +05:30
Linux Build Service Account
0ac06e4925 Merge changes Id3e9fc8e,I61b85b48 into msm-3.0
* changes:
  perf: add raw event selection by reg/code/group for scorpion l2
  Perf: Add support for L2 cycle counter in default list
2011-12-06 19:03:13 -08:00
Jack Cheung
59f9f1c9ae mm: Add total_unmovable_pages global variable
Vmalloc will exit if the amount it needs to allocate is
greater than totalram_pages. Vmalloc cannot allocate
from the movable zone, so pages in the movable zone should
not be counted.

This change adds a new global variable: total_unmovable_pages.
It is calculated in init.c, based on totalram_pages minus
the pages in the movable zone. Vmalloc now looks at this new
global instead of totalram_pages.

total_unmovable_pages can be modified during memory_hotplug.
If the zone you are offlining/onlining is unmovable, then
you modify it similar to totalram_pages.  If the zone is
movable, then no change is needed.

Change-Id: Ie55c41051e9ad4b921eb04ecbb4798a8bd2344d6
Signed-off-by: Jack Cheung <jackc@codeaurora.org>
2011-12-06 15:00:36 -08:00
Linux Build Service Account
c3a5a8cb8a Merge "power: pm8921-charger: Allow disabling of input current limit" into msm-3.0 2011-12-06 14:52:29 -08:00
Linux Build Service Account
ed8dee710b Merge "input: pmic8xxx-pwrkey: Change algorithm on converting trigger delay" into msm-3.0 2011-12-06 12:47:37 -08:00