| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
* Needed to recognize the correct hardware wlan mac address
* Slightly cleaned indentation
Change-Id: Ic4db07c33b7de9cf2a8ca010a5d3d87427cf9b61
|
| |
|
|
|
|
|
|
| |
Add ipc router sdio plugin config in Makefile and Kconfig
to enable it for compilation.
Change-Id: If3bc8e812240bd86f2ef3bc63452edcdf69deac6
Signed-off-by: Amandeep Singh <amansing@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add QMI client driver for Modem File System External(MFSE)
service. The service provides limited file system commands that
an off-chip client can invoke, such as setting and getting the
current EFS sync timer value.
Once MFSE service is registered, use the following commands:
To get current timer value:
cat /sys/class/mfse_qmi_clnt/sync_timer/value
To set current timer value:
echo <time> > /sys/class/mfse_qmi_clnt/sync_timer/value
Change-Id: I379c7050169f57e3bfaee6f6353ad1cbac6f5276
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Early domain in LK runs in parallel with kernel
with some memory and cpu core(s) reserved for it.
LK updates the status of early services on a shared
memory location. In Kernel, this driver provides
new APIs to check any early service's status and to
communicate with them. It hot adds the reserved
cpu(s) and frees lk text once all early services end.
Change-Id: I0b29b1886abea3280543d76492044c8946d7690e
Signed-off-by: Vivek Kumar <vivekuma@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Smp2p test code is used internally to test the
functionality of drivers and has no real use case
in end product.
Change-Id: I7a50c077bb71068188b5411424c5782b3d0edbb7
Signed-off-by: Hardik Arya <harya@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Partial Array Self-Refresh driver is used to interface
with rpm to vote/unvote on memory self-refresh from HLOS.
Driver listens to memory hotplug notifications and decides
to vote or unvote depending on memory online and offline.
This vote is considered by RPM to avoid self-refresh on
offlined DDR segments. And hence a reduce in power consumption.
Change-Id: Ida2b36d671c6379dc3c07258a95cf15ae07a4bc0
Signed-off-by: Arun KS <arunks@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
The guest VM uses this driver to communicate subsystem state related
notifications to a backend driver via the virtual device's registers.
Change-Id: I612fcb641c4d531c1d2c0fd18f44f7ebff040f2c
Signed-off-by: Anant Goel <anantg@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Add support to route QDSS data received from MDM via MHI
to USB. The driver will help route diag traffic over the
QDSS sub-system to USB on APPS side. It acts as a bridge
between PCIE MHI and USB interface.
Change-Id: I98bea976638ce3f80785d8f40e2a936fc62397eb
Signed-off-by: Satyajit Desai <sadesai@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new driver is meant to be a cross-platform abstraction
layer for utilizing the underlying hypervisor system.
This API can be accessed from both user and kernel sides.
The intended users of this are the multimedia drivers who want
to communicate with the host OS to use the multimedia hardware.
Conflicts:
drivers/soc/qcom/Kconfig
drivers/soc/qcom/Makefile
include/uapi/linux/Kbuild
Change-Id: I37743df490d14249a9d378225771367750899eb0
Signed-off-by: Edward Lee <eleekimk@codeaurora.org>
Signed-off-by: Yimin Peng <yiminp@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
This is an implementation of para-virtualized SCM driver.
This driver is the FE. The BE is QCPE running in an hypervisor.
The FE driver forwards SCM calls over HAB to the BE.
Change-Id: I88c269e856b0a6cc20b9ab8bf10110842d90a382
Signed-off-by: Amit Blay <ablay@codeaurora.org>
|
| |\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi
drivers/gpu/drm/msm/Makefile
Change-Id: Ief80c28ff1422fd71a0c3d2041531e2ab078ee7a
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add instrumentation for boot time measurement
Change-Id: I08fe4f23a7f95f765f28f57790e7102f4751b442
CRs-Fixed: 1000799
Signed-off-by: Atul Raut <araut@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the MSM 64bit cache and M4M error reporting
driver which is useful to detect correctable/uncorrectable
L1, L2, L3 cache errors as well as cluster interconnect
errors. Currently the driver does not handle restoring
L2, L3 error configuration settings in case of their
respective power collapse scenarios.
This is a snapshot of the m4m/cache_erp driver as of
msm-3.14 commit:
3bc54cf86bdc7affa7cd4bf7faa3c57fe8f8819d (Merge "msm:
camera: Add dummy sub module in sensor pipeline")
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
Conflicts:
drivers/soc/qcom/Kconfig
drivers/soc/qcom/Makefile
Change-Id: I8ae894a6450d2caa4f8662e01690f4f5938fc0b9
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add Minidump support for clients to get minimum required data
at the time of system crash. The Minidump table resides in SMEM,
BOOT(SBL) will iterate the table entries and dumps out (to USB/Flash)
the data in address location.
Any client can register to this table with static or known addresses,
as currently Minidump doesn't support dumping of dynamic data structures.
To simplify post processing, we create an ELF header, where each entry in
the minidump table is a section in elf header.
If Memory dump table enabled, Dump all data entries registered with MDT.
Enable Minidump:
echo mini > /sys/kernel/dload/dload_mode
Change-Id: I0fc8d21aef71ded34a498426ee3d7f86b063a639
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The PBS driver helps the client drivers to trigger the PBS
event to execute the PBS RAM configuration as requested by the
client driver.
Change-Id: Ic5d1290ffa0b66ac7a8f68529aafcf0b871ee3e8
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shared rails such as CX, MX are controlled by the RPM. RPM aggregates
the votes to these rails and sets the rails at a corner voltage to
satisfy the needs of all the masters.
Add support to read and print the CX, MX rail-stats from shared memory.
cat /d/rpm_rail_stats
Number of Rails:2
rail:mx num_corners:4 current_corner:2 last_entered:0
corner:ret time:0
corner:svs time:0
corner:nom time:0
corner:turb time:0
rail:cx num_corners:5 current_corner:1 last_entered:0
corner:ret time:0
corner:svs2 time:0
corner:svs time:0
corner:nom time:0
corner:turb time:0
Change-Id: I730c4accc1bf4c152ef95f9ce9343a58022c2630
Signed-off-by: Karthik Parsha <kparsha@codeaurora.org>
Signed-off-by: Naresh Malladi <namall@codeaurora.org>
|
| |/
|
|
|
|
|
|
| |
Implement common driver to limit Cx ipeak based on
voting from various clients in multimedia.
Change-Id: Ie0a57e49f7a8ba8a4fa3aa7f50dd0947f8e9d11b
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QBT1000 driver provides an API for communicating
with trustzone applications and handles firmware event
interrupts.
The driver supports the following features:
- loading and unloading trustzone applications
- sending commands to trustzone applications
- voting/un-voting for clocks before/after making
a trustzone call
- receiving firmware events, signalled by interrupts,
and providing them to the driver client
- sending a key event in response to firmware finger
detect events
Change-Id: I1d9d7a6b6bd2d3420a28a8c09868143bb9bd3b27
Signed-off-by: Lior Barenboim <liorb@codeaurora.org>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing support for generating random numbers relied on
a hacked up version of CONFIG_ARCH_RANDOM and was prone to
scheduling while atomic bugs due to needing to take a mutex.
We don't actually need the additional randomness all the time,
the pool just needs to be initialized with some amount of random
data to avoid getting the same result each time. Switch to
this method for initializing the random pool.
Change-Id: I804ec7556cbd18ff2d9869a03069fda1dd519a79
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
[ohaugan@codeaurora.org: Fixed trivial merge conflicts]
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Remove the core control helper code since this is not needed anymore
with subsequent patches that moves core control into the kernel.
Change-Id: I62acddeb707fc7d5626580166b3466e63f45fd89
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
The spss-util driver provides utilities required for the SPSS.
It provides the fuse state for key selection.
It provides the SPSS HW version.
Change-Id: I70c37d64db351db86e3d1d5dddb810257c68d72f
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Add ICNSS utility file, which provides APIs for getting/setting
WLAN DFS channels.
CRs-Fixed: 1060783
Change-Id: Iae89ce7b26453f9a0ff3214bd5598ee11e181857
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
SMCInvoke driver is a misc driver to support communication between
secure and non-secure world, based on new capability based model.
Earlier, QSEECom driver had several problems such as exposing many
interfaces to accomplish various tasks on secure world side. Ideally,
driver should work as transparent as possible and provide just
tunnel to communicate between secure and non secure world. SMCInvoke
driver aims to achieve that.
Change-Id: I439f8ad817ba66210c934115979c276577194c11
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
wcd-dsp-glink platform driver is added to send/receive data and
commands to/from DSP in WCD audio codec over glink. This driver
provides read and write interface to userspace to send/receive
data and commands.
CRs-Fixed: 1053381
Change-Id: I0405ae31201f966c7a3cd52c37191578e960dd71
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
GLink SPI Transport enables point-to-point communication with an
external subsystem that uses SPI bus to interface. This enables
multiplexing multiple logical channels over the SPI bus.
CRs-Fixed: 1045916
Change-Id: I1936bb0542bcd531726bf987ef806969ce96d498
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
This module provides two APIs which are used to control a boolean
sysfs entry deploy. The irq balancer's blacklist in user space will be
controlled by this sysfs entry.
CRs-Fixed: 1013201
Change-Id: Ie6ec7211c64f3c4f53b9f590e5bcf5fa1937d594
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
kryo perf events are specific to MSM8996 soc. So build
this file only when MSM8996 is enabled.
Change-Id: I95aacab201d51ffb4eb8e94d2e400578cab37fc8
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Build kryo-l2-accessors only for MSM8996. This will avoid
compilation errors while building for 32-bit.
Change-Id: I3433623797abbefc5f19991c215260d1df11e42a
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
This driver handles the Inter-Processor Communication(IPC) Interrupt(IRQ)
from remote subsystems directed towards Qualcomm Technologies, Inc. Secure
Execution Environment(QSEE) and notifies the QSEE listeners waiting in
the userspace.
CRs-Fixed: 1021749
Change-Id: Id0cab5773099e2f6267f8a5bd4fd5aeb3324e68b
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
RPM stats and RPM master stats provide the similar information via
different interfaces. Combine them into a single driver to provide a
unified information.
Change-Id: If5a5ef6e080ab6d75139472c5204eb6d5e9c6614
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
This snapshot is taken as of msm-3.18 commit:
89be600 (Merge "msm: camera: Fix KW issues in sensor code")
Jtagv8 driver can be used to save and restore debug and ETM registers
across power collapse.
Change-Id: I1537c92ac86964fdbe9abb012f972d5f3b36047a
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
DCC (Data Capture and Compare) is a DMA engine which is used to save
configuration data or system memory contents during catastrophic failure
or SW trigger.
It can also perform CRC over the same configuration or memory space.
Change-Id: Ic8a804250ab8b7ac501bd186d2e6f7506bb9b21a
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This snapshot is taken as of msm-3.10 commit:
78c36fa0ef (Merge "msm: mdss: Prevent backlight update during
continuous splash")
Common log registers the kernel log buffer address with the
memory dump driver so that the __log_buf can be collected from
ramdumps without the need of an external System.map file.
Change-Id: Ibeb74ca064e78fe7522e46b3c32bb362082d5d24
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
[spjoshi@codeaurora.org: fix merge conflict]
Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org>
[mittals@codeaurora.org: fix merge conflict]
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
This snapshot is taken as of msm-3.18 commit dacccc6.
CRs-Fixed: 1011333
Change-Id: I4ed06b5602220ed4e30bd37a0633ccb3454f7d43
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Snapshot of rpm status drivers as of msm-3.18 commit
e70ad0cd5ef
Change-Id: Ibceaa8f948e203c39e3df55b135c0a394f39ca5f
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Add support for gladiator cache inter connect error detection
and reporting for msmcobalt
CRs-Fixed: 1000642
Change-Id: I68c5ce09cc77a19eb334a1d8ccce8d577f964316
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add a library for a kernel client to register and be notified of
any state changes regarding a local or remote service which runs
on a remote processor on the SoC.
CRs-Fixed: 999530
Change-Id: Idd56140e11f4fdc48fd999a1e808f3263024f34d
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a library that retrieves location information given a service
identifier. Location here translates to what process domain
exports the service, and which subsystem that process executes on.
Change-Id: Ia5d76ea4de29dbafe309a831f8a2418c058cba94
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
[dkeitel@codeaurora.org: fixed minor conflicts in Kconfig and Makefile.]
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
|
| |
|
|
|
|
|
| |
Update MSM_REMOTEQDSS to QCOM_REMOTEQDSS per kernel upgrade guidelines.
Change-Id: I6abf84a27f7271181833d0112f1d795354ea7f0c
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
This is a snapshot of the sysmon glink library as of
msm-3.18 commit
d5809484
(Merge "msm: ipa: fix race condition when teardown pipe")
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes for power saving reasons we might want to keep fewer CPUs
online without adversely affecting performance for certain real world
usecases. This module helps to provide that hotplug support to the
userspace such that it tries to make a best effort in keeping a certain
number of CPUs online as specified by the userspace.
It allows any userspace entity to specify the CPUs that it wants to
manage with this module and of those, the number of CPUs that should be
kept online.
Change-Id: I82c6d6e998d3740ad6f8c67b47344ce87f328b8b
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Other processors/execution environments may support debug events. Implement
an 'smc instruction' based communications protocol and hook it up to
debugfs.
Change-Id: I3a99dfdac5df7edb874bd449d9abc5a929787758
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Create an API to match voltages across asymmetric CPUs as
this can be useful in systems with a shared rail across CPUs.
The API takes in one input argument which is the frequency of
a big cluster CPU for which a voltage-equivalent little cluster
CPU frequency is desired. The return value is this little
cluster CPU frequency. All frequencies are in units of kHz.
Change-Id: I821819a0761566984dd7f92014599ff0fcb85e90
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Hotplug events are particularly interesting from system
point of view and tracing around the hotplug events would
provide essential information that could be used to debug
system issues.
Change-Id: I23e9539a76e04e222a0a05f27be51cb726ab6c33
Signed-off-by: Sanrio Alvares <salvares@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SCM (Secure Channel Manager) driver is used to communicate
with the secure world entities like trustzone and hypervisor.
As a part of the communication we expect to give certain
input, output operands and the caller of the scm_callX
API would expect that output values or return values
of the scm_callX should not get corrupted (if they depend on it).
Due to Kasan instrumentation of the SCM driver following
code is getting instrumented with Kasan __asan_store8_noabort
APIs which would internally check if the memory access is allowed
and it is the functionality of the Kasan to check/instrument
the load and stores.
if (ret1)
*ret1 = r1;
if (ret2)
*ret2 = r2;
if (ret3)
*ret3 = r2;
All will be fine for the first *ret1 = r1; execution since
GCC has generated the code which saves the x1 value (r1)
into the another register but the execution of the
__asan_store8_noabort API after the saving of the register
corrupts the x2 and x3 when it returns. GCC has no knowledge
at this point to save the x2 and x3.
Due to this x2 and x3 is loaded with the Kasan shadow
offset value and Kasan shifted (>> 3) address.
Since x2 and x3 (r2 and r3 in the code above) would be used
as the ret2 and ret3 for the caller of the scm_callX API
the caller would get the wrong return values (if it needs them).
QSEECOM is one such driver which uses these ret2 and ret3 values
and due to this corruption QSEECOM driver was treating it as
SCM call failure, though the bug described above due to Kasan
instrumentation would be applicable to any caller needing
the right values of the ret2 and ret3.
SCM driver is very small and simple and we would not expect
the Out of bound or use-after-free errors for it, so it would
be fine to skip it from the Kasan instrumentation.
Change-Id: I8b2a17759295375c21abc520110f855f349faf4b
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Sometimes the PFTLB entries get stuck in the invalid state
and new prefetches get dropped. As a workaround,
when a large number of L1 prefetches have been dropped,
above a threshold, the PMU can generate an interrupt.
And then reset PFE. The default threshold is 257.
Change-Id: Id6142037fa411575c3cbaa30dd08140ab6e5cb3f
Signed-off-by: Se Wang (Patrick) Oh <sewango@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
This driver supports communication with secure processor subsystem
over glink transport layer.
The communication is based on using shared memory and interrupts.
This driver exposes interface to both kernel and user space.
Change-Id: Iec5fc78c8370002643b549e43015c06b09d8ab8b
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
|