Commit graph

573021 commits

Author SHA1 Message Date
Siddartha Mohanadoss
d878d43e16 ARM: dts: msm: Remove RRADC channel nodes on pmicobalt
Currently there are no channel specific properties associated
with the RRADC channels. The existing channel nodes specify
a logical channel number that is used by the client when
requesting the RRADC channel read. This can instead be obtained
from the channel list specified within the driver. Therefore
remove the channel nodes.

Change-Id: I4da81a576b88285cedb0a1c7fd49ccd526d25012
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-08-02 11:37:17 -07:00
Siddartha Mohanadoss
e64cce5256 iio: adc: rradc: Update RRADC reads and scaling
A check is needed to ensure the LSB and MSB are coherent
when reading the result registers for the RRADC channels.
The driver performs another round of read request and
compares the result registers to ensure the data read
back is coherent.

Since there are no channel specific properties remove
the dependency to add the channel nodes in the device
tree and instead statically register the channels within
the driver.

Update the scaling functions to report in the units
desired for the final scaled value based on the channel.
The resistance channel reports the units for batt_id
in ohms, the voltage channels such as DCIN, USBIN report
the value in units of microvolts, the current channels
in units of microamps and the temperature channels
such as thermistors are reported in units of millidegC.

Change-Id: I56e6bff28be2cc23f00622d5c37e42564c51a72f
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-08-02 11:37:08 -07:00
Girish Mahadevan
a6146cfa5b serial: msm_serial_hs: Modify IPC Logging
Change the default IPC logging messages to help log analysis instead of
having to change log mask levels and having to re-run the test cases.
Currently single log is used to gather all the driver messages. Split
these into dedicated tx/rx payload log, client ioctl/power state log and
generic driver state log.
Also only dump 32 bytes of the tx/rx payload.

Change-Id: I8dee2f8aa0a6882ec1c320669f165e7cb94bb5f1
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-08-02 10:56:15 -07:00
Girish Mahadevan
f09173df85 serial: msm_serial_hs: Move clk count voting out of runtime callbacks
Don't modify the ref count variable clk count inside the runtime callbacks.
Doing so could result in a case where the driver might end up calling a put
twice on the runtime object. The resulting imbalance will leave the runtime
state for the device in a bad state.

Change-Id: I34989768811b23762c4afe3e33e229ffa3f1db17
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-08-02 10:56:09 -07:00
Girish Mahadevan
a674be9d15 msm_serial_hs: Change resource voting and system suspend logic
As part of the resource voting, both the resource_vote and unvote
functions call the toggle_wakeup_interrupt() function which toggles the
state of the wakeup irq unconditionally. This can cause issues in adverse
scenarios. Instead split this out into exclusive enable and disable wakeup
interrupt functions to be called during the resource unvote and vote
respectively.  Also don't make resource votes in the wakeup isr, the
wakeup isr injects a pre-determined byte into the tty flip buffer and
doesn't access the core or setup any transactions and hence doesn't need
to vote for resources.

The driver has registered for the noirq system suspend/resume callbacks.
When executing these callbacks, don't rely on the runtime framework to
check the device's current runtime state before deciding whether to allow
system suspend or not as the runtime framework is disabled at this point.
Instead rely on the power state that the driver maintains internally.

Change-Id: I0e5d6b8a8a69efc2d9c65dc1edc85f13cbc94fc3
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-08-02 10:56:01 -07:00
Girish Mahadevan
9de853543c ARM: dts: msm: Modify the GPIO bias for UART_3 on msmcobalt
Modify the sleep set GPIO bias for UART_3. This will help lower leakage
once the usecase for UART_3 has ended.

Change-Id: I50d918197a4cd0b503dff78e7d4ba89518c1d1c2
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-08-02 10:55:53 -07:00
Girish Mahadevan
7a515b390d ARM: dts: msm: Modify the GPIO bias for I2C_5 on msmcobalt
Modify the sleep set GPIO bias for I2C_5. This will help lower leakage once
the usecase for I2C_5 has ended.

Change-Id: I41e9012210ce9a5f4fbeb4236365c0fa2db08625
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-08-02 10:55:41 -07:00
Utkarsh Saxena
b17ffbbf40 msm: ipa: disconnect sequence change for USB 2.0
For USB 2.0 there is a requirement to not to flush the
USB endpoints after the pipes are disconnected. Otherwise
this can result into NOC errors. Make a change to modify the
disconnect sequence as below.

1) USB driver first disable the pipes
2) New API is provided from IPA to disable the endpoint.
3) As part of disable, make sure pipes are empty and reset
the pipes.
4) USB resets its BAM and flushes the ep.
5) USB then disconnects both IPA and USB pipes.

Change-Id: I917f025678e6abb03058d5be4ec42d9e6d76835f
CRs-Fixed: 1038623
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2016-08-02 19:50:47 +05:30
Linux Build Service Account
ec9fd7cc51 Merge "mfd: wcd934x: Add page 0x50 registers for wcd934x codec" 2016-08-02 06:42:44 -07:00
Linux Build Service Account
04e7ebf191 Merge "ASoC: msmcobalt: fix proxy channels index value" 2016-08-02 06:42:44 -07:00
Linux Build Service Account
eeea2ec1ce Merge "input: touchpanel: Move Goodix GT915 driver to drivers folder" 2016-08-02 06:42:43 -07:00
Linux Build Service Account
23acf72005 Merge "input: it7258_ts_i2c: replace unused variable in driver" 2016-08-02 06:42:42 -07:00
Linux Build Service Account
0747b59e11 Merge "msm: ipa3: update IPA BCR register values" 2016-08-02 06:42:41 -07:00
Linux Build Service Account
d906969dfe Merge "input: msg21xx_ts: Move the driver to proper path" 2016-08-02 06:42:40 -07:00
Linux Build Service Account
412270ed6e Merge "input: it7258_ts_i2c: add low power mode support in suspend state" 2016-08-02 06:42:36 -07:00
Linux Build Service Account
7341630e35 Merge "input: touchscreen: clean ITE tech driver probe function" 2016-08-02 06:42:36 -07:00
Linux Build Service Account
af0987f562 Merge "Merge remote-tracking branch 'msm-4.4/tmp-2bf7955' into msm-4.4" 2016-08-02 06:42:35 -07:00
Linux Build Service Account
391a76b271 Merge "msm: ipa: add support for configuring polling interval/sleep time" 2016-08-02 06:42:34 -07:00
Ghanim Fodi
f637b371dc msm: ipa: fix IPA driver processing context delete logic
During IPA driver processing context delete, a delete to
the referenced header is being done. The header deletion
will also commit the changes to H/W which includes the
processing context commit. This resulted into committing
an invalid process context as it is still in the processing
context list, but points to deleted header.
The fix is to not commit the changes when deleting the header
but only when deleting the processing context.

Change-Id: I9d3c5eec717da0b072144a1027e4582e73aaa6d9
CRs-fixed: 1044710
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-08-02 15:20:55 +03:00
Shiv Maliyappanahalli
f6613b21f8 ASoC: msmcobalt: fix proxy channels index value
The array index value when setting/getting the channels
of proxy is incorrect as the channel count begins from two.
Fix by setting the correct index offset.

Change-Id: I3ab9858daf6dcdbce762946cbdebeb96eaad764a
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-08-01 22:29:22 -07:00
Linux Build Service Account
9d9cf7636c Merge "clk: msm: clock-gpu-cobalt: Update the GPU PLL FMAXes" 2016-08-01 21:56:51 -07:00
Linux Build Service Account
160e45d7b2 Merge "ASoC: msm: Add dapm ignore suspend for front end dais" 2016-08-01 21:56:48 -07:00
Linux Build Service Account
0e0074f51e Merge "ASoC: wcd9335: Add dapm ignore suspend for backend dais" 2016-08-01 21:56:47 -07:00
Linux Build Service Account
90cc3af5c5 Merge "slim: msm: Handle slimbus HW noise during early boot-up" 2016-08-01 21:56:46 -07:00
Linux Build Service Account
6bdacafee4 Merge "iommu/arm-smmu: Don't group PCI devices" 2016-08-01 21:56:45 -07:00
Linux Build Service Account
aec1c3826b Merge "qcom-charger: qpnp-smb2: disable vbus-error IRQ trigger" 2016-08-01 21:56:45 -07:00
Linux Build Service Account
556668c60b Merge "input: touchscreen: add palm-gesture sleep feature" 2016-08-01 21:56:44 -07:00
Linux Build Service Account
aa738fdd92 Merge "msm: camera: Add support for multiple flash nodes" 2016-08-01 21:56:43 -07:00
Linux Build Service Account
1e86ba99e5 Merge "Revert "misc: uidstat: Adding uid stat driver to collect network statistics."" 2016-08-01 21:56:41 -07:00
Linux Build Service Account
b8977f5091 Merge "xt_qtaguid: Fix panic caused by processing non-full socket." 2016-08-01 21:56:41 -07:00
Linux Build Service Account
b85e6cc250 Merge "xt_qtaguid: Fix panic caused by synack processing" 2016-08-01 21:56:40 -07:00
Linux Build Service Account
598f95ba6a Merge "Revert "net: activity_stats: Add statistics for network transmission activity"" 2016-08-01 21:56:40 -07:00
Linux Build Service Account
3cfc91a2b4 Merge "Revert "coresight-tpdm: fix dsb edge ctrl mask interface"" 2016-08-01 21:56:39 -07:00
Linux Build Service Account
cf554e72cc Merge "ARM: dts: msm: Enable droop and fault detection for pmicobalt flash LED" 2016-08-01 21:56:35 -07:00
Linux Build Service Account
25070b2a8d Merge "leds: qpnp-flash-v2: Add support for led_fault_irq" 2016-08-01 21:56:34 -07:00
Linux Build Service Account
b7fb668a44 Merge "ARM: dts: msm: Add support for new flash mode on msmcobalt" 2016-08-01 21:56:33 -07:00
Linux Build Service Account
a0000b903f Merge "msm: camera: Add support for reading new property tag" 2016-08-01 21:56:32 -07:00
Linux Build Service Account
14051dfb5d Merge "smb-lib: introduce votable to disable charging" 2016-08-01 21:56:32 -07:00
Linux Build Service Account
dd6774e357 Merge "msm: kgsl: Add 5usec delay for idle check on A540" 2016-08-01 21:56:31 -07:00
Bingzhe Cai
633e973e5f input: touchpanel: Move Goodix GT915 driver to drivers folder
Goodix GT915 driver was provided by vendor and cherry-picked into
our project, it need to be placed to right location.

Change-Id: Idf191144354426233eca41727a41e26ddbf92f95
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Signed-off-by: Pan Fang <fangpan@codeaurora.org>
2016-08-01 21:25:25 -07:00
Shantanu Jain
6527a0f4cb input: it7258_ts_i2c: replace unused variable in driver
Replace an unused variable in the ITE tech touch screen driver.

Change-Id: I49230fb6532ee02f122d5f16dfad8dbd978b368e
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-01 21:16:17 -07:00
Bhalchandra Gajare
ced88d4dfc mfd: wcd934x: Add page 0x50 registers for wcd934x codec
Registers for page 0x50 in the wcd934x audio codec are currently
not defined. These registers control WCD DSP register configuration
and setup. Add these register definitions so that codec driver can
read/write these registers.

CRs-Fixed: 1049012
Change-Id: If1162c09de8d4d7c330a97a1f133f6d46ce2fd74
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-01 19:45:39 -07:00
Runmin Wang
2f5179d09a soc: qcom: irq_helper: Add irq helper module
This module provides two APIs which are used to control a boolean
sysfs entry deploy. The irq balancer's blacklist in user space will be
controlled by this sysfs entry.

CRs-Fixed: 1013201
Change-Id: Ie6ec7211c64f3c4f53b9f590e5bcf5fa1937d594
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-08-01 17:51:42 -07:00
Runmin Wang
3a2471330e irq-chip: gic-v3: remove print message in irq driver
Remove dmesg about irq redistributor since it fills up
the console with every hotplug of the cpus. The information
about redistributor is already disclosed in the dmesg during
bootup.

CRs-Fixed: 1048941
Change-Id: I5ddb2036ab3df4715382368c144365d578ce4bb8
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-08-01 17:33:10 -07:00
Sudheer Papothi
0d91aa2188 ASoC: wcd9335: Changes to support CPE session using EC PP path
One of the CPE sessions uses EC(Echo cancellation) PP(Ping-Pong)
path on WCD9335 that is connected to CPE (Codec Processing Engine)
hardware. Configure EC PP path for CPE functionality. This
requires WCD9335 codec to be out of digital core power collapse
without turning on MCLK(Master clock).

CRs-fixed: 1022917
Change-Id: I68200b12fcb316bf36f7c3af2734a094f972da9c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-01 15:47:58 -07:00
Sudheer Papothi
0f8a45e521 ASoC: wcd9335: Add dapm ignore suspend for backend dais
DAPM marks back end dai as dirty during ASoC suspend
which triggers device path teardown. Add ignore suspend
to all back end dais to avoid device path teardown.

CRs-Fixed: 1031932
Change-Id: I89f83feed0702f3a3f3b6141ed73459b8878d2df
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-08-02 02:57:59 +05:30
Mitchel Humpherys
6fbe4a9662 iommu/arm-smmu: Don't group PCI devices
In general, the IOMMU framework likes to group PCI devices together.
This prevents someone from assigning them to separate VMs using VFIO,
for example.  The reason they shouldn't go to separate VMs is because
there could be DMA aliasing between endpoint devices, and because the
root complex device can access anything that endpoint devices can
access.

Unfortunately, this makes things difficult in the DMA layer since the
IOMMU framework freaks out if you try to attach a single device that is
also part of a group.  First instinct might be to start using
iommu_attach_group instead of iommu_attach_device in the DMA layer but
that has problems of its own (it attaches *everyone* in the group as
soon as one client attaches).  Besides all that, it's also a bit
annoying to have the root complex device in group since, in our
platform, it doesn't actually have any stream IDs assigned to it and it
doesn't do any DMA of its own, so it doesn't really make any logical
sense to attach it.

As a compromise, we can stop grouping PCI devices together by allocating
a new domain for each one.  By doing so we no longer need to call
iommu_attach_group in the DMA layer, avoid the issues described above.

It should be noted that with this patch in place we can't securely do
any direct DMA assignment of PCI endpoint devices to separate VMs.

CRs-Fixed: 1036401
Change-Id: I9528b61a695dc7840e1c6f80af18044340f5c6c4
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-08-01 13:48:50 -07:00
Nicholas Troast
5bd071c647 power_supply: add CHARGER_TEMP and CHARGER_TEMP_MAX properties
CHARGER_TEMP reflects the temperature of the charging chip, and
CHARGER_TEMP_MAX reflects the temperature threshold at which the
hardware will take action to reduce the temperature of the charger.

Change-Id: I9cba8e370c753ac5aa33252fce0ea446f061b4c0
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-08-01 10:29:26 -07:00
Ghanim Fodi
ef6aabcb53 msm: ipa: fix multiple static analysis issues
Fix multiple static analysis issues in IPA driver.
Initialize function variables before using them and remove
redundant variables.

CRs-Fixed: 1048706
Change-Id: Iedccc4ab908e1b076efdd4506b686c826eacb73a
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-08-01 19:35:47 +03:00
Siddartha Mohanadoss
29e3c11728 ARM: dts: msm: Remove TSENS QFPROM address and slope data
TSENS (Temperature sensor) driver does not need to map the
QFPROM region to obtain the gain and offset since these are
programmed in the boot initialization to the controller.
This removes the dependency for the application TSENS driver
to map the QFPROM physical region. Hence remove this property
as its optional. Also remove the default slope values that
are used in cases where the application TSENS driver uses it
for calibrationless mode.

Change-Id: Id6893729f5b37a862f3621b8c7897eb767490cd7
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-08-01 08:59:40 -07:00