Commit graph

570195 commits

Author SHA1 Message Date
Chinmay Sawarkar
9be27fb6e7 ARM: dts: msm: Clock fixes and Secure context banks for msmcobalt
Update the Venus clock frequency for different Venus load. There
were kernel panic as the BIMC clocks were OFF. Add the bimc_smmu
gdsc to turn ON the BIMC clocks. Add secure context banks.

Change-Id: I120ce95ea20434b41ac88a5d686b994630516435
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2016-05-11 17:44:04 -07:00
Skylar Chang
084d692b62 defconfig: msm: enable rndis_ipa on cobalt
enable rndis_ipa on cobalt build to support
IPA-offload data path.

Change-Id: I98c462b56dbe01930456a16d5eeb6646b0a2db83
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-05-11 17:44:03 -07:00
Mohan Pallaka
c12c850567 ARM: dts: msm: update touch screen resolution
Change the touch screen to match WQHD display

Change-Id: Ia0b77f23b26941ea2a53451ae61c46aa0ada731c
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-05-11 17:44:03 -07:00
Phani Kumar Uppalapati
c9ef6d3852 slimbus: Add API to get matching ID table
Add API in slimbus driver for clients to get the
matching ID table which helps in accessing driver
data and name fields.

CRs-fixed: 975738
Change-Id: I09c9f1de74e348b032d215cbb0fb9ba6c7aecf18
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-05-11 17:44:02 -07:00
Hemant Kumar
f0795bea15 usb: gadget: f_gsi: Call ipa_usb_init_teth_prot() from gsi_bind
Currently ipa_usb_init_teth_prot() is called before gsi_bind()
gets called as a result of usb_add_function() call. gsi_bind()
is polulating ipa_init_params which is passed to
ipa_usb_init_teth_prot(). Since usb_add_function() is getting
called later after gsi_bind_config() returns, ipa_init_params
remains unpopulated and results into ipa_usb_init_teth_prot()
returning failure. Fix this issue by moving the call to
gsi_bind(). This also matches to ipa_usb_deinit_teth_prot()
call in gsi_unbind().

CRs-Fixed: 1013830
Change-Id: I824d3fa62e2736962680ae1c883b9a2916346331
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:44:01 -07:00
Hemant Kumar
d8179dff9e usb: dwc3: Fix dep name handling upon ep disable
dep name needs to be updated only for non-gsi endpoints
since gsi endpoints are statically assigned. Due to merge
from previous kernel dep name is updated twice upon ep
disable. This is causing gsi ep names to get modified
resulting into failure in finding the original gsi ep name
upon function bind. Hence update the dep name only once
at the end of ep disable and skip it for gsi eps.

CRs-Fixed: 1013830
Change-Id: Iea9282cc8fb4f13d066d25c63ccb1da1881c0a8a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:44:01 -07:00
Hemant Kumar
62544d293a usb: gadget: f_gsi: Use gsi ep ops to disable endpoint
gsi driver does not call the gadget API usb_ep_enable()
instead uses gsi ep operation call back to enable gsi ep.
As a result ep->enabled flag remains clear. Later function
driver calls usb_ep_disble() API from gadget framework and
ep disable operation gets skipped. This causes start transfer
command to fail next time when gsi ep gets enabled. Fix this
issue by calling gsi ep disable operation instead of calling
gadget API.

CRs-Fixed: 1013830
Change-Id: I06570dec368b430321ec196a5e4338f657c43b42
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:44:00 -07:00
Hemant Kumar
f217c8f353 usb: dwc3: Add support for gsi endpoint disable operation
gsi driver does not call the gadget API usb_ep_enable()
instead uses gsi ep operation call back to enable gsi ep.
As a result ep->enabled flag remains clear. Later function
driver calls usb_ep_disble() API from gadget framework and
ep disable operation gets skipped. Fix this by adding gsi ep
operation for ep disable. This makes the enable and
disable ep operations both handled by gsi ep ops.

CRs-Fixed: 1013830
Change-Id: I5caa9a839b9fdd144af0a59a7c605777f7a3a659
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:43:59 -07:00
Hemant Kumar
9fe2a82e32 usb: gadget: rndis: Add packet filter handling for hw accelerated path
Call flow control API when RNDIS packet filter control message is
received. This allows to call the registered flow control call back
from rndis clients supporting hw accelerated path.

CRs-Fixed: 1013824
Change-Id: I87793e31d4db10acf1103127a2d1ad942d253c67
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:43:58 -07:00
Hemant Kumar
b3a6d13c13 usb: gadget: composite: Handle OS descriptor request properly
In case w_index or w_value of an OS descriptor does not match
for a device or an interface, value remains set to -EOPNOTSUPP.
This is assigned to an unsigned request length and becomes a
large integer value. When driver tries to allocate a buffer
of this large integer value DMA allocator complaints for out of
SW-IOMMU space. Hence check this variable for negative value and
return without queuing ep0 request.

CRs-Fixed: 1013316
Change-Id: I705d0d54fb17ca3042533f0106f91912215bd52a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:43:58 -07:00
Hemant Kumar
6f856046e0 usb: gadget: composite: Fix double free memory bug
configfs_dev_cleanup function can double free os_desc
and buffer when called from different context. For
example, this can be called from composite_unbind() and
when composite_bind() fails. Fix this issue by setting
request and buffer pointer to NULL after kfree.

CRs-Fixed: 1013316
Change-Id: I6e87289627b23fc368f990fc7962854eeb3fbbc1
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-05-11 17:43:57 -07:00
Deepak Katragadda
17d496f66a clk: msm: clock-gcc-cobalt: Update the FMAXes for hmss_gpll0_clk_src
The hmss_gpll0_clk_src RCG only needs an SVS2 vote on CX
to run. Update the FMAXes in the linux clock driver.

CRs-Fixed: 1013237
Change-Id: I31aaeb7cf965bfbee4aa219936d8e298899b61a8
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-05-11 17:43:56 -07:00
David Collins
6a3914c8ad regulator: cpr3-regulator: unregister CPR IRQ affinity notifier correctly
Commit b7d5b597f16a ("regulator: cpr3-regulator: add support for
configuring CPR IRQ affinity") added a call to
register_hotcpu_notifier() but did not add a call to
unregister_hotcpu_notifier().  Correct this so that the IRQ
affinity notifier is unregistered when a cpr3-regulator device
is unregistered.

Change-Id: I6379559e201f14a0fd46c1e06761fae356ec9813
CRs-Fixed: 949650
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-11 17:43:56 -07:00
David Collins
674b559b78 regulator: cpr3-mmss-regulator: add support for msmcobalt partial binning
Add support for the partial binning open-loop voltage fuse values
used on MSMCOBALT chips.  Raise the voltage applied for lower
corners when specified by the fuse values in order to ensure
stability.

Change-Id: Ia3f95778d0dab1be9d15fa95d1fc5624606689ec
CRs-Fixed: 1009279
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-11 17:43:55 -07:00
Hardik Kantilal Patel
f1ba27578e icnss: Add support to configure voltage regulator
Add voltage regulator support to power the WLAN hardware.

CRs-Fixed: 982993
Change-Id: Ic36ac920497d05131ef8162a42ee5318600a3473
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
2016-05-11 17:43:54 -07:00
Ping Li
21324680d9 msm: mdss: Properly free memory in error case
Free previously allocated memory in error return cases to avoid
memory leak.

CRs-Fixed: 1005989
Change-Id: I9676eb2c75e7be42b1b1901194ba5c2a206dbeb3
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-05-11 17:43:53 -07:00
Ping Li
aa9bc41df3 msm: mdss: Add NULL check before de-allocating framebuffer
Add NULL check before de-allocating framebuffer to avoid NULL
pointer de-reference.

CRs-Fixed: 1003106
Change-Id: I0f3c44671d3ca1b665e91ad314513bb743f23d3c
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-05-11 17:43:53 -07:00
Ping Li
f51d4f2a58 msm: mdss: Fix memory leak in panel_debugfs_create_array func
Fix the potential memory leak in panel_debugfs_create_array func
by freeing the allocated memory in error return case.

CRs-Fixed: 1005536
Change-Id: If2bf7dbe7caedfa42337639fea739974f99960b4
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-05-11 17:43:52 -07:00
Alex Sarraf
2e910fa338 ARM: dts: msm: Add Synaptics regulator voltage and current for msm8996
Add voltage and current specs for regulators for the
Synaptics driver.

Change-Id: I94c7d5b20fc73ba49b0c8613297f0514fedb3d97
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-05-11 17:43:51 -07:00
Ping Li
2a62dcb194 msm: mdss: Properly set the PP feature cfg_payload in layers
Set the PP feature cfg_payload properly to avoid invalid pointer
cases.

CRs-Fixed: 1004933
Change-Id: I44314b49a6ebb5dedfdedfcddd88c12eabd1f125
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-05-11 17:43:50 -07:00
Ping Li
59775321c6 msm: mdss: Correct block id check for mdss_mdp_misr_table
DISPLAY_MISR_LCDC block doesn't have corresponding mdss_mdp_misr_table,
this change corrects the block id check for mdss_mdp_misr_table.

CRs-Fixed: 1001224
Change-Id: I74b03c31542d4b239eb2ffdc4dc6345dff5eab86
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-05-11 17:43:50 -07:00
Alan Kwong
b7d244ed56 msm: sde: Correct rotator chroma alignment for nv12 ubwc
Correct rotator chroma alignment to 128 byte for nv12 ubwc format.  Chroma
block artifacts are seen without this correction.

CRs-Fixed: 1013358
Change-Id: I715094188dc2b61c04879f8f6ce7b2c8f2d815c5
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2016-05-11 17:43:49 -07:00
Sagar Dharia
064aa4c8ce ARM: dts: msm: Add apps port entries for audio slimbus on msmcobalt
Add apps side data port entries for audio slimbus instance based
on audio usecases.

CRs-Fixed: 1003083
Change-Id: I4fd83519ab75a1d979573b63761676f7c99593d4
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2016-05-11 17:43:48 -07:00
Jack Pham
8bb118e8c5 ARM: dts: msm: Add PD PHY peripheral to pmicobalt
Add device node for the USB PD PHY peripheral found in PMICOBALT.
Reference this from the USB3 node as its extcon device as it
provides notifications of cable insertion/removal.

Change-Id: I42916b13e5d28dd3f3b0ed40c53767cbd7ae32b1
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-05-10 13:20:29 -07:00
Jack Pham
a53bda8e37 defconfig: msmcortex: Enable USB PD drivers
Enable USB_PD_POLICY and QPNP_USB_PDPHY drivers which
support USB Power Delivery.

Change-Id: I44a385af5c68b0bf656fc705a07251850fb38fde
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-05-10 13:20:28 -07:00
Jack Pham
0aa4fa62e3 usb: pd: Add sysfs entries
Add sysfs attributes that will live under /sys/class/usbpd/usbpd0
which will give state information such as:

   - received PDOs from the peer source
   - whether an explicit contract is established
   - selecting a new PDO (thereby sending a Request message)
   - current and supported power, data roles

Change-Id: I5c3cf9a0239c0274709a1771e4fda8c6f5baaa77
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-05-10 13:20:28 -07:00
Jack Pham
c1bb4294e9 usb: pd: Add Protocol layer and Policy Engine
This change adds protocol layer handling as well as the
policy engine state machine.

Change-Id: I5323f82192960d1fd7d3a20baf040d6d80c06be5
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-05-10 13:20:27 -07:00
Hemant Kumar
e6b3a48a1e usb: pd: Add QPNP Power Delivery PHY driver
The QPNP PD PHY resides in the PMIC and handles USB Power Delivery
data transmission and reception over the CC lines. This driver
communicates to this device over SPMI or I2C buses. Introduce APIs
that upper layers will use to implement the protocol layer and
policy engine.

Change-Id: I75dec23c297fd5e07d14741e6627b473012b7a01
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-05-10 13:20:26 -07:00
Jack Pham
82a0ca0e2d usb: pd: Add initial support for USB Power Delivery
Add PD policy engine driver. This driver will interact
with the charger/Type-C module via power_supply framework,
and in turn notify the USB controller on when to begin/end
data operation using extcon. For this initial patch this
driver is simply acting as a pass-through between Type-C
connection states and relaying them as USB/USB_HOST
notifications.

Change-Id: Ieba8e68761beef83a572b75b6b5f3b7ab7802e9e
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-05-10 13:20:25 -07:00
Nicholas Troast
e4fd13f74c defconfig: arm64: msmcortex: enable QPNP_SMB2 support for msmcobalt
Enable QPNP_SMB2 device support for the msmcobalt platform.

CRs-Fixed: 1005389
Change-Id: I0ecabc0febd38ad55cee69bb415a0856a3e83a73
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-10 13:20:25 -07:00
Harry Yang
b4a8e163e5 ARM: dts: msm: add VBUS and VCONN regulators for msmcobalt
QPNP SMB2 charger controls enabling VBUS and VCONN regulators.

- VBUS is used to support OTG connected devices
- VCONN is used to support Type-C powered cables

Add regulator devices for VBUS and VCONN.

CRs-Fixed: 1005389
Change-Id: Ia8dd2d6c8d51765dc49bdfa15565aed09c6a3893
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-10 13:20:24 -07:00
Nicholas Troast
9eb9399317 ARM: dts: msm: add QPNP SMB2 charger device to PMICOBALT
Add the QPNP SMB2 charger device that is present in PMICOBALT.

CRs-Fixed: 1005389
Change-Id: I03be96c229095b666d8e1a84c718989d84ec506e
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-10 13:20:23 -07:00
Nicholas Troast
23578eb519 qcom-charger: introduce QPNP SMB2 charger driver
The QPNP SMB2 charger driver supports the charger peripheral present in
the PMICOBALT chip.

This charger peripheral is common among other chips, therefore the
driver uses the smb library to support all common functionality.

Register access is provided by the parent device via regmap. Interrupts
are controlled by the parent device, and handlers are registered by the
QPNP SMB2 charger driver.

The power supply framework is used to communicate battery and usb
properties to userspace and other driver consumers such as fuel gauge,
USB, and USB-PD.

VBUS and VCONN regulators are registered for supporting OTG, and powered
Type-C cables respectively.

CRs-Fixed: 1005389
Change-Id: I160ce3c8caae6999f52590099cf6d1de957dbbaf
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2016-05-10 13:20:23 -07:00
Nicholas Troast
c91526d68c qcom-charger: introduce SMB charger library
A library of common structures and functions that should be used by all
charger drivers that support an SMB charger peripheral.

The library includes high level register read/write access, interrupt
handlers, voter callbacks, and power supply property getters. It should be
extended with any functionality that can be leveraged by an SMB charger
peripheral.

All drivers that support an SMB charger peripheral should define their own
struct smb_charger to interface with the library.

CRs-Fixed: 1005389
Change-Id: I36796332af667874c1246ec35984122d45de6938
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2016-05-10 13:20:22 -07:00
Nicholas Troast
53bfe74232 qcom-charger: pmic-voter: allow NULL callbacks
Consumers may not want to specify a callback, especially for boolean
votables which only care about the state of the client votes rather than
reacting to a change in the effective result.

CRs-Fixed: 1005389
Change-Id: I72274126a382ef8e32d89e1e8aa98348aaaac420
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-10 13:20:21 -07:00
Riley Andrews
e3ba00c712 android: binder: Don't use sched_preempt_enable_no_resched.
The correct function is prempt_enable_no_resched(). The other
function is reserved for the scheduler core.

Change-Id: Ib36697de003f6a59a608a0024d5351dc15ff8715
Signed-off-by: Todd Kjos <tkjos@google.com>
Git-commit: 776e5bca6446b3aac03b4685b4f4f72446ddcba0
Git-repo: https://android.googlesource.com/kernel/msm
[odhyade@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Omprakash Dhyade <odhyade@codeaurora.org>
2016-05-10 13:20:20 -07:00
Riley Andrews
3956eabb34 android: binder: Use wake up hint for synchronous transactions.
Use wake_up_interruptible_sync() to hint to the scheduler binder
transactions are synchronous wakeups. Disable premption while waking
to avoid ping-ponging on the binder lock.

Change-Id: Ic406a232d0873662f80148e37acefe5243d912a0
Signed-off-by: Todd Kjos <tkjos@google.com>
Git-commit: 443c026e90820170aa3db2c21d2933ae5922f900
Git-repo: https://android.googlesource.com/kernel/msm
Signed-off-by: Omprakash Dhyade <odhyade@codeaurora.org>
2016-05-10 13:20:20 -07:00
Chris Lew
d7e810a2ce soc: qcom: glink: Fix ssr race condition in glink_close
Add else statement in glink_close for a race condition where the
xprt state is set to GLINK_XPRT_DOWN and glink_close runs before
the channel is migrated.

CRs-Fixed: 988266
Change-Id: I4de6530f1fbffd9f3acd1fa539cf756364ea32ac
Signed-off-by: Chris Lew <clew@codeaurora.org>
2016-05-10 13:20:19 -07:00
Yuanyuan Liu
f91d7a5a2b icnss: Update icnss logs
Enable important kernel logs which are essential for cold boot debug.
Remove unnecessary log for normal behavior.

CRs-Fixed: 1013082
Change-Id: I5234f0511fa1c81072e740386e90e07f5e813dd0
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2016-05-10 13:20:18 -07:00
Subbaraman Narayanamurthy
5bad48c1b8 regulator: labibb: fix standalone mode configuration
Currently, standalone mode is treated as a mode along with other
modes, LCD and AMOLED. Rather than keeping it like that, LCD and
AMOLED mode configurations should be allowed along with the way
LAB and IBB modules are controlled, i.e. standalone or dual.

Remove the standalone mode from the list of modes and keep it as
a configurable parameter via device tree. This way, LCD and
AMOLED modes can be configured along with the way LAB/IBB needs
to be controlled (dual or standalone).

Add support for parent supply to LABIBB device so that LAB and
IBB regulators can vote for MBG when operating in standalone
mode.

CRs-Fixed: 996961
Change-Id: I56882e3a5a01b017e1ba9cd63ab36933a3d469e7
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-05-10 13:20:18 -07:00
Subbaraman Narayanamurthy
b2a7905fb6 Revert "regulator: labibb: avail of simpler regulator registration api"
This reverts commit 0324b74b39 ("regulator: labibb: avail of
simpler regulator registration api").

LABIBB regulator driver still needs to obtain init_data from
the device tree not just for the regulator name but it is for
a subsequent change which will pass the parent supply name via
init_data to register with the regulator framework. Hence bring
it back.

Since of_get_regulator_init_data() is brought back, we need to
pass rdesc to that function as the number of arguments got
changed.

CRs-Fixed: 1008400
Change-Id: I027a9ddbbbf6ff0ba7886151e5336d190ac3ce25
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-05-10 13:20:17 -07:00
Anirudh Ghayal
93aea9eb5c regulator: qpnp-labibb: Add logic to skip second SWIRE command
On newer AMOLED panels the second SWIRE command is expected to
control the AVDD voltage. However, the PMI8950/PMI8994 IBB module
interprets this command for VDISN and incorrectly reduces its voltage.

Add DT properties 'qcom,skip-2nd-swire-cmd' to skip the second
SWIRE command and 'qcom,swire-2nd-cmd-delay' to explicitly specify
the delay between the first and second SWIRE command.

CRs-Fixed: 938038
Change-Id: I617a8490784efd760651b3ec8780cc4fd4b17bae
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-05-10 13:20:16 -07:00
Ghanim Fodi
72ba8906bc msm: ipa3: Send limited chained descriptors to IPA
As part of SSR IPA driver code, Filtering and Routing Q6 tables
are being cleaned by pointing to empty tables.
This is done via DMA_SHARED_MEM IPA immediate command to change
SRAM tables pointers. Today code send one command per tables, but
all are chained in single transaction. This will hit the chain
size limitation defined by GSI IPA_IF TLV size.
Change the code to send the commands in smaller chains.

CRs-Fixed: 1012322
Change-Id: I03e9e92c2e01d1fece7e13dd412ea6128210f1fb
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-05-10 13:20:15 -07:00
Siddartha Mohanadoss
6bf348858b ARM: dts: msm: Add VADC_HC and BTM channels for msmcobalt
Clients of VADC_HC and BTM include reading voltage phone
power, system thermistors for thermal mitigation such as
msm_therm, case_therm, XO therm. Add the supported VADC
and BTM channels for the msmcobalt platforms.

Change-Id: I87d0b7c8280a57b88a9b9e7c6a2710e4694a2c0b
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-05-10 13:20:15 -07:00
Abhijit Kulkarni
6bb9c619f7 msm: mdss: enable additonal clocks
Need to enable clk_mmss_mnoc_ahb_clk before turning on the ahb_clk,
as there is a core fsm dependency between these clocks.

CRs-Fixed: 1008505
Change-Id: I9c87fee27c6a6ef875100c9fc1b9d0cb7c14a2b5
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2016-05-10 13:20:14 -07:00
Siddartha Mohanadoss
81a5895080 thermal: qpnp-adc-tm: Support refreshed BTM driver
The BTM (Battery temperature module) peripheral driver
on the PMIC (Power management IC) supports threshold
monitoring and notifies clients when thresholds are crossed.
PMCOBALT supports refreshed BTM peripheral register interface
and the driver uses compatible property qpnp-adc-tm-hc to
distinguish using the refreshed peripheral. The external
client interface with the driver remains the same. Updates
include handling the interrupt when the thresholds are
crossed,programming the threholds and configuring
the hardware based on the refreshed design.

BTM peripheral needs the VADC_HC peripheral to compute the
gain/offset that are used to reverse compute the threhold
values to ADC code. Some of the reverse computation API's
such as calculating thermistor thresholds require the
gain and offset values before computing the ADC code to
be programmed. This requires modification to the existing
calibration API in the VADC_HC driver to calculate
the reference calibration points and store these values
for clients to use in the reverse computation

Change-Id: I989cfa4f40e7f1671f04dfa9d4c3fe2ccbbc44ab
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-05-10 13:20:13 -07:00
Abhijit Kulkarni
be6417fef9 ARM: dts: msm: Add clocks MNOC AHB/AXI for smmu
Add additional required clocks mdss device tree to enable
mmss smmu functionality.

Change-Id: I09a7268861663761df716dd18f07069f6b1152ce
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2016-05-10 13:20:12 -07:00
Abhijit Kulkarni
c6b926f493 ARM: dts: msm: Add VBIF/Hysteresis support for mdss
VBIF/Hysteresis registers have to be setup for mdss module
of msmcobalt. Add default values in the device tree.

Change-Id: I4f106a39529f5e77591431bc3b4883a16d7b37f1
Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2016-05-10 13:20:12 -07:00
Abhijeet Dharmapurikar
e8656817ca spmi-pmic-arb: check apid enabled before calling the handler
The driver currently invokes the apid handler (periph_handler()) once it
sees that the summary status bit for that apid is set.

However the hardware is designed to set that bit even if the apid
interrupts are disabled. The driver should check whether the apid is
indeed enabled before calling the apid handler.

CRs-Fixed: 1001770
Change-Id: I1415c41ec99ca4b767392ea3443691760f967953
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-05-10 13:20:11 -07:00
Abhijeet Dharmapurikar
a071656691 spmi: pmic_arb: add a print in cleanup_irq
The cleanup_irq() was meant to clear and mask interrupts that were
left enabled in the hardware but there was no interrupt handler
registered for it. Add an error print when it gets invoked.

CRs-Fixed: 1001770
Change-Id: Iccf0daadeb82b0fca29829424439ac225e2b3b88
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-05-10 13:20:10 -07:00