diff options
author | Simon Que <sque@ti.com> | 2010-03-25 13:59:49 -0600 |
---|---|---|
committer | Hari Kanigeri <h-kanigeri2@ti.com> | 2010-07-09 17:57:39 -0500 |
commit | 942d4164a7a941061644f62c414b0f0568f3098e (patch) | |
tree | c4b9cb39155ea5e1c3b31beb7a167690ca287602 /arch/arm | |
parent | d39e5d1b0ae9f0a4364057f0056414d234605582 (diff) |
SYSLINK: ipc - transportshm setup module added for SysLink 2.0
Created transportshm_setup module for SysLink 2.0. This module creates
and destroys one transportshm object for each processor in the system.
Also added transportshm_setup proxy layer to be called by messageq.
Signed-off-by: Simon Que <sque@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/plat-omap/include/syslink/transportshm_setup.h | 47 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/syslink/transportshm_setup_proxy.h | 48 |
2 files changed, 95 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/syslink/transportshm_setup.h b/arch/arm/plat-omap/include/syslink/transportshm_setup.h new file mode 100644 index 000000000000..99345773dd8f --- /dev/null +++ b/arch/arm/plat-omap/include/syslink/transportshm_setup.h @@ -0,0 +1,47 @@ +/* + * transportshm_setup.h + * + * Shared Memory Transport setup layer + * + * This file contains the declarations of types and APIs as part + * of interface of the shared memory transport. + * + * Copyright (C) 2008-2009 Texas Instruments, Inc. + * + * This package is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +#ifndef _TRANSPORTSHM_SETUP_H_ +#define _TRANSPORTSHM_SETUP_H_ + +/* Standard headers */ +#include <linux/types.h> + +/* Utilities headers */ +#include <linux/list.h> + +/* ============================================================================= + * APIs called by applications + * ============================================================================= + */ + +/* Function that will be called in messageq_attach */ +int transportshm_setup_attach(u16 remote_proc_id, u32 *shared_addr); + +/* Function that will be called in messageq_detach */ +int transportshm_setup_detach(u16 remote_proc_id); + +/* Function that returns the amount of shared memory required */ +u32 transportshm_setup_shared_mem_req(u32 *shared_addr); + +/* Determines if a transport has been registered to a remote processor */ +bool transportshm_setup_is_registered(u16 remote_proc_id); + +#endif /* _TRANSPORTSHM_SETUP_H_ */ diff --git a/arch/arm/plat-omap/include/syslink/transportshm_setup_proxy.h b/arch/arm/plat-omap/include/syslink/transportshm_setup_proxy.h new file mode 100644 index 000000000000..72eaf400a195 --- /dev/null +++ b/arch/arm/plat-omap/include/syslink/transportshm_setup_proxy.h @@ -0,0 +1,48 @@ +/* + * transportshm_setup_proxy.h + * + * Shared Memory Transport setup layer + * + * This file contains the declarations of types and APIs as part + * of interface of the shared memory transport. + * + * Copyright (C) 2008-2009 Texas Instruments, Inc. + * + * This package is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +#ifndef _TRANSPORTSHM_SETUP_PROXY_H_ +#define _TRANSPORTSHM_SETUP_PROXY_H_ + +/* Module headers */ +#include <transportshm_setup.h> + +/* ============================================================================= + * APIs + * ============================================================================= + */ +/* function that will be called in messageq_attach */ +#define messageq_setup_transport_proxy_attach(remote_proc_id, shared_addr) \ + transportshm_setup_attach(remote_proc_id, \ + shared_addr) + +/* function that will be called in messageq_detach */ +#define messageq_setup_transport_proxy_detach(remote_proc_id) \ + transportshm_setup_detach(remote_proc_id) + +/* Shared memory req function */ +#define messageq_setup_transport_proxy_shared_mem_req(shared_addr) \ + transportshm_setup_shared_mem_req(shared_addr) + +/* is_registered function */ +#define messageq_setup_transport_proxy_is_registered(remote_proc_id) \ + transportshm_setup_is_registered(remote_proc_id) + +#endif /* _TRANSPORTSHM_SETUP_PROXY_H_ */ |