Lines Matching defs:eqo
2136 static int be_get_new_eqd(struct be_eq_obj *eqo)
2138 struct be_adapter *adapter = eqo->adapter;
2148 aic = &adapter->aic_obj[eqo->idx];
2156 for_all_rx_queues_on_eq(adapter, eqo, rxo, i) {
2163 for_all_tx_queues_on_eq(adapter, eqo, txo, i) {
2198 static u32 be_get_eq_delay_mult_enc(struct be_eq_obj *eqo)
2200 struct be_adapter *adapter = eqo->adapter;
2201 struct be_aic_obj *aic = &adapter->aic_obj[eqo->idx];
2212 eqd = be_get_new_eqd(eqo);
2232 struct be_eq_obj *eqo;
2235 for_all_evt_queues(adapter, eqo, i) {
2236 aic = &adapter->aic_obj[eqo->idx];
2237 eqd = be_get_new_eqd(eqo);
2240 set_eqd[num].eq_id = eqo->q.id;
2785 static inline int events_get(struct be_eq_obj *eqo)
2791 eqe = queue_tail_node(&eqo->q);
2798 queue_tail_inc(&eqo->q);
2805 static void be_eq_clean(struct be_eq_obj *eqo)
2807 int num = events_get(eqo);
2809 be_eq_notify(eqo->adapter, eqo->q.id, false, true, num, 0);
2937 struct be_eq_obj *eqo;
2940 for_all_evt_queues(adapter, eqo, i) {
2941 if (eqo->q.created) {
2942 be_eq_clean(eqo);
2943 be_cmd_q_destroy(adapter, &eqo->q, QTYPE_EQ);
2944 netif_napi_del(&eqo->napi);
2945 free_cpumask_var(eqo->affinity_mask);
2947 be_queue_free(adapter, &eqo->q);
2954 struct be_eq_obj *eqo;
2965 for_all_evt_queues(adapter, eqo, i) {
2969 eqo->adapter = adapter;
2970 eqo->idx = i;
2973 eq = &eqo->q;
2979 rc = be_cmd_eq_create(adapter, eqo);
2983 if (!zalloc_cpumask_var(&eqo->affinity_mask, GFP_KERNEL))
2986 eqo->affinity_mask);
2987 netif_napi_add(adapter->netdev, &eqo->napi, be_poll);
3063 struct be_eq_obj *eqo;
3081 eqo = &adapter->eq_obj[i % adapter->num_evt_qs];
3082 status = be_cmd_cq_create(adapter, cq, &eqo->q, false, 3);
3095 netif_set_xps_queue(adapter->netdev, eqo->affinity_mask,
3096 eqo->idx);
3162 struct be_eq_obj *eqo = dev;
3163 struct be_adapter *adapter = eqo->adapter;
3174 if (napi_schedule_prep(&eqo->napi)) {
3175 num_evts = events_get(eqo);
3176 __napi_schedule(&eqo->napi);
3178 eqo->spurious_intr = 0;
3180 be_eq_notify(adapter, eqo->q.id, false, true, num_evts, 0);
3186 if (num_evts || eqo->spurious_intr++ == 0)
3194 struct be_eq_obj *eqo = dev;
3196 be_eq_notify(eqo->adapter, eqo->q.id, false, true, 0, 0);
3197 napi_schedule(&eqo->napi);
3296 struct be_eq_obj *eqo = container_of(napi, struct be_eq_obj, napi);
3297 struct be_adapter *adapter = eqo->adapter;
3303 num_evts = events_get(eqo);
3305 for_all_tx_queues_on_eq(adapter, eqo, txo, i)
3312 for_all_rx_queues_on_eq(adapter, eqo, rxo, i) {
3317 if (is_mcc_eqo(eqo))
3327 mult_enc = be_get_eq_delay_mult_enc(eqo);
3329 be_eq_notify(adapter, eqo->q.id, true, false, num_evts,
3333 be_eq_notify(adapter, eqo->q.id, false, false, num_evts, 0);
3477 struct be_eq_obj *eqo)
3479 return adapter->msix_entries[eqo->msix_idx].vector;
3485 struct be_eq_obj *eqo;
3488 for_all_evt_queues(adapter, eqo, i) {
3489 sprintf(eqo->desc, "%s-q%d", netdev->name, i);
3490 vec = be_msix_vec_get(adapter, eqo);
3491 status = request_irq(vec, be_msix, 0, eqo->desc, eqo);
3495 irq_update_affinity_hint(vec, eqo->affinity_mask);
3501 eqo = &adapter->eq_obj[i];
3502 free_irq(be_msix_vec_get(adapter, eqo), eqo);
3541 struct be_eq_obj *eqo;
3554 for_all_evt_queues(adapter, eqo, i) {
3555 vec = be_msix_vec_get(adapter, eqo);
3557 free_irq(vec, eqo);
3636 struct be_eq_obj *eqo;
3653 for_all_evt_queues(adapter, eqo, i) {
3654 napi_disable(&eqo->napi);
3669 for_all_evt_queues(adapter, eqo, i) {
3671 synchronize_irq(be_msix_vec_get(adapter, eqo));
3674 be_eq_clean(eqo);
3796 struct be_eq_obj *eqo;
3822 for_all_evt_queues(adapter, eqo, i) {
3823 napi_enable(&eqo->napi);
3824 be_eq_notify(adapter, eqo->q.id, true, true, 0, 0);
4928 struct be_eq_obj *eqo;
4931 for_all_evt_queues(adapter, eqo, i) {
4932 be_eq_notify(eqo->adapter, eqo->q.id, false, true, 0, 0);
4933 napi_schedule(&eqo->napi);