Commit Graph

48 Commits

Author SHA1 Message Date
Dennis Cagle 157a921e39 BACKPORT: msm: adsprpc: Use unsigned integer for length values
As the length datatype is signed, an attacker can both overflow
the calculation or supply a negative number to trick the check
into returning an chosen chunk. This can have undesired
consequences. Always use unsigned integer types for length
values.

Change-Id: Ifde2f0d35129014b976507f7723a319c53fabddf
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
Bug: 63165135
CRs-Fixed: 2139538
Signed-off-by: Dennis Cagle <dcagle@codeaurora.org>
(cherry picked from commit c29e11c774b3c59660c1c599b73b7fabf1492d43)
Signed-off-by: David Lin <dtwlin@google.com>
2018-05-10 21:46:10 +00:00
Tharun Kumar Merugu 71a0cf4c75 msm: ADSPRPC: Use ID in response to get context pointer
Send context ID in rpc header instead of context pointer.
Validate context ID received in response and get context pointer.

Bug: 74237782
Change-Id: I9cfd10d0c1b25c3085b8e15c7ca1c8ff214bf10d
Acked-by: Viswanatham Paduchuri <vpaduchu@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2018-04-16 18:22:58 +00:00
Sean Callanan 1748f845ef msm: ADSPRPC: use access_ok to validate pointers
The FASTRPC_IOCTL_INIT ioctl registers a pointer for later
access without checking that it is a user pointer.  This could
allow arbitrary kernel memory access.

This patch verifies that the pointer is a user pointer.

Bug: 63165064
Change-Id: I936f73a2c2029f9e7ca12cc8fc06d0698e6710c0
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
Signed-off-by: Sean Callanan <spyffe@google.com>
2018-04-16 17:38:47 +00:00
tharun kumar 119b5b6770 msm: ADSPRPC: validate user buffers after copying from user
validate user buffers before accessing in kernel driver.

Bug: 67713083
Change-Id: I7997d069d0549de03f1467c63bdb81b20fcf3d6c
Acked-by: Chenna Kesava Raju <chennak@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
2017-11-07 17:18:48 +00:00
Dennis Cagle 5b3d1652ab BACKPORT: msm: ADSPRPC: Check for buffer overflow condition
The buffer length that is being passed could result in overflow
condition causing invalid memory to be accessed.

Bug: 34112914
CRs-Fixed: 1110747
Change-Id: I3e23f31b8cb61f8e77d09a39fab4a2d4c222cf25
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
Signed-off-by: Siqi Lin <siqilin@google.com>
(cherry picked from commit ded48b4476bc53662791a4f5fdf5152b63490b5d)
2017-03-16 00:53:59 +00:00
Biswajit Paul 6789307cf8 msm: ADSPRPC: Buffer length truncated while validation
The buffer length that is being used to validate gets truncated
due to it being assigned to wrong type causing invalid memory
to be accessed when the actual buffer length is used to copy
user buffer contents.

Bug: 31695439
CRs-Fixed: 1086123
Change-Id: If04dee27b8bae04eef7455773d9f4327fd008a21
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Signed-off-by: Biswajit Paul <biswajitpaul@codeaurora.org>
2017-01-18 23:16:05 +00:00
Biswajit Paul fc14506259 msm: ADSPRPC: Buffer length to be copied is truncated
The buffer length that is being used to allocate gets truncated
due to it being assigned to wrong type causing a much smaller
buffer to be allocated than what is required for copying.

Bug: 31695439
CRs-Fixed: 1100695
Change-Id: I30818acd42bd282837c7c7aa16d56d3b95d4dfe7
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Signed-off-by: Biswajit Paul <biswajitpaul@codeaurora.org>
2017-01-18 23:11:04 +00:00
Mitchel Humpherys 367ed6a755 msm: ADSPRPC: Clear output buffers before cache invalidation
Cache operations via userspace address has a risk of a page
fault as on arm64 these addresses are marked as write protect
and fixed up on first access. To avoid aborts happening when
the mmap semaphore is locked at this time, clear non-overlapped
output buffers before caches could be invalidated.

Change-Id: Iedb42e6d3dca4530b1cf065ea87fee1befea3bc6
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2015-03-09 21:06:04 -07:00
Mitchel Humpherys 6c7c3b7b8d msm: ADSPRPC: Invalidate buffers using physical address
Cache operations via userspace address has a risk of a page
fault as on arm64 these addresses are marked as write protect
and fixed up on first access. To avoid aborts happening when
the mmap semaphore is locked at this time, invalidate the
buffers using the physical address.

Change-Id: I4a24b4959df374719c89ba8b6262412ea0eda07d
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2015-01-28 13:25:28 -08:00
Mitchel Humpherys 2c81516ada msm: ADSPRPC: Copy entire non-ion buffers
Make sure that the entire input buffer gets copied always to account
for cases where the output buffer could overlap the input buffer.

Change-Id: I8d63ff8c8ebd6f11b71f75112cb48bf095614bfc
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-10-31 11:54:10 -07:00
Mitchel Humpherys 28d98977aa msm: ADSPRPC: Free contexts for current channel
When multiple channels are opened from same process, free
contexts associated only with the current channel when the
device is released.

Change-Id: Iaa1f06ee00f3b9420ef5b00995bdf8186cb83283
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-10-16 11:53:45 -07:00
Mitchel Humpherys a13d39445b msm: ADSPRPC: Validate address range of buffer
Ensure that the buffer being passed to remote processor is
always from ADSP ION heap. Passing buffers from other ION
heaps would result in a copy operation into the ADSP ION
heap before the buffer is passed over.

Change-Id: I0cf53887d4ec18b81a1c35f8c7c9dc4f1ca4e97f
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-10-08 13:52:12 -07:00
Mitchel Humpherys 27b6b8ade8 msm: ADSPRPC: Do not duplicate non-ion memory
Scan the non-ion buffers for overlapping memory and only copy each
segment once.

Change-Id: I5cacb0f821f217038cb0b2f7c407bb09ed6a362d
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-10-07 12:18:56 -07:00
Liam Mark 97c24ffb08 msm: ADSPRPC: Add ioctl for remote process creation
The new ioctl exposes mechanism for user processes to create
a new process on the remote end when the device is opened.

Change-Id: Id27c7572d3bdd5ecfb899ac20dd237ab25f5a161
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2014-08-21 10:47:15 -07:00
Liam Mark 6d85083cc4 msm: ADSPRPC: Register subsystem restart notification
The subsystem restart handler aborts all pending transactions and
propagates the error back to the user for it to take appropriate
recovery actions. Once the subsystem restart notification is
received, iommu driver calls are skipped for all pending
transactions to avoid bus errors due to unclocked access.

Change-Id: I16465e5f82e01bab1ba32be2574be9734ed3e247
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2014-06-18 09:32:17 -07:00
Mitchel Humpherys 61b82c2113 ion: msm: remove superfluous function argument
msm_ion_client_create doesn't actually do anything with its heap_mask
parameter. Remove it. Also remove the extra argument from an audio
function that wraps msm_ion_client_create.

The following semantic patch was used to generate this patch:

    @@
    expression E1, E2;
    @@

    msm_ion_client_create(
    -       E1,
            E2)

    @@
    expression E1, E2;
    @@

    msm_audio_ion_client_create(
    -       E1,
            E2)

Change-Id: I403a125a1715b29a3db1f27c993abe0bc6d3fb11
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-05-27 15:28:48 -07:00
Mitchel Humpherys d776655a24 msm: ADSPRPC: Changes to support 64 bit address space
Update the data types to handle 64 bit address space and
communicate 64 bit addresses to remote processor. Provide
compat ioctl call to allow for 32 bit user space to call
into the driver.

Change-Id: I954f07382bbc9998aed574a7bf74fab9299f0b45
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-05-05 15:21:03 -07:00
Mitchel Humpherys 75e174d326 msm: ADSPRPC: Free interrupted contexts on device close
The interrupted context list keeps track of all requests made
to the remote processor for which a response has not been
received and were interrupted by APPS processor. Free saved
contexts from interrupt list on device close to avoid memory leaks.

Change-Id: I5e4515b8d06d981a066a812a57242662b5bb82b9
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-02-26 14:04:38 -08:00
Mitchel Humpherys cc64d0e6b7 msm: ADSPRPC: Fix offset for input and output buffers
The buffers being passed to remote processor did not have
the right offset into the IOMMU VA for cases where the offset
was greater than 4K.

Change-Id: I32360a337ecbb9ebe3d33e5a6d680b1033945641
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-02-26 14:03:58 -08:00
Jeff Hugo e432f9a642 msm: smd: Support multiplatform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the smd and smsm drivers to the drivers/soc/qcom location to support
multiplatform.

Change-Id: I7f2e990341f0f34e336e71bd3b06a7c2a46d8bc1
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2014-02-12 09:31:06 -07:00
Mitchel Humpherys 52c4c97021 msm: ADSPRPC: Change driver initialization to late_initcall
The driver depends on MSM IOMMU subsystem driver to be initialized
first to get the domain information. Move the initialization phase
of the driver to late_initcall so that the dependent drivers get
initialized first.

Change-Id: Id9524f09f21110aa7539434e9febdd2b84361f9d
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-01-21 10:19:44 -08:00
Mitchel Humpherys 975b1bb5c6 msm: ADSPRPC: Always map buffers into IOMMU if one is present
If the buffers are not mapped into IOMMU and the physical address
is passed to remote processor, then it could result in IOMMU faults
if the passed physical address falls in the IOMMU virtual address
range. Map all buffers into IOMMU if one is present and do not pass
the physical address directly to the remote processor.

Change-Id: Id567ac4bff16f49487439d1d505dd25b88ed2868
Acked-by: Sathish Ambley <sambley@qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2014-01-13 14:26:25 -08:00
Linux Build Service Account 74533b8859 Merge "iommu: msm: Move iommu_domains out of mach-msm" 2013-12-12 00:08:56 -08:00
Laura Abbott 3bd8ec73d4 iommu: msm: Move iommu_domains out of mach-msm
The iommu_domain code isn't really MSM specific and is better suited
to live in the iommu directory. Move it accordingly.

Change-Id: Ie88b4aba6901722166bb180275d352b745821772
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-12-10 18:18:45 -08:00
Mitchel Humpherys 9b58eaab6c msm: ADSPRPC: Save and restore contexts when interrupted
While a RPC session is in progress, wait could get interrupted
as a result of device entering power collase and the system call
retried once the device leaves power collapse. This requires that
the RPC session context is saved and restored across these
interrupts to avoid duplicate invocations being sent across to
the remote processor.

Change-Id: I71141c13da7be3d33e13305e0744148921123160
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-12-06 17:56:11 -08:00
Mitchel Humpherys 6e97416653 msm: ADSPRPC: Add mappings to IOMMU for remote heap
The remote heap buffers need to be mapped and unmapped in
the IOMMU when SMMU is present on the remote processor.

Change-Id: I9d78e1098a4163109dbde4c23681be4cfb8a353a
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-12-06 17:55:32 -08:00
Mitchel Humpherys 7d1e7b4275 msm: ADSPRPC: Support for RPC to multiple DSP processors
Open separate channels to each DSP processor based on the
file descriptor to support remote procedure calls to
multiple DSP processors.

Change-Id: I9c51d15b38eef67ccc38fc6dd0867d8256fbbdf6
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-11-15 11:01:44 -08:00
Mitchel Humpherys dcd264cf1a msm: ADSPRPC: Remove scatterlist validation
The buffers allocated by ION for ADSP/AUDIO heap would be
physically contiguous and no additional checks are required
to validate this.

Change-Id: Ib54aaf6c18448d18d0a22dac0ddab50a0ab4f493
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-11-15 11:01:43 -08:00
Mitchel Humpherys 2f754b5fcd msm: ADSPRPC: Close SMD channel after RPC session ends
The SMD channel open request needs to be delayed as the
remote processor may not be up early on when the driver
is initialized. The SMD channel is opened when the first
RPC session is opened and closed when the last RPC
session ends.

Change-Id: I0bbff2956c3e367312d4344107340feb29e643ab
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-11-15 11:01:42 -08:00
Laura Abbott d07d023c19 gpu: ion: Remove mach/ion.h
This file is now mostly useless. Move the remaining defintions elsewhere
and cleanup the cruft.

Change-Id: Icc19f9138a0d9d24a466511d69bc0eed45789fb9
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-11-13 09:33:05 -08:00
Mitchel Humpherys a30d8d0424 msm: ADSPRPC: Do not release rpc session when interrupted
Release the RPC session only when the file handle is closed
and not release it when interrupted. It is possible for the
completion to be interrupted in power collapse scenarios
when the tasks are frozen.

Change-Id: Ib507c6ada624bb68c0e6aa798f0ca76c3213af65
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-10-25 12:18:22 -07:00
Mitchel Humpherys 89f2bcf1ac msm: ADSPRPC: Add checks for erroneous values
Check for invalid parameters passed in user invocation
and validate the return values using appropriate macros.

Change-Id: If529873d025ac0c13725efbedda5a58fae327722
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-10-25 12:18:00 -07:00
Mitchel Humpherys 74a622d66a msm: ADSPRPC: Use module specific class name
Update the class name passed during class creation to match the module
rather than use a generic one. If another driver uses this same generic
name then the class creation would fail.

Change-Id: I33d7527e27c56fd943c93f823d99d244e2348319
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-10-25 12:17:08 -07:00
Mitchel Humpherys 544dbc1622 msm: ADSPRPC: Set the rpc mode via ioctl.
Set the rpc mode to either serial or parallel via an ioctl, and ensure
that output buffers are invalidated in serial mode before calling into
the dsp.

Change-Id: I565faba24106cd7e3bba5368b06c4036bb468483
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-10-04 11:59:34 -07:00
Laura Abbott 9ab48181c1 msm: Update Ion and IOMMU APIs to use dma_addr_t
The current APIs for Ion and the custom IOMMU mapping assume that
many parameters are unsigned long. This type is not big enough to
hold physical addresses on LPAE systems. Update the APIs to accomodate
these types. Because we are updating the APIs, all clients need to be
updated as well, either by using the correct type or using a cast
where necessary.

Change-Id: I12e6fb6ec8a8481a7eef374cb9316e5ccbc29090
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-09-21 13:28:54 -07:00
Mitchel Humpherys c4a3abc2a0 msm: ADSPRPC: Allocate cached memory for ADSP RPC buffers
Pass ION_FLAG_CACHED flag to allocate cached memory for ADSP
RPC buffers that are flushed before being passed to the remote
processor.

Change-Id: I5faa2c074157efcdc3d859090c046b6a700e52a4
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-11 10:42:09 -07:00
Mitchel Humpherys 2a6a6061d8 msm: ADSPRPC: Fix uninitialized variable warnings
Fix uninitialized variable warnings seen during compilation.

Change-Id: I3ef2bb359a632a3bd442725e7771b8cdde1a940b
Acked-by: Sathish Ambley <sambley@qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 17:11:21 -07:00
Mitchel Humpherys 39c333588a msm: ADSPRPC: Allow mapping of IOMMU heap buffers
Map / unmap the IOMMU heap buffers based on SMMU presence so as
to allow for these buffers to be passed to the remote processor
with zero-copy.

Change-Id: I95b3bdd46a8fa6eb3bca660a3900b5d690c12617
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 17:10:06 -07:00
Mitchel Humpherys 55552f1537 msm: ADSPRPC: Fix buffer range check
If the buffer range is split across multiple vma structs, failure
was being returned as the range was being checked only on the initial
vma struct. Explictly find the vma for the end address and use that
to find the page associated with it.

Change-Id: Icc64674562ced99a168de5d483853d1f35f94ab4
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:59:22 -07:00
Mitchel Humpherys e5df8a2905 msm: ADSPRPC: Flush un-aligned buffers before remote invocation
Output buffers that are not aligned on cache line boundaries need to
be flushed before the remote invocation since the invalidate that
happens later could result in a flush of an un-aligned buffer,
overwriting the remote end results.

Change-Id: I2e7b4c33ccd29413b0e5d2abe47cd069e08e8c80
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:38:02 -07:00
Mitchel Humpherys b7c73ecb53 msm: ADSPRPC: Add support for SMMU enabled targets
Map / unmap the buffers being passed to the remote processor based
on the SMMU presence.

Change-Id: I79906b3cc382616cd381d5161d504aca8b04f667
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:38:00 -07:00
Matt Wagantall a55f268a32 msm: ADSPRPC: Fix error paths to avoid double-frees and other badness
The error paths in fastrpc_device_init() and fastrpc_init() did
not properly roll back their operations. It was also possible for
fastrpc_deinit() to be called multiple times in the course of
handling a single initialization error in fastrpc_init(), such as
an SMD channel failing to open. This would result in a double-free
of the context list, leading to potential memory corruption.

CRs-Fixed: 478489
Change-Id: Ie078ce6595dc67316c25b9be9daf540552dccc2d
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
2013-09-04 16:24:39 -07:00
Mitchel Humpherys d2f96b6543 msm: ADSPRPC: Implement persistent mapping of memory to the dsp.
Implement ioctl for persistent mapping of memory to the dsp.  Keep track
of mappings and free them when the device is released.

Change-Id: Iefc836bd982b28d37de649d1685c8965604f7f58
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
2013-09-04 16:10:38 -07:00
Mitchel Humpherys 600f66e042 msm: ADSPRPC: Fix bugs in hlist usage
Use hlist_for_each_entry_safe to iterate over nodes when deleting them.
Don't assume that for_each loop will find a node to delete.

Change-Id: Ia3bf5c88844b865d8cfb7e02ce6008a1b9f8e2b4
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
2013-09-04 16:09:44 -07:00
Mitchel Humpherys 449686bd85 msm: ADSPRPC: Fix bugs in page offset
Calculate page start so the offset is always less then the minimum
page size.

Change-Id: I5dc2cf5052a16e9f78862eb79f6141e2b7502ba2
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:00:59 -07:00
Mitchel Humpherys 5aac68feef msm: ADSPRPC: Update driver to create its own device node
Create device node under /dev/adsprpc-smd. Users no longer have to run
mknod after the driver is installed.

Change-Id: I5f5ae4dafc37ce8e87ef2c91358be9bfd5934b8a
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:00:58 -07:00
Mitchel Humpherys 092dc39395 msm: ADSPRPC: Cleanup header and source.
Cleanup header and source to conform with coding guidelines.

Change-Id: I0fba2a7a758930003d5bce9c8ffc0036574736b8
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:00:57 -07:00
Mitchel Humpherys ea3ba8c7f2 msm: Move adsprpc into drivers
Move RPC driver that allows for clients to make remote
invocation calls between apps and adsp into drivers.

Change-Id: I4ff4edfed692576e38070e525ca07537b4e54a5a
Acked-by: Sathish Ambley <sambley@qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 15:32:20 -07:00