rpm_msgs address is calculated from memory allocated during write_batch.
Correct the offset from where rpm_msgs actually starts and assign req
pointer to point to correct address.
Also add list_del before freeing memory in invalidate_batch.
Change-Id: Idca43fe73bd238e90911158b08b3889c001e1123
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Cancelling histtimer after enabling local irqs can cause
low sleep length to get calculated during next low power mode
entry.
Enable local irqs after cancelling histtimer.
Use hrtimer_get_remaining before cancelling timer.
Change-Id: I735770f779c5760acc6b62cb65811b21244d0e99
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Currently rpmh dirty flag is set for all cases regardless of
data is really updated or not. Correct it to update for
only those cases where data is updated.
Change-Id: I2c87ffbf1bae23ddd4b4cb7dced213cac267df59
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add the HDCP QSEECOM header file as it contains definitions used
in client drivers such as the DisplayPort driver.
This implementation is based on a snapshot of the HDCP QSEECOM
module as of this commit 86411ada84786796 ("drm/msm/hdcp: Update
HDCP QSEECOM to start auth on user command") on kernel-4.19.
Change-Id: I6481e189dcedace9a571ce06db079c63fab1ef01
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This change enables USB Mass Storage class driver and gadget function
driver to have USB mass storage functionality in host and device mode.
Change-Id: Ie9d8c3ca30f68ce75909eae16897b39c2a24374f
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Add loader to load Guest VM images, based on the input from device tree.
Based on the name of the guest vm as mentioned in the device tree, this
loader loads all the images belonging to the guest vm into the memory
specified in the devicetree file. Once the loading is complete, it makes
necessary calls to the resource manager driver to start the guest VM.
Change-Id: I8b276236dab5e5efa0d08bcd4a7fe2d1c7f7b4e6
Acked-by: Tom Kuo <tkuo@qti.qualcomm.com>
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This change adds USB role switch framework based USB role
switch device which allows USB connector device driver to
notify about USB device/host mode to start required USB
stack.
Change-Id: Icfd1aabea939765944a1c3a95f31d7b3a47f1338
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change adds usage of USB role switch framework to notify
USB role to start USB host/device stack to USB driver.
Change-Id: I9778e0e3d2db2aaccf2f19c6dfd2482dad6acbfc
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Phy init is assumed to be done during powerup sequence.
The phy init is now being invoked during clock init as
well. At this point in initialization the phy mode and
submode is not yet set. So the phy initialization puts
the phy in a weird state. It also increments the counters
that prevent re-init and re-power-on of the phy.
Thus, when the phy init is invoked during powerup sequence,
it just returns thus leading to failures during controller
enable.
This patch fixes this by removing the phy init during
clock init.
The ufs device reset traditionally uses pinctrl.
This patch moves it to gpio based reset.
Change-Id: Id9205185b042e4f11fc4132419a179ba81af7226
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Bao D Nguyen <nguyenb@codeaurora.org>
Signed-off-by: Can Guo <cang@codeaurora.org>
Add VM management APIs so that clients can start VMs and allocate/get
vmids associated with VMs.
Change-Id: I7a9138a9479665f6c09aae98390a30c23011b3b1
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Enable doorbell driver for VMs to communicate each other over an IPC
Change-Id: Id72d186ada0a81bcf7b6706834c2110518983d71
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
In haven one way to provide inter VMs(Virtual Machines)
communication is through the use of doorbell interrupts.
Individual VMs make use of these doorbells by calling
send and/or a receive primitives exposed by driver and
trigger an interrupt to each other and exchange the data.
Change-Id: I6d797d78cddc96a23680554e2b3fc1031446cbe5
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add Haven Resource Manager driver to talk to the Resource Manager
Virtual Machine for using the services such as resource (IRQ/device)
sharing, obtaining info about IPC/signalling mechanisms, getting
notifications about other VM's health, and so on.
Change-Id: Ibff0fa3a2fef12276c1e9d7037b8bec3eb2efab1
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
extcon USB gpio driver is used to start USB host/device mode
based on vbus/ID status for USB secondary port. Hence enable
extcon USB GPIO driver on Lahaina.
Change-Id: Ia39822f29e9c1387df1827eef89c56d29df2554a
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
The flag to make the scratch privileged
was correctly set but not used.
Change-Id: Ie015dd3008803d6a98156f9d2ad049b3cdb86a33
Signed-off-by: Nitheesh Muthuraj <nmuthuraj@codeaurora.org>
Add support to enforce proxy consumer requests defined in device
tree for gdsc-regulator devices. These can be used to
ensure that regulators are not accidentally disabled or
scaled down before all consumers have had a chance to
make their own requests.
Change-Id: I495283866fb61fb54e5ecf6ed3789abaa4ae66d1
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
This links the busmon devfreq device to kgsl device
which is de-referenced in kgsl_busmon_target() in
order to propagate bus votes.
Change-Id: I1ac3f81e546e3fd6be6051a202e0d49db07978ee
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
With eCP, we will have a different dispatcher and hence a different
function to queue the commands to the eCP dispatcher. Instead of
adding the eCP check in kgsl.c, do it in adreno_queue_cmds. On the
same lines, we will do eCP check in adreno_drawctxt_sched() to queue
the context to the respective dispatcher. Also, move
adreno_drawctxt_sched() from adreno_drawctct.c to adreno.c so that we
have one less function to export.
Change-Id: Ibd6325131ed38b9527cdda084ca37d6c6ceee3bd
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Avoid trip evaluation for disabled thermal zone, as the temperature
reading will be invalid and using the same to evaluate the trips will
lead to undefined behavior.
Change-Id: I5ea744d36875a425b0c3ed07c3ab45c94f9b59ca
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Add Haven message queue driver provides an interface to the client
drivers running on the virtual machines to communicate with the clients
running on other virtual machines. The services offered by the driver is
simply to send and receive messages.
Change-Id: I1685109f579eaf7fa039225dd60a42adae7de00a
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add Haven hypercall interface conforming to its arm64 ABI.
Change-Id: I959e6a24c0b3dca5182b70b95d6bee3a51e9f6c4
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add common Haven hypercall interface implementing all of the doorbell
APIs and required message queue APIs for an initial message queue
driver.
Change-Id: I2f4cbe99b76d115a42e86d1a43f361e4793a9723
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Currently adreno_snapshot() tries to dump remaining IB1 size
if the active IB1 base address is not present in ringbuffer
which is not enough to debug GPU hang.
So, try to calculate the maximum possible size that it can
dump from IB1 base address and add it to snapshot dump.
Change-Id: I029fb8cddab7999001a2934ce49cb5ff884c21bf
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>