• Home
  • Raw
  • Download

Lines Matching refs:dispatch

711 	oct->dispatch.dlist = (struct octeon_dispatch *)  in octeon_allocate_device_mem()
1016 oct->dispatch.count = 0; in octeon_init_dispatch_list()
1019 oct->dispatch.dlist[i].opcode = 0; in octeon_init_dispatch_list()
1020 INIT_LIST_HEAD(&oct->dispatch.dlist[i].list); in octeon_init_dispatch_list()
1026 spin_lock_init(&oct->dispatch.lock); in octeon_init_dispatch_list()
1038 spin_lock_bh(&oct->dispatch.lock); in octeon_delete_dispatch_list()
1041 struct list_head *dispatch; in octeon_delete_dispatch_list() local
1043 dispatch = &oct->dispatch.dlist[i].list; in octeon_delete_dispatch_list()
1044 while (dispatch->next != dispatch) { in octeon_delete_dispatch_list()
1045 temp = dispatch->next; in octeon_delete_dispatch_list()
1049 oct->dispatch.dlist[i].opcode = 0; in octeon_delete_dispatch_list()
1052 oct->dispatch.count = 0; in octeon_delete_dispatch_list()
1054 spin_unlock_bh(&oct->dispatch.lock); in octeon_delete_dispatch_list()
1067 struct list_head *dispatch; in octeon_get_dispatch() local
1073 spin_lock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1075 if (octeon_dev->dispatch.count == 0) { in octeon_get_dispatch()
1076 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1080 if (!(octeon_dev->dispatch.dlist[idx].opcode)) { in octeon_get_dispatch()
1081 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1085 if (octeon_dev->dispatch.dlist[idx].opcode == combined_opcode) { in octeon_get_dispatch()
1086 fn = octeon_dev->dispatch.dlist[idx].dispatch_fn; in octeon_get_dispatch()
1088 list_for_each(dispatch, in octeon_get_dispatch()
1089 &octeon_dev->dispatch.dlist[idx].list) { in octeon_get_dispatch()
1090 if (((struct octeon_dispatch *)dispatch)->opcode == in octeon_get_dispatch()
1093 dispatch)->dispatch_fn; in octeon_get_dispatch()
1099 spin_unlock_bh(&octeon_dev->dispatch.lock); in octeon_get_dispatch()
1132 spin_lock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1134 if (oct->dispatch.dlist[idx].opcode == 0) { in octeon_register_dispatch_fn()
1135 oct->dispatch.dlist[idx].opcode = combined_opcode; in octeon_register_dispatch_fn()
1136 oct->dispatch.dlist[idx].dispatch_fn = fn; in octeon_register_dispatch_fn()
1137 oct->dispatch.dlist[idx].arg = fn_arg; in octeon_register_dispatch_fn()
1138 oct->dispatch.count++; in octeon_register_dispatch_fn()
1139 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1143 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1150 struct octeon_dispatch *dispatch; in octeon_register_dispatch_fn() local
1154 dispatch = kmalloc(sizeof(*dispatch), GFP_KERNEL); in octeon_register_dispatch_fn()
1155 if (!dispatch) in octeon_register_dispatch_fn()
1158 dispatch->opcode = combined_opcode; in octeon_register_dispatch_fn()
1159 dispatch->dispatch_fn = fn; in octeon_register_dispatch_fn()
1160 dispatch->arg = fn_arg; in octeon_register_dispatch_fn()
1165 spin_lock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()
1166 list_add(&dispatch->list, &oct->dispatch.dlist[idx].list); in octeon_register_dispatch_fn()
1167 oct->dispatch.count++; in octeon_register_dispatch_fn()
1168 spin_unlock_bh(&oct->dispatch.lock); in octeon_register_dispatch_fn()