Call perf_event_read_local() to update current counter value
in hw_perf_event structure before saving PMU snapshot to
shared memory.
Change-Id: Id5945cd6b6c9fab6f87917224b5b5f54dca5ef9c
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
In the case where the SW reset requires an additional ACD block reset or
misc reset, the support is added for the same.
Change-Id: I29b69f2a4ccc33a896ec8e201cbe761cca6800ea
Signed-off-by: Taniya Das <tdas@codeaurora.org>
When HDMI cable was pluged in/out, it could trigger an irq,
MSM can get HPD status from LT9611, and report the HPD status
using kernel uevent to userspace.
Change-Id: I47c148d92e877a80147ee81498513ead0e4afcf0
Signed-off-by: Wenjun Zhang <wjzhan@codeaurora.org>
During multiple adb reboots test case, adbd is taking time to start
and write the descriptors from the userspace. If adb is their in the
composition and its not ready when bind happens, UDC bind for ffs will
fail and adding the function back to the func_list in failure path and
calling purge_configs_funcs.
In purge_func adb driver unbind the functions from config->functions list
and add back to the tail of the func_list. With this order of the functions
in func_list got changed and next time when bind happens from adbd start
usb does not working.
Fix this issue by changing the order of the functions while adding the
functions back to the list in purge_configs_funcs.
Change-Id: I50c2362062130836d66edfcf8e1f020134248cb4
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Checking IPC log handle during usage rather than after creation.
This is because IPC logging is not available with boot image of
of GKI.
Change-Id: I81f4d5910bf721fd94f5858a2b7aba675a7be931
Signed-off-by: Karthik Poosa <kpoosa2@codeaurora.org>
SW trigger for PBS to configure ISC in LRA detection doesn't need to
pass any parameter or wait on any condition including checking status.
Hence switch using qpnp_pbs_trigger_single_event() instead of
qpnp_pbs_trigger_event() to trigger PBS.
Change-Id: I8b252e293265994976924435f8a6a11d9b463119
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
A simple PBS can be triggered by SW writing to SW_TRIGGER (bit 7) in
TRIG_CTL register without passing any parameters through SCRATCH1
register and not waiting on any condition. Also, this simple PBS is more
like a fire and forget and doesn't even need to check on the status
through SCRATCH2 register. Add support for this simple PBS through an
API qpnp_pbs_trigger_single_event().
Change-Id: I8a6448f9be8f84269c6ba5672bead01a152185ad
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
In scenario where GMU request firmware succeeded but preallocation
failed, a6xx_gmu_load_firmware returns error but during next open
call it return success only based on whether request_firmware was
successful or not. This results in issue during GMU start while
copying firmware to respective GMU memory blocks as some of the
memory blocks were not allocated.
Update the check in a6xx_gmu_load_firmware to ensure only request
firmware is skipped if it passed earlier.
Change-Id: I92920215aa9f47726c4470968ca804e1cee13468
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Signed-off-by: Pranav Patel <pranavp@codeaurora.org>
Add support to read an ONFI parameter page from the device on
QPIC 2.0 controllers.
Change-Id: I30e8696c17733dc745c6857c0dcb436764f229e2
Signed-off-by: Pradeep P V K <ppvk@codeaurora.org>
Consider the following dump stack :
do_raw_spin_lock+0xf0
_raw_spin_lock_irqsave+0x80
mmc_request_done+0x48
sdhci_irq+0x954
__handle_irq_event_percpu+0x9c
handle_irq_event+0x60
handle_fasteoi_irq+0x140
__handle_domain_irq+0xc0
gic_handle_irq+0xcc
el1_irq+0x108
ktime_get+0xc0
mmc_cqe_clk_scaling_stop_busy+0x58
mmc_blk_cqe_complete_rq+0x138
mmc_blk_mq_complete+0x24
blk_done_softirq+0xe0
Here mmc_cqe_clk_scaling_stop_busy is being called from the soft irq
context and it acquires the clock_scaling lock.
Before it could unlock, a H/W irq gets triggered on the same core which
switches the context and starts execution but since lock is already held
in the softirq context, irq context ends up waiting for the same lock,
leading to a deadlock.
Use spin_lock_irqsave to avoid above explained deadlock.
Change-Id: I7684f4e349648414038cd6601cca58ac11b9409b
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
This change enables Incremental FS as module for holi.
Change-Id: Ie18a8877ed601197312adc3b6782d0b0e1f663d8
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
There is a race between soc wake release in event queue
and soc wake request called from driver. Due to which
ref count is not updated properly and results in number
of soc wake release send to FW is more than number of
soc wake request. Fix it by atomically incrementing
ref count.
Change-Id: I1e134af8a1170d804aeaea53ea6bd288bbcb42b8
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
Do not reserve TCS iomemory, Access TCS register
and remap it using devm_ioremap.
Change-Id: I21fef89af38ec3a5ad110947c1a5adf590c4f2d6
Signed-off-by: Mahesh Kumar Sharma <smahesh@codeaurora.org>
* refs/heads/tmp-e17d9fc:
ANDROID: GKI: Enable CONFIG_X86_X2APIC
ANDROID: GKI: update xiaomi symbol list
ANDROID: GKI: fix ABI breakage in module.h
UPSTREAM: modules: inherit TAINT_PROPRIETARY_MODULE
UPSTREAM: modules: return licensing information from find_symbol
UPSTREAM: modules: rename the licence field in struct symsearch to license
UPSTREAM: modules: unexport __module_address
UPSTREAM: modules: unexport __module_text_address
UPSTREAM: modules: mark each_symbol_section static
UPSTREAM: modules: mark find_symbol static
UPSTREAM: modules: mark ref_module static
ANDROID: GKI: Update abi_gki_aarch64_exynos
ANDROID: ABI: update allowed list for QCOM
UPSTREAM: binder: fix UAF when releasing todo list
Change-Id: I6db85b4587d3b60f386c58fd6b1589746e9281c5
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>