Commit graph

573331 commits

Author SHA1 Message Date
Shantanu Jain
6cb6901ff0 input: it7258_ts_i2c: add low reset and reset delay support
Add low reset gpio and delay reset support for ITE tech
driver.
ITE tech controller support low reset gpio configuration. This
property is parsed from the DT, and reset gpio is set to low.
Reset delay value is also parsed from DT which is required by the
ITE tech controller.

Change-Id: I314677747e8bbbcb273cd898376bbe03197c8c25
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-03 11:50:18 +05:30
Shantanu Jain
4c2063bfb3 input: it7258_ts_i2c: add pinctrl support
Add pinctrl support for ITE tech touchscreen driver.

Change-Id: I3bbea110af189f236bb175670210e086e15d5d2d
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-03 11:46:41 +05:30
Shantanu Jain
11c338c710 input: it7258_ts_i2c: Do not put driver in infinite loop
Do not put the ITE tech touchscreen driver in infinite
loop while probing.
Sometimes, when there is multiple touchscreen support on the
same snapdragon device, then the dynamic detection is used
to confirm which touchscreen is connected to the device.
So, this change will not make the CPUs to get hogged with
infinite loop of ITE tech driver.
Now it can easily get out of probe with error path releasing
the resources properly.

Change-Id: Ib9905017fc18999e7ab7c9cb8bc1af398f5f9791
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-02 22:42:43 -07:00
Sudheer Papothi
b9b48e3ff3 ASoC: wcd9335: Add support to enable low power mode on codec
Codec is in digital core power collapse when there is no
audio usecase but low power audio usecases needs codec to
be out of power collapse. Changes bring codec out of
digital core power collapse for low power audio usecases
without enabling master clock.

CRs-fixed: 1022917
Change-Id: I762fc1dc6b6527608e73ac5144215ee141570aac
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-02 22:41:41 -07:00
Sudheer Papothi
b435be5346 ASoC: msm8996: Add CPE ECPP DAI instance for ECPP path
Add support for CPE(Codec Processing Engine) second voice
wakeup session using ECPP(Echo cancellation Ping-Pong) hardware
path. This allows to enable two concurrent CPE sessions, one
on MAD(Mic Always-on Detection) and the other on ECPP.

CRs-fixed: 1022917
Change-Id: I7a14a2d0b5455d427f90e02506b996fc615c848a
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-02 22:41:21 -07:00
Runmin Wang
84eb8f642a soc: qcom: core,gladiator hang: Change the sysfs print format
Sizeof(uint32) returns 4 as the value. As a result, the string
copied will be limited to 4 characters.
Update the size to the correct value and add "0x" to the front
of the string.

CRs-Fixed: 1047798
Change-Id: If889cd278fea7e13f941635f72047dcb9141ec2e
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-08-02 22:23:45 -07:00
Linux Build Service Account
a8ac335601 Merge "defconfig: Enable REMOTEQDSS" 2016-08-02 21:58:57 -07:00
Linux Build Service Account
b1d83ab714 Merge "msm: ipa: update wan rx size buffer" 2016-08-02 21:58:56 -07:00
Linux Build Service Account
25a1714bf1 Merge "Revert "Thermal: handle thermal zone device properly during system sleep"" 2016-08-02 21:58:55 -07:00
Linux Build Service Account
99d58ed366 Merge "irq-chip: gic-v3: remove print message in irq driver" 2016-08-02 21:58:54 -07:00
Linux Build Service Account
e24bca7ad0 Merge "ASoC: wcd9335: Changes to support CPE session using EC PP path" 2016-08-02 21:58:53 -07:00
Linux Build Service Account
8d5e73afc5 Merge "CHROMIUM: android: binder: Fix potential scheduling-while-atomic" 2016-08-02 21:58:52 -07:00
Linux Build Service Account
934a7620a1 Merge "android: binder: Disable preemption while holding the global binder lock." 2016-08-02 21:58:51 -07:00
Linux Build Service Account
f0f2abaefd Merge "soc: qcom: irq_helper: Add irq helper module" 2016-08-02 21:58:50 -07:00
Linux Build Service Account
0892f7eb91 Merge "ARM: dts: msm: vote IPA_cfg on msmcobalt" 2016-08-02 21:58:49 -07:00
Linux Build Service Account
e7c6403ad9 Merge "msm: ipa: Fix the memory leak on exception" 2016-08-02 21:58:48 -07:00
Linux Build Service Account
ade5764cd3 Merge "smb-lib: Add support for thermal daemon throttling fcc" 2016-08-02 21:58:47 -07:00
Bhalchandra Gajare
68f9abd8cf ASoC: wcd-spi: SPI driver for WCD audio codecs
WCD audio codecs contain SPI slave hardware module to provide access
to codec memory and SPI register space. Change adds driver for this
slave hardware. This driver uses regmap for SPI internal register
accesses and plugs in to standard SPI framework as child device to
master controller driver.

CRs-Fixed: 1049012
Change-Id: I0640ac1ed60a2ec3633636760593211ecd2f9c2d
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-02 20:33:46 -07:00
Bhalchandra Gajare
643173993d wcd_dsp_mgr: Add the WCD DSP manager driver
WCD audio codecs have DSP embedded to perform signal processing on
audio data. The codec driver has control over the DSP clock, power etc,
whereas the DSP memory can be accessed through an different bus slave
interface. In such cases, it is required to make sure the hardware
expected sequences are met for the DSP to function properly. The
wcd-dsp manager driver registers as master to component framework
and provides the ability to sequence the operations between the child
drivers. Upon registration of all children, the wcd-dsp manager driver
parses the wcd dsp image, downloads the image and boots up the DSP.
It invokes the component children to perform the tasks in sequence.

CRs-Fixed: 1049012
Change-Id: I059e1b111c607e49a7cc9a7940cf458e701c73d3
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-02 20:31:31 -07:00
Bhalchandra Gajare
e4af31231a ASoC: wcd-dsp-utils: Add utilities for wcd dsp
wcd_dsp_utils adds utilities that will be used by the
wcd dsp manager driver. Add helper functions to parse
WDSP image and provide list of segments to be loaded
to memory.

CRs-Fixed: 1049012
Change-Id: I2b1464c2a035a039440e6d3e5122ad3f90da4d1e
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-02 20:22:08 -07:00
Bhalchandra Gajare
3cf508f646 mfd: wcd934x: Mark CPE registers as volatile
Currently only read-only registers are marked as volatile. It is
possible that some registers could be read-write and still have
subset of the bits that are updated by the hardware. Add change
to mark such CPE (codec processing engine) register as volatile.

CRs-Fixed: 1049012
Change-Id: I1cedf646d0df1ab5968df4830502649de305c9d1
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-02 20:21:27 -07:00
Hemant Kumar
442ec18acd usb: gadget: f_cdev: Fix memory leak upon composition switch
Driver allocates notify request in function bind() callback
but frees it in function disable() callback. Upon composition
switch adb daemon gets restarted causing function bind/unbind
to happen twice. This results into allocating notify request
memory twice and only freeing it once either upon disconnect
or next composition switch. Fix the issue freeing memory in
function unbind callback.

Change-Id: I7716cff99b824b55e48aea57b9da91c16a8ecac1
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-08-02 18:38:24 -07:00
Sunil Paidimarri
9f8a7d8e9d msm: ipa: update wan rx size buffer
Consider headroom also while calculating wan
pipe rx buffer size.

Change-Id: Ic1edcb3548eae152fc01de88859bcf311f48f847
CRs-Fixed: 1037822
Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
2016-08-02 17:51:29 -07:00
Skylar Chang
5d3b9a2d4c msm: gsi: do not register to inter ee irq
Inter EE commands and IRQ are not supported currently
and AP does not have access to those.

CRs-Fixed: 1048160
Change-Id: I033044db83e8af6fb0976d711ea12c2f99291f91
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-02 17:43:17 -07:00
Shalini Krishnamoorthi
88c4d429cb msm: mdss: free the correct layer_list in compat_atomic_commit
layer_list is a pointer allocated based on the number of input_layers.
While freeing scale and pp related parameters for each layer, wrong
pointer is used instead of layer_list. Fix the typo to use the
correct pointer.

CRs-Fixed: 1007818
Change-Id: I7ab0fe42075ab5b4dfa5c73667f94fb8f0b5cc32
Signed-off-by: Shalini Krishnamoorthi <shakri@codeaurora.org>
2016-08-02 16:37:26 -07:00
Ram Chandrasekar
e1bce6cf5e Revert "Thermal: handle thermal zone device properly during system sleep"
This reverts commit <a67208e94d945ad890f8dc4734ec5fdb3219cc03>.

This commit prevented xo shutdown as during suspend exit, WSA sensor for
temperature read triggered a slimbus wakeup. Slimbus suspend mechanism
will expect a qmi message after the system has entered suspend. This
will wake the system from suspend. This happens recursively and
system will never enter suspend.

Revert this commit to avoid this issue, till the slimbus suspend
mechanism is fixed.

Change-Id: I4236f4b6272d0bccaf8a2d6f7d5435caf044bd59
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2016-08-02 16:43:48 -06:00
Alan Kwong
2b608aa4c4 msm: sde: Correct rotator irq handler to acknowledge irq once
Current handler acknowledges interrupt in both the irq handler
and the irq thread. This clears interrupts that come between the
irq handler and the irq thread. This patch reorganizes irq
acknowledgment to the irq handler and changes the irq thread to
also check for completed requests by comparing request timestamp
and hardware completion timestamp. Upon error or timeout event,
hardware status is dumped to aid irq related fault isolation.

CRs-Fixed: 1044128
Change-Id: I085c2c2ec55106a8fb196f3ef1cfcb42e2b2507c
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2016-08-02 18:33:12 -04:00
Zhen Kong
3ecbc7ec46 qseecom: Fix ion memory issue during unload app failure
qseecom still need to free ion memory if unload app failed.
The previous xpu violation related to unload app failure is
actually due to race condition between send command, which
is fixed and now it is safe to free ion memory in error cases.

Change-Id: I7a09c753360eb015ece15c48ae1bb34e30479560
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-08-02 15:25:23 -07:00
Aravind Venkateswaran
03f57a4a98 ARM: dts: msm: add proxy vote for mdss gdsc for msmcobalt
When continuous splash screen feature is enabled, the display
needs to be kept alive during the kernel boot up. Add proxy vote
for MDSS GDSC to prevent it from being turned off until the display
driver hand off can be executed.

CRs-Fixed: 1037857
Change-Id: Ie111c5d4fb401a04620809b84ba6a7c2e7d1ce88
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-08-02 14:56:27 -07:00
Aravind Venkateswaran
f9ce28f2c7 ARM: dts: msm: reserve memory for continuous splash on msmcobalt
Reserve memory for the display framebuffer in HLOS for continuous
splash feature on msmcobalt target. This memory buffer would be
configured by the bootloader and needs to be retained until the
first frame update in kernel.

CRs-Fixed: 1037857
Change-Id: Ifbcc1454a1c85eb0163fed969a0c8ceb21d23245
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-08-02 14:56:02 -07:00
Nicholas Troast
081e422149 qcom-charger: smb138x-charger: add parallel enable status properties
There are several ways that the parallel charger can be enabled, and
disabled. Currently charging is enabled by default, but the hardware has
the option to disable the parallel charger via the CHG_EN pin on the
parallel charger. The parallel charger driver controls when the
parallel charger is enabled via the input suspend bit.

To better understand the state of the parallel charger add two power
supply properties to the parallel power supply:

CHARGING_ENABLED	- Reflects whether the parallel charger is
			  enabled by any source.
PIN_ENABLED		- Reflects whether hardware has voted to enable
			  the parallel charger.

Change-Id: I725245178ab02c5ec39b89998f5c2ca3d494c8ee
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-08-02 14:03:21 -07:00
Nicholas Troast
9c58552698 power_supply: add PIN_ENABLED property
Hardware disables the parallel charger via the CHG_EN pin. Add a new
property called PIN_ENABLED which reflects the status of the CHG_EN pin.

Change-Id: I79f95b145176b66d6b8cec5a21922ea16c2c8206
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-08-02 14:02:41 -07:00
Siddartha Mohanadoss
a139f26af6 iio: adc: rradc: Add RRADC channels
Add support to read charger and skin temp hot and
too hot temperature threshold values programmed
during initialization.

Change-Id: I46dca1f606b5414bf7a032c18c9684ba2e53cf28
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-08-02 11:45:01 -07:00
Siddartha Mohanadoss
05da00db9e iio: adc: rradc: Update die_temp and chg_temp scaling
The final temperature values for PMI die temperature and
charger temperature are in units of millidegC. Update
the slope factor value to avoid losing resolution
accuracy while values are reported in units of millidegC.

Change-Id: Iec4aa730fa97133af0c0fb9d47557738ef6f45a0
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-08-02 11:38:09 -07:00
Praneeth Paladugu
aabfefbfaf msm: vidc: Add Override QP extradata support
When clients wants to send QP map to HW video encoder,
they send through override extradata. This change adds
support for the same.

CRs-Fixed: 957844, 1025326
Change-Id: I25f9cc95bd50a37a4280eecb84bf93d2516d3dc2
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
2016-08-02 11:37:50 -07:00
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
Ingrid Gallardo
f1280b2770 defconfig: arm64: msmcortex: enable display xlog debug for msmcobalt
Enable display driver xlog debugging feature.
This feature enables MDSS registers dump during
display driver errors, panic during fatal errors and
logging of events in some key functions.
Events are light weighted, logged in an internal
ring buffer and buffer is only dumped during errors.

CRs-Fixed: 1048182
Change-Id: I2da2eba03ef30f3942ba3f8644efab98635002da
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-08-02 10:35:05 -07:00
Kaushal Kumar
36131fdc87 sched: Remove synchronize rcu/sched calls from _cpu_down
There is no need for sync_sched() in _cpu_down as stop_machine()
provides that barrier implicitly. Removing it also helps improve
hot-unplug latency.

The sync_sched/rcu were earlier removed for the same reason by the
commit 9ee349ad6d ("sched: Fix set_cpu_active() in cpu_down()"),
but recently got added as part of commit <6acce3ef84520537> ("sched:
Remove get_online_cpus() usage.").

CRs-Fixed: 1048941
Change-Id: I97763004454d082d3cc2d9d9dbef7da923608600
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-08-02 10:19:16 -07:00
Zhen Kong
18822c7158 ARM: dts: msm: change to use SW AEAD and HMAC algorithm for msmcobalt
change to use SW AEAD and HMAC algorithms with ARMv8 crypto
extensions by default on msmcobalt, as they have better performances
than algorithms using HW crypto engines.

Change-Id: If68b68374bfabcdef7ecbf245b72b12c4734f811
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-08-02 09:53:19 -07:00
Benjamin Chan
4224f22885 ARM: dts: msm: enabling dynamic FPS for nt35597 video panel
Adding DFPS support for nt35597 dualmipi wqxga video mode panel based on
vertical porch adjustment.

CRs-Fixed: 1047142
Change-Id: Ida3a175d2d1d9d4c2b5bed1e9998dc1af4f626d0
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2016-08-02 08:18:17 -07:00
Benjamin Chan
81b99c32a1 msm: mdss: Enable dynamic FPS support for msmcobalt
Adding support for dynamic FPS adjustment in mdss 3.x. Adjustment
is based on front/back porch changes.

CRs-Fixed: 1047142
Change-Id: Ie4ab889a7d64ba8e33675ee22bf7b808d9ba0a3f
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2016-08-02 11:15:43 -04: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