The offline_delay_ms tunable is supposed to give hysteresis
effect by delaying the CPU isolation. The current implementation
is not enforcing this correctly due to which we see a CPU is
getting isolated immediately in the next evaluation cycle.
Allow isolating a CPU only if offline_delay_ms is passed
after since the last time we isolated/unisolated/evaluated
without changing the need CPUs.
Change-Id: I9681a11dea1ffa07b2fda6cc9a40af9b453bf553
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Set the device node associated with the session while creating
the context to allow for dma operations.
Change-Id: I7937a7bd533a9be09453144e20f7ecca3f3cc0ef
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Slope limit coefficient is used to define the maximum change in
battery SOC. There is a requirement to configure slope limit
coefficient based on charging status and battery temperature
threshold. Add support for it through the following properties.
- qcom,slope-limit-temp-threshold
- qcom,slope-limit-coeffs
Possibe values allowed for slope limit coefficient is 0 to 31.
Change-Id: I41eacb13734f1692a16c1b011c58a488e46515ec
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Ensure that a few of the parameters (SELECTED_PDO, REQUESTED_PDO,
RDO) are properly cleared out during hard reset and a uevent
update is sent to notify userspace clients.
Also, don't reset src_cap_id upon disconnect. This makes it a
a monotonically increasing value upon every connection so that
clients can distinguish when a new PD session is established.
Demote it to a u16 in order to have a smaller wraparound (65535).
Change-Id: I622ad1155b3680d3f616d5e9a835d4c6cbca3636
Signed-off-by: Jack Pham <jackp@codeaurora.org>
When sending a request through the 'select_pdo' sysfs file,
make sure the request has gone through and is acknowledged
by the source before returning. This allows for checking if
the request was rejected so that an error can be returned.
Rename the 'swap_complete' completion variable to 'is_ready'
so it can be reused in this context. Also add a mutex so that
select_pdo will not contend with a dual_role swap.
Change-Id: Ie8b088faa15c67915e3bd96972b4f59f0cc66afe
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Currently when 3 switcher_power_ok interrupts are seen within a
second, the driver thinks that the switcher is reverse boosting
and suspends USB input path.
However, switcher_power_ok could happen 3 times within a second
while AICL is run from a charger collapse, a valid usecase which
ends up in an USB suspended state.
Note that AICL run caused switcher_power_ok is accompanied by an
USBIN_UV interrupt. Use that to distinguish reverse boost Vs AICL
runs. In particular, reset the switcher_power_ok interrupt count
updated by storm_watch when an USBIN_UV interrupt is seen.
Change-Id: I6817c66319f9af03ac28324a8d863876fdadafb3
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Since the interrupt information for both smb2 and smb138x charger
devices are almost common, abstract it to a single smb_irq_info
struct. Also, keep an interrupt index for every interrupt which
can be used when necessary.
Change-Id: I4e42dd15a46b59c1a9c27412ca6fdff281fa71ec
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
There are some circumstances where we have to reset the storm
watch interrupt count. Add support for it.
Change-Id: Iacbeb3258d53010aab8ba881d10de773fe54dd93
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
IPC logging long mechanism was added to capture reset logic
register access log to be captured into a separate buffer so that
those logs wont obscure with main driver logs. Now that reset
sequence is moved to WLAN FW so there is no need for the IPC
logging mechanism.
CRs-fixed: 2005481
Change-Id: I1d983a5f5aa0293598303bda23f9adbc04303458
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
To force qnovo FCC and FV through parallel framework
more conveniently, batt psy is bridged to replace votable
in qnovo driver. The two properties are -
POWER_SUPPLY_PROP_CURRENT_QNOVO and
POWER_SUPPLY_PROP_VOLTAGE_QNOVO.
CRs-Fixed: 2004173
Change-Id: I40b179fe5535e0209fcdbc1cb7e64cbfdf45a14b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
CURRENT_QNOVO and VOLTAGE_QNOVO allow "forcing" fast charge
current and float voltage value, implemented around votable
such that one can have previlige in FCC and FV voting.
CRs-Fixed: 2004173
Change-Id: I2df30220aa89e15c4bace9980990f227218a5bdd
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Print the ICL settled value within the icl-changed IRQ handler.
Change-Id: I5553abecfc5e32b24bef3525f532f4b3505c0757
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Currently, fixed 5V adapter voltage is used for calculating slave FCC.
When HVDCP 3.0 is used it skews the desired FCC distribution. Fix this
by using the HVDCP3 pulse count to determine the actual adapter voltage
when limiting the slave battery current.
Change-Id: Ib4735ffe7b6287a3e57e0f74eb24c13c6a2b7a5a
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
INPUT_VOLTAGE_SETTLED is the negotiated adapter voltage setting.
Change-Id: I2ac529a77e8ed007c908c4f37eea718a80bc11d3
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
The chg-state-change IRQ will be used to notify when the parallel slave
charger changes its charge state. Enable it.
Change-Id: Ia57db8ec5f2263b62217c235725ee9caa07f86e4
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Add an IRQ handler function that notifies when the slave charge state
changes.
Change-Id: I359ed08c5ad289ceeabd6fa8720a959c74b6bb5e
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
CURRENT_QNOVO - force fast charge current value
VOLTAGE_QNOVO - force float voltage value
CRs-Fixed: 2004173
Change-Id: I7569052fd2cb6d1ce9a3a8e69e79b950a6c62d57
Signed-off-by: Harry Yang <harryy@codeaurora.org>
FCC_MAX votable was introduced as an intermediate votable used by
Qnovo driver for fast charge current vote, but does not fit in
the new requirement that Qnovo force its vote value.
Remove it.
CRs-Fixed: 2004173
Change-Id: Iff8b74113550f808546d61ef864f3935fc5d61fa
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Input suspend on fake battery feature is by default enabled in the
software, add a DT property to enable/disable the feature.
Change-Id: I06bda6c72010699f4be24ff6044fe3bb248b06fb
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Harry Yang <harryy@codeaurora.org>
As per the hardware recommendation, a delay of 500 us is needed
after LMH mitigation is enabled by software and before the flash
LED is strobed. Add it.
Change-Id: Ib70efbb7267510ffb9d95c4aba8566bf6e777c0f
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Incorrect checks in MHI drivers may crash the system.
Fix these checks so that MHI drivers will handle the
errors gracefully.
Change-Id: I462263799c2e76573300ed43b51e39ecba42914b
Signed-off-by: Tony Truong <truong@codeaurora.org>
Kernel address is relocated to the VMALLOC region. Update the check
to use KIMAGE_VADDR.
Change-Id: Ie2539a78a8180a3dbc2c8075a891e99892d809f2
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
On pipe setup, enable data path should happen for after
all pipe resources are allocated.
This change prevents a race condition where the pipe is enabled
before RX buffers are submitted to IPA.
Then, when buffers are submitted to IPA there is a race between
submitting the buffers and getting RX packets.
CRs-Fixed: 1096357
Change-Id: Ic32924b6893bb8c7813b1b8e68e03b5e09560b69
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Enable QCOM_EL2_TLB_HANDLER so that tlb conflict is handled
by EL2.
Change-Id: I8af8be929293e5419d58712d742cb62fb82f8897
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Raise exception to EL2 for every EL1 sync data aborts,
so that EL2 handles the TLB conflicts.
Change-Id: Ib140599e23c399b23c12ddbeb59979d6caf5d38e
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
HL1.0 wmi type configuration is overlapped with wmi
TLV type configuration.
converge TLV and HL1.0 params and API to remove
redundant code.
Change-Id: Ia41b300ca810495acfdab9f014f59d8cfa839ae3
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Clock trace events related to msm clock framework are
not required to be part of available events other that
CLK_MSM config so add the support for the same by
adding a config check.
Change-Id: I93e8d9604a58c0cb48be723d5845591e7a4b7861
Signed-off-by: Amit Nischal <anischal@codeaurora.org>