The current implementation always uses rpmh_write_async, which doesn't
wait for completion. That's fine for disable requests since there's no
immediate need for the clocks and they can be disabled in the
background. However, for enable requests we need to ensure the clocks
are actually enabled before returning to the client. Otherwise, clients
can end up accessing their HW before the necessary clocks are enabled,
which can lead to bus errors.
Use the synchronous version of this API (rpmh_write) for enable requests
in the active set to ensure completion.
Completion isn't required for sleep/wake sets, since they don't take
effect until after we enter sleep. All rpmh requests are automatically
flushed prior to entering sleep.
Change-Id: I3d3261159bb30e4e149f4cb6b3e9d60b018a5d5e
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
After commit 3c996ff8858 ("ANDROID: serdev: add platform device
support") landed, we started seeing boot panics on HiKey960/HiKey.
After some debugging I found the patch is passing a serdev_device->dev
pointer to match(), which expects the dev pointer to be
contained in a platform_device structure instead. When it uses
container_of, it ends up miscast and we get bad values.
Alistair suggested this fix which seems to avoid the issue.
Signed-off-by: John Stultz <john.stultz@linaro.org>
Bug: 146517987
Change-Id: I6354aeb4008fff85264a3c848c6c95fb8ca5b07a
Git-commit: 515764a925
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
Add code to update dev value in tsens struct which
will be compared in thermal framework to check whether
the device pointer is matching with thermal zone or not.
Change-Id: Ic7605034e48585bcb25641306c1703b8399b4e0e
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
Linux kernel lockup case can be either due to RSC interrupt
pending at GIC unable to service or due to completion did not
get a chance to run and finish.
Currently rpmh debug only prints pending IRQ status at GIC.
Add completion status as well to rpmh debug information.
Change-Id: Iaee639f744be19c2cffb701547623c19bdabfb30
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add rgmu_init() to load firmware for RGMU
based targets.
Change-Id: I49d250db70b49e220ce4292e12b6cb852686e678
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Update interrupt names to have "flash" prefix so that all the
interrupts for flash LED can be monitored easily.
Change-Id: Ib7c17ea48110461823702c8d11b7554ddebbbb26
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Widgets power up/down sequence in dapm is specific
to platform. Change makes msm specific changes to the
sequence.
Change-Id: I5b501b5dc1b167e339c95fbbc7b5fc72dc9bdb89
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
The command in init.qcom.rc to load CVP firmware will take
effect with this change.
Change-Id: Ib45c77c8f34a12a9c01b462847cf2fc25ae1452d
Signed-off-by: George Shen <sqiao@codeaurora.org>
Due to an error in the specification of the multiple compatible strings
in the match table, nodes defined with compatible string "adc-tm5-iio"
failed to probe. Fix this.
Also change the compilation recipe in the Makefile to prevent generation
of multiple kernel modules.
Change-Id: I6cf544b202dfb0773215aeaeae8a12bae5b79dde
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Codec should be started before the CPU to ensure that there is no data
loss during playback.Current sequence enables the CPU first followed by
codec.This change updates the sequence prevent any playback data loss.
Also, squash the below change to fix possible NULL pointer dereference
issue
ASoC: pcm: Check for capture path in all codec_dais
During soc_pcm_prepare, check for capture path for all
the codec_dais instead of the last codec_dai. This is
will help to set pcm start event for all the codec dais
that has capture_active set to high. Change checks for
all the codec_dais capture_active bit to set start stream
event.
Change-Id: I3f1b457ecd169f6ecc42e15f2151ede9cdbd580d
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
The changes modify the callback registration and dispatch
on a synx object for non-blocking wait.
The userspace callback payloads are maintained in UMD driver
and unique id passed by client is saved in callback entry
to manage the callback. These callbacks are distinguished
with the callbacks registered by kernel clients through the
default callback function registered.
This provides uniform handling (in most cases) for callbacks
registered by userspace and kernel clients.
The change also allows signaling with CANCELLED state.
Change-Id: Ic084374c63c3c09c5deccb404e81da69f1dcb70e
Signed-off-by: Sumukh Hallymysore Ravindra <shallymy@codeaurora.org>
Add the support necessary to allow secure allocations for the
TUI VMID with R/W permissions.
Change-Id: I7486d75b3d9d3f7fa29a8d4972cca671d55b3569
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Add support for assigning memory to the TUI VMID.
Change-Id: Idbd8e144d7251335ba1db5bfdad7fa94394da7e5
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Casting the comparison function to a different type trips indirect call
Control-Flow Integrity (CFI) checking. Remove the additional consts from
cmp_func, and the now unneeded casts.
Change-Id: Ie21cfb8bbc75632e4d96b44cf3f0c3d3331d7fa0
Fixes: 043b3f7 ("lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS")
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>i
Git-commit: 5bc3f3591d783484b2e0011f3b5633c1e60e7585
Git-repo: https://github.com/samitolvanen/linux.git
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
There is already a qcrypto module defined in drivers/crypto/qce so
rename this one to qcrypto-msm to avoid an error while building with
'allmodconfig'.
Change-Id: Ic0dedbadb33e28eccd952c6f9c01c8b8208ad2ec
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
qcedev.c and qcedev_smmu.c are clearly not expected to be compiled
as separate modules so bundle them together as one.
Change-Id: Ic0dedbad96baebac00448edf4cf440d1e0edd41c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Fix an out of order definition of MODULE_DEVICE_TABLE, add missing
brackets to fix a suspect indentation warning and mark an
implcit switch fall through.
Fixes: 377c69bf3e ("crypto: msm: Add QTI crypto drivers")
Change-Id: Ic0dedbada33fd2e5c692e5f0d64fd0e7b7afb5f1
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Fix the following warning from gcc 7.4.1 with -Werror enabled:
drivers/crypto/msm/qce50.c:4668:28: error: ‘~’ on a boolean expression
[-Werror=bool-operation]
pce_dev->cadence_flag = ~pce_dev->cadence_flag;
drivers/crypto/msm/qce50.c:4668:28: note: did you mean to use logical not?.
Fixes: 377c69bf3e ("crypto: msm: Add QTI crypto drivers")
Change-Id: Ic0dedbad73c49d059d68d9412009b74583d33154
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
This reverts commit 5f563b2c24.
FSA config will be enabled after all dependent changes are merged.
Change-Id: I585fd44abe2210b6a9dc572c5dcd1b6ce426b9d8
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Add and modify files to enable hdcp_qseecom driver
for Lahaina.
This implementation is based on a snapshot of the HDCP
QSEECOM module as of this commit c13c06fa4bc677f4
("hdcp_qseecom: Maintain repeater_flag appropriately")
on kernel-4.19.
Change-Id: I91a9d9c539f5ab11af7f427e907622d8391b454f
Signed-off-by: Phanindra Babu Pabba <pabba@codeaurora.org>
Updating the zone watermarks by any means, like extra_free_kbytes,
min_free_kbytes, water_mark_scale_factor, when boost_watermark(zone) is
set can result into the higher water_mark_low|min as the macro
min_wmark_pages returns by adding the zone->watermark_boost.
Set this to Zero early.
Change-Id: I5e3edd1798e46974f3df34ef750f9d08b8ff35f4
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Rely on LMK to reclaim memory and avoid OOM, when out of memory
condition is detected in a pagefault.
pagefault_out_of_memory() may be called due to commit d1b75390beb8 ("mm:
reduce the time spend by killed tasks in alloc path"), which bails out from
alloc_pages_slowpath() if the current task has been killed.
Change-Id: Icfdaa51d7cfb0dfe9a665bcff23357101b15f421
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Enable the reaping of memory on a sigkill by default. This helps in
faster releasing of memory pages to buddy.
Change-Id: I90a508e6d16099527991674f6b4efdc55f415c59
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Enable support for a userspace low memory killer and associated
debug options.
Change-Id: If730f1634e39b516e00b29f86260b720c33706d4
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
If a userspace low memory killer is present, the kernel oom killer
is not expected to be invoked. Therefore, trigger a reset on any
such occurrence.
Change-Id: I7f3451e9c4deb843b3e4dfa13e9764101e90b8ae
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>