diff options
Diffstat (limited to 'drivers/staging/tidspbridge/include/dspbridge/dspchnl.h')
-rw-r--r-- | drivers/staging/tidspbridge/include/dspbridge/dspchnl.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspchnl.h b/drivers/staging/tidspbridge/include/dspbridge/dspchnl.h new file mode 100644 index 000000000000..7146a5057e29 --- /dev/null +++ b/drivers/staging/tidspbridge/include/dspbridge/dspchnl.h @@ -0,0 +1,72 @@ +/* + * dspchnl.h + * + * DSP-BIOS Bridge driver support functions for TI OMAP processors. + * + * Declares the upper edge channel class library functions required by + * all Bridge driver / DSP API driver interface tables. These functions are + * implemented by every class of Bridge channel library. + * + * Notes: + * The function comment headers reside in dspdefs.h. + * + * 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 DSPCHNL_ +#define DSPCHNL_ + +extern int bridge_chnl_create(struct chnl_mgr **channel_mgr, + struct dev_object *hdev_obj, + const struct chnl_mgrattrs + *mgr_attrts); + +extern int bridge_chnl_destroy(struct chnl_mgr *hchnl_mgr); + +extern int bridge_chnl_open(struct chnl_object **chnl, + struct chnl_mgr *hchnl_mgr, + s8 chnl_mode, + u32 ch_id, + const struct chnl_attr + *pattrs); + +extern int bridge_chnl_close(struct chnl_object *chnl_obj); + +extern int bridge_chnl_add_io_req(struct chnl_object *chnl_obj, + void *host_buf, + u32 byte_size, u32 buf_size, + u32 dw_dsp_addr, u32 dw_arg); + +extern int bridge_chnl_get_ioc(struct chnl_object *chnl_obj, + u32 timeout, struct chnl_ioc *chan_ioc); + +extern int bridge_chnl_cancel_io(struct chnl_object *chnl_obj); + +extern int bridge_chnl_flush_io(struct chnl_object *chnl_obj, + u32 timeout); + +extern int bridge_chnl_get_info(struct chnl_object *chnl_obj, + struct chnl_info *channel_info); + +extern int bridge_chnl_get_mgr_info(struct chnl_mgr *hchnl_mgr, + u32 ch_id, struct chnl_mgrinfo + *mgr_info); + +extern int bridge_chnl_idle(struct chnl_object *chnl_obj, + u32 timeout, bool flush_data); + +extern int bridge_chnl_register_notify(struct chnl_object *chnl_obj, + u32 event_mask, + u32 notify_type, + struct dsp_notification + *hnotification); + +#endif /* DSPCHNL_ */ |