Exempt the following warning from upstream UAPI header:
./usr/include/linux/bcache.h:354:2: warning: field '' with variable sized type 'union jset::(anonymous at ./usr/include/linux/bcache.h:354:2)' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end].
./usr/include/linux/bcache.h:355:2: warning: field '' with variable sized type 'union jset::(anonymous at ./usr/include/linux/bcache.h:355:2)' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end].
Change-Id: Ib233bb85350dc2a47fa198982f466e763ff40241
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add the correct name of the dcvs_fp module to
modules.list.msm.waipio.
Change-Id: Ibb859479aadbf0964bd4ce494e837353242ec8e9
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
Update HW idle check for A619 holi to ensure GPU
idle status is captured correctly.
Change-Id: I2c332e43b3e3f653421e0bc4ab823ac557cfa141
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Add three new groups to the a6xx performance counters for a620, a650,
and a660 to expose the GMU_XOCLK, GMU_GMUCLK and GMU_PERF counters.
Change-Id: Ic0dedbad07805bee4b6977e683e1161e4d500c1c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
The intent of the gpu_max_clock node is to set / show the maximum
GPU frequency. To accomplish this, set the max_pwrlevel instead of
thermal_pwrlevel when the gpu_max_clock node is set.
Change-Id: I90c5e638f22b363c60d351c8c78814df67b256a2
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
Now that all the perfcounter code is safely target specific finish up the
transition. First move the perfcounter definition from the gpudev to the
adreno_gpu_core so that we can specify the list per target which gives us
more control than modifying the gpudev at runtime or creating multiple
gpudev structs just for the perfcounter deltas.
Further drive home the point by marking the perfcounter and groups
as const. The perfcounter migration has now completed. You don't have
to go home, but you can't stay here.
Change-Id: Ic0dedbad4b4dbb8e9e49ed94dc23b97fc578324b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Migrate the a6xx perfcounters to target specific. These counters
constitute the bulk of the specialized enable operations. This also is
the place where VBIF gets replaced with GBIF so a630 gets its own set of
perfcounters and we have to double up the functions for a6xx.
Change-Id: Ic0dedbadf04fcafb46816c8b970af3bd32a57c7b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Continuing to migrate the perfcounters by moving the a5xx counters
to the target specific side.
Change-Id: Ic0dedbad0ff3876e291a9daedb2349daf1e1916c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Add support for per-group enable and read functions and move all of the
3xx perfcounters to target specific code with specialized functions.
The a3xx functions are the most "non-standard" of the bunch because of
the freeze/unfreeze wrappers we need for most registers.
Change-Id: Ic0dedbad110eeaf667f6f44d809d4cd90942451a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
CPU isolation while loading SVM still causing issue of locking
when multiple TZ calls goto TZ from both PVM and SVM. This is
because isolated CPUs can still handle IPIs and some tasks are
expected to run work on isolated CPUs and issue an IPI. At the
same instance if hypervisor schedule a SVM on same pCPU and SVM
do a TZ call then IPI can't be handled because SVM TZ call is
spinning in TZ for a lock to grab which is already grabbed by
PVM from a different CPU and that task is scheduled out. Hence
IPI would ever served by CPU and lead to watchdog. To avoid
this situation do cpu hotplug rather isolate.
Change-Id: I40cc06fcd11fd90583e334b044feec6dc95fff68
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Do initial CPU reservation before starting VM, to
avoid any resource contention, while booting guest
VM. Remove the reservation after a configured timeout,
which defaults to 8 seconds.
Change-Id: Id49b07edd3e558dee074eafb729423ad8f8ff98d
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Fix vm start message. Currently the return value of vm start is
checked wronly and printing a wrong message though VM starts
successfully.
Change-Id: I57677bdd723695951e8c05b52fc9363863a02e2e
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Hyp uart is default disabled from ABL now. There is no need of
CONFIG_HH_DISABLE_UART option anymore. Hyp uart now can be controlled
using DEBUG_FS interface.
Change-Id: Ie1a0986399d30b89bf62468a23633994c8d6b11b
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Hyp uart is disabled default today in ABL. Provide debugfs
interface to users when they want to enable hyp uart to
debug hypervisor and VM issues.
Change-Id: I5e2c0501ed309a65c9dff1304b2e88e0d58917ae
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
When PVM lend an IRQ, a notification is given to SVM. Later SVM can
accept the IRQ that is lend by PVM. If the SVM do not accept an IRQ,
PVM can reclaim it back and lend again to SVM. This scenario is not
handled correctly and notification for lend from PVM to SVM is not
happening. Do an extra check in the callback handler whether previous
lend succeeded or not.
Change-Id: I9a6d335b6c11c8aea956fa1535b093c385e4cde1
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
This change enables sys_pm_vx to work for waipio.
While doing this corrects sys_pm_vx to depends on QCOM_AOSS_QMP
because qcom_aoss provide same debugfs functionality as
qmp-debugfs-client driver.
Change-Id: I34494331f326e7571bea0bb74460a30714ec3894
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
Virtual PM Group resource type has been added to the list of
hypervisor resource types that can be queried for by a VM.
This addition is in preparation for the hyp core ctl driver to store and
utilize the information related to VPM group such as cap_id and
VPM group state in relevant hypervisor features.
Change-Id: I4ec9b4dca5f095980b8ce9134c7cac695562f101
Signed-off-by: Sai Harshini Nimmala <snimmala@codeaurora.org>
The state information of the Virtual PM group can be obtained
through this API.
Change-Id: I0a00e8bfe38f7908ed20bc105f66149097e6532b
Signed-off-by: Sai Harshini Nimmala <snimmala@codeaurora.org>
Currently blocking calls are made from atomic context in doorbell and
message queue drivers. Modify the code flow to avoid kernel warnings
when drivers are initializing.
Change-Id: Iae851d5d7e09210a8fb617da0e2cc4cc52c0f258
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
When VM is booting, neuron driver can send a request to PVM using doorbell.
Currently this call is racing with when the doorbell driver is getting
the resources from the RM driver. Prevent clients to send a message when
resources are not ready. Added locking in function to check whether
resources are ready are not.
Unable to handle kernel NULL pointer dereference at virtual address 0x0
__wake_up_common+0x88/0x190
__wake_up+0x78/0xc0
hh_dbl_populate_cap_info+0xf4/0x1f8
hh_rm_populate_hyp_res+0x17c/0x2d0
hh_rm_get_svm_res_work_fn+0x34/0x78
process_one_work+0x214/0x468
worker_thread+0x330/0x4c0
kthread+0x134/0x148.
Change-Id: Id66b2d6382f33260dbb4c8d069c9fe5bc41e52fe
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
No flow control mechanism exist in RM console. That means when there is
huge messages sent from SVM to PVM there is a possibility that messages
being dropped by RM and hence loss of messages on console. Add a delay
of 800us for every console write and flush calls.
Change-Id: I65fb7a347b093d079c1380765c63b38bf90e0b66
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Currently IRQ APIs are combined with notifications to VMs for sharing the
handles. This limit the clients for managing the error handling from the
drivers. Hence separate the notifications from the actual APIs so that
clients manage the error handling better. Add support for notifications
like IRQ_LEND/ACCEPT/RELEASE from SVM to PVM when SVM accept the irq
handle shared by PVM.
Change-Id: I49999c2d9494c68b1542680e521c012a25e3f6a8
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
This reverts commit 9fcd2b0568.
Reverting this change to apply leftover changes to msm-5.10
from msm-5.4 cleanly. Otherwise it causes the merge conflicts.
Change-Id: I22ba3686081b3ed74970134c28117de3016fde20
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
This reverts commit 7fd3755cdd.
Reverting this change to apply leftover changes to msm-5.10
from msm-5.4 cleanly. Otherwise it causes the merge conflicts.
Change-Id: I4024432bc57d8088eb263082afc14378e61d6d38
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Currently ddr_reg gets allocate depends on num_records, which is not useful
in case of ddr_stats.
This change fixes extra memory allocation, passes ddr_reg directly as
private data and eventually reduces memory footprint of
soc_sleep_stats driver.
Change-Id: Ide661eed62e437442b500ac757d79efcfe1a7af2
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>