H A D | qdio_main.c | 216 static inline int get_buf_states(struct qdio_q *q, unsigned int bufnr, get_buf_states() argument 224 return qdio_do_eqbs(q, state, bufnr, count, auto_ack); get_buf_states() 228 __state = q->slsb.val[bufnr]; get_buf_states() 232 if ((q->slsb.val[bufnr] & __state) != __state) get_buf_states() 234 } else if (q->slsb.val[bufnr] != __state) get_buf_states() 236 bufnr = next_buf(bufnr); get_buf_states() 242 static inline int get_buf_state(struct qdio_q *q, unsigned int bufnr, get_buf_state() argument 245 return get_buf_states(q, bufnr, state, 1, auto_ack, 0); get_buf_state() 249 static inline int set_buf_states(struct qdio_q *q, int bufnr, set_buf_states() argument 255 return qdio_do_sqbs(q, state, bufnr, count); set_buf_states() 258 xchg(&q->slsb.val[bufnr], state); set_buf_states() 259 bufnr = next_buf(bufnr); set_buf_states() 264 static inline int set_buf_state(struct qdio_q *q, int bufnr, set_buf_state() argument 267 return set_buf_states(q, bufnr, state, 1); set_buf_state() 387 int debug_get_buf_state(struct qdio_q *q, unsigned int bufnr, debug_get_buf_state() argument 392 return get_buf_states(q, bufnr, state, 1, 0, 0); debug_get_buf_state() 558 int bufnr; qdio_inbound_q_moved() local 560 bufnr = get_inbound_buffer_frontier(q); qdio_inbound_q_moved() 562 if (bufnr != q->last_move) { qdio_inbound_q_moved() 563 q->last_move = bufnr; qdio_inbound_q_moved() 636 int bufnr) qdio_aob_for_buffer() 643 if (!q->aobs[bufnr]) { qdio_aob_for_buffer() 645 q->aobs[bufnr] = aob; qdio_aob_for_buffer() 647 if (q->aobs[bufnr]) { qdio_aob_for_buffer() 648 q->sbal_state[bufnr].flags = QDIO_OUTBUF_STATE_FLAG_NONE; qdio_aob_for_buffer() 649 q->sbal_state[bufnr].aob = q->aobs[bufnr]; qdio_aob_for_buffer() 650 q->aobs[bufnr]->user1 = (u64) q->sbal_state[bufnr].user; qdio_aob_for_buffer() 651 phys_aob = virt_to_phys(q->aobs[bufnr]); qdio_aob_for_buffer() 797 int bufnr; qdio_outbound_q_moved() local 799 bufnr = get_outbound_buffer_frontier(q); qdio_outbound_q_moved() 801 if (bufnr != q->last_move) { qdio_outbound_q_moved() 802 q->last_move = bufnr; qdio_outbound_q_moved() 1469 static inline int buf_in_between(int bufnr, int start, int count) buf_in_between() argument 1474 if (bufnr >= start && bufnr < end) buf_in_between() 1481 if ((bufnr >= start && bufnr <= QDIO_MAX_BUFFERS_PER_Q) || buf_in_between() 1482 (bufnr < end)) buf_in_between() 1492 * @bufnr: first buffer to process 1496 int bufnr, int count) handle_inbound() 1511 } else if (buf_in_between(q->u.in.ack_start, bufnr, count)) { handle_inbound() 1514 diff = add_buf(bufnr, count); handle_inbound() 1530 count = set_buf_states(q, bufnr, SLSB_CU_INPUT_EMPTY, count); handle_inbound() 1543 * @bufnr: first buffer to process 1547 int bufnr, int count) handle_outbound() 1554 count = set_buf_states(q, bufnr, SLSB_CU_OUTPUT_PRIMED, count); handle_outbound() 1572 phys_aob = qdio_aob_for_buffer(&q->u.out, bufnr); handle_outbound() 1579 get_buf_state(q, prev_buf(bufnr), &state, 0); handle_outbound() 1601 * @bufnr: buffer number 1605 int q_nr, unsigned int bufnr, unsigned int count) do_QDIO() 1609 if (bufnr >= QDIO_MAX_BUFFERS_PER_Q || count > QDIO_MAX_BUFFERS_PER_Q) do_QDIO() 1617 "do%02x b:%02x c:%02x", callflags, bufnr, count); do_QDIO() 1625 callflags, bufnr, count); do_QDIO() 1628 callflags, bufnr, count); do_QDIO() 1679 * @bufnr: first filled buffer number 1687 int qdio_get_next_buffers(struct ccw_device *cdev, int nr, int *bufnr, qdio_get_next_buffers() argument 1717 *bufnr = start; qdio_get_next_buffers() 635 qdio_aob_for_buffer(struct qdio_output_q *q, int bufnr) qdio_aob_for_buffer() argument 1495 handle_inbound(struct qdio_q *q, unsigned int callflags, int bufnr, int count) handle_inbound() argument 1546 handle_outbound(struct qdio_q *q, unsigned int callflags, int bufnr, int count) handle_outbound() argument 1604 do_QDIO(struct ccw_device *cdev, unsigned int callflags, int q_nr, unsigned int bufnr, unsigned int count) do_QDIO() argument
|