Disable PLL droop detection and update the OSM timer settings
on MSMCOBALT.
CRs-Fixed: 1072855
Change-Id: I1f769f9ff5a0bab594593c3deaec264a9060c28f
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
User SSR triggers a SYS_ERROR from the hardware.
However the driver cannot detect if the error is
due to user SSR or other reasons. Handle SYS_ERROR
due to user SSR as non-fatal
CRs-Fixed: 1054921
Change-Id: I4151b6bfb24e55c1f1a38bfdca012f7b7af86603
Signed-off-by: Umesh Pandey <umeshp@codeaurora.org>
Declare the rcg structure before referencing it in the
function.
Change-Id: Ife9fdabf20b242a93635532b9a0c4cacc8b88210
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Before going for full PLL enable sequence, we need to clear out the
override bit and precalibrated values of VCO_TUNE and KVCO_CODE, as
these registers might be storing values for old VCO rate. This will
cause the DSI PLL to be in a bad state and hence PLL unlock errors
might occur during use case like resolution switch. So always clear
the precalibrated values first in PLL configuration sequence.
Change-Id: I407920d63b4600b610794141e5b7ceb5a33980c1
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Currently, charging status is shown as full for both the charge
termination and inhibit cases. However, there is a need to know
when the charge termination really happens.
Add charge_done property to qpnp-smb2 driver so that the clients
can read that property to distinguish termination and inhibit.
Change-Id: If2bd750af412adf1eea7b913caed9a3eb3b763db
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
When the battery is missing from the device the battery power supply
will still report that it is charging. Fix this by reporting the charge
status as "not charging" when the battery is missing.
Change-Id: I1150ccaa722109f3ea6a4a10e026709d3686e28b
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Currently, we configure charger to end the charging cycle when
battery overvoltage is detected. This ends up the charging cycle
prematurely sometimes when charging phase transitions from fast
to taper. Disable this.
Change-Id: I8ac486fcb10e823671a8e8b438b7fc76a8969b7c
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Currently mtp function driver is skipping function
setup call back by not populating function pointer
in function instance. Also, is_ptp flag is set
incorrectly as true for mtp instance which would
pass wrong os descriptor for mtp and ptp instance.
Allow mtp driver to send os descriptor by populating
function pointer in function instance and correctly
set the is_ptp flag to pass valid os descriptors.
Change-Id: Iec05a2f9309aba7d9ff81eca4ce683eff1590699
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Consider recent history (residencies) of the low power modes per
core while the next low power mode to enter is selected. If most
of the history says the pattern of residencies is repeating with
minimal deviation then use the average of these for predicting
the next mode to enter.
If the pattern is not repeating then if more than 50 percent of
the samples out of history have exited a low power mode earlier
than the minumim residency of that mode, restrict it and also low
power modes deeper than that.
In any of the above case, trigger a hrtimer to wakeup cpu with
timeout as predicted+delta or max residency of the mode selected
if a deeper state can be selected after waking up incase if
prediction goes wrong.
Change-Id: I902a06939e19ac51dfd8c2db6b727b203ebfda14
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
DCVS table update is required to take into account new voltage
corners and frequencies in msmcobalt v2.
CRs-Fixed: 1072756
Change-Id: I368778ae96191398333cc53d5700a9331f892236
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
when xhci platform driver is removed with a usb device
connected there is a possibility of race between xhci
platform driver remove context and device disconnect hub
event work context. This results into
use after free: xhci_mem_clean() called from xhci_plat_remove()
freeing the xhci virtual device when a structure member is
being accessed by xhci_alloc_virt_device() after virtual device
allocation as part of connect hub event.
deadlock: Upon device disconnect if stop endpoint command remains
pending xhci_mem_cleanup() frees xhci virtual device which also
frees up endpoint stop_cmd_timer. udev->dev lock is held until
cancelled urb is not given back to class driver. In a different
context xhci platform remove calls usb_disconnect() on children of
root hub which tries to acquire the same udev->dev lock this results
into a dead lock condition.
Fix issues by making sure hub events are flushed before xhci is
stopped.
Change-Id: I86d414bca17464d1dff3346ec668d8b3efec1652
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>