Lines Matching refs:eq

94 static inline void *ocrdma_get_eqe(struct ocrdma_eq *eq)  in ocrdma_get_eqe()  argument
96 return eq->q.va + (eq->q.tail * sizeof(struct ocrdma_eqe)); in ocrdma_get_eqe()
99 static inline void ocrdma_eq_inc_tail(struct ocrdma_eq *eq) in ocrdma_eq_inc_tail() argument
101 eq->q.tail = (eq->q.tail + 1) & (OCRDMA_EQ_LEN - 1); in ocrdma_eq_inc_tail()
414 static int ocrdma_mbx_create_eq(struct ocrdma_dev *dev, struct ocrdma_eq *eq) in ocrdma_mbx_create_eq() argument
429 ocrdma_build_q_pages(&cmd->pa[0], cmd->num_pages, eq->q.dma, in ocrdma_mbx_create_eq()
434 eq->q.id = rsp->vector_eqid & 0xffff; in ocrdma_mbx_create_eq()
435 eq->vector = (rsp->vector_eqid >> 16) & 0xffff; in ocrdma_mbx_create_eq()
436 eq->q.created = true; in ocrdma_mbx_create_eq()
442 struct ocrdma_eq *eq, u16 q_len) in ocrdma_create_eq() argument
446 status = ocrdma_alloc_q(dev, &eq->q, OCRDMA_EQ_LEN, in ocrdma_create_eq()
451 status = ocrdma_mbx_create_eq(dev, eq); in ocrdma_create_eq()
454 eq->dev = dev; in ocrdma_create_eq()
455 ocrdma_ring_eq_db(dev, eq->q.id, true, true, 0); in ocrdma_create_eq()
459 ocrdma_free_q(dev, &eq->q); in ocrdma_create_eq()
463 int ocrdma_get_irq(struct ocrdma_dev *dev, struct ocrdma_eq *eq) in ocrdma_get_irq() argument
470 irq = dev->nic_info.msix.vector_list[eq->vector]; in ocrdma_get_irq()
474 static void _ocrdma_destroy_eq(struct ocrdma_dev *dev, struct ocrdma_eq *eq) in _ocrdma_destroy_eq() argument
476 if (eq->q.created) { in _ocrdma_destroy_eq()
477 ocrdma_mbx_delete_q(dev, &eq->q, QTYPE_EQ); in _ocrdma_destroy_eq()
478 ocrdma_free_q(dev, &eq->q); in _ocrdma_destroy_eq()
482 static void ocrdma_destroy_eq(struct ocrdma_dev *dev, struct ocrdma_eq *eq) in ocrdma_destroy_eq() argument
489 ocrdma_ring_eq_db(dev, eq->q.id, false, false, 0); in ocrdma_destroy_eq()
491 irq = ocrdma_get_irq(dev, eq); in ocrdma_destroy_eq()
492 free_irq(irq, eq); in ocrdma_destroy_eq()
493 _ocrdma_destroy_eq(dev, eq); in ocrdma_destroy_eq()
506 struct ocrdma_queue_info *eq) in ocrdma_mbx_mq_cq_create() argument
522 cmd->eqn = eq->id; in ocrdma_mbx_mq_cq_create()
931 struct ocrdma_eq *eq = handle; in ocrdma_irq_handler() local
932 struct ocrdma_dev *dev = eq->dev; in ocrdma_irq_handler()
937 int budget = eq->cq_cnt; in ocrdma_irq_handler()
940 ptr = ocrdma_get_eqe(eq); in ocrdma_irq_handler()
947 eq->q.id, eqe.id_valid); in ocrdma_irq_handler()
953 ocrdma_ring_eq_db(dev, eq->q.id, false, true, 1); in ocrdma_irq_handler()
959 ocrdma_eq_inc_tail(eq); in ocrdma_irq_handler()
969 eq->aic_obj.eq_intr_cnt++; in ocrdma_irq_handler()
970 ocrdma_ring_eq_db(dev, eq->q.id, true, true, 0); in ocrdma_irq_handler()
3043 static int ocrdma_mbx_modify_eqd(struct ocrdma_dev *dev, struct ocrdma_eq *eq, in ocrdma_mbx_modify_eqd() argument
3058 cmd->cmd.set_eqd[i].eq_id = eq[i].q.id; in ocrdma_mbx_modify_eqd()
3061 (eq[i].aic_obj.prev_eqd * 65)/100; in ocrdma_mbx_modify_eqd()
3071 static int ocrdma_modify_eqd(struct ocrdma_dev *dev, struct ocrdma_eq *eq, in ocrdma_modify_eqd() argument
3078 ocrdma_mbx_modify_eqd(dev, &eq[i], num_eqs); in ocrdma_modify_eqd()
3083 ocrdma_mbx_modify_eqd(dev, eq, num); in ocrdma_modify_eqd()
3092 struct ocrdma_eq *eq = 0; in ocrdma_eqd_set_task() local
3097 eq = &dev->eq_tbl[i]; in ocrdma_eqd_set_task()
3098 if (eq->aic_obj.eq_intr_cnt > eq->aic_obj.prev_eq_intr_cnt) { in ocrdma_eqd_set_task()
3099 eq_intr = eq->aic_obj.eq_intr_cnt - in ocrdma_eqd_set_task()
3100 eq->aic_obj.prev_eq_intr_cnt; in ocrdma_eqd_set_task()
3102 (eq->aic_obj.prev_eqd == EQ_AIC_MIN_EQD)) { in ocrdma_eqd_set_task()
3103 eq->aic_obj.prev_eqd = EQ_AIC_MAX_EQD; in ocrdma_eqd_set_task()
3106 (eq->aic_obj.prev_eqd == EQ_AIC_MAX_EQD)) { in ocrdma_eqd_set_task()
3107 eq->aic_obj.prev_eqd = EQ_AIC_MIN_EQD; in ocrdma_eqd_set_task()
3111 eq->aic_obj.prev_eq_intr_cnt = eq->aic_obj.eq_intr_cnt; in ocrdma_eqd_set_task()