Lines Matching refs:wqcb

528 		struct hw_wq_callback *wqcb;  in efct_hw_setup_io()  local
539 wqcb = efct_hw_reqtag_alloc(hw, efct_hw_wq_process_io, io); in efct_hw_setup_io()
540 if (!wqcb) { in efct_hw_setup_io()
544 io->reqtag = wqcb->instance_index; in efct_hw_setup_io()
1853 struct hw_wq_callback *wqcb; in efct_hw_wq_process_abort() local
1897 wqcb = efct_hw_reqtag_get_instance(hw, io->abort_reqtag); in efct_hw_wq_process_abort()
1898 efct_hw_reqtag_free(hw, wqcb); in efct_hw_wq_process_abort()
1933 struct hw_wq_callback *wqcb; in efct_hw_io_abort() local
1997 wqcb = efct_hw_reqtag_alloc(hw, efct_hw_wq_process_abort, io_to_abort); in efct_hw_io_abort()
1998 if (!wqcb) { in efct_hw_io_abort()
2003 io_to_abort->abort_reqtag = wqcb->instance_index; in efct_hw_io_abort()
2044 struct hw_wq_callback *wqcb = NULL; in efct_hw_reqtag_pool_free() local
2048 wqcb = reqtag_pool->tags[i]; in efct_hw_reqtag_pool_free()
2049 if (!wqcb) in efct_hw_reqtag_pool_free()
2052 kfree(wqcb); in efct_hw_reqtag_pool_free()
2064 struct hw_wq_callback *wqcb; in efct_hw_reqtag_pool_alloc() local
2074 wqcb = kmalloc(sizeof(*wqcb), GFP_KERNEL); in efct_hw_reqtag_pool_alloc()
2075 if (!wqcb) in efct_hw_reqtag_pool_alloc()
2078 reqtag_pool->tags[i] = wqcb; in efct_hw_reqtag_pool_alloc()
2079 wqcb->instance_index = i; in efct_hw_reqtag_pool_alloc()
2080 wqcb->callback = NULL; in efct_hw_reqtag_pool_alloc()
2081 wqcb->arg = NULL; in efct_hw_reqtag_pool_alloc()
2082 INIT_LIST_HEAD(&wqcb->list_entry); in efct_hw_reqtag_pool_alloc()
2083 list_add_tail(&wqcb->list_entry, &reqtag_pool->freelist); in efct_hw_reqtag_pool_alloc()
2094 struct hw_wq_callback *wqcb = NULL; in efct_hw_reqtag_alloc() local
2099 return wqcb; in efct_hw_reqtag_alloc()
2104 wqcb = list_first_entry(&reqtag_pool->freelist, in efct_hw_reqtag_alloc()
2108 if (wqcb) { in efct_hw_reqtag_alloc()
2109 list_del_init(&wqcb->list_entry); in efct_hw_reqtag_alloc()
2111 wqcb->callback = callback; in efct_hw_reqtag_alloc()
2112 wqcb->arg = arg; in efct_hw_reqtag_alloc()
2117 return wqcb; in efct_hw_reqtag_alloc()
2121 efct_hw_reqtag_free(struct efct_hw *hw, struct hw_wq_callback *wqcb) in efct_hw_reqtag_free() argument
2126 if (!wqcb->callback) in efct_hw_reqtag_free()
2130 wqcb->callback = NULL; in efct_hw_reqtag_free()
2131 wqcb->arg = NULL; in efct_hw_reqtag_free()
2132 INIT_LIST_HEAD(&wqcb->list_entry); in efct_hw_reqtag_free()
2133 list_add(&wqcb->list_entry, &hw->wq_reqtag_pool->freelist); in efct_hw_reqtag_free()
2140 struct hw_wq_callback *wqcb; in efct_hw_reqtag_get_instance() local
2142 wqcb = hw->wq_reqtag_pool->tags[instance_index]; in efct_hw_reqtag_get_instance()
2143 if (!wqcb) in efct_hw_reqtag_get_instance()
2147 return wqcb; in efct_hw_reqtag_get_instance()
2415 struct hw_wq_callback *wqcb; in efct_hw_wq_process() local
2424 wqcb = efct_hw_reqtag_get_instance(hw, rid); in efct_hw_wq_process()
2425 if (!wqcb) { in efct_hw_wq_process()
2430 if (!wqcb->callback) { in efct_hw_wq_process()
2435 (*wqcb->callback)(wqcb->arg, cqe, status); in efct_hw_wq_process()
2986 ctx->wqcb = efct_hw_reqtag_alloc(hw, callback, arg); in efct_hw_send_frame()
2987 if (!ctx->wqcb) { in efct_hw_send_frame()
3003 ctx->wqcb->instance_index); in efct_hw_send_frame()