summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: beda3c1)
raw | patch | inline | side by side (parent: beda3c1)
author | Ramsey Harris <ramsey@ti.com> | |
Thu, 5 Sep 2013 19:51:40 +0000 (12:51 -0700) | ||
committer | Chris Ring <cring@ti.com> | |
Thu, 5 Sep 2013 20:10:43 +0000 (13:10 -0700) |
Two structures changed a field name from reserved to fd.
Also aligned the QNX copy of this header to match.
Also aligned the QNX copy of this header to match.
packages/ti/ipc/mm/MmRpc.c | patch | blob | history | |
qnx/src/ipc3x_dev/ti/syslink/inc/ti/ipc/rpmsg_rpc.h | patch | blob | history |
index b9c7e61bfdae7d38e3d5e61abffa90169be44791..d33a13b84b6eb6cfc299b93d0435297b5b9ff3b8 100644 (file)
rpfxn->params[i].size = param->param.scalar.size;
rpfxn->params[i].data = param->param.scalar.data;
rpfxn->params[i].base = 0;
- rpfxn->params[i].reserved = 0;
+ rpfxn->params[i].fd = 0;
break;
case MmRpc_ParamType_Ptr:
rpfxn->params[i].size = param->param.ptr.size;
rpfxn->params[i].data = param->param.ptr.addr;
rpfxn->params[i].base = param->param.ptr.addr;
- rpfxn->params[i].reserved = param->param.ptr.handle;
+ rpfxn->params[i].fd = (size_t)param->param.ptr.handle;
break;
case MmRpc_ParamType_OffPtr:
rpfxn->params[i].data = param->param.offPtr.base +
param->param.offPtr.offset;
rpfxn->params[i].base = param->param.offPtr.base;
- rpfxn->params[i].reserved = param->param.offPtr.handle;
+ rpfxn->params[i].fd = (size_t)param->param.offPtr.handle;
break;
default:
for (i = 0; i < ctx->num_xlts; i++) {
/* pack the pointer translation entry */
- rpfxn->translations[i].index = ctx->xltAry[i].index;
- rpfxn->translations[i].offset = ctx->xltAry[i].offset;
- rpfxn->translations[i].base = ctx->xltAry[i].base;
- rpfxn->translations[i].reserved = ctx->xltAry[i].handle;
+ rpfxn->translations[i].index = ctx->xltAry[i].index;
+ rpfxn->translations[i].offset = ctx->xltAry[i].offset;
+ rpfxn->translations[i].base = ctx->xltAry[i].base;
+ rpfxn->translations[i].fd = (int32_t)ctx->xltAry[i].handle;
}
/* send message for remote execution */
diff --git a/qnx/src/ipc3x_dev/ti/syslink/inc/ti/ipc/rpmsg_rpc.h b/qnx/src/ipc3x_dev/ti/syslink/inc/ti/ipc/rpmsg_rpc.h
index f5da53193b2d5c545896a31a12fcf1116c92780c..e37c74f0ab0817c8498c1cfcbe43ee42e5792987 100644 (file)
* @RPPC_PARAM_TYPE_UNKNOWN: unrecognized parameter
* @RPPC_PARAM_TYPE_ATOMIC: an atomic data type, 1 byte to architecture limit
* sized bytes
- * @RPPC_PARAM_TYPE_PTR: a pointer to shared memory. The reserved field in the
+ * @RPPC_PARAM_TYPE_PTR: a pointer to shared memory. The fd field in the
* structures rppc_param and rppc_param_translation must
* contain the file descriptor of the associated dma_buf
* @RPPC_PARAM_TYPE_STRUCT: (unsupported) a structure type. Will be architecture
/**
* struct rppc_param_translation - pointer translation helper structure
* @index: index of the parameter where the translation needs to be done in.
- * used for indicating the base pointer
- * @offset: offset from the base address to the pointer to translate
+ * used for computing the primary offset and mapping into kernel
+ * the page from the buffer referred to in the correspoding parameter
+ * @offset: offset from the primary base pointer to the pointer to translate.
+ * This is the secondary offset, and used either for mentioning the
+ * offset from an structure array element base, or within a single
+ * structure which itself is at an offset in an allocated buffer
* @base: the base user virtual address of the pointer to translate (used to
- * calculate translated pointer offset).
- * @reserved: reserved field, expected to contain the dma_buf file descriptor.
+ * calculate translated pointer offset)
+ * @fd: dma_buf file descriptor of the allocated buffer pointer within which
+ * the translated pointer is present
*/
struct rppc_param_translation {
uint32_t index;
ptrdiff_t offset;
size_t base;
- size_t reserved;
+ int32_t fd;
};
/**
* struct rppc_param - descriptor structure for each parameter
* @type: type of the parameter, as dictated by enum rppc_param_type
- * @size: size of the data
+ * @size: size of the data (for atomic types) or size of the containing
+ * structure in which translations are performed
* @data: either the parameter value itself (for atomic type) or
* the actual user space pointer address to the data (for pointer type)
* @base: the base user space pointer address of the original allocated buffer,
* providing a reference if data has the pointer that is at an offset
* from the original pointer
- * @reserved: file descriptor of the exported allocation (will be used to
- * import the associated dma_buf within the driver).
+ * @fd: file descriptor of the exported allocation (will be used to
+ * import the associated dma_buf within the driver).
*/
struct rppc_param {
uint32_t type;
size_t size;
size_t data;
size_t base;
- size_t reserved;
+ int32_t fd;
};
/**
* @num_translations: number of in-place translations to be performed within
* the arguments.
* @translations: an open array of the translation descriptor structures, whose
- * length is passed in num_translations. Used for translating
+ * length is given in @num_translations. Used for translating
* the pointers within the function data.
*
* This is the primary descriptor structure passed down from the userspace,
* This is actually a condensed structure of the Remote Command Messaging
* (RCM) structure. The initial fields of the structure are used by the
* remote-side server to schedule the execution of the function. The actual
- * variable payload data starts from the .data field.
+ * variable payload data starts from the .data field. This marshalled packet
+ * is the payload for a rpmsg message.
+ *
* XXX: remove or mask unneeded fields, some fields can be stripped down
*/
struct rppc_packet {