Enable LPM and SoC sleep stats drivers for gen3auto.
Change-Id: I7dd08d1044054d5b330d149aa1f26f13d9d7b9bf
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
When stop command comes during FIFO refill, it would free custom_effect
FIFO sample memory and set the pointer to NULL, and this would cause
the NULL pointer dereference during FIFO refill. To fix this, add a
mutex lock between FIFO stop and FIFO refill sequence to avoid a race.
Change-Id: I8792c2183f06e84fca3a7c4dddfed667b25f2528
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Add the PMIC clocks required to be requested from clients via RPMH clock
driver.
Change-Id: I75b02fd3283ea0c459c6e28f06cfb45f04ece214
Signed-off-by: Taniya Das <tdas@codeaurora.org>
With GPIO, UART and others, allow specifying the device index via the
aliases node in the device tree.
On embedded devices, there is often a combination of removable (e.g.
SD card) and non-removable MMC devices (e.g. eMMC).
Therefore the index might change depending on
* host of removable device
* removable card present or not
This makes it difficult to hardcode the root device, if it is on the
non-removable device. E.g. if SD card is present eMMC will be mmcblk1,
if SD card is not present at boot, eMMC will be mmcblk0.
Alternative solutions like PARTUUIDs do not cover the case where multiple
mmcblk devices contain the same image. This is a common issue on devices
that can boot both from eMMC (for regular boot) and SD cards (as a
temporary boot medium for development). When a firmware image is
installed to eMMC after a test boot via SD card, there will be no
reliable way to refer to a specific device using (PART)UUIDs oder
LABELs.
The demand for this feature has led to multiple attempts to implement
it, dating back at least to 2012 (see
https://www.spinics.net/lists/linux-mmc/msg26586.html for a previous
discussion from 2014).
All indices defined in the aliases node will be reserved for use by the
respective MMC device, moving the indices of devices that don't have an
alias up into the non-reserved range. If the aliases node is not found,
the driver will act as before.
This is a rebased and cleaned up version of
https://www.spinics.net/lists/linux-mmc/msg26588.html .
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
Git-commit: fa2d0aa96941e8dc347e49a04c75468e3002ee20_
Change-Id: I88c11705c8b66022e67b38a64bbc91625357a4bc
Based-on-patch-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lkml.org/lkml/2020/8/5/194
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
The PON_HLOS module does not have the PON_DEBOUNCE_CTL register
to read the debounce delay configured for KPDPWR debounce.
This register is present in PON_PBS peripheral. Due to this the
software debounce control logic does not work as expected. To fix
this add support to read the PON_PBS peripheral from PON_HLOS
module by adding PON_PBS register as a second SPMI register base
in device tree node.
Change-Id: I15737a3dc6e8c99cd21531685c41ec1b2752b2ef
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Some remote edge initial rx channel state is set to CLOSING, in this
scenario, allow creation of smd device for this edge.
Change-Id: I5937b8f2451630c9ecbe8627ab8817a4ce00e673
Signed-off-by: Suresh Kumar Allam <allamsuresh@codeaurora.org>
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Increment NR_ISOLATED_ANON when isolate a page so that the same is
decremented when the page migration is successful or when adding pages
back to the lru.
Change-Id: I6879c0029342560496b79d649a77283c767ab08e
Fixes: aa3fa08df4 ("mem-offline: improve the effective utilization of movable zone")
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Value of sensor->calib_data_len could be changed between
the reads causing potential heap buffer overflow.
When a 0 length is passed to kzalloc, non-NULL pointer
is returned, but this pointer is invalid.
Change-Id: Ie6ed76f63f7a433728e2292222ba9716c3a02635
Signed-off-by: rbandi <rohitbandi@codeaurora.org>
Return the captured value during TX and RX config from API
dmaengine_slave_config().
Also For LE VM case, do not touch resources like clocks, ICB vote,
GPIO etc. LE VM doesn't need resources to be controlled in TVM for
now till we have SOC infra support.
Change-Id: Iaa74b1b12a53da5764b1766188075349f3c42db8
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Memlat and compute governors are made immutable to avoid governor
switch at run time as the devices using these governors are tightly
coupled with hardware features. These governors allocate pmu counters
to count various events used in the algorithm. These counters are
allocated exclusively for algorithm's use.
This leaves limited counters available for other uses in the system
such as profiling in user space using perf tool. Add and export a
function in devfreq memlat governor to remove immutable flag to allow
governor switch, which in turn can free pmu counters.
Similarly add and export a function in rimps_memlat driver to
free pmu counters.
The intended use of these functions is to be called by test modules
to allow freeing of pmu counters at runtime.
Change-Id: I243a3201368d5a82aeaf820e775cdc1aecdfea07
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
Discard character printing in ipc log buf when get_next_logbuf()
returns count value less than the size argument.
Change-Id: I0ba388400c76c16da423a2ccb67d961ed31e87b4
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
set_event will return NULL if event_id is not valid, the
caller is proceeding further without proper check for NULL.
Update pmu event setup function to check pevent for NULL.
From the RIMPS perspective, pmu counter IDs 0 and 1 correspond
to 64bit cycle counter with ID 0 representing low 32 bit and
ID 1 representing high 32bit, while the counter IDs from 2 to 7
correspond to remaining PMUs. At the time of storing pmu counter
values to RIMPS shared memory, the function store_event_val()
stores both low and high 32bit values of cycle counter when ID 0 is
passed as argument to pmu index, hence no need to handle ID 1
separately. Update logic accordingly to drop check for ID 1.
Change-Id: Idd345c825572710753f18306f565043347921216
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
Remove parallel support for smb1351, as it is not
required for sdxnightjar.
Change-Id: I4b6b39fed9871559a4d8a200b1de9fb8784ead5e
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
Update master and slave ID constants for all Qualcomm Technologies, Inc.
Yupik interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
Change-Id: I0deffed7d8c08d5921cd54b396fa7daad673550e
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Commit 3bb697514e ("usb: dwc3: Add support for nominal
elastic buffer") breaks working of current 5.4 kernel
based targets by clearing elastic buffer which is not
expected. Hence revert the change.
Change-Id: I3a492289eea1cb728c2e16ea1b991862d2219bbe
Signed-off-by: Rohith Kollalsi <rkollals@codeaurora.org>
Add CMA region to minidump entry during region
region create. Remove the entry when region is
unmapped.
Change-Id: I9b56b0a7a31347087e17702c50620a3f23f973fc
Acked-by: Ekansh Gupta <ekangupt@qti.qualcomm.com>
Signed-off-by: Jeya R <jeyr@codeaurora.org>