• Home
  • Raw
  • Download

Lines Matching refs:queue

197 static inline void *hw_qeit_calc(struct hw_queue *queue, u64 q_offset)  in hw_qeit_calc()  argument
201 if (q_offset >= queue->queue_length) in hw_qeit_calc()
202 q_offset -= queue->queue_length; in hw_qeit_calc()
203 current_page = (queue->queue_pages)[q_offset >> EHEA_PAGESHIFT]; in hw_qeit_calc()
207 static inline void *hw_qeit_get(struct hw_queue *queue) in hw_qeit_get() argument
209 return hw_qeit_calc(queue, queue->current_q_offset); in hw_qeit_get()
212 static inline void hw_qeit_inc(struct hw_queue *queue) in hw_qeit_inc() argument
214 queue->current_q_offset += queue->qe_size; in hw_qeit_inc()
215 if (queue->current_q_offset >= queue->queue_length) { in hw_qeit_inc()
216 queue->current_q_offset = 0; in hw_qeit_inc()
218 queue->toggle_state = (~queue->toggle_state) & 1; in hw_qeit_inc()
222 static inline void *hw_qeit_get_inc(struct hw_queue *queue) in hw_qeit_get_inc() argument
224 void *retvalue = hw_qeit_get(queue); in hw_qeit_get_inc()
225 hw_qeit_inc(queue); in hw_qeit_get_inc()
229 static inline void *hw_qeit_get_inc_valid(struct hw_queue *queue) in hw_qeit_get_inc_valid() argument
231 struct ehea_cqe *retvalue = hw_qeit_get(queue); in hw_qeit_get_inc_valid()
235 if ((valid >> 7) == (queue->toggle_state & 1)) { in hw_qeit_get_inc_valid()
237 hw_qeit_inc(queue); in hw_qeit_get_inc_valid()
238 pref = hw_qeit_calc(queue, queue->current_q_offset); in hw_qeit_get_inc_valid()
246 static inline void *hw_qeit_get_valid(struct hw_queue *queue) in hw_qeit_get_valid() argument
248 struct ehea_cqe *retvalue = hw_qeit_get(queue); in hw_qeit_get_valid()
252 pref = hw_qeit_calc(queue, queue->current_q_offset); in hw_qeit_get_valid()
257 if (!((valid >> 7) == (queue->toggle_state & 1))) in hw_qeit_get_valid()
262 static inline void *hw_qeit_reset(struct hw_queue *queue) in hw_qeit_reset() argument
264 queue->current_q_offset = 0; in hw_qeit_reset()
265 return hw_qeit_get(queue); in hw_qeit_reset()
268 static inline void *hw_qeit_eq_get_inc(struct hw_queue *queue) in hw_qeit_eq_get_inc() argument
270 u64 last_entry_in_q = queue->queue_length - queue->qe_size; in hw_qeit_eq_get_inc()
273 retvalue = hw_qeit_get(queue); in hw_qeit_eq_get_inc()
274 queue->current_q_offset += queue->qe_size; in hw_qeit_eq_get_inc()
275 if (queue->current_q_offset > last_entry_in_q) { in hw_qeit_eq_get_inc()
276 queue->current_q_offset = 0; in hw_qeit_eq_get_inc()
277 queue->toggle_state = (~queue->toggle_state) & 1; in hw_qeit_eq_get_inc()
282 static inline void *hw_eqit_eq_get_inc_valid(struct hw_queue *queue) in hw_eqit_eq_get_inc_valid() argument
284 void *retvalue = hw_qeit_get(queue); in hw_eqit_eq_get_inc_valid()
286 if ((qe >> 7) == (queue->toggle_state & 1)) in hw_eqit_eq_get_inc_valid()
287 hw_qeit_eq_get_inc(queue); in hw_eqit_eq_get_inc_valid()
296 struct hw_queue *queue; in ehea_get_next_rwqe() local
299 queue = &qp->hw_rqueue1; in ehea_get_next_rwqe()
301 queue = &qp->hw_rqueue2; in ehea_get_next_rwqe()
303 queue = &qp->hw_rqueue3; in ehea_get_next_rwqe()
305 return hw_qeit_get_inc(queue); in ehea_get_next_rwqe()
311 struct hw_queue *queue = &my_qp->hw_squeue; in ehea_get_swqe() local
314 *wqe_index = (queue->current_q_offset) >> (7 + EHEA_SG_SQ); in ehea_get_swqe()
328 struct hw_queue *queue = &qp->hw_rqueue1; in ehea_poll_rq1() local
330 *wqe_index = (queue->current_q_offset) >> (7 + EHEA_SG_RQ1); in ehea_poll_rq1()
331 return hw_qeit_get_valid(queue); in ehea_poll_rq1()