Add support for trend estimation callback. Since BCL soc update is
happening in software worker thread and soc stays longer duration in
same state compared to thermal sensor. It leads to a case where before
handling thermal zone update completely on threshold update, there is
a chance that another thermal zone update context can happen in
parallel due to userspace clients update or due to polling thread
context. This causes the trend stays stable for longer duration.
This will not help in mitigating using step wise algorithm.
Adding this trend estimation callback will return a raising
trend during bcl soc trip high violation, a dropping trend during
trip low vilation and fallback to default core trend estimation for
otherwise. This will help step wise algorithm to determine the
next mitigation actions.
Change-Id: Ib59eadbb497cf5775bda4888e0d93b3378d46798
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Whenever a thermal zone is in trip violated state, there is a chance
that the same thermal zone mode can be disabled either via
thermal core API or via thermal zone sysfs. But thermal core doesn't
guarantee that it will clear all mitigation on disabling thermal zone.
Monitor thermal zone mode_change callback in different sensor drivers
and add support to clear all mitigation on thermal zone disablement.
Change-Id: I82720be5b1b9016d218f9a1c39315da794a2a330
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
This is a snapshot of the thermal framework from msm-5.10 as of
commit f5a9cf8e4b17 ("drivers: qmi_sensor: Re-configure qmi sensor
trip on subsystem restart").
Updates:
- Change GPL v2 license to GPL
Change-Id: If2681995379274a5d9d641d0dce2b4f9ec07edb6
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Signed-off-by: Rashid Zafar <quic_rzafar@quicinc.com>
Add a snapshot of policy engine driver from msm-5.10 as of commit
2883589c93f8 ("drivers: thermal: pe_sensor: Add support for trend
estimation").
Updates:
- Change GPL v2 license to GPL
Change-Id: I403d7e26fb31d882c493071ed9826b4861ec87cd
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Signed-off-by: Rashid Zafar <quic_rzafar@quicinc.com>
The tsens driver caches last read temperature during tsens interrupt
violation and notifies framework so that framework will use this
cached temperature value instead of new register read. This cached
temperature variable will be reset once set trip API gets called for
the same sensor. But some reason if set trip API is not called for
the same sensor during notification, this cached temperature variable
won't reset. It leads to a case where if next tsens violation happens
for same sensor, interrupt handler will read this temperature and
re-arm previous threshold without notifying thermal framework. It can
cause spurious interrupt scenario for tsens.
Reset cached temperature value just after thermal framework
notification in tsens irq handler.
Change-Id: I9707bf5fd245df404122f137b586e4a286be2eee
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Cache the trip temperature for the thermal framework to read. Once the
trip occurs the temperature at which the trip or trip clear is cached
till the thermal framework sets a new trip value. This will ensure that
the thermal framework will read the exact temperature as the driver and
it cannot go out of sync.
Change-Id: Ie44ee0e1e7e4acf3a08f47f1204e6d2ab1a8100f
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Add ipc logging support to tsens driver. It enables two separate ipc
logging circular buffer for tsens. The first one dumps different
temperature sensor read value whenever there is a read request.
The second one dumps different sensor thresholds, interrupt status etc.
whenever there is tsens interrupt trigger or set trip call from
thermal framework.
Change-Id: Ib7964571547c222838b1fa45a19b3bdb7b837116
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Add remote debugger device configuration. The Remote Debugger driver
allows a debugger running on a host PC to communicate with a remote
stub running on peripheral subsystems.
Change-Id: Ib3faed59b8f54213341aa52248e33091fffea061
Signed-off-by: Devender Kaushik <quic_dkaushik@quicinc.com>
These changes enable IPCC_COMPUTE_L0 signals and
broadcast client. These will be used by the new IPCLite
communication protocol to communicate with
remote subsystems over compute_l0 interrupt line.
Change-Id: I7aac6f121c53136b8cc19f1d1e166ccc2d59caee
Signed-off-by: smaniar <smaniar@codeaurora.org>
Log qrtr rx packet in kernel logs which caused system wakeup.
This will help to easily identify wakeup packet.
The qrtr module is required to be in first stage init to support
the creation of qrtr sockets. The transport layers are often in second
stage init. The current wakeup prints depend on some information from
the second stage init. Rework the logic so the dependency is only
between the qrtr transport and transport drivers.
Change-Id: I4a6a35dd4d5449a671464c00f90712a79d6044fe
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Add tmecom, hwkm and ice-crypto drivers for pineapple.
These are mainly used for supporting storage encryption
using HWKM (residing in TME).
Change-Id: I38c97654a643f8545bd56aa559ccba588aabbb90
Signed-off-by: Smita Ghosh <quic_smitag@quicinc.com>
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Enable the USB GSI driver to support tethering interfaces, such as RNDIS
and RmNET.
Change-Id: I0273e97f7656e1cca4a353b55e7254053352b2b9
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Add symbols being used by the USB f_gsi function driver.
Change-Id: I5102ae04665e5eca291855f05157159c3e37d313
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
The IPA framework will be moved outside of the kernel tree, which USB GSI
was referencing. In order to call USB IPA operations, the IPA module will
call an exported ready callback from the USB GSI driver, and pass along the
function pointers for the IPA ops.
Add the ready callback API, and modify pre-existing IPA ops to reference
the function pointers received from the IPA module.
Change-Id: I8e766548fa76ee4d838d113bb5b61577b99c90dd
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Kleaf replaces build.sh. Define pineapple target in Bazel
so it may be built with the following command:
tools/bazel run //msm-kernel:pineapple_gki
Change-Id: If78ea5482898f92b751cad8542401ba12d9663bf
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
The Remote Debugger driver allows a debugger running
on a host PC to communicate with a remotestub running
on peripheral subsystems.
This snapshot was taken as of msm-5.15 'commit 095d029b5af0
("msm: rdbg: return correct error codes")'.
Change-Id: I4d0fb93fcb4fd0d7ffec8e900e4fd047f4579b5b
Signed-off-by: Devender Kaushik <quic_dkaushik@quicinc.com>
Currently ufs phy driver is voting for .8V as min range for
phy regulator but spec says it should be .88V
Update phy min phy voltage limit per spec.
Change-Id: Ib1ce7830ec91ef388030ffc3358b26ae4ae6cea2
Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Add support to trigger the gpio when config the trigin and trigout.
Change-Id: I85813c091c9d6d389192827f51acf48f0189cec1
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
Wakeup enable bit controls the interrupt routing to parent PDC irqchip.
These gets set during interrupt allocation for the GPIOs which are used
as interrupt or via firmware.
However sometimes clients may want to set it without requesting interrupt
line for it. This was done via msm_gpio_mpm_wake_set() API.
On newer targets the bit position for wakeup enable bit is changed to
interrupt config register. Modify msm_gpio_mpm_wake_set() accordingly.
Change-Id: I7441595b49e35181831b1015a41b054b435e07a9
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>