Add pcie logs to identify any possible latency in enabling
regulators, clks and icc as part of DRV resume.
Change-Id: I3cb72ce22773f0b6b52c9e704c9ec9a3a1de3d8c
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Currently, the EUD driver performs the check if bootloaders
have already enabled the EUD hardware by doing a logical OR
of EUD_CSR_EUD_EN (non-secure) and EUD_EUD_EN2 (secure), even
if the driver is configured to work in secure mode, which is
incorrect. Hence, check the status of the EUD hardware by only
looking at the respective register for that particular mode.
Change-Id: I9f005557ddb10e304fa5da723b13c1f1108d1a6f
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Change for fixed link speed.
Change-Id: If2584bd534b868171d53b0b880d65cc2eeb74410
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
Similar to commit f683c8dc7f ("ANDROID: kallsyms: strip hashes from
static functions with ThinLTO and CFI"), since LLVM adds a hash to
static function names when CONFIG_THINLTO and CFI are enabled, callers
of kallsyms_lookup_name() which aren't aware of the additional suffix
will fail to find the symbol. One example is kprobes (both compiled
and the dynamic events) which rely on this to resolve the function
name to attach a kprobe/kretprobe to.
Address this by also calling the cleanup_symbol_name() helper from
kallsyms_lookup_name() when failing to match a symbol by name.
This will strip off the hash suffix, if any, and attempt the
strcmp() again.
Bug: 167595670
Change-Id: I4c79c818c29b4b82a94a5a7e86ae9783a41e853d
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Consider a case where copy_from_iter_full fails and it
leads the driver to free the buffer which is allocated
for io_data but in ffs_free_buffer function, driver checks
for io_data->buf, which is NULL in this case, and it returns
without freeing the buffer causing memory leak. Fix this by
assigning data to io_data->buf right after memory allocation
for io_data is successful.
Change-Id: I20719fdeed603b74fe05215ec057d4cc22379ab2
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
Use the property INPUT_CURRENT_LIMIT to suspend and un-suspend
USB and DC paths.
Change-Id: Id0636e7c792c63156597d5db4e9087bd5fdc262f
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
WLAN MAC address can be provisioned using NV memory based setup.
DMS QMI server connection is required to retrieve this MAC address.
Thus setup DMS QMI client in cnss platform driver and send this
MAC address for WLAN FW before mission mode enable.
Change-Id: I4dac4c589910a34952b0f63fd4394f5dd02315b8
Signed-off-by: Sandeep Singh <sandsing@codeaurora.org>
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
This enables the detection of VBUS going high or low on sdxlemur
platforms where USB peripheral uses VBUS_DET peripheral from PMX65.
Change-Id: I0a30944de02403ed7b777380c3e75708f033a5bc
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
This upgrades some types from declaration-only tracking to full type
tracking, but creates this one-time churn.
Bug: 158736583
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I39f778d7660fb4065eec2ecb6dd1ed47816e25b6
Add hotplug cooling device. This cooling device can be used in thermal
condition after core isolation is triggered. This will help any process
from triggering a isolated core.
Change-Id: I4e77a85d12951c839b513eb9a05462fcdf1ce6e2
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Add support for sdxlemur CPU clock driver for
controlling cpu clocks.
Change-Id: I02325424dabfe96f7357844cb69a368fc04afba9
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
Add support for and enable and disable ops for regmap_mux_div clk, also
support for safe source for regmap_mux_div clock to park the clk to safe
source while disabling and restore to active rate when clk is enabled.
Change-Id: Ida765ec1853c2bdd17b6fce3e8012e294f4324fe
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
Add support for "parallel" power supply which is not present in 5.4
kernel through IIO device and properties under it through IIO channels
under the IIO device.
Change-Id: I2f7fe8d96080ea927f1349a6742cd4e0a6ffc290
Signed-off-by: Shyam Kumar Thella <sthella@codeaurora.org>
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
Get IIO failure may occur due to parallel charger's iio-channel
names conflicting with main-charger/qg channels. Fix this by adding
"pl_" prefix for all parallel charger's iio-channels name.
Change-Id: I20cb8f984b38d7053890380ea024a2ef15cf5789
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
If the current partition type is RPMB, clock switching may not
work properly. In this case, clk scaling up would be skipped but
clk_scaling->target_freq has been changed and then discard sub-
sequent clk scaling up requests till meet scaling down. Changing
judgement condition clk_scaling->target_freq == *freq to clk_scaling
->curr_freq == *freq in mmc_devfreq_set_target to avoid this issue.
Change-Id: Id0636e7c792c63156597d5db4e9087bd5fdc2621
Signed-off-by: Ziqi Chen <ziqichen@codeaurora.org>
The pm8008 regulator is connected over I2C and the I2C device configures
its clocks in runtime_resume and runtime_suspend. These callbacks are
triggered from the pm8008 driver's regmap calls. This means regulator
framework requests for pm8008 call into the clock framework with the
regulator framework locks held. The qcom clock providers also call into
the regulator framework with the clock framework locks held. If thread A
makes a pm8008 request at the same time thread B makes a clock request,
then it can result in deadlocks. Thread A will be stuck waiting on the
clock locks while thread B is stuck waiting on the regulator locks.
To prevent these deadlocks, enable the I2C clocks required for pm8008 by
default during probe and stop registering them with the framework. This
NOPs any client requests, since of_clk_get() returns NULL when passed an
unregistered clock and all other clock APIs return success before
grabbing any locks when passed NULL.
Change-Id: I3180f022b8ea913b4cd99b85260e72a7fa1b0693
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
No one is using HH_RM_MEM_NOTIFY_[OWNER/RECIPIENT]. Remove them.
Change-Id: I2ee4db2e9340fc291148f885a5098dea52b4ec0b
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Currently IRQ APIs are combined with notifications to VMs for sharing the
handles. This limit the clients for managing the error handling from the
drivers. Hence separate the notifications from the actual APIs so that
clients manage the error handling better. Add support for notifications
like IRQ_LEND/ACCEPT/RELEASE from SVM to PVM when SVM accept the irq
handle shared by PVM.
Change-Id: I49999c2d9494c68b1542680e521c012a25e3f6a8
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
For firmware and RDDM images, notify MHI driver not to free them after
successful allocation. This can help avoid future memory allocation
failure.
Change-Id: Ic19d42c6d56707200099969e36da91f4afed0163
Signed-off-by: Yue Ma <yuem@codeaurora.org>
As a part of sync-state callback feature introduced in 5.4, clocks
which are enabled by default with the hold-state mechanism during
bootloader will be automatically disabled when the clock provider’s
i.e gcc sync-state callback triggers. So clocks enabled from boot
will be cleaned up in sync-state call back.
The sync-state callback is triggered when all consumers of a given
supplier(gcc here) have successfully probed. In current implementation,
in emmc based bootdevice, we return UFS platform driver probe failure
with reason as ENODEV which will cause the GCC sync-state callback not
getting fired and hence leaving the ufs clocks in enabled state.
So for the gcc sync state to be successful so as to remove proxy vote
for all gcc consumer ,we must not bail out and let UFS platform
driver probes successfully. Later as a part of async scan, when
UFS device detection and initialisation fails, we can turn off
power/clocks as a part of hba exit.
Change-Id: Icfcc8ceb76399f6e37454d356a5f9767f30dd4b3
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
This allows controller to keep the memory allocated for bhi
vector table for rddm and fbc images. Memory remains allocated
after controller powers down. Add a controller flag to make the
decision for memory allocation.
Change-Id: Ic8aee54ae57f5f9351158b18cd96faf7eeb81429
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>