Lines Matching refs:dispatch
712 oct->dispatch.dlist = (struct octeon_dispatch *) in octeon_allocate_device_mem()
1017 oct->dispatch.count = 0; in octeon_init_dispatch_list()
1020 oct->dispatch.dlist[i].opcode = 0; in octeon_init_dispatch_list()
1021 INIT_LIST_HEAD(&oct->dispatch.dlist[i].list); in octeon_init_dispatch_list()
1027 spin_lock_init(&oct->dispatch.lock); in octeon_init_dispatch_list()
1039 spin_lock_bh(&oct->dispatch.lock); in octeon_delete_dispatch_list()
1042 struct list_head *dispatch; in octeon_delete_dispatch_list() local
1044 dispatch = &oct->dispatch.dlist[i].list; in octeon_delete_dispatch_list()
1045 while (dispatch->next != dispatch) { in octeon_delete_dispatch_list()
1046 temp = dispatch->next; in octeon_delete_dispatch_list()
1051 oct->dispatch.dlist[i].opcode = 0; in octeon_delete_dispatch_list()
1054 oct->dispatch.count = 0; in octeon_delete_dispatch_list()
1056 spin_unlock_bh(&oct->dispatch.lock); in octeon_delete_dispatch_list()
1069 struct list_head *dispatch; in octeon_get_dispatch() local
1075 spin_lock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1077 if (octeon_dev->dispatch.count == 0) { in octeon_get_dispatch()
1078 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1082 if (!(octeon_dev->dispatch.dlist[idx].opcode)) { in octeon_get_dispatch()
1083 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1087 if (octeon_dev->dispatch.dlist[idx].opcode == combined_opcode) { in octeon_get_dispatch()
1088 fn = octeon_dev->dispatch.dlist[idx].dispatch_fn; in octeon_get_dispatch()
1090 list_for_each(dispatch, in octeon_get_dispatch()
1091 &octeon_dev->dispatch.dlist[idx].list) { in octeon_get_dispatch()
1092 if (((struct octeon_dispatch *)dispatch)->opcode == in octeon_get_dispatch()
1095 dispatch)->dispatch_fn; in octeon_get_dispatch()
1101 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1134 spin_lock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1136 if (oct->dispatch.dlist[idx].opcode == 0) { in octeon_register_dispatch_fn()
1137 oct->dispatch.dlist[idx].opcode = combined_opcode; in octeon_register_dispatch_fn()
1138 oct->dispatch.dlist[idx].dispatch_fn = fn; in octeon_register_dispatch_fn()
1139 oct->dispatch.dlist[idx].arg = fn_arg; in octeon_register_dispatch_fn()
1140 oct->dispatch.count++; in octeon_register_dispatch_fn()
1141 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1145 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1152 struct octeon_dispatch *dispatch; in octeon_register_dispatch_fn() local
1156 dispatch = (struct octeon_dispatch *) in octeon_register_dispatch_fn()
1158 if (!dispatch) { in octeon_register_dispatch_fn()
1163 dispatch->opcode = combined_opcode; in octeon_register_dispatch_fn()
1164 dispatch->dispatch_fn = fn; in octeon_register_dispatch_fn()
1165 dispatch->arg = fn_arg; in octeon_register_dispatch_fn()
1170 spin_lock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1171 list_add(&dispatch->list, &oct->dispatch.dlist[idx].list); in octeon_register_dispatch_fn()
1172 oct->dispatch.count++; in octeon_register_dispatch_fn()
1173 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()