This driver supports communication with secure processor subsystem
over rpmsg and ungerlying glink transport layer.
The communication is based on using shared memory and interrupts.
This driver exposes interface to user space.
Migrate from using glink api to rpmsg api:
- removed not used glink functionality
- removed not used kernel api to spcom functionality
- implemented rpmsg driver registration for each new spcom channel
open/close/tx/rx/poll flows fixes:
- rpmsg_abort flag introduced to synchronize close() of a channel with
pending sending or receiving data from the channel
- tx implemented as rpmsg_trysend() every 10ms (timeout_msec total)
- poll imlemented link up/down events as first/last rpmsg device
probed/removed
- locking
ION api replaced by dma-buf:
ION api depricated.
This change implements following functionality:
Lock/unlock shared buffer by reference counting on underline dma-buf.
Translation user allocated shared buffer virtual address to
physical address (to enable SPU access to the buffer).
Change-Id: I28d704b18a3b0de9711ff3235c3f5551e7302557
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
This reverts commit 2f994ded4e87a6ee0950fb5d78c6913d00d3e972.
Change-Id: I9a1fcf9174a8cc327a74d539315ed32d937423f8
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
MHI Host Interface is a communication protocol to be used by the host
to control and communicate with modem over a high speed peripheral bus.
Enabling this stack will allow host to communicate with external devices
that support MHI protocol.
CRs-Fixed: 2204910
Change-Id: I856b035d196885420797594e3c274390b5504237
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Commit d92bfe55f8cc4dc1 ("power: smb5: update IRQ configuration") adds
wakeup capabilities to several IRQs. Extend this to include
TYPEC_ATTACH_DETACH_IRQ as well. And while we're at it, associate
TYPEC_ATTACH_DETACH_IRQ with the right IRQ handler routine.
CRs-Fixed: 2221052
Change-Id: I846e0bae574d2934b4498f1d2a55970347e181e4
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Update IRQ handlers for all charger peripheral to ensure
only required IRQ handlers are registered.
While at it, configure few IRQs as wakeup capable.
Change-Id: I04f6017a4940baa2539c007d6f17427b2b4db86f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Update defconfig for sdm640 to be in sync with sm8150.
Change-Id: I17d4353a6cfdf80bd6407b23a93e101d093cb330
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
RCU's expedited grace periods can participate in out-of-memory deadlocks
due to all available system_wq kthreads being blocked and there not being
memory available to create more. This commit prevents such deadlocks
by allocating an RCU-specific workqueue_struct at early boot time, and
providing it with a rescuer to ensure forward progress. This uses the
shiny new init_rescuer() function provided by Tejun (but indirectly).
This commit also causes SRCU to use this new RCU-specific
workqueue_struct. Note that SRCU's use of workqueues never blocks them
waiting for readers, so this should be safe from a forward-progress
viewpoint. Note that this moves SRCU from system_power_efficient_wq
to a normal workqueue. In the unlikely event that this results in
measurable degradation, a separate power-efficient workqueue will be
creates for SRCU.
Change-Id: I2988819b553b769ccfdeabd62394c3aad63d6668
Reported-by: Prateek Sood <prsood@codeaurora.org>
Reported-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Tejun Heo <tj@kernel.org>
Git-commit: ad7c946b35ad455417fdd4bc0e17deda4011841b
Git-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
Driver needs to pass qdss data received from mdm qdss
bridge driver to host PC. This requires a software data
path using IN endpoint. Bridge driver needs to open
qdss_mdm channel and use exported write() API to pass
the qdss data received from mdm. Driver calls the notify
call back upon write completion.
Change-Id: I4d8ceaed0bf9c85aa17d3f49503cd690917cc117
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Avoid resetting the dsi ctrl when continuous splash screen is
enabled as it might cause flicker during the transition from
UEFI to kernel.
Change-Id: I0f9a28867fb83c26d39a2212916273cd686d7d23
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Avoid disabling the core clocks and bandwidth vote during
crtc disable when continuous splash screen is enabled as it
might result in flicker or underrun during the transition
from UEFI to kernel.
Change-Id: I9299918ada63bb51f490c1d1aa9e94d6d9249db3
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add interrupt, MMU, system cache, clocks and power level device node
configurations required by latest NPU driver. The NPU driver uses
these nodes for integrating with other various subsystems.
Change-Id: If05b547b26ebbe1efe9d0d259f7750a520f7349e
Signed-off-by: Farrukh Qurashi <fqurashi@codeaurora.org>
Add clock control, bandwidth monitor integration, thermal
integration, IPC and execution management for operation of the NPU
hardware block. The driver provides control of the NPU hardware for
execution of neural networks.
Change-Id: I6b7616ffd758e8660ac0855d37f53af732f49e48
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Farrukh Qurashi <fqurashi@codeaurora.org>
This patch enables the necessary configs for compiling
the SDE DRM driver for sdmshrike.
Change-Id: I2bdbd0c2b60ed8e4fd8f974d88e6f1afd73246fe
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Enable CMA debugfs on sm8150_defconfig to enable testing of CMA.
Change-Id: I25b6232390f5dc40966aceed9cc53e47e8f50e40
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Currently, if a subsystem does not send a response through QMI
confirming that it has properly gone through its shutdown
sequence within a certain time, it is assumed that something
went wrong, and the subsystem could not shutdown gracefully.
However, for some subsystems, part of their shutdown sequence
may involve disabling the QMI service prior to sending the
response, and continuing the rest of the shutdown sequence
without any problems. The real indicator of an issue is not
receiving either an SMP2P interrupt or an QMI indication that
the subsystem has shutdown. Allow for timeouts to be
an acceptable cause of a graceful shutdown sequence, and wait
for either an SMP2P interrupt or QMI indication that indicate
whether the device has shutdown or not.
Change-Id: Id870f948f5e99a999965cf83ca225788e01eaf2e
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
There is currently no way to access the subsys_device data
structure from an external source, which prevents access to
other necessary data structures. Expose function to find
the subsys_device data structure associated with a subsystem
descriptor, so that it can be accessed.
Change-Id: I068c859b2313e4e95347dc3f96625665411e8b96
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Update the DisplayPort AUX settings to the latest recommended
values from the hardware programming guide. This is necessary
to ensure that the PHY is programmed correctly in order to
enable AUX transactions once the cable is plugged in.
Change-Id: I493f29d16f151062d22f7435ee07271c8ef791d7
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Update the AUX setup sequence for DP PHY on sm8150 in order to
enable AUX transactions once the cable is plugged in. Update the
values for the voltage swing and pre-emphasis levels used when
programming the DP PHY during the link power on sequence.
Furthermore, update the controller programming to ensure all
controller state transitions happens correctly.
Change-Id: I0b16ac79e9679a7aac119548a226531698400935
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Video clock config is updated with following changes:
1. Removal of iris ahb clock, since this is enabled by default
2. Removal of 200MHz as this is not supported by display & gpu
CRs-Fixed: 2223586
Change-Id: I3cb470edfe9f2d8a1f8fd0cfb1d8d5d38ea6729a
Signed-off-by: Shivendra Kakrania <shiven@codeaurora.org>
Update regex so targets that use sm*_defconfig can compile
with the build-all script.
Change-Id: I74612a64e3eb37b84dfdadc53cba97b2f578c39f
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>