1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#ifndef DSPCHNL_
25#define DSPCHNL_
26
27extern int bridge_chnl_create(struct chnl_mgr **channel_mgr,
28 struct dev_object *hdev_obj,
29 const struct chnl_mgrattrs
30 *mgr_attrts);
31
32extern int bridge_chnl_destroy(struct chnl_mgr *hchnl_mgr);
33
34extern int bridge_chnl_open(struct chnl_object **chnl,
35 struct chnl_mgr *hchnl_mgr,
36 s8 chnl_mode,
37 u32 ch_id,
38 const struct chnl_attr
39 *pattrs);
40
41extern int bridge_chnl_close(struct chnl_object *chnl_obj);
42
43extern int bridge_chnl_add_io_req(struct chnl_object *chnl_obj,
44 void *host_buf,
45 u32 byte_size, u32 buf_size,
46 u32 dw_dsp_addr, u32 dw_arg);
47
48extern int bridge_chnl_get_ioc(struct chnl_object *chnl_obj,
49 u32 timeout, struct chnl_ioc *chan_ioc);
50
51extern int bridge_chnl_cancel_io(struct chnl_object *chnl_obj);
52
53extern int bridge_chnl_flush_io(struct chnl_object *chnl_obj,
54 u32 timeout);
55
56extern int bridge_chnl_get_info(struct chnl_object *chnl_obj,
57 struct chnl_info *channel_info);
58
59extern int bridge_chnl_get_mgr_info(struct chnl_mgr *hchnl_mgr,
60 u32 ch_id, struct chnl_mgrinfo
61 *mgr_info);
62
63extern int bridge_chnl_idle(struct chnl_object *chnl_obj,
64 u32 timeout, bool flush_data);
65
66extern int bridge_chnl_register_notify(struct chnl_object *chnl_obj,
67 u32 event_mask,
68 u32 notify_type,
69 struct dsp_notification
70 *hnotification);
71
72#endif
73