Lines Matching full:dispatch

531 	"BEGIN", "PCI-ENABLE-DONE", "PCI-MAP-DONE", "DISPATCH-INIT-DONE",
714 oct->dispatch.dlist = (struct octeon_dispatch *) in octeon_allocate_device_mem()
1027 oct->dispatch.count = 0; in octeon_init_dispatch_list()
1030 oct->dispatch.dlist[i].opcode = 0; in octeon_init_dispatch_list()
1031 INIT_LIST_HEAD(&oct->dispatch.dlist[i].list); in octeon_init_dispatch_list()
1037 spin_lock_init(&oct->dispatch.lock); in octeon_init_dispatch_list()
1050 spin_lock_bh(&oct->dispatch.lock); in octeon_delete_dispatch_list()
1053 struct list_head *dispatch; in octeon_delete_dispatch_list() local
1055 dispatch = &oct->dispatch.dlist[i].list; in octeon_delete_dispatch_list()
1056 while (dispatch->next != dispatch) { in octeon_delete_dispatch_list()
1057 temp = dispatch->next; in octeon_delete_dispatch_list()
1061 oct->dispatch.dlist[i].opcode = 0; in octeon_delete_dispatch_list()
1064 oct->dispatch.count = 0; in octeon_delete_dispatch_list()
1066 spin_unlock_bh(&oct->dispatch.lock); in octeon_delete_dispatch_list()
1080 struct list_head *dispatch; in octeon_get_dispatch() local
1086 spin_lock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1088 if (octeon_dev->dispatch.count == 0) { in octeon_get_dispatch()
1089 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1093 if (!(octeon_dev->dispatch.dlist[idx].opcode)) { in octeon_get_dispatch()
1094 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1098 if (octeon_dev->dispatch.dlist[idx].opcode == combined_opcode) { in octeon_get_dispatch()
1099 fn = octeon_dev->dispatch.dlist[idx].dispatch_fn; in octeon_get_dispatch()
1101 list_for_each(dispatch, in octeon_get_dispatch()
1102 &octeon_dev->dispatch.dlist[idx].list) { in octeon_get_dispatch()
1103 if (((struct octeon_dispatch *)dispatch)->opcode == in octeon_get_dispatch()
1106 dispatch)->dispatch_fn; in octeon_get_dispatch()
1112 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1145 spin_lock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1146 /* Add dispatch function to first level of lookup table */ in octeon_register_dispatch_fn()
1147 if (oct->dispatch.dlist[idx].opcode == 0) { in octeon_register_dispatch_fn()
1148 oct->dispatch.dlist[idx].opcode = combined_opcode; in octeon_register_dispatch_fn()
1149 oct->dispatch.dlist[idx].dispatch_fn = fn; in octeon_register_dispatch_fn()
1150 oct->dispatch.dlist[idx].arg = fn_arg; in octeon_register_dispatch_fn()
1151 oct->dispatch.count++; in octeon_register_dispatch_fn()
1152 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1156 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1163 struct octeon_dispatch *dispatch; in octeon_register_dispatch_fn() local
1166 "Adding opcode to dispatch list linked list\n"); in octeon_register_dispatch_fn()
1167 dispatch = kmalloc(sizeof(*dispatch), GFP_KERNEL); in octeon_register_dispatch_fn()
1168 if (!dispatch) in octeon_register_dispatch_fn()
1171 dispatch->opcode = combined_opcode; in octeon_register_dispatch_fn()
1172 dispatch->dispatch_fn = fn; in octeon_register_dispatch_fn()
1173 dispatch->arg = fn_arg; in octeon_register_dispatch_fn()
1175 /* Add dispatch function to linked list of fn ptrs in octeon_register_dispatch_fn()
1178 spin_lock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1179 list_add(&dispatch->list, &oct->dispatch.dlist[idx].list); in octeon_register_dispatch_fn()
1180 oct->dispatch.count++; in octeon_register_dispatch_fn()
1181 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1189 "Found previously registered dispatch fn for opcode/subcode: %x/%x\n", in octeon_register_dispatch_fn()