Lines Matching defs:qhandle

25 int ia_css_queue_local_init(ia_css_queue_t *qhandle, ia_css_queue_local_t *desc)
27 if (NULL == qhandle || NULL == desc
34 qhandle->type = IA_CSS_QUEUE_TYPE_LOCAL;
37 ia_css_circbuf_create(&qhandle->desc.cb_local,
44 int ia_css_queue_remote_init(ia_css_queue_t *qhandle, ia_css_queue_remote_t *desc)
46 if (NULL == qhandle || NULL == desc) {
52 qhandle->type = IA_CSS_QUEUE_TYPE_REMOTE;
55 qhandle->location = desc->location;
56 qhandle->proc_id = desc->proc_id;
57 qhandle->desc.remote.cb_desc_addr = desc->cb_desc_addr;
58 qhandle->desc.remote.cb_elems_addr = desc->cb_elems_addr;
68 int ia_css_queue_uninit(ia_css_queue_t *qhandle)
70 if (!qhandle)
74 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
76 ia_css_circbuf_destroy(&qhandle->desc.cb_local);
82 int ia_css_queue_enqueue(ia_css_queue_t *qhandle, uint32_t item)
86 if (!qhandle)
90 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
94 if (ia_css_circbuf_is_full(&qhandle->desc.cb_local)) {
100 ia_css_circbuf_push(&qhandle->desc.cb_local, item);
101 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
108 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
118 error = ia_css_queue_item_store(qhandle, cb_desc.end, &cb_elem);
131 error = ia_css_queue_store(qhandle, &cb_desc, ignore_desc_flags);
139 int ia_css_queue_dequeue(ia_css_queue_t *qhandle, uint32_t *item)
143 if (!qhandle || NULL == item)
147 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
151 if (ia_css_circbuf_is_empty(&qhandle->desc.cb_local)) {
156 *item = ia_css_circbuf_pop(&qhandle->desc.cb_local);
157 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
165 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
173 error = ia_css_queue_item_load(qhandle, cb_desc.start, &cb_elem);
187 error = ia_css_queue_store(qhandle, &cb_desc, ignore_desc_flags);
194 int ia_css_queue_is_full(ia_css_queue_t *qhandle, bool *is_full)
198 if ((!qhandle) || (!is_full))
202 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
206 *is_full = ia_css_circbuf_is_full(&qhandle->desc.cb_local);
208 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
214 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
226 int ia_css_queue_get_free_space(ia_css_queue_t *qhandle, uint32_t *size)
230 if ((!qhandle) || (!size))
234 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
238 *size = ia_css_circbuf_get_free_elems(&qhandle->desc.cb_local);
240 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
246 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
258 int ia_css_queue_get_used_space(ia_css_queue_t *qhandle, uint32_t *size)
262 if ((!qhandle) || (!size))
266 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
270 *size = ia_css_circbuf_get_num_elems(&qhandle->desc.cb_local);
272 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
278 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
290 int ia_css_queue_peek(ia_css_queue_t *qhandle, u32 offset, uint32_t *element)
295 if ((!qhandle) || (!element))
299 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
304 num_elems = ia_css_circbuf_get_num_elems(&qhandle->desc.cb_local);
308 *element = ia_css_circbuf_peek_from_start(&qhandle->desc.cb_local, (int)offset);
310 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
318 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
328 error = ia_css_queue_item_load(qhandle, (uint8_t)offset, &cb_elem);
339 int ia_css_queue_is_empty(ia_css_queue_t *qhandle, bool *is_empty)
343 if ((!qhandle) || (!is_empty))
347 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
351 *is_empty = ia_css_circbuf_is_empty(&qhandle->desc.cb_local);
353 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
359 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);
371 int ia_css_queue_get_size(ia_css_queue_t *qhandle, uint32_t *size)
375 if ((!qhandle) || (!size))
379 if (qhandle->type == IA_CSS_QUEUE_TYPE_LOCAL) {
384 *size = ia_css_circbuf_get_size(&qhandle->desc.cb_local);
385 } else if (qhandle->type == IA_CSS_QUEUE_TYPE_REMOTE) {
392 error = ia_css_queue_load(qhandle, &cb_desc, ignore_desc_flags);