Due to dpdm regulator is not being used on newer platform as
ADSP firmware takes care of charger detection, there is no
way to detect USB cable disconnect vs USB spoof disconnect
when EUD is enabled. This change identifies USB spoof
disconnect and provides spoof disconnect related information
to USB PHY driver to avoid turning off PHY clocks and regulators.
Change-Id: I8f6b953e7196378b9786fe268a08cc1a0e2620d3
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Set the max value of num_fds to QCEDEV_MAX_BUFFERS to prevent
out of bound access of fd, fd_size, fd_offset array.
Change-Id: I88889472a4bd14f786588bd2c9e06e69a98e94c9
Signed-off-by: Prerna Kalla <prernak@codeaurora.org>
On RUMI, UFS PHY reset control provided from UFS host controller is not
optional, return error if it is not provided.
Change-Id: I15faa41b8e251abb773bc28b686c28a41574d229
Signed-off-by: Can Guo <cang@codeaurora.org>
The haven RM driver header file exposes functions where notifier
blocks are used. However, not all clients who include the
header file will necessarily have the notifier header file
in their source file, which causes compilation errors. Thus,
include the notifier header file in the RM driver header file
so that all other clients don't have to.
Change-Id: If74509e5d7fc2bbaeb4a427a7cd576f853fd8358
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Remove the use of DMA_ATTR_FORCE_NON_COHERENT and
DMA_ATTR_FORCE_COHERENT attributes while allocating and mapping
memory in the fastrpc driver, as they are not supported in a GKI
kernel. Ignore any per-buffer coherency attributes passed by
userspace.
Add a new config option that can be used by the fastrpc driver to
detect if it is being compiled in a QGKI kernel. Read the DMA
coherency property of the fastrpc device nodes only if this config
has been enabled. On a GKI kernel, the cache maintenance will
always be done by the fastrpc driver.
Change-Id: Id1e715da4462d9fb8819fc1c85f7b0c7d8610f24
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
atos_write() uses the IOVA stored in the debug device structure
for translating the input IOVA to a physical address, which is
not correct, given that the debug device structure's IOVA field
has not been initialized yet. Use the IOVA given as an input
for translating the IOVA to a physical address.
Change-Id: I7a8f241abc573fcf877147ca4d808c025cbb45f9
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Enable support for I2C and SPI dev files in lahaina.
Change-Id: Ib22fa4070bc83099609c9b98d936d2c166fb7280
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>
Enable Neuron service, block and transport drivers to enable block
device sharing across virtual machines.
Change-Id: Ia5dcc5c3010340a9e70f2163fad0a5dddbedd59d
Signed-off-by: Chris Lew <clew@codeaurora.org>
Enable neuron service, neuron block application and haven
transport drivers for lahaina.
Change-Id: I800cfda913c666fc5f8586bce0ce85bf1c6f4f8b
Signed-off-by: Chris Lew <clew@codeaurora.org>
Neuron is a device-sharing framework which is used by guests of the
haven hypervisor to serve or access shared I/O devices and other
inter-VM services.
There are three main layers that make up a neuron service.
channel - the physical layer transport that uses the hypervisor
provided transports.
protocol - defines the syntax and semantics to virtualize a specific
device across VMs. Block and Net are examples of protocols.
application - integrates the neuron service components into the rest of
the system. There would be front and back end application
drivers for the net protocol.
Change-Id: Ic7278fdaee1cd30147e91e1126643bce79c05e52
Signed-off-by: Chris Lew <clew@codeaurora.org>
It fixed a page fault issue if DSP glink probing happens before
cvp device probing.
Change-Id: Ie3ec2cf3c213fca9fc685c6c44cccbf4d1e59bde
Signed-off-by: George Shen <sqiao@codeaurora.org>
extcon_get_edev_name() function provides client driver to request
extcon dev's name. If extcon driver and client driver are compiled
as loadable modules, extcon_get_edev_name() function symbol is not
visible to client driver. Hence mark extcon_find_edev_name() function
as exported symbol.
Change-Id: I2d291499dd632f3df4ac0a895343e61bb3eb9923
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Git-commit: 995bb1092326b8ba8fa29456c334ac6a49765ccd
Git-repo: git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
EUD may be enable in boot loader and to keep EUD session alive across
kernel boot till USB phy driver is initialized based on cable status,
keep regulators on from USB high speed phy driver's probe. Regulators
shall get turn off while handling USB cable disconnect routine for
both boot up with and without USB cable case.
Change-Id: Ic6ac92be11a91c18ec89c39f17d7c445dee98263
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Currently, the cap-id for Tx and Rx of the message-queue are
initialized with 0. However, 0 is a valid value for cap-id.
A better value to initialize the cap-id is with U64_MAX. Hence,
make corrections to use U64_MAX, defined as HH_CAPID_INVAL, in
the message-queue driver.
Change-Id: Ia501e87dc3cb8d880ea3d35ff000ca07b64aeced
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>