When stop is called for doze mode, there is a race condition
between the stop thread and the retire signal work queue.
Fix race condition by making sure that driver waits for the
retire fence before calling the stop.
Change-Id: Icd9d5b14e4138e747f9483458da7ddb89f515c03
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Migrate tasks function is used by both hotplug and cpu isolation. During
hotplug all the cpus are stalled (in stop machine) while tasks are being
migrated. However, this is not the case during cpu isolation. A task
that was counted as a pinned thread might have been migrated off the
cpu. Take this into account when checking whether we have completed
moving all tasks off the runqueue.
Also ignore warning about tasks moving off the run-queue for isolation
use case.
Change-Id: I5c5f25eb9b1eaf0605b606a65e0ac86996fa5f27
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Cluster cpu list traversal is not properly protected against removal of
element by a separate thread. Add proper locking to ensure an element
cannot be removed while accessing the list.
In addition ensure we don't end up in a livelock never exiting the loop
due to hotplug continuously moving elements to the end of the list.
Change-Id: Ie98fe48c2f4fdd0244573229b77ee9823df9e214
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
There is a current leakage on S5 and LDO XO RF rail during
BT sleep. To prevent the current leakage, L7A/L17A/L25A
should be on during BT sleep. So, change L7A/L17A/L25A LDOs
from pin control version to SW control not to follow HW_EN2.
RFCLK2 has not been turned off during sleep and caused
extra current penalty. For RFCLK2 to follow HW_EN2 pin control,
clk_rf_clk2_pin should be used.
Change-Id: Ie316941535f62afd75eac21280061b489e9196c1
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
Currently, a flag is set when the empty SOC interrupt fires to
indicate SOC 0 to the users. This is not cleared when the battery
voltage goes up. This needs to be fixed. Remove the flag and use
the realtime status of BATT_SOC peripheral to decide it. To make
that even more robust, validate the battery voltage with the
cutoff voltage. While at it, add a print in the driver's probe to
print the battery SOC and voltage. This will be helpful to debug
different battery charging scenarios.
CRs-Fixed: 1086715
Change-Id: Icbbe0d4ab74c6f9bf6f2278a11020a9bc6c41930
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
By default skip_extended_resume_delay module parameter
allows to skip extra 40ms delay upon usb bus resume.
This delay was added on top of host bus resume which
is driven for 20ms. Skipping extra delay reduces over
all bus resume latency.
Change-Id: I31a83abc057c345f29d204a63e7571b880678e69
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Since usleep_range provides better accuracy in
comparison to msleep. This helps in reducing
the latency of host bus resume.
Change-Id: Ie8d5231327fcc27ab2a28542e0d96687abb9aace
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Add support for TX path COPP calibration according to
app type configuration
CRs-fixed: 1015476
Change-Id: I0bcbfadb0c1a22529863a5c4b8cc5c53a1028915
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Fix the wlan host driver compilation error for the msmcobalt and msmfalcon
32 bit target. Enable QCOM_IRQ_HELPER config flag to expose IRQ balancer
APIs for msmcobalt and msmfalcon 32bit target.
CRs-Fixed: 1088388
Change-Id: Ieb72bd3779c3b9a372b469f3f7f571fc22294099
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Today raw packet allocation is done every time when driver
is processing HW responses. For some reasons in system,
if this allocation takes long time, forward threads may
timeout. Hence allocate this memory one time and use it
while processing responses.
CRs-Fixed: 1086284
Change-Id: I1cca3f4cef34abd36b095b7ee0f32333c88fb939
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
In function glink_core_register_transport, deinit function for qos
configuration is called before initializing qos configuration.
Call to glink_core_deinit_xprt_qos_cfg function is removed.
CRs-Fixed: 1088375
Change-Id: Ifffab071efed56541e763e4f6f51aa45d7a6678b
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
start and end must be page aligned while calling
flush_tlb_kernel_range else the last page may get
missed while invalidation.
Change-Id: Ibaab202c47a475623e197a13191b2fed638ce20b
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
Add battery profile for QRD interposer msmcobalt to
make sure FG could load it and work as expected.
CRs-Fixed: 1086571
Change-Id: I6ca20cbd29b9a7bd45a78321ea0f65b74450e8c1
Signed-off-by: cyizhao <cyizhao@codeaurora.org>
Correct the camera dtis place to support multiple chipset
version for msmcobalt skuk device.
Change-Id: I20e12bc1597ad15cb3dc9c3ef18d81d039931e07
Signed-off-by: Wei Ding <weiding@codeaurora.org>
No need to assert and return fault on
address overlap with respect to SMMU
enabled case.
Address overlap does not cause any
functional failure.
Change-Id: I5b0faa6e021f2463635e13625072e159ba558907
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
The ramdump driver uses the device pointer during ramdump read.
This change passes in the device pointer for memshare during
ramdump create and moves the call to the probe function.
CRs-Fixed: 1079523
Change-Id: I687696dbedfa0ce7e6053d70291a7beb6f81f82e
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Modify the clock_gcc dummy clock to use the real clock controller for all
global clock controller clients.
Change-Id: Iac989d3c9312654b599d8299206e5478ca454861
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add IMEM PIL entry to save relocatable address of images
loaded by PIL.
Change-Id: Ie09c8ae431cc7da4c8cd745d9c6d018e6a256158
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
Add IMEM PIL entry to save relocatable address of images
loaded by PIL.
Change-Id: I79acd047c7e414ed19a2f992f8ff801b63c8a2ad
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
This reverts 'commit 7112993181 ("input: touchscreen: synaptics v1.1")'
This change is not needed in 4.4 kernel.
Change-Id: I89ab8f353bc04bc0a04d5f5a6993e8e8e5ebbd2e
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Currently, there is a delay of 20msec before raising OTG
current limit, which may be too long for some OTG devices and
cause unexpected issues.
Change it to 1ms or 2ms per HW timing.
Change-Id: Ie09a65e7974e2412af4add3b6f1e0aa20ee4a34b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Add support to do initial configuration for alpha plls and votable
alpha PLLs need to have the fsm mode enabled as part of the
initialization using flag 'SUPPORTS_FSM_MODE'.
Alpha PLLs can support two kinds of input signals, normal and latched.
The normal input is directly passed to the core, while the latched input
requires a latch and acknowledge sequence to be performed for the
changed input to propagate.
Alpha PLLs can support dynamic update with both kind of input signals.
The ones which support this using a latched interface however need to
follow the latch/wait-for-ack sequence to be performed when the rate
changes. Mark these with a new flag 'SUPPORTS_DYNAMIC_UPDATE' to handle
this as part of clk_alpha_pll_set_rate().
PLLs could require post div to be set at runtime, add a vco_data which
could be used for these settings.
Change-Id: Ia0b9a2a52a3b33b7b68409c19c460d717eb5c1e2
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
As per the hardware documentation, PFM needs to be disabled for
LAB regulator during slow start. When the display is turned off,
PFM needs to be disabled with the default current limit. When the
display is turned on, after VREG_OK interrupt fires, PFM needs to
be enabled after overriding the current limit. Add support for
it. Currently this is required only for pmicobalt.
While at it, fix the current limit configuration for LAB
regulator.
CRs-Fixed: 1024407
Change-Id: Icb3781ca31dd8474cfca077c52593dc69d011127
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Set LAB's precharge time to max 500us to optimize the precharge
behavior as suggested in the hardware documentation.
CRs-Fixed: 1084297
Change-Id: I118f4254686caf498087847916b7710662ab31e7
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Currently, some properties in LABIBB regulator driver are having
prefix "qpnp" which is not reflecting the vendor. Change it to
"qcom" to reflect the vendor name correctly and also match with
other DT properties.
CRs-Fixed: 1071971
Change-Id: I182dddc29f3d7c7b449b56ac7fb84e74061cf3a4
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>