Commit Graph

26029 Commits

Author SHA1 Message Date
Linux Build Service Account
0d1ae58ffd Merge changes Ieda320b6,I1b2b8328 into msm-3.0
* changes:
  wcnss: add driver API to support Thermal Mitigation
  wcnss: add sysfs entry to support Thermal Mitigation
2012-04-18 10:18:41 -07:00
Linux Build Service Account
9d68331071 Merge changes I4317a595,Ia00359e6 into msm-3.0
* changes:
  ASoC: WCD9304: Enable Digital MIC recording
  ASoC: wcd9304: Pull in pending fixes for sitar.
2012-04-18 04:04:31 -07:00
Linux Build Service Account
9ac575b9ad Merge "video: msm: Add Histogram collection framework for MDP blocks" into msm-3.0 2012-04-17 15:15:47 -07:00
Jeff Johnson
613746588b wcnss: add driver API to support Thermal Mitigation
The wcnss driver currently supports a sysfs-based mechanism which
allows the Thermal Mitigation function in userspace to read and write
the current thermal mitigation level.  An API is added to allow other
drivers (specifically the WLAN Driver) to register a notifier to be
invoked when the thermal mitigation level is changed.

CRs-Fixed: 317376
Change-Id: Ieda320b618a0a08186db791168e586a86b54d173
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>
2012-04-17 12:18:44 -07:00
Linux Build Service Account
e2cc3becb7 Merge changes Ib1cd158f,Ide80d824 into msm-3.0
* changes:
  USB: EHCI: Add registers support for SMSC hsic hub
  defconfig: msm8960: enable I2C support for smsc hsic hub
2012-04-17 09:45:28 -07:00
Ido Shayevitz
9fb83457bf usb: gadget: dwc3: Add support for DBM (MSM specific) endpoints.
In MSM architecture, the DBM, Device Bus Manager, is a HW module within
the USB3.0 core wrapper, implementing BAM interface support for USB3.0 IP.
The DBM HW unit requires for its operation a special transfer to be
started, with special TRBs structure. These usb requests will operate in
BAM2BAM mode.

This change adds to the dwc3-msm.c driver a support for queuing
a special transfers to endpoints which serve the DBM.

A function driver can now call to msm_ep_config(*ep) with some
endpoint which will serve the DBM. After this, the function
driver can queue a request to this endpoint as usual ep->queue(*ep,*req).
The function driver may need to add a few more parameters in req->udc_priv
field according to the bit mask fields defined in msm_hsudb.h file.

Change-Id: Iad530dabc68414c61d44e9eaef4402f868b2b12f
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-04-17 13:42:44 +03:00
Ido Shayevitz
d1cb16ccbf usb: gadget: Move udc_priv bit fields to MSM central header file.
The req->udc_priv value is used to transfer parameters from a function
driver to a udc, for enabling sps/bam mode for MSM architecture.

This change moves the definitions of the bit fields inside the udc_priv to
msm_hsusb.h in order to avoid duplicate definitions in u_bam.c and
ci13xxx_udc.h. Also this will allow other function drivers and other udcs
to use this definitions, for example, debug class over dwc3 udc.

Change-Id: I37a011524f7ba6d06029d1f3ab3f58d4cb248e4d
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-04-17 13:42:43 +03:00
Vijayavardhan Vennapusa
361da68d1b USB: EHCI: Add registers support for SMSC hsic hub
Add SMSC hub registers that can be changed over I2C bus
for changing the default configuration.

Change-Id: Ib1cd158fdd3c3f58d7211428984ca424563c4f14
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2012-04-17 10:34:57 +05:30
Carl Vanderlip
7b8b64075e video: msm: Add Histogram collection framework for MDP blocks
Expand the previous histogram collection implementation to support the
addition of other MDP blocks that allow for histogram data collection.
Support the VG1, VG2, DMA-P, and DMA-S histograms using this new
framework (VG pipes only supplying the histogram of luminance).

Change-Id: I94088c1f714fa5d91256ae7b0f5548f8a0b81763
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
2012-04-16 15:08:33 -07:00
Asish Bhattacharya
f868a1fcd6 ASoC: wcd9304: Pull in pending fixes for sitar.
Fix Lineout and DMIC configurations. The configurations are similar
to tabla codec driver and hence pull in changes to sitar driver.

Change-Id: Ia00359e6f8888c08365b85423197821fc16f963b
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2012-04-17 00:46:40 +05:30
Vijayavardhan Vennapusa
afbbb8f569 USB: EHCI: Add I2C support for SMSC hsic hub
Currently default configuration will be active
during SMSC hub enumeration. For changing the default
configuration, requires I2C support for configuring
the configurable parameters of SMSC hub like VID,PID.

Change-Id: Ie0449b166ddaae990b9a69c3a75f8059250faf0e
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2012-04-16 12:56:32 -06:00
Linux Build Service Account
d7e20e2a2d Merge changes Ic67b798a,I0f2b440b,Iffb6a7c8 into msm-3.0
* changes:
  power: pm8921-bms: account for capacitive drop
  power: pm8921-bms: Add connector resistance
  power: pm8921-bms: fix the units of batt_temp for rbatt
2012-04-16 09:34:09 -07:00
Linux Build Service Account
12f5d909ab Merge "clk: Add devm_clk_get()" into msm-3.0 2012-04-14 23:21:25 -07:00
Carter Cooper
7e7f02ed0a msm: kgsl: Add per context timestamp
Add new ioctls for per context timestamps.
Timestamp functions (read/write/wait) will now be context
specific rather than only using the global timestamp.
Per context timestamps is a requirement for priority
based queueing.

Change-Id: I5fdfb816480241b9552ecf90ed1bb22db3a652b5
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2012-04-13 08:26:07 -06:00
Abhijeet Dharmapurikar
ded189bb51 power: pm8921-bms: account for capacitive drop
As the battery discharges, we need to account for the voltage drop across
capacitance in the battery. This voltage drop can be simulated using
a resistance in series with the battery such that it increases as state of
charge of the battery decreases.

Add parameter to account for this resistance in the profile tables.

Change-Id: Ic67b798ae8f480d8f42d9321e3847c4294bf7db3
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2012-04-13 01:00:00 -07:00
Abhijeet Dharmapurikar
baffba4e76 power: pm8921-bms: Add connector resistance
The current software does not take in to account the resistance
introduced because of the battery connectors and rsense. This
needs to be accounted for when the battery resistance is
calculated.

Change-Id: I0f2b440bae8168868b26f35c8ec59a21d4906f0f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2012-04-13 00:59:59 -07:00
Linux Build Service Account
cb8abea1e7 Merge "regulator: Add qpnp-regulator driver" into msm-3.0 2012-04-12 23:03:05 -07:00
Linux Build Service Account
e8a19a59cb Merge "msm: 8064: hsic: Add msm_bus vote for hsic controller driver" into msm-3.0 2012-04-12 19:09:19 -07:00
Stephen Boyd
a073c2f70a clk: Add devm_clk_get()
Add a resource managed clk_get() to simplify clock usage in
drivers. This allows driver authors to "get and forget" about
their clocks by automatically calling clk_put() when the driver
is detached. This also encourages clock consumers to use the
clk_get() API correctly by passing in a struct device as an
argument.

Change-Id: I1ed53cd3c26c0390fa30cd3c3dca14bcdd59939f
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2012-04-12 15:44:22 -07:00
Vinay Kalia
700f5c27d0 msm: vidc: Adds API to request performance level.
Adds API to request for a particular performance
level from video core. This is needed for Wi-fi
display (WFD) to reduce end to end latency.

Change-Id: Ib4133b8cd62ccad286be1984f944911754b887c5
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
2012-04-12 11:54:53 -07:00
Hemant Kumar
e6275973cf msm: 8064: hsic: Add msm_bus vote for hsic controller driver
Drivers need to specify their bandwidth requirements to
bus-scaling driver to get guaranteed bandwidth on fabrics.

HSIC USB performance depends upon system fabric frequency
as HSIC USB controller has to support high bi-directional
data transfers. Hence, request for high bus bandwidth as
long as HSIC is active.

Also add debugfs entry to enable/disable the bus voting:-
echo enable > /sys/kernel/debug/ehci_hsic_msm_dbg/bus_voting
echo disable > /sys/kernel/debug/ehci_hsic_msm_dbg/bus_voting

CRs-Fixed: 342032
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Change-Id: I7e208d67ef1c0168cd7621aeae4e8b123adef255
2012-04-12 09:34:53 -07:00
David Collins
d1ac2f1c83 regulator: Add qpnp-regulator driver
Add the qpnp-regulator driver to support regulators found in
Qualcomm plug-and-play (QPNP) PMIC chips.  QPNP chips make use of
Qualcomm's SPMI register convention.  The particular hardware
characteristics of a given regulator can be derived from the
values present in the type and subtype registers.

The qpnp-regulator driver supports probing with either device tree
device specification or with board file specified platform data.

Change-Id: I4f74431a50949763d651faf992b5d2567d05758e
Signed-off-by: David Collins <collinsd@codeaurora.org>
2012-04-11 17:13:33 -07:00
Linux Build Service Account
bc98e97380 Merge "[media] V4L: add two new ioctl()s for multi-size videobuffer management" into msm-3.0 2012-04-11 07:31:13 -07:00
Linux Build Service Account
9bf9b50675 Merge "drivercore: Add driver probe deferral mechanism" into msm-3.0 2012-04-11 05:16:26 -07:00
Linux Build Service Account
0a2f143618 Merge "msm: kgsl: Stop the device during sleep" into msm-3.0 2012-04-10 20:15:05 -07:00
Anna Perel
a8c991d548 usb: gadget: MBIM function driver for QCOM chipsets
This driver implements Mobile Broadband Interface Model protocol.
Control messages are transferred through QBI module
running in user space and communicating with mbim
using file operations interface android_mbim.
Data is transferred on SPS, Bam-to-Bam.

Change-Id: Ifc4b3f7e21b1a0dac377af272f9ae922ec9c7e2e
Signed-off-by: Anna Perel <aperel@codeaurora.org>
2012-04-10 15:59:06 +03:00
Grant Likely
24e887ca2e drivercore: Add driver probe deferral mechanism
Allow drivers to report at probe time that they cannot get all the resources
required by the device, and should be retried at a later time.

This should completely solve the problem of getting devices
initialized in the right order.  Right now this is mostly handled by
mucking about with initcall ordering which is a complete hack, and
doesn't even remotely handle the case where device drivers are in
modules.  This approach completely sidesteps the issues by allowing
driver registration to occur in any order, and any driver can request
to be retried after a few more other drivers get probed.

v4: - Integrate Manjunath's addition of a separate workqueue
    - Change -EAGAIN to -EPROBE_DEFER for drivers to trigger deferral
    - Update comment blocks to reflect how the code really works
v3: - Hold off workqueue scheduling until late_initcall so that the bulk
      of driver probes are complete before we start retrying deferred devices.
    - Tested with simple use cases.  Still needs more testing though.
      Using it to get rid of the gpio early_initcall madness, or to replace
      the ASoC internal probe deferral code would be ideal.
v2: - added locking so it should no longer be utterly broken in that regard
    - remove device from deferred list at device_del time.
    - Still completely untested with any real use case, but has been
      boot tested.

Change-Id: Iaf6bb62f70c2d82c6cccbe468bc5007b1989af93
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dilan Lee <dilee@nvidia.com>
Cc: Manjunath GKondaiah <manjunath.gkondaiah@linaro.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: David Daney <david.daney@cavium.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
2012-04-09 16:20:30 -07:00
Lynus Vaz
fe4bede74b msm: kgsl: Stop the device during sleep
For 7x27, 7x27A and 7x25A, stop the kgsl device during sleep.This
improved PDT stability results and 72hrs stability on customer devices.

Change-Id: I2f0941080363b06b3a0ead59daf0ef3659000b49
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
Signed-off-by: Sudhakara Rao Tentu <srtentu@codeaurora.org>
2012-04-09 15:56:15 -07:00
Jordan Crouse
ed7dd7f660 msm: kgsl: Add KGSL_IOCTL_SETPROPERTY
Add KGSL_IOCTL_SETPROPERTY to allow certain features to be enabled in
the kernel driver via userspace.

Change-Id: Ic0dedbadcbf3bfd451db947cec5d997261b12915
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-04-07 01:19:22 -06:00
Linux Build Service Account
bb1ed5ec37 Merge "power: pm8921-bms: scale rbatt with temperature and soc" into msm-3.0 2012-04-06 18:49:18 -07:00
Linux Build Service Account
f35ec4f779 Merge "msm: kgsl: Add a pwrscale policy to interact with msm_dcvs" into msm-3.0 2012-04-06 15:03:04 -07:00
Guennadi Liakhovetski
0a8ba3750f [media] V4L: add two new ioctl()s for multi-size videobuffer management
A possibility to preallocate and initialise buffers of different sizes
in V4L2 is required for an efficient implementation of a snapshot
mode. This patch adds two new ioctl()s: VIDIOC_CREATE_BUFS and
VIDIOC_PREPARE_BUF and defines respective data structures.

Change-Id: Idb6c1e11f1665201f77c73168bb5a8de84b538eb
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
2012-04-06 14:13:56 -07:00
Linux Build Service Account
d83cad4f0b Merge changes Idd7662db,I1fbefb35 into msm-3.0
* changes:
  mfd: pm8xxx-misc: Make pm8xxx_preload_dVdd a no-op for PM8901 rev 2.3
  mfd: pmic8901: Add revision ID values for PM8901 rev 2.2 and 2.3
2012-04-06 09:07:37 -07:00
Linux Build Service Account
cf491a6d6a Merge "pm8xxx: misc: correct typo for aux clock division" into msm-3.0 2012-04-06 09:07:25 -07:00
David Collins
e41d1db1e9 mfd: pmic8901: Add revision ID values for PM8901 rev 2.2 and 2.3
Add revision ID values to identify PM8901 rev 2.2 and rev 2.3.
Also modify the version printing in the pmic8901 driver to utilize
a human readable format.

Change-Id: I1fbefb35584ec19dfe0983eaff3c5192f1762392
Signed-off-by: David Collins <collinsd@codeaurora.org>
2012-04-05 11:21:30 -07:00
Lucille Sylvester
6e36241ec2 msm: kgsl: Add a pwrscale policy to interact with msm_dcvs
This pwrscale policy provides per-core idle information to the
msm_dcvs driver.  It accepts frequency updates from the msm_dcvs
driver and updates the core frequency as needed.

Change-Id: I201cfcb6ceedc19c27f7848781813d9c477f9f83
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
2012-04-05 09:36:42 -07:00
Amy Maloche
aae56f94a1 pm8xxx: misc: correct typo for aux clock division
Typo where 0 should be O in "XO"

Change-Id: I23320a360e62e3027f79fffcabd0a7b4c7f2904c
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2012-04-04 11:12:05 -07:00
Linux Build Service Account
377f5f6b80 Merge "include: msm_mdp: Add new histogram IOCTL parameters" into msm-3.0 2012-04-04 09:17:47 -07:00
Linux Build Service Account
636bbcec30 Merge changes I6b6174e2,I8103f1e5 into msm-3.0
* changes:
  msm: board-8930-pmic: Add data to control RGB leds
  leds: pm8xxx: Add support for RGB leds
2012-04-03 12:07:17 -07:00
Carl Vanderlip
ba093a2c7c include: msm_mdp: Add new histogram IOCTL parameters
Change the histogram IOCTLS to accept new data structures as well as read
from userspace when required. These changes are required so that other
histogram blocks can be read instead of the current DMA-P only
implementation.

Change-Id: Icaf23dd53c3b9e2106e1518d647197d7b87800d0
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
2012-04-03 10:47:36 -07:00
Amy Maloche
c17c373c46 leds: pm8xxx: Add support for RGB leds
pm8038 is the first PMIC chip to support RGB led, so
driver framework must be added to support it.

Change-Id: I8103f1e5ec37cdd8718a3daa10587f56a44729c6
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2012-04-03 14:36:50 +05:30
Michael Bohan
83b0065562 regulator: stub: Export init function for early probe
Some usecases of stub-regulator require the regulator devices to
be probed early on. As a consequence, allow for stub-regulator
to be added at a custom time by the platform code. Simply
changing the init level of this driver is not enough. We must
allow for other drivers added at the same init level to be
dependencies or dependents of this driver.

Change-Id: Ifd57d0e77e25f73dfb16c45c6774a382873ec44a
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
2012-04-02 15:04:28 -07:00
Linux Build Service Account
8dbbefcf38 Merge "WLAN: WCN1314: Add shutdown handler support." into msm-3.0 2012-04-02 12:29:26 -07:00
Linux Build Service Account
b62b71c9fa Merge "Revert "mmc: sdio: optimized SDIO IRQ handling for single irq"" into msm-3.0 2012-03-31 23:47:51 -07:00
Stephen Boyd
30ad10bf5b Revert "usb: msm_otg: Migrate to clock apis for XO voting"
This reverts commit 7dd2266ae3.

It was a mistake to move the usb driver to the clock apis for XO
buffer voting. Due to an RPM design CXO and D0 are the same but
we would like to hide that from the users of the buffers.
Therefore the msm_xo driver itself remaps the D0 buffer request
to the cxo clock until the RPM is fixed.

Change-Id: I230de55d30a49fa5bcf0d07f40453f1e09c4a9b1
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2012-03-31 12:42:29 -07:00
Linux Build Service Account
651b60bdba Merge changes Ic81e8534,Ie1b2f8fe into msm-3.0
* changes:
  slim_msm: Add Device Tree support for Qualcomm SLIMBUS controller
  slimbus: Add Device Tree support for SLIMBUS
2012-03-31 04:33:15 -07:00
Linux Build Service Account
fcda1ca507 Merge changes I124a4ba1,Idf7c4e53,I09411d46,I4f270a41,Icd7e6002,I56a14e86,Id91ac5e6,Ia1abd831 into msm-3.0
* changes:
  regulator: map consumer regulator based on device tree
  regulator: pass additional of_node to regulator_register()
  regulator: adapt fixed regulator driver to dt
  regulator: helper routine to extract regulator_init_data
  regulator: Constify constraints name
  regulator: Properly register dummy regulator driver
  dt: add empty dt helpers for non-dt build
  copper: regulator-stub: Add devices for Krait Power Control
2012-03-31 01:14:46 -07:00
Abhijeet Dharmapurikar
f6fdcaa0ca power: pm8921-bms: scale rbatt with temperature and soc
The rbatt was observed to change with battery temperature and the state
of charge of the battery. Update the BMS driver and the battery data
to include and use a rbatt table indicating its changes w.r.t temperature
and state of charge.

On similar lines provide api for other systems to query battery resistance.

Change-Id: I681675db537b70919e6e0437bd400ce53bf97096
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2012-03-30 16:37:33 -07:00
Sagar Dharia
7e42e7fed0 slimbus: Add Device Tree support for SLIMBUS
Slave devices can be added by listing them as child of a SLIMBUS
controller of_node in the Device Tree.
It is required to specify elemental address, and name of the slave
device.

Change-Id: Ie1b2f8fe58988f0237547a84f1bbb14ce4733eff
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2012-03-30 11:09:37 -06:00
Linux Build Service Account
197392cbec Merge changes Ifd0a2206,I385fb80e into msm-3.0
* changes:
  board-qrd7627a: Add ft5x06 device for QRD7
  input: atmel_mxt_ts: Fix to reject coordinates outside active touch area
2012-03-30 07:57:31 -07:00