Lines Matching refs:arbiter

71 struct arbiter {  struct
95 struct arbiter arbiters[ARBITERS] = argument
131 static void crisv32_arbiter_config(int arbiter, int region, int unused_slots) in crisv32_arbiter_config() argument
149 for (client = 0; client < arbiters[arbiter].nbr_clients; client++) { in crisv32_arbiter_config()
168 if (!arbiters[arbiter].requested_slots[region][client]) { in crisv32_arbiter_config()
174 if (!arbiters[arbiter].active_clients[region][client] || in crisv32_arbiter_config()
184 arbiters[arbiter].requested_slots[region][client]; in crisv32_arbiter_config()
207 while (!arbiters[arbiter].active_clients[region][client]) { in crisv32_arbiter_config()
209 arbiters[arbiter].nbr_clients; in crisv32_arbiter_config()
214 client = (client + 1) % arbiters[arbiter].nbr_clients; in crisv32_arbiter_config()
216 if (arbiter == 0) { in crisv32_arbiter_config()
292 int arbiter = 0; in crisv32_arbiter_allocate_bandwidth() local
297 arbiter = 1; in crisv32_arbiter_allocate_bandwidth()
301 for (i = 0; i < arbiters[arbiter].nbr_clients; i++) { in crisv32_arbiter_allocate_bandwidth()
302 total_assigned += arbiters[arbiter].requested_slots[region][i]; in crisv32_arbiter_allocate_bandwidth()
303 total_clients += arbiters[arbiter].active_clients[region][i]; in crisv32_arbiter_allocate_bandwidth()
321 arbiters[arbiter].active_clients[region][client] = 1; in crisv32_arbiter_allocate_bandwidth()
322 arbiters[arbiter].requested_slots[region][client] = req; in crisv32_arbiter_allocate_bandwidth()
323 crisv32_arbiter_config(arbiter, region, NBR_OF_SLOTS - total_assigned); in crisv32_arbiter_allocate_bandwidth()
326 if (arbiter == 0) in crisv32_arbiter_allocate_bandwidth()
348 int arbiter = 0; in crisv32_arbiter_deallocate_bandwidth() local
351 arbiter = 1; in crisv32_arbiter_deallocate_bandwidth()
353 arbiters[arbiter].requested_slots[region][client] = 0; in crisv32_arbiter_deallocate_bandwidth()
354 arbiters[arbiter].active_clients[region][client] = 0; in crisv32_arbiter_deallocate_bandwidth()
356 for (i = 0; i < arbiters[arbiter].nbr_clients; i++) in crisv32_arbiter_deallocate_bandwidth()
357 total_assigned += arbiters[arbiter].requested_slots[region][i]; in crisv32_arbiter_deallocate_bandwidth()
359 crisv32_arbiter_config(arbiter, region, NBR_OF_SLOTS - total_assigned); in crisv32_arbiter_deallocate_bandwidth()
367 int arbiter; in crisv32_arbiter_watch() local
386 for (arbiter = 0; arbiter < ARBITERS; arbiter++) { in crisv32_arbiter_watch()
387 if (!used[arbiter]) in crisv32_arbiter_watch()
391 if (!watches[arbiter][i].used) { in crisv32_arbiter_watch()
393 if (arbiter) in crisv32_arbiter_watch()
400 watches[arbiter][i].used = 1; in crisv32_arbiter_watch()
401 watches[arbiter][i].start = start; in crisv32_arbiter_watch()
402 watches[arbiter][i].end = start + size; in crisv32_arbiter_watch()
403 watches[arbiter][i].cb = cb; in crisv32_arbiter_watch()
405 ret |= (i + 1) << (arbiter + 8); in crisv32_arbiter_watch()
406 if (arbiter) { in crisv32_arbiter_watch()
408 watches[arbiter][i].instance, in crisv32_arbiter_watch()
410 watches[arbiter][i].start); in crisv32_arbiter_watch()
412 watches[arbiter][i].instance, in crisv32_arbiter_watch()
414 watches[arbiter][i].end); in crisv32_arbiter_watch()
416 watches[arbiter][i].instance, in crisv32_arbiter_watch()
419 watches[arbiter][i].instance, in crisv32_arbiter_watch()
424 watches[arbiter][i].instance, in crisv32_arbiter_watch()
426 watches[arbiter][i].start); in crisv32_arbiter_watch()
428 watches[arbiter][i].instance, in crisv32_arbiter_watch()
430 watches[arbiter][i].end); in crisv32_arbiter_watch()
432 watches[arbiter][i].instance, in crisv32_arbiter_watch()
435 watches[arbiter][i].instance, in crisv32_arbiter_watch()
448 if (arbiter) in crisv32_arbiter_watch()
470 int arbiter; in crisv32_arbiter_unwatch() local
477 for (arbiter = 0; arbiter < ARBITERS; arbiter++) { in crisv32_arbiter_unwatch()
480 if (arbiter) in crisv32_arbiter_unwatch()
487 id2 = (id & (0xff << (arbiter + 8))) >> (arbiter + 8); in crisv32_arbiter_unwatch()
491 if ((id2 >= NUMBER_OF_BP) || (!watches[arbiter][id2].used)) { in crisv32_arbiter_unwatch()
496 memset(&watches[arbiter][id2], 0, in crisv32_arbiter_unwatch()
508 if (arbiter) in crisv32_arbiter_unwatch()
538 unsigned arbiter = (unsigned)dev_id; in crisv32_foo_arbiter_irq() local
543 watch = &watches[arbiter][0]; in crisv32_foo_arbiter_irq()
545 watch = &watches[arbiter][1]; in crisv32_foo_arbiter_irq()
547 watch = &watches[arbiter][2]; in crisv32_foo_arbiter_irq()
549 watch = &watches[arbiter][3]; in crisv32_foo_arbiter_irq()
594 unsigned arbiter = (unsigned)dev_id; in crisv32_bar_arbiter_irq() local
599 watch = &watches[arbiter][0]; in crisv32_bar_arbiter_irq()
601 watch = &watches[arbiter][1]; in crisv32_bar_arbiter_irq()
603 watch = &watches[arbiter][2]; in crisv32_bar_arbiter_irq()
605 watch = &watches[arbiter][3]; in crisv32_bar_arbiter_irq()