Commit graph

586890 commits

Author SHA1 Message Date
Linux Build Service Account
c19af183fc Merge "clk: mdss: adjust PLL disable sequence to avoid glitch" 2017-04-05 20:21:33 -07:00
Linux Build Service Account
6728c13839 Merge "scsi: ufs: fix error handing during hibern8 enter" 2017-04-05 20:21:32 -07:00
Linux Build Service Account
66f971f385 Merge "msm: ipa: continue probe on ipc log failure" 2017-04-05 20:21:32 -07:00
Linux Build Service Account
f79238754a Merge "msm: mhi_rmnet: add support for shutdown and system error notification" 2017-04-05 20:21:30 -07:00
Linux Build Service Account
50ae8d5cff Merge "leds: qpnp-flash-v2: Fix some issues" 2017-04-05 20:21:29 -07:00
Linux Build Service Account
38cb972517 Merge "usb: gadget: gsi: Fix incorrect repsonse available notifications" 2017-04-05 20:21:29 -07:00
Linux Build Service Account
0afdb965c7 Merge "icnss: Make driver register asynchronous to probe" 2017-04-05 20:21:28 -07:00
Linux Build Service Account
2e1b1eb1e5 Merge "ASoC: wcd934x: add null check for soundwire control data" 2017-04-05 20:21:27 -07:00
Linux Build Service Account
ad7c7b10d1 Merge "smb138x: support usbin-usbin with external rsense" 2017-04-05 20:21:26 -07:00
Abhinav Kumar
3a757d0376 clk: mdss: adjust PLL disable sequence to avoid glitch
Adjust the PLL disable sequence as per the latest HW
programming guidelines to ensure there will not be any
stray clock glitches when PLL is turned OFF abruptly.

Change-Id: I6df35bbe18b0c42b43f38b9dd85c3502b2038928
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-05 16:48:34 -07:00
Abhinav Kumar
b2e934426e clk: mdss: re-program PLL registers to power-on-reset value
When the supply to PLL digital domain is turned off,
it can result in certain PLL registers to get corrupted.

Make sure to re-program the PLL registers to the
power-on-reset value before starting to program the PLL again
to ensure that it locks reliably.

Change-Id: I63cac884cf11eae60b187f83654f5922a3342d66
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-05 16:46:27 -07:00
Subhash Jadavani
a115b29aaa scsi: ufs: fix error handing during hibern8 enter
During clock gating (ufshcd_gate_work()), we first put the link hibern8 by
calling ufshcd_uic_hibern8_enter() and if ufshcd_uic_hibern8_enter()
returns success (0) then we gate all the clocks.
Now let’s zoom in to what ufshcd_uic_hibern8_enter() does internally:
It calls __ufshcd_uic_hibern8_enter() which on detecting the LINERESET,
initiates the full recovery and puts the link back to highest HS gear and
returns success (0) to ufshcd_uic_hibern8_enter() which is the issue as
link is still in active state due to recovery!
Now ufshcd_uic_hibern8_enter() returns success to ufshcd_gate_work() and
hence it goes ahead with gating the UFS clock while link is still in active
state hence I believe controller would raise UIC error interrupts. But when
we service the interrupt, clocks might have already been disabled!

This change fixes for this by returning failure from
__ufshcd_uic_hibern8_enter() if recovery succeeds as link is still not in
hibern8, upon receiving the error ufshcd_hibern8_enter() would initiate
retry to put the link state back into hibern8.

Change-Id: Ib550fb791fa4c582b8f2d317a7f5f7594acb0872
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2017-04-05 16:42:41 -07:00
Sujeev Dias
371e2918df msm: mhi_rmnet: add support for shutdown and system error notification
Add support to handle system error and shutdown notification
from MHI host.

CRs-Fixed: 2022936
Change-Id: Id36097dffd7571490d7d53d2e496bfe024702a42
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-04-05 13:59:33 -07:00
Linux Build Service Account
a3851309db Merge "msm: mdss: dp: fix notifications for link training tests" 2017-04-05 12:17:10 -07:00
Linux Build Service Account
d850fccd93 Merge "ARM: dts: msm: Update MDSS max mixer/pipe width for sdm630" 2017-04-05 12:17:09 -07:00
Linux Build Service Account
bfdd19a48e Merge "crypto: msm: Use appropriate logging function" 2017-04-05 12:17:08 -07:00
Linux Build Service Account
9e160e7f8b Merge "qcom: smb1351: update CHARGING_ENABLE reporting logic" 2017-04-05 12:17:04 -07:00
Linux Build Service Account
8f91cc1fa4 Merge "power_supply: add HW_CURRENT_MAX power_supply property" 2017-04-05 12:17:03 -07:00
Linux Build Service Account
6e2c59ad47 Merge "ARM: dts: msm: add regulators and clk in icnss device node for sdm630" 2017-04-05 12:17:02 -07:00
Linux Build Service Account
c9b6da0d6c Merge "sdm660: ADSPRPC: Null check file session ctx during mmap create" 2017-04-05 12:17:01 -07:00
Linux Build Service Account
3016150b12 Merge "ARM: dts: msm: add regulators and clk in icnss device node for sdm660" 2017-04-05 12:17:00 -07:00
Linux Build Service Account
17e5e6be4b Merge "ARM: dts: msm: update itech and st1031ga battery profile parameters" 2017-04-05 12:16:59 -07:00
Linux Build Service Account
bbc2d362eb Merge "ARM: dts: msm: enable SDR104 workaround for MSM8998" 2017-04-05 12:16:56 -07:00
Linux Build Service Account
b8d554f7cb Merge "msm: kgsl: Use legacy PM4 check instead of adreno version" 2017-04-05 12:16:55 -07:00
Sriharsha Allenki
343476df3e usb: gadget: gsi: Fix incorrect repsonse available notifications
Two notify requests are being queued for one available modem
response. So for the first GET_ENCAPSULATED_RESPONSE we provide
the host with the available response. Now for the next
GET_ENCAPSULATED_COMMAND we notify the host that the response is
available even before the modem is ready with a response because
of the extra notify request queued on the interrupt endpoint.
This causes a STALL for the next GET_ENCAPSULATED_RESPONSE request.
This is caused because we are queueing a notify request from the
completion handler of the interrupt endpoint request when the
response queue is not empty.
Fix this by queuing a notify request when a new response is
available only after the current resposne is send to the Host.

Change-Id: If84bc315f2be910503328cc6b0e21be342c6eb37
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-04-05 09:23:51 -07:00
Sujeev Dias
afe468938a mhi: mhi_uci: add support for shutdown and system error notification
Add support to handle system error and shutdown
notifications from mhi host.

CRs-Fixed: 1097560
Change-Id: Ied6c907586aa4dc2ed3b1a7c19305877144b3b21
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-04-05 08:44:07 -07:00
Anurag Chouhan
32076102ab icnss: Make driver register asynchronous to probe
Driver register doesn't have to be synchronous with probe call
back. Keep the driver registered till unregister gets called and
never reset ops during probe failure.

CRs-fixed: 2029329
Change-Id: I61331c7f33b29b0bc4833a8e4c52ee94f17660e7
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2017-04-05 17:26:46 +05:30
Meng Wang
e06bfb9b82 ASoC: wcd934x: add null check for soundwire control data
Soundwire control data is NULL if there is no soundwire slave
device enumerated.
Add null check to avoid panic.

Change-Id: Ief60d69c36c2a9831825f38da2c9a3f6dd5f13dc
CRs-Fixed: 2020293
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2017-04-05 04:14:29 -07:00
Linux Build Service Account
c5751be200 Merge "msm: ADSPRPC: Unmap remote heap buffer only for ADSP SSR" 2017-04-05 04:05:40 -07:00
Linux Build Service Account
85cd9a2afb Merge "power: smb-lib: update USBIN_V_VOTER usage" 2017-04-05 04:05:39 -07:00
Linux Build Service Account
0645e1acd6 Merge "msm: pcie: support PCIe MSI QGIC with stage 1 SMMU enabled" 2017-04-05 04:05:37 -07:00
Linux Build Service Account
d7d5fb015b Merge "Revert "defconfig: msm: Enable RCU_STALL_WATCHDOG_BITE flag"" 2017-04-05 04:05:37 -07:00
Linux Build Service Account
078448a790 Merge "Input: stm: optimize the laser sensor driver" 2017-04-05 04:05:36 -07:00
Linux Build Service Account
e81f37a9e5 Merge "ARM: dts: msm: Update camera clock sources for sdm630" 2017-04-05 04:05:35 -07:00
Linux Build Service Account
61aa6bdf98 Merge "ARM: dts: msm: Add flash and OIS node to camera sensor mtp for msm8998" 2017-04-05 04:05:34 -07:00
Lynus Vaz
341934ba38 msm: kgsl: Use legacy PM4 check instead of adreno version
Check for legacy PM4 commands instead of adreno version to calculate
ringbuffer space for PM4 commands that write to memory.

Change-Id: I5d1d4cfbc70bc73ddee9ee752de24aae154a04dc
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
2017-04-05 03:07:24 -07:00
Sarada Prasanna Garnayak
d5782299b7 ARM: dts: msm: add regulators and clk in icnss device node for sdm630
During recovery, there are cases where in WLAN driver running on
APPS can access WLAN copy engine register causing exceptions
because of WLAN hardware in reset state.

Add voltage regulator and clk in icnss device node to vote for WLAN
hardware resources by the icnss platform driver during WLAN recovery.

CRs-Fixed: 2029173
Change-Id: I00bbad40ee152c8dac187ff1f541e34b254589cb
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-04-05 01:57:47 -07:00
Sarada Prasanna Garnayak
66656b0732 ARM: dts: msm: add regulators and clk in icnss device node for sdm660
During recovery, there are cases where in WLAN driver running on
APPS can access WLAN copy engine register causing exceptions
because of WLAN hardware in reset state.

Add voltage regulator and clk in icnss device node to vote for WLAN
hardware resources by the icnss platform driver during WLAN recovery.

CRs-Fixed: 2029102
Change-Id: Iba785acc391fb56ea068199598ddc14d20bb3481
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-04-05 01:57:43 -07:00
Neeraj Soni
adc03ee05b crypto: msm: Use appropriate logging function
Dynamic debug can be used to get the logs

Change-Id: I6510da111019022149190fd753a5da1cc816fffa
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
2017-04-05 11:57:57 +05:30
Tharun Kumar Merugu
f31aa2780c msm: ADSPRPC: Unmap remote heap buffer only for ADSP SSR
Unmap remote heap buffer only for ADSP SSR

Change-Id: I9abff20cfdcc4588a3a377e73d38d3ea91316d25
Acked-by: Himateja Reddy <hmreddy@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
2017-04-04 22:04:41 -07:00
Ashay Jaiswal
0b6793543b qcom: smb1351: update CHARGING_ENABLE reporting logic
In case of parallel charging mode "parallel_charger_suspended"
variable tracks the charging enable state, update CHARGING_ENABLE
reporting to use the same.

CRs-Fixed: 2014572
Change-Id: Ib7246f407ad103343b7587b9de3ac938fb63767d
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-04-05 10:19:49 +05:30
Ashay Jaiswal
eb367740c8 qcom: smb2: disable parallel in restricted/thermal conditions
Add voting to disable parallel charger in case of restricted
charging and when system temperature level changes from normal.
Parallel charger gets re-enabled once thermal condition/FCC
restrictions are removed.

CRs-Fixed: 2014572
Change-Id: Ic26b3d93f2f3d582a2eb3c7b9ea0d27bbad24a50
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-04-05 10:19:49 +05:30
Abhijeet Dharmapurikar
347cdf228a qcom: battery: update parallel algorithm for ICL change
Update the parallel algorithm for ICL change request.
Following steps are performed for every ICL change:
- disable parallel charger using ICL_CHANGE_VOTER
- update the new ICL and re-run AICL.
- re-enable parallel charger by removing vote of
  ICL_CHANGE_VOTER.

While at it, update the 'smblib_get_prop_usb_online'
function to use voter library's locked API to get
the usb_icl_vote, this fixes the lockup that happens
when charging is enabled/disabled from usb_icl_votable's
callback function.

CRs-Fixed: 2014572
Change-Id: I7deb6a50d67471ab1aa5e1db6fff880574b4bafb
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-05 10:19:20 +05:30
Abhijeet Dharmapurikar
69d321dcee qcom: battery: remove ICL_REDUCTION support
Make battery library to directly update the split current
of the main charger via power_supply framework's set_property
API using CURRENT_MAX property. ICL_REDUCTION property
is no longer required.

Note that we are not doing initial ICL vote for USBIN USBIN,
instead when time comes to split aicl, we will read the input
current limit and if nothing is set, check what the hw determined
as the max limit and use that.

For a PD charger case where the apsd result will be unknown,
the current limit is expected to be set by the time aicl settled is
called. The 30 second delaying of parallel enabling, should give
PD engine ample time to set the current limits.

While at it clean up the way settled current change is tracked. Create
a variable that specifically indicates the total settled current seen
last time settled current was adjusted. This makes compare to an updated
settled current value easy.

CRs-Fixed: 2014572
Change-Id: I040b65e6380f2c12350ea44bf32e6981ff126f18
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-05 10:18:49 +05:30
Ashay Jaiswal
17d9f0383d power_supply: add HW_CURRENT_MAX power_supply property
Add support for HW_CURRENT_MAX property which returns maximum
input current that can be set for an adapter. This property will
be specifically used by parallel charger to cast an initial ICL
vote.

CRs-Fixed: 2014572
Change-Id: I49e80e6b25f40791d9035bc1567fdf881914b1e8
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-05 10:02:54 +05:30
Ashay Jaiswal
7ddef0d5e4 qpnp: smb-lib: move usb_icl_votable to battery library
Move usb_icl_votable creation and it's callback in the
battery.c file, in preparation for an upcoming change where
usb_icl_votable callback will be able to
disable parallel charger when a low input current
request is set.

The new callback uses CURRENT_MAX property to be set on main
psy to set the ICL limit of primary charger.

The limit setting code in main charger path where the votable
call resides currently relies a lot on client being present or not.
Since the votable is being moved away, it won't have information
about the client. So use the current parameter of INT_MAX to
indicate no clients present.

Also it could be that main psy is not instantiated by the time first
icl vote comes in. Ensure that we rerun_election on usb_icl_votable
the instant main psy is seen.

CRs-Fixed: 2014572
Change-Id: Ie449af086ed9218b40ea83158b69e8f8e73edda3
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-05 10:02:46 +05:30
Ashay Jaiswal
ef45c30bc8 qcom: smb2: disable h/w autonomous parallel control
The charger driver ensures that parallel charging remains
disabled as long as AICL is below threshole (1400mA) using
it's software voting mechanism(USBIN_I_VOTER), thus disable
hardware's autonomous control of input current based parallel
charging.

CRs-Fixed: 2014572
Change-Id: Ie991e0c1d16d63b6def6fb3379019114d20d60f7
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-05 10:02:39 +05:30
Ashay Jaiswal
f521128115 qcom: smb-lib: add delay for parallel enable
Currently, the driver enables parallel charger as soon
as a favorable charger is seen. This causes many, unnecessary
splits of AICL results as AICL runs for the first time. Besides
the detection logic could further update charger type and rerun
AICL.

Its best to simply delay enabling parallel charger for 30 seconds.
This ensures that type detection and its AICL run to completion and
parallel charging starts with a stable AICL result.

To realize this
- implement a workqueue which will be scheduled/cancelled 30 seconds
  later when vbus plugin interrupt happens.
- The workqueue signifies that 30 seconds have elapsed and parallel
  charging should be enabled by PL_DELAY_VOTER.
- remove PL_DELAY_HDVP_VOTER since PL_DELAY_VOTER will
  ensure parallel gets enabled after 30 seconds of insertion.
- unvote from PL_DELAY_VOTER only when the typeC removal event happens.
  A PR_SWAP during a sink session will keep the PL_DELAY_VOTER's vote
  enabled, we expect CHG_STATE_VOTER to disable parallel since device will
  be supplying VBUS and not charging the battery. This also means that
  when another PR_SWAP happens and the device starts operating in sink mode
  again, PL_DELAY_VOTER's vote will remain enabled and parallel charging
  would begin when other conditions become favorable. IOW PL_DELAY_VOTER
  tracks 30 second after physical insertion and remains unaffected by
  PR_SWAPs.

CRs-Fixed: 2014572
Change-Id: Ibe10768e61c6d2661bc8946f7f6b9be06f0c28e6
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-05 10:02:29 +05:30
Ashay Jaiswal
38939b5e92 power: smb-lib: update USBIN_V_VOTER usage
The current code enables parallel charging if a high voltage
charger is seen (QC or PD) or a high current charger is seen.

This means that parallel charger could remain enabled when PD
transitions its voltage even though it has reduced the current
to 500mA. It is desirable to disable parallel charging during
such voltage transition.

So prepare for this change by first ensuring that only a QC
charger votes for USBIN_V_VOTER. The PD charger, even while
operating at higher voltages will need to depend on USBIN_I_VOTER,
just like a simple DCP charger, to enable parallel charger.

CRs-Fixed: 2014572
Change-Id: I03dfcff44b30b06918ebf176043873fb141f485f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-04-05 10:01:08 +05:30
Linux Build Service Account
26db194916 Merge "defconfig: msm: Enable CONFIG_UID_CPUTIME flag" 2017-04-04 20:07:31 -07:00