Commit graph

592686 commits

Author SHA1 Message Date
Linux Build Service Account
6da9e55e26 Merge "ARM: dts: msm: Support Primary TDM Interface for msm8996" 2017-07-31 23:44:01 -07:00
Linux Build Service Account
81d54ebe21 Merge "cnss2: Remove PCI ioremap wrapper function" 2017-07-31 23:44:00 -07:00
Linux Build Service Account
d5c822f343 Merge "cpufreq: interactive: fix to come out of hysteresis mode" 2017-07-31 23:44:00 -07:00
Linux Build Service Account
e944accf8c Merge "msm: kgsl: Fix leak when preemption init fails" 2017-07-31 23:43:59 -07:00
Linux Build Service Account
97c6cfb336 Merge "input: misc: hbtp_input: fix memory corruption in list_del_entry" 2017-07-31 23:43:58 -07:00
Linux Build Service Account
6be8573eca Merge "msm: mdss: recalc pclk for Y420 format" 2017-07-31 23:43:57 -07:00
Linux Build Service Account
2a27c1aaf7 Merge "serial: msm_serial_hs: Modify wakeup handler disablement and processing" 2017-07-31 23:43:56 -07:00
Gaurav Sonwani
f135a770a6 msm: kgsl: Disallow L2PC during wake up from SLUMBER
Add a PM QOS request to disallow L2PC during wake up
from SLUMBER state. This is required to improve queue
to submit time for first set of GPU commands which results
in GPU wake up.

Change-Id: Iad1a6dfdf9e1fe034eef4fae526138d724bdd3eb
Signed-off-by: Gaurav Sonwani <gsonwani@codeaurora.org>
2017-07-31 21:41:29 -07:00
Andy Sun
a865a851bd ais: fix getting vfe regulators number bug
The original method of getting array member size is wrong.
Considerating vfe_dev->hw_info is set during runtime, so set the number
statically.

Change-Id: I90a2fb19948409b22ed219ba8ec8bc4deb4f0a46
Signed-off-by: Andy Sun <bins@codeaurora.org>
2017-08-01 11:15:01 +08:00
Nicholas Troast
175907d3d2 power: fg-util: add median filter for circular buffer
A median filter is useful for filtering out outliers. Add it.

Change-Id: I21f97a870c262e5fb3d33b8250a2bf074f519b58
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:28:02 -07:00
Abhijeet Dharmapurikar
3c21390e3c power: qpnp-fg-gen3: use the CC_STEP and CC_STEP_SEL properties
Add support for the CC_STEP and CC_STEP_SEL properties in the BMS power
supply. These properties will be used to communicate the future charge
currents for time to full calculations.

Change-Id: I44087b42b31800d1885bdaf1f38815c8756bc9a8
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:28:02 -07:00
Nicholas Troast
eb8700f685 power_supply: add CC_STEP and CC_STEP_SEL properties
There are several algorithms which modify the charge current in steps
across the charge cycle. CC_STEP is used to notify of all the upcoming
charge currents.

The CC_STEP_SEL property is used to select the index of the CC_STEP to
read or modify using the CC_STEP property.

Change-Id: Ieeb533b758035c1c408cdfd68f001374bf0987a5
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:28:01 -07:00
Abhijeet Dharmapurikar
3fcbb078c8 qpnp-smb2: Ignore status 7 register while qnovo is enabled
status7 register will indicate all the charger bits are cleared during
the rest or discharge phase of a Qnovo pulse. Moreover those bits remain
cleared after a pulse train is done and before a new pulse train is
issued.

Hence when Qnovo is active ignore status 7 register bits.

Change-Id: Ice61f8a49625081ffbf1aacaac844b929715e818
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:28:01 -07:00
Harry Yang
2aced65bf8 qcom: qnovo: restart pulse train in stall state
There are a couple of cases where qnovo charging fails,

1. pulse train enable command register fails to write through, or
2. pulse engine fails to start and pulse train timer PTTIME does
   not start counting.

In either case, qnovo charging will stop. Here is the fix,

Write register twice when enabling pulse train, and
restart pulse train if PTTIME does not increase.

Change-Id: Ic235f8f2bc67fe577e42848ef623870c25b68256
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:28:00 -07:00
Abhijeet Dharmapurikar
cbff20cc9a qpnp-qnovo: add debounce for charger
The request is to delay ok_to_qnovo for 15 seconds after a charger is
inserted.

To achive that:
Make ok_to_qnovo variable as a votable that can be voted on by
A. HW error conditions
B. Charger is ready  after debounce

Moreover since there could be two chargers -usb and dc, create another
votable to track their individual debounce states. The result of this
votable will feed in to ok_to_qnovo votable as branch B above.

Also since we need to stay awake for the debounce time, create an
awake_votable and vote on it while debounce on either usb or dc is in
progress.

Change-Id: I32dc07ba16ef0515a9683f2702d317c39baa2eba
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:28:00 -07:00
Abhijeet Dharmapurikar
354e7f16bd qpnp-qnovo: prevent pulse train while esr is in progress
At the end of pulse train ESR measurement is forced. It is expected
that when ESR is being measured, which takes about 1.5 seconds, the
next pulse train does not start.

However we see that a uevent is sent to userspace and it enables pulse
train within 100mS.

To prevent that put the pulse train enabling bit under a votable
control. And make QNI_VOTER (the userspace voter) and ESR_VOTER vote
on it.

Moreover, the current pulse train enabling path checks if qnovo was
enabled, make a QNOVO_OVERALL_ENABLE voter to this new voter to reflect
it.

Change-Id: I6d2177250cc47f5aeb6591c532ee18d37e3b02c6
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:27:56 -07:00
Abhijeet Dharmapurikar
18cb81a94f qpnp-fg-gen3: qnovo ESR/IADC workarounds
When FG IADC measurement period coincides with qnovo discharge pulses
it reads incorrect IADC values. That causes issues with SOC accuracy
and capacity learning amongst others.

The fix to IADC inaccuracy is to set a bit in the FG
peripheral while Qnovo is active.

A side effect of IADC inaccuracy fix is that the ESR
measurement goes haywire. To overcome that, disable ESR when
Qnovo is active and force an esr measurement when its between pulses.

Realize this by disabling ESR and enabling the bit when
Qnovo becomes active. The qnovo driver will set CHARGE_QNOVO_ENABLE
property on the bms psy when its active. Also provide code to
force an ESR measurement via a write to RESISTANCE property in
bms psy.

Change-Id: I7160ad6288362c17d28d67b38ec09332d9a6cbd2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:26:29 -07:00
Abhijeet Dharmapurikar
7b5b0b5914 qpnp-qnovo: IADC/ESR workarounds
When FG IADC measurement period coincides with qnovo discharge pulses
it reads incorrect IADC values. That causes issues with SOC accuracy
and capacity learning amongst others.

The fix to IADC inaccuracy is to set a bit in the FG peripheral while
Qnovo is active.

A side effect of IADC inaccuracy fix is that the ESR measurement goes
haywire. To overcome that, disable ESR when Qnovo is active and force
an esr measurement when its between pulses.

Realize this by setting CHARGE_QNOVO_ENABLE and RESISTANCE property on
the bms psy at appropriate times in the driver.

Change-Id: I5b37083c843ec6bc052c4d344347b9a80554e226
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-31 19:23:19 -07:00
Haynes Mathew George
aa5d0fc240 ASoC: msm: qdsp6v2: Open unique COPP port for concurrent ULL streams
Routing driver reuses the same adm for streams with the same
app_type, sample_rate etc. This isn't allowed for ULL streams
as per the DSP interface. We need to open a separate COPP
port for concurrent ULL streams

CRs-Fixed: 2083105
Change-Id: I569b32830145d6dae99449d0bc4148b2f60b101d
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
Acked-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2017-07-31 18:31:56 -07:00
Yue Ma
be9b12a5a0 cnss2: Add debugfs support to simulate device and firmware boot
Add debugfs interface to simulate device and firmware boot step
by step. This can provide the flexibility to debug both host and
device issues in boot path. The debugfs node will only be added
in debug builds.

Change-Id: I4cf03efad5e5a792095f509864fddd54dc6e2e7c
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-31 17:34:25 -07:00
Linux Build Service Account
86db25491e Merge "soc: qcom: Fix error propagation in scm_qcpe driver" 2017-07-31 16:19:17 -07:00
Linux Build Service Account
f83816101f Merge "ASoC: msm: qdsp6v2: Reserve MultiMedia16 for NOIRQ" 2017-07-31 16:19:16 -07:00
Linux Build Service Account
03f28c162d Merge "wil6210: protect against invalid length of tx management frame" 2017-07-31 09:52:17 -07:00
Linux Build Service Account
2552d0a834 Merge "power: smb-lib: enable DPDM regulator at CC attach" 2017-07-31 09:52:17 -07:00
Linux Build Service Account
1bb95392ad Merge "msm: sde: release LK's pool when LK exits" 2017-07-31 09:52:16 -07:00
Amit Blay
0d77bc0766 soc: qcom: Fix error propagation in scm_qcpe driver
Fix scm_qcpe such that an error returned in X0, will be
propagated back to the calling client.

Change-Id: I8014b3f2f850d8664404c69e77ba36295a28db07
Signed-off-by: Amit Blay <ablay@codeaurora.org>
2017-07-31 12:17:40 +03:00
Imran Khan
9f4e8a6c46 Revert "perf: stop deadlock if attempt to bring cpu up fails"
This reverts 'commit 5f71e693df ("perf: stop deadlock if attempt
to bring cpu up fails")' as this change is not needed.

Change-Id: I17e6f7c1b648a5f2559eeea786efafc9be32a9e9
Signed-off-by: Imran Khan <kimran@codeaurora.org>
2017-07-31 14:41:44 +05:30
Rashi Bindra
5f292a6eae msm: mdss: Fix the DSI lane swap programming logic
In the current programming sequence, if a particular logical lane
is not used, we map the corresponding physical lane for this to '0';
which means no connection. This can cause DSI FIFO overflow issues
for panels which don't use all the 4 lanes. Fix this by programming
the LOGICAL_LANE_SWAP_CTRL for all the 4 lanes always, irrespective
of the number of lanes used.

Change-Id: I31a703f8f5133eb85c33fd0d3728f824a435392d
Signed-off-by: Rashi Bindra <rbindra@codeaurora.org>
2017-07-30 22:13:36 -07:00
Linux Build Service Account
02c043ee88 Merge "Revert "ARM: dts: msm: Enable ACD functionality for sdm630 CPU rails"" 2017-07-30 19:58:04 -07:00
Linux Build Service Account
81e9edba00 Merge "power: qpnp-fg-gen3: Use msoc for recharge-soc comparison" 2017-07-30 19:58:03 -07:00
Lior David
1b3f613621 wil6210: protect against invalid length of tx management frame
This check is not valid:
if (len < sizeof(struct ieee80211_mgmt))
Because ieee80211_mgmt contains the ieee80211 header followed by
a union of various action frames, so the check will fail when trying
to send any management frame which is smaller than the largest action
frame in the union. This breaks FST and possibly other features.
Fix this by checking only against the header structure size.

Change-Id: I730300e180d9509f3555f16a0803af53cc8eca0a
Signed-off-by: Lior David <liord@codeaurora.org>
2017-07-30 20:32:38 +03:00
Tirupathi Reddy
4b9f893b62 Revert "ARM: dts: msm: Enable ACD functionality for sdm630 CPU rails"
This reverts commit a4ca7944f4.
There have been stability failures (SPM ack timeouts) due to
ACD. Reverting this patch until the issue is resolved.

CRs-Fixed: 2084607
Change-Id: I407e4ecc5bd7af738c0d0599d1fa57007e959495
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-07-30 21:19:28 +05:30
Anirudh Ghayal
0934c154fd power: qpnp-fg-gen3: Use msoc for recharge-soc comparison
The recharge SOC is based off the monotonic SOC (msoc). Hence, use
the msoc to determine if the hold-soc-while-full logic needs
to be applied.

CRs-Fixed: 2080211
Change-Id: I52b02adc4d97cbed42b0c8034a5a48dba1e343d3
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-07-30 21:12:15 +05:30
Linux Build Service Account
1e931d0f3f Merge "msm: wlan: Fix regulatory rule of JO" 2017-07-29 21:19:28 -07:00
Linux Build Service Account
5744dc2625 Merge "msm: camera: Instead of read_lock use read_lock_irqsave." 2017-07-29 01:12:47 -07:00
Yue Ma
3e186193bc cnss2: Add an option to skip booting device during driver probe
Add an option for the debug module parameter to skip device boot
during driver probe. This adds the flexibility to boot device
later after kernel boots.

Change-Id: Icd8a544149f3d6b0f4ca3e3f7e004d230c2469ab
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-28 19:29:07 -07:00
Linux Build Service Account
c0737029c3 Merge "msm: mdss: fix the use after free problem in rotator ioctl" 2017-07-28 16:49:01 -07:00
Linux Build Service Account
79a52fb558 Merge "ASoC: msm8998: Update DAI IDs for DSP HW Transcode loopback" 2017-07-28 16:49:00 -07:00
Linux Build Service Account
826a2e3cd0 Merge "msm: mdss: dp: avoid aux transactions if dp cable is disconnected" 2017-07-28 16:48:59 -07:00
Linux Build Service Account
d0b9794078 Merge "ARM: dts: msm: add memory region info for early splash feature on msm8996" 2017-07-28 16:48:57 -07:00
Linux Build Service Account
81dcb8ec19 Merge "msm: sde: add early display handoff feature" 2017-07-28 16:48:56 -07:00
Linux Build Service Account
387722421f Merge "drm/msm/sde: disable vblank ref power on crtc disable" 2017-07-28 16:48:53 -07:00
Linux Build Service Account
21b2f0c012 Merge "drm/msm/sde: output black frame during resume operation" 2017-07-28 16:48:51 -07:00
Hemant Kumar
c5c2ca0587 usb: dwc3: dwc3-msm: Handle floating charger PMI notification properly
When floating charger is detected, driver first notifies -ETIMEDOUT to
PMI after 10 sec and then stops peripheral by simulating cable disconnect.
As part of disconnect it notifies PMI to draw 0ma which PMI re-interprets
as a SDP in bus suspend state and reconfigures PMI for SDP. Hence send
charger current notification only as part of cable disconnect simulation
by checking charger type.

Change-Id: Ibafe8d52fa14ff32b6cb11e9f6e15a4f3f147d7a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2017-07-28 16:36:54 -07:00
Yue Ma
3ed14aeed2 cnss2: Remove PCI ioremap wrapper function
Driver should directly call PCI ioremap API, and not customize
it with wrapper function which is only a WAR for QCA6290 chipset
emulation.

Change-Id: Icba3ce0ebbcef94d75a1713f4776524b909e5552
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-28 10:13:03 -07:00
Linux Build Service Account
a6e2c2983f Merge "msm: mdss: do not update polarity for DSI interface" 2017-07-28 08:21:45 -07:00
Linux Build Service Account
8198f75d01 Merge "rwsem: fix missed wakeup due to reordering of load" 2017-07-28 08:21:44 -07:00
Linux Build Service Account
7aaa3c344e Merge "msm: mdss: Fix race condition during mdp dump" 2017-07-28 08:21:43 -07:00
Linux Build Service Account
e58ec92ae4 Merge "msm: mdss: Remove check to cap requested mdp clock" 2017-07-28 08:21:42 -07:00
Linux Build Service Account
e81d17ff12 Merge "msm: kgsl: Fix the syncpoint_fence trace" 2017-07-28 08:21:41 -07:00