diff options
Diffstat (limited to 'drivers/staging/tidspbridge/include/dspbridge/disp.h')
-rw-r--r-- | drivers/staging/tidspbridge/include/dspbridge/disp.h | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/drivers/staging/tidspbridge/include/dspbridge/disp.h b/drivers/staging/tidspbridge/include/dspbridge/disp.h deleted file mode 100644 index 39d3cea9ca8b..000000000000 --- a/drivers/staging/tidspbridge/include/dspbridge/disp.h +++ /dev/null @@ -1,186 +0,0 @@ -/* - * disp.h - * - * DSP-BIOS Bridge driver support functions for TI OMAP processors. - * - * DSP/BIOS Bridge Node Dispatcher. - * - * Copyright (C) 2005-2006 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 DISP_ -#define DISP_ - -#include <dspbridge/dbdefs.h> -#include <dspbridge/nodedefs.h> -#include <dspbridge/nodepriv.h> - -struct disp_object; - -/* Node Dispatcher attributes */ -struct disp_attr { - u32 chnl_offset; /* Offset of channel ids reserved for RMS */ - /* Size of buffer for sending data to RMS */ - u32 chnl_buf_size; - int proc_family; /* eg, 5000 */ - int proc_type; /* eg, 5510 */ - void *reserved1; /* Reserved for future use. */ - u32 reserved2; /* Reserved for future use. */ -}; - - -/* - * ======== disp_create ======== - * Create a NODE Dispatcher object. This object handles the creation, - * deletion, and execution of nodes on the DSP target, through communication - * with the Resource Manager Server running on the target. Each NODE - * Manager object should have exactly one NODE Dispatcher. - * - * Parameters: - * dispatch_obj: Location to store node dispatcher object on output. - * hdev_obj: Device for this processor. - * disp_attrs: Node dispatcher attributes. - * Returns: - * 0: Success; - * -ENOMEM: Insufficient memory for requested resources. - * -EPERM: Unable to create dispatcher. - * Requires: - * disp_attrs != NULL. - * hdev_obj != NULL. - * dispatch_obj != NULL. - * Ensures: - * 0: IS_VALID(*dispatch_obj). - * error: *dispatch_obj == NULL. - */ -extern int disp_create(struct disp_object **dispatch_obj, - struct dev_object *hdev_obj, - const struct disp_attr *disp_attrs); - -/* - * ======== disp_delete ======== - * Delete the NODE Dispatcher. - * - * Parameters: - * disp_obj: Node Dispatcher object. - * Returns: - * Requires: - * Valid disp_obj. - * Ensures: - * disp_obj is invalid. - */ -extern void disp_delete(struct disp_object *disp_obj); - -/* - * ======== disp_node_change_priority ======== - * Change the priority of a node currently running on the target. - * - * Parameters: - * disp_obj: Node Dispatcher object. - * hnode: Node object representing a node currently - * allocated or running on the DSP. - * ulFxnAddress: Address of RMS function for changing priority. - * node_env: Address of node's environment structure. - * prio: New priority level to set node's priority to. - * Returns: - * 0: Success. - * -ETIME: A timeout occurred before the DSP responded. - * Requires: - * Valid disp_obj. - * hnode != NULL. - * Ensures: - */ -extern int disp_node_change_priority(struct disp_object - *disp_obj, - struct node_object *hnode, - u32 rms_fxn, - nodeenv node_env, s32 prio); - -/* - * ======== disp_node_create ======== - * Create a node on the DSP by remotely calling the node's create function. - * - * Parameters: - * disp_obj: Node Dispatcher object. - * hnode: Node handle obtained from node_allocate(). - * ul_fxn_addr: Address or RMS create node function. - * ul_create_fxn: Address of node's create function. - * pargs: Arguments to pass to RMS node create function. - * node_env: Location to store node environment pointer on - * output. - * Returns: - * 0: Success. - * -ETIME: A timeout occurred before the DSP responded. - * -EPERM: A failure occurred, unable to create node. - * Requires: - * Valid disp_obj. - * pargs != NULL. - * hnode != NULL. - * node_env != NULL. - * node_get_type(hnode) != NODE_DEVICE. - * Ensures: - */ -extern int disp_node_create(struct disp_object *disp_obj, - struct node_object *hnode, - u32 rms_fxn, - u32 ul_create_fxn, - const struct node_createargs - *pargs, nodeenv *node_env); - -/* - * ======== disp_node_delete ======== - * Delete a node on the DSP by remotely calling the node's delete function. - * - * Parameters: - * disp_obj: Node Dispatcher object. - * hnode: Node object representing a node currently - * loaded on the DSP. - * ul_fxn_addr: Address or RMS delete node function. - * ul_delete_fxn: Address of node's delete function. - * node_env: Address of node's environment structure. - * Returns: - * 0: Success. - * -ETIME: A timeout occurred before the DSP responded. - * Requires: - * Valid disp_obj. - * hnode != NULL. - * Ensures: - */ -extern int disp_node_delete(struct disp_object *disp_obj, - struct node_object *hnode, - u32 rms_fxn, - u32 ul_delete_fxn, nodeenv node_env); - -/* - * ======== disp_node_run ======== - * Start execution of a node's execute phase, or resume execution of a node - * that has been suspended (via DISP_NodePause()) on the DSP. - * - * Parameters: - * disp_obj: Node Dispatcher object. - * hnode: Node object representing a node to be executed - * on the DSP. - * ul_fxn_addr: Address or RMS node execute function. - * ul_execute_fxn: Address of node's execute function. - * node_env: Address of node's environment structure. - * Returns: - * 0: Success. - * -ETIME: A timeout occurred before the DSP responded. - * Requires: - * Valid disp_obj. - * hnode != NULL. - * Ensures: - */ -extern int disp_node_run(struct disp_object *disp_obj, - struct node_object *hnode, - u32 rms_fxn, - u32 ul_execute_fxn, nodeenv node_env); - -#endif /* DISP_ */ |