diff options
Diffstat (limited to '')
-rw-r--r-- | drivers/staging/tidspbridge/include/dspbridge/strm.h | 306 |
1 files changed, 0 insertions, 306 deletions
diff --git a/drivers/staging/tidspbridge/include/dspbridge/strm.h b/drivers/staging/tidspbridge/include/dspbridge/strm.h deleted file mode 100644 index 97aee4c63d24..000000000000 --- a/drivers/staging/tidspbridge/include/dspbridge/strm.h +++ /dev/null @@ -1,306 +0,0 @@ -/* - * strm.h - * - * DSP-BIOS Bridge driver support functions for TI OMAP processors. - * - * DSPBridge Stream Manager. - * - * 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 STRM_ -#define STRM_ - -#include <dspbridge/dev.h> - -#include <dspbridge/strmdefs.h> -#include <dspbridge/proc.h> - -/* - * ======== strm_allocate_buffer ======== - * Purpose: - * Allocate data buffer(s) for use with a stream. - * Parameter: - * strmres: Stream resource info handle returned from strm_open(). - * usize: Size (GPP bytes) of the buffer(s). - * num_bufs: Number of buffers to allocate. - * ap_buffer: Array to hold buffer addresses. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -ENOMEM: Insufficient memory. - * -EPERM: Failure occurred, unable to allocate buffers. - * -EINVAL: usize must be > 0 bytes. - * Requires: - * ap_buffer != NULL. - * Ensures: - */ -extern int strm_allocate_buffer(struct strm_res_object *strmres, - u32 usize, - u8 **ap_buffer, - u32 num_bufs, - struct process_context *pr_ctxt); - -/* - * ======== strm_close ======== - * Purpose: - * Close a stream opened with strm_open(). - * Parameter: - * strmres: Stream resource info handle returned from strm_open(). - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -EPIPE: Some data buffers issued to the stream have not - * been reclaimed. - * -EPERM: Failure to close stream. - * Requires: - * Ensures: - */ -extern int strm_close(struct strm_res_object *strmres, - struct process_context *pr_ctxt); - -/* - * ======== strm_create ======== - * Purpose: - * Create a STRM manager object. This object holds information about the - * device needed to open streams. - * Parameters: - * strm_man: Location to store handle to STRM manager object on - * output. - * dev_obj: Device for this processor. - * Returns: - * 0: Success; - * -ENOMEM: Insufficient memory for requested resources. - * -EPERM: General failure. - * Requires: - * strm_man != NULL. - * dev_obj != NULL. - * Ensures: - * 0: Valid *strm_man. - * error: *strm_man == NULL. - */ -extern int strm_create(struct strm_mgr **strm_man, - struct dev_object *dev_obj); - -/* - * ======== strm_delete ======== - * Purpose: - * Delete the STRM Object. - * Parameters: - * strm_mgr_obj: Handle to STRM manager object from strm_create. - * Returns: - * Requires: - * Valid strm_mgr_obj. - * Ensures: - * strm_mgr_obj is not valid. - */ -extern void strm_delete(struct strm_mgr *strm_mgr_obj); - -/* - * ======== strm_free_buffer ======== - * Purpose: - * Free buffer(s) allocated with strm_allocate_buffer. - * Parameter: - * strmres: Stream resource info handle returned from strm_open(). - * ap_buffer: Array containing buffer addresses. - * num_bufs: Number of buffers to be freed. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream handle. - * -EPERM: Failure occurred, unable to free buffers. - * Requires: - * ap_buffer != NULL. - * Ensures: - */ -extern int strm_free_buffer(struct strm_res_object *strmres, - u8 **ap_buffer, u32 num_bufs, - struct process_context *pr_ctxt); - -/* - * ======== strm_get_info ======== - * Purpose: - * Get information about a stream. User's dsp_streaminfo is contained - * in stream_info struct. stream_info also contains Bridge private info. - * Parameters: - * stream_obj: Stream handle returned from strm_open(). - * stream_info: Location to store stream info on output. - * uSteamInfoSize: Size of user's dsp_streaminfo structure. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -EINVAL: stream_info_size < sizeof(dsp_streaminfo). - * -EPERM: Unable to get stream info. - * Requires: - * stream_info != NULL. - * Ensures: - */ -extern int strm_get_info(struct strm_object *stream_obj, - struct stream_info *stream_info, - u32 stream_info_size); - -/* - * ======== strm_idle ======== - * Purpose: - * Idle a stream and optionally flush output data buffers. - * If this is an output stream and flush_data is TRUE, all data currently - * enqueued will be discarded. - * If this is an output stream and flush_data is FALSE, this function - * will block until all currently buffered data is output, or the timeout - * specified has been reached. - * After a successful call to strm_idle(), all buffers can immediately - * be reclaimed. - * Parameters: - * stream_obj: Stream handle returned from strm_open(). - * flush_data: If TRUE, discard output buffers. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -ETIME: A timeout occurred before the stream could be idled. - * -EPERM: Unable to idle stream. - * Requires: - * Ensures: - */ -extern int strm_idle(struct strm_object *stream_obj, bool flush_data); - -/* - * ======== strm_issue ======== - * Purpose: - * Send a buffer of data to a stream. - * Parameters: - * stream_obj: Stream handle returned from strm_open(). - * pbuf: Pointer to buffer of data to be sent to the stream. - * ul_bytes: Number of bytes of data in the buffer. - * ul_buf_size: Actual buffer size in bytes. - * dw_arg: A user argument that travels with the buffer. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -ENOSR: The stream is full. - * -EPERM: Failure occurred, unable to issue buffer. - * Requires: -* pbuf != NULL. - * Ensures: - */ -extern int strm_issue(struct strm_object *stream_obj, u8 * pbuf, - u32 ul_bytes, u32 ul_buf_size, u32 dw_arg); - -/* - * ======== strm_open ======== - * Purpose: - * Open a stream for sending/receiving data buffers to/from a task of - * DAIS socket node on the DSP. - * Parameters: - * hnode: Node handle returned from node_allocate(). - * dir: DSP_TONODE or DSP_FROMNODE. - * index: Stream index. - * pattr: Pointer to structure containing attributes to be - * applied to stream. Cannot be NULL. - * strmres: Location to store stream resource info handle on output. - * Returns: - * 0: Success. - * -EFAULT: Invalid hnode. - * -EPERM: Invalid direction. - * hnode is not a task or DAIS socket node. - * Unable to open stream. - * -EINVAL: Invalid index. - * Requires: - * strmres != NULL. - * pattr != NULL. - * Ensures: - * 0: *strmres is valid. - * error: *strmres == NULL. - */ -extern int strm_open(struct node_object *hnode, u32 dir, - u32 index, struct strm_attr *pattr, - struct strm_res_object **strmres, - struct process_context *pr_ctxt); - -/* - * ======== strm_reclaim ======== - * Purpose: - * Request a buffer back from a stream. - * Parameters: - * stream_obj: Stream handle returned from strm_open(). - * buf_ptr: Location to store pointer to reclaimed buffer. - * nbytes: Location where number of bytes of data in the - * buffer will be written. - * buff_size: Location where actual buffer size will be written. - * pdw_arg: Location where user argument that travels with - * the buffer will be written. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -ETIME: A timeout occurred before a buffer could be - * retrieved. - * -EPERM: Failure occurred, unable to reclaim buffer. - * Requires: - * buf_ptr != NULL. - * nbytes != NULL. - * pdw_arg != NULL. - * Ensures: - */ -extern int strm_reclaim(struct strm_object *stream_obj, - u8 **buf_ptr, u32 * nbytes, - u32 *buff_size, u32 *pdw_arg); - -/* - * ======== strm_register_notify ======== - * Purpose: - * Register to be notified on specific events for this stream. - * Parameters: - * stream_obj: Stream handle returned by strm_open(). - * event_mask: Mask of types of events to be notified about. - * notify_type: Type of notification to be sent. - * hnotification: Handle to be used for notification. - * Returns: - * 0: Success. - * -EFAULT: Invalid stream_obj. - * -ENOMEM: Insufficient memory on GPP. - * -EINVAL: event_mask is invalid. - * -ENOSYS: Notification type specified by notify_type is not - * supported. - * Requires: - * hnotification != NULL. - * Ensures: - */ -extern int strm_register_notify(struct strm_object *stream_obj, - u32 event_mask, u32 notify_type, - struct dsp_notification - *hnotification); - -/* - * ======== strm_select ======== - * Purpose: - * Select a ready stream. - * Parameters: - * strm_tab: Array of stream handles returned from strm_open(). - * strms: Number of stream handles in array. - * pmask: Location to store mask of ready streams on output. - * utimeout: Timeout value (milliseconds). - * Returns: - * 0: Success. - * -EDOM: strms out of range. - - * -EFAULT: Invalid stream handle in array. - * -ETIME: A timeout occurred before a stream became ready. - * -EPERM: Failure occurred, unable to select a stream. - * Requires: - * strm_tab != NULL. - * strms > 0. - * pmask != NULL. - * Ensures: - * 0: *pmask != 0 || utimeout == 0. - * Error: *pmask == 0. - */ -extern int strm_select(struct strm_object **strm_tab, - u32 strms, u32 *pmask, u32 utimeout); - -#endif /* STRM_ */ |