Make synX handling in kernel independent of CVP features. It also
simplified handling logic.
Change-Id: I598d2c78f0fea4463c5801b5db945b74c071ebab
Signed-off-by: George Shen <sqiao@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 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>
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>
Add spin_lock_init for funnel and replicator to avoid spinlock issue.
Change-Id: I6cb14bfd363e8d92070af2e0e99e60eaf45d923b
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Current driver will check PCIe link status by reading PCIe config space
before updating time sync registers. However, there is a drawback to use
PCIe API pci_read_config_word() to access config space since it will
disable interrupt and then perform read. If PCIe link is in L1 or L1ss
state, there may be more than 4ms needed to change the link state to L0
in order to access so it will cause jank for other time critical tasks.
Hence make sure PCIe link is in L0 state before updating time sync
registers instead of checking config space.
Change-Id: I59ca63c38b5af9e38e5a04d8e679f4dfde294746
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Media and USB Video Class drivers are needed to get USB video
devices functional in USB host mode. Hence enable media and USB
video class drivers on Lahaina.
Change-Id: I70ccc146b55a564b4408496a54b044d52cbf9e41
Signed-off-by: Mayank Rana <mrana@codeaurora.org>