This is snapshot of the llcc_perfmon driver from msm-5.15
'commit 8220ce415efa8 ("driver: llcc_perfmon: Add perfmon filter
changes")'
This LLCC perfmon driver provides Sysfs interfaces for the clients to
monitor the events. Driver support for monitor events from LLCC sub blocks.
Also updated driver to handle opcode & cache alloc filters.
Change-Id: Ic711fdbc774d2da1938feff5c0d7888e5cf8495a
Signed-off-by: Sankaran Nampoothiri <snampoot@codeaurora.org>
Signed-off-by: Avinash Philip <avinashp@codeaurora.org>
Signed-off-by: grandhir <grandhir@codeaurora.org>
Signed-off-by: grandhir <quic_grandhir@quicinc.com>
Snapshot of downstream USB function drivers used on QC platforms. The
drivers are based on msm-5.15. Removed USB BAM support from QDSS, and
removed f_diag driver.
commit 653f27dbeac4 ("usb: gadget: qdss: Redo the dequeuing requests
during channel close").
Change-Id: I31b8878464452047c849134908dd92f55c748cac
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Currently, for precision flash control, switch device's enabled
state is set to true when the brightness is set to 1 and on_timer
is started. However, it can be set to false only when the
brightness is set to 0. For camera flash use cases like turning
on pre-flash/torch immediately following the timed flash event,
this needs to be changed i.e. set the enabled state to false when
the off_timer callback is invoked to disable switch device.
Change-Id: Ib99ef1e93a21645a816555cc44c66957b5d2a43b
Suggested-by: Depeng Shao <quic_depengs@quicinc.com>
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Add IPC logs to qcom_aoss driver for easier debugging.
Change-Id: I6b4fdadf8c47a28e5837b84c497b3fbabd391b81
Signed-off-by: Chris Lew <clew@codeaurora.org>
There may be a chance the incoming interrupt from AOSS may come while
the device is suspended. Add enable_irq_wake() so the interrupt can
be properly handled.
Change-Id: Ib7cac1a7058859e2b7ec6e1f641bdbf8ab95b093
Signed-off-by: Chris Lew <clew@codeaurora.org>
It can be useful to control the different power states of various
parts of hardware for device testing. Add a debugfs node for qmp so
messages can be sent to aoss for debugging and testing purposes.
Change-Id: I8a147461c550e3b3a54ce168ffaf42a086a5c420
Signed-off-by: Chris Lew <clew@codeaurora.org>
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Add IPC logs to track bit state entries. These logs will help detect
issues in remote processor bootup.
Change-Id: I318eaa5cf0b9eacd8fd7be0a14ffffb2d2bc72f6
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Changed smp2p irq devname from "smp2p" to "smp2p_<remote_id>", which
makes the wakeup source distinguishable in irq wakeup prints.
Change-Id: Id18819be3867df5070ad198c75980ea8f502dbe1
Signed-off-by: Tao Zhang <quic_taozhan@quicinc.com>
There is a very tight race where the irq_retrigger function is run
on one cpu and the actual retrigger softirq is running on a second
cpu. When this happens, there may be a chance that the second cpu
will not see the updated irq_pending value from first cpu.
Add a memory barrier to ensure that irq_pending is read correctly.
Change-Id: I3dd185decc4f050bd57c0b6558f417ead2a3aa5a
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Currently, smp2p relies on the hwirq resend feature to retrigger irqs
that were missed because the irq was disabled at the time of receiving
it. The hwirq resend feature will retrigger the parent smp2p interrupt.
In order to keep track of what children needed to be retriggered, the
pending bitmap was added.
After calling handle_nested_irq, smp2p checks if the interrupt is
enabled and sets the pending bit if the interrupt is not enabled. There
is a small window where a client can enable the interrupt between
calling handle_nested_irq and checking if the interrupt is enabled.
If this happens, the interrupt is never called when the parent smp2p
interrupt is retriggered.
Add the irq_retrigger callback so smp2p can know which child interrupts
need to be retriggered. Set the pending bits accordingly.
Change-Id: I774b6ef91e22edbd55ddfffbbb3ae6062d48a560
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
If a smp2p change occurs while a virtual interrupt is disabled, smp2p
should be able to resend that interrupt on enablement.
This functionality requires the CONFIG_HARDIRQS_SW_RESEND to be enabled
to reschedule the interrupts. To ensure the mask and unmask functions
are called during enabled and disable, set the flag to disable lazy
IRQ state handling (IRQ_DISABLE_UNLAZY).
Change-Id: I75c662c61a9705c05278d238ca51f7a2e74806d8
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
This snapshot is taken as of msm-5.10 'commit <accc67e2456d>
("Merge "rpmsg: glink: add print for wakeup from suspend"")'.
Change-Id: Iab134d31762f61d89565031d995996d3721fe9ec
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
The QMI TLV value for strings in a lot of qmi element info structures
account for null terminated strings with MAX_LEN + 1. If a string is
actually MAX_LEN + 1 length, this will cause an out of bounds access
when the NULL character is appended in decoding.
CR-Fixed: 2359244
Change-Id: I4d789bc6017ff58458f77fe875ca4e175a4f1357
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Use correct offset to read RSC_DRV_STATUS during debug.
Change-Id: Ic195871638acd7c0db4fc33a2ed6dd723c11c8e4
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
This reverts commit 3c3f7244f40d7cf47a350ff23761fa0d4d9cd80f.
UCSI partner alternate_mode and usb type information is not needed anymore
for clients like USB redriver as it will be controlled by role switch in
ucsi framework, hence removing it.
Change-Id: I9f697224907edbf35b7ce63bcbf68e0acc4356e7
Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
Add our lazy mapping to the list of first stage modules.
Change-Id: I235a69a9e706e5a48be76a5feb636e08791bb0da
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Add our DMA-BUF heap module to the list of first stage modules.
Change-Id: Ie7aa305bad094c32e83c04ba58b360ccce75a7b6
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Our DMA-BUF heaps depend on having access to mem_section - add it to
the whitelist accordingly.
Change-Id: I5ce793a78c2eeb366ba470881226a458c6e1dca0
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
commit 7938f42181 ("dma-buf-map: Rename to iosys-map") renames all
struct dma_buf_map variables to reflect that the mapping interface is
more generic and can be used outside of the context of DMA-BUFs.
Update the relevant struct names and associated helpers accordingly,
to fix compilation issues.
Change-Id: I2682ebe1846273c84413f3f3bff991f7397c9bcb
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Add the mem-buf modules to the list of first stage modules.
Change-Id: I246070b9708119554511148d3437895d3ec3f90b
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
commit 16b0314aa7 ("dma-buf: move dma-buf symbols into
the DMA_BUF module namespace") requires us to import the DMA-BUF heap
name space into our module, so do this.
Change-Id: I8e3f77edb738b86bce96d350475b19b12f9af733
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Take a snapsnot of the mem-buf driver as of commit 49c19cd9f512
("Merge "defconfig: kalama: Enable cfg80211 and mac80211 as modules"")
on msm-5.15.
Change-Id: I8400bc0e22dc7af2dac34c9d4859e30964e87c90
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
This reverts commit e100ed74953673a4f226941be494fc51292c04d1.
UCSI partner change and connect notifications are not needed for clients
like USB redriver anymore.
Change-Id: I6350f43ad144eae94ccd8cbecc3dabb810086e8b
Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
Add the socinfo driver and its dependencies, smem and qcom_hwspinlock to
the list of vendor modules that get loaded in the first stage of init.
Change-Id: I31f8e72bbae3f83e8c51246db2e378b317ddaea5
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Enable the secure-buffer driver on pineapple.
Change-Id: I87ae498e4ea0cdf65e5e52b2dfe5615711c74e3a
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>