Lines Matching refs:count

127 			int start, int count, int auto_ack)  in qdio_do_eqbs()  argument
129 int rc, tmp_count = count, tmp_start = start, nr = q->nr, retried = 0; in qdio_do_eqbs()
141 return count - tmp_count; in qdio_do_eqbs()
159 return count - tmp_count; in qdio_do_eqbs()
163 DBF_ERROR("%3d%3d%2d", count, tmp_count, nr); in qdio_do_eqbs()
165 q->nr, q->first_to_kick, count, q->irq_ptr->int_parm); in qdio_do_eqbs()
181 int count) in qdio_do_sqbs() argument
184 int tmp_count = count, tmp_start = start; in qdio_do_sqbs()
188 if (!count) in qdio_do_sqbs()
199 return count - tmp_count; in qdio_do_sqbs()
209 DBF_ERROR("%3d%3d%2d", count, tmp_count, nr); in qdio_do_sqbs()
211 q->nr, q->first_to_kick, count, q->irq_ptr->int_parm); in qdio_do_sqbs()
217 unsigned char *state, unsigned int count, in get_buf_states() argument
224 return qdio_do_eqbs(q, state, bufnr, count, auto_ack); in get_buf_states()
226 for (i = 0; i < count; i++) { in get_buf_states()
250 unsigned char state, int count) in set_buf_states() argument
255 return qdio_do_sqbs(q, state, bufnr, count); in set_buf_states()
257 for (i = 0; i < count; i++) { in set_buf_states()
261 return count; in set_buf_states()
412 static inline void account_sbals(struct qdio_q *q, unsigned int count) in account_sbals() argument
416 q->q_stats.nr_sbal_total += count; in account_sbals()
417 if (count == QDIO_MAX_BUFFERS_MASK) { in account_sbals()
421 pos = ilog2(count); in account_sbals()
425 static void process_buffer_error(struct qdio_q *q, int count) in process_buffer_error() argument
443 DBF_ERROR("FTC:%3d C:%3d", q->first_to_check, count); in process_buffer_error()
453 set_buf_states(q, q->first_to_check, state, count); in process_buffer_error()
456 static inline void inbound_primed(struct qdio_q *q, int count) in inbound_primed() argument
460 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "in prim: %02x", count); in inbound_primed()
466 q->u.in.ack_count = count; in inbound_primed()
474 q->u.in.ack_count = count; in inbound_primed()
483 new = add_buf(q->first_to_check, count - 1); in inbound_primed()
494 count--; in inbound_primed()
495 if (!count) in inbound_primed()
498 set_buf_states(q, q->first_to_check, SLSB_P_INPUT_NOT_INIT, count); in inbound_primed()
503 int count, stop; in get_inbound_buffer_frontier() local
512 count = min(atomic_read(&q->nr_buf_used), QDIO_MAX_BUFFERS_MASK); in get_inbound_buffer_frontier()
513 stop = add_buf(q->first_to_check, count); in get_inbound_buffer_frontier()
522 count = get_buf_states(q, q->first_to_check, &state, count, 1, 0); in get_inbound_buffer_frontier()
523 if (!count) in get_inbound_buffer_frontier()
528 inbound_primed(q, count); in get_inbound_buffer_frontier()
529 q->first_to_check = add_buf(q->first_to_check, count); in get_inbound_buffer_frontier()
530 if (atomic_sub_return(count, &q->nr_buf_used) == 0) in get_inbound_buffer_frontier()
533 account_sbals(q, count); in get_inbound_buffer_frontier()
536 process_buffer_error(q, count); in get_inbound_buffer_frontier()
537 q->first_to_check = add_buf(q->first_to_check, count); in get_inbound_buffer_frontier()
538 atomic_sub(count, &q->nr_buf_used); in get_inbound_buffer_frontier()
540 account_sbals_error(q, count); in get_inbound_buffer_frontier()
610 static inline void qdio_handle_aobs(struct qdio_q *q, int start, int count) in qdio_handle_aobs() argument
618 for (j = 0; j < count; ++j) { in qdio_handle_aobs()
663 int count; in qdio_kick_handler() local
668 count = sub_buf(end, start); in qdio_kick_handler()
672 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "kih s:%02x c:%02x", start, count); in qdio_kick_handler()
676 start, count); in qdio_kick_handler()
679 qdio_handle_aobs(q, start, count); in qdio_kick_handler()
681 q->handler(q->irq_ptr->cdev, q->qdio_error, q->nr, start, count, in qdio_kick_handler()
727 int count, stop; in get_outbound_buffer_frontier() local
743 count = min(atomic_read(&q->nr_buf_used), QDIO_MAX_BUFFERS_MASK); in get_outbound_buffer_frontier()
744 stop = add_buf(q->first_to_check, count); in get_outbound_buffer_frontier()
748 count = get_buf_states(q, q->first_to_check, &state, count, 0, 1); in get_outbound_buffer_frontier()
749 if (!count) in get_outbound_buffer_frontier()
756 "out empty:%1d %02x", q->nr, count); in get_outbound_buffer_frontier()
758 atomic_sub(count, &q->nr_buf_used); in get_outbound_buffer_frontier()
759 q->first_to_check = add_buf(q->first_to_check, count); in get_outbound_buffer_frontier()
761 account_sbals(q, count); in get_outbound_buffer_frontier()
765 process_buffer_error(q, count); in get_outbound_buffer_frontier()
766 q->first_to_check = add_buf(q->first_to_check, count); in get_outbound_buffer_frontier()
767 atomic_sub(count, &q->nr_buf_used); in get_outbound_buffer_frontier()
769 account_sbals_error(q, count); in get_outbound_buffer_frontier()
1015 int count; in qdio_handle_activate_check() local
1030 count = sub_buf(q->first_to_check, q->first_to_kick); in qdio_handle_activate_check()
1032 q->nr, q->first_to_kick, count, irq_ptr->int_parm); in qdio_handle_activate_check()
1361 irq_ptr->ccw.count = irq_ptr->equeue.count; in qdio_establish()
1431 irq_ptr->ccw.count = irq_ptr->aqueue.count; in qdio_activate()
1469 static inline int buf_in_between(int bufnr, int start, int count) in buf_in_between() argument
1471 int end = add_buf(start, count); in buf_in_between()
1496 int bufnr, int count) in handle_inbound() argument
1506 if (count == QDIO_MAX_BUFFERS_PER_Q) { in handle_inbound()
1511 } else if (buf_in_between(q->u.in.ack_start, bufnr, count)) { in handle_inbound()
1514 diff = add_buf(bufnr, count); in handle_inbound()
1530 count = set_buf_states(q, bufnr, SLSB_CU_INPUT_EMPTY, count); in handle_inbound()
1531 atomic_add(count, &q->nr_buf_used); in handle_inbound()
1547 int bufnr, int count) in handle_outbound() argument
1554 count = set_buf_states(q, bufnr, SLSB_CU_OUTPUT_PRIMED, count); in handle_outbound()
1555 used = atomic_add_return(count, &q->nr_buf_used); in handle_outbound()
1570 WARN_ON_ONCE(count > 1 && !multicast_outbound(q)); in handle_outbound()
1605 int q_nr, unsigned int bufnr, unsigned int count) in do_QDIO() argument
1609 if (bufnr >= QDIO_MAX_BUFFERS_PER_Q || count > QDIO_MAX_BUFFERS_PER_Q) in do_QDIO()
1617 "do%02x b:%02x c:%02x", callflags, bufnr, count); in do_QDIO()
1621 if (!count) in do_QDIO()
1625 callflags, bufnr, count); in do_QDIO()
1628 callflags, bufnr, count); in do_QDIO()