adsprpc: Enable fastrpc trusted driver
Fixes to fastrpc trusted driver to run on TVM. Added a workqueue for receiving kernel packets. Changed array allocation of kernel sockets to save space. Original design was allocating static 2-d array glist_session_ctrl for all possible subsystems and domains. New implementation is allocating staic 2-d reference array. Each entry in the array will only be allocated if remote domain is supported. Change-Id: I303375822714aa6f8eadf525b09326aa05714fd7 Signed-off-by: Edgar Flores <quic_edgarf@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
557a709244
commit
ed0b528087
@@ -21,7 +21,7 @@ struct frpc_transport_session_control {
|
||||
|
||||
static struct frpc_transport_session_control rpmsg_session_control[NUM_CHANNELS];
|
||||
|
||||
inline int verify_transport_device(int cid, bool trusted_vm)
|
||||
inline int verify_transport_device(int cid, int tvm_remote_domain)
|
||||
{
|
||||
int err = 0;
|
||||
struct frpc_transport_session_control *rpmsg_session = &rpmsg_session_control[cid];
|
||||
@@ -197,7 +197,7 @@ int fastrpc_wait_for_transport_interrupt(int cid,
|
||||
return err;
|
||||
}
|
||||
|
||||
int fastrpc_transport_send(int cid, void *rpc_msg, uint32_t rpc_msg_size, bool trusted_vm)
|
||||
int fastrpc_transport_send(int cid, void *rpc_msg, uint32_t rpc_msg_size, int tvm_remote_domain)
|
||||
{
|
||||
int err = 0;
|
||||
struct frpc_transport_session_control *rpmsg_session = &rpmsg_session_control[cid];
|
||||
@@ -256,6 +256,12 @@ inline void fastrpc_transport_session_deinit(int cid)
|
||||
mutex_destroy(&rpmsg_session_control[cid].rpmsg_mutex);
|
||||
}
|
||||
|
||||
int fastrpc_set_tvm_remote_domain(struct fastrpc_file *fl, struct fastrpc_ioctl_init *init)
|
||||
{
|
||||
fl->tvm_remote_domain = -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int fastrpc_transport_init(void)
|
||||
{
|
||||
int err = 0;
|
||||
|
Reference in New Issue
Block a user