Lines Matching full:lif
17 struct ionic_lif *lif = ionic->lif; in ionic_watchdog_cb() local
24 if (!lif) in ionic_watchdog_cb()
29 __func__, hb, netif_running(lif->netdev), in ionic_watchdog_cb()
30 test_bit(IONIC_LIF_F_UP, lif->state)); in ionic_watchdog_cb()
33 !test_bit(IONIC_LIF_F_FW_RESET, lif->state)) in ionic_watchdog_cb()
34 ionic_link_status_check_request(lif, CAN_NOT_SLEEP); in ionic_watchdog_cb()
36 if (test_bit(IONIC_LIF_F_FILTER_SYNC_NEEDED, lif->state) && in ionic_watchdog_cb()
37 !test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { in ionic_watchdog_cb()
40 netdev_err(lif->netdev, "rxmode change dropped\n"); in ionic_watchdog_cb()
45 netdev_dbg(lif->netdev, "deferred: rx_mode\n"); in ionic_watchdog_cb()
46 ionic_lif_deferred_enqueue(lif, work); in ionic_watchdog_cb()
99 struct ionic_lif *lif = ionic->lif; in ionic_doorbell_check_dwork() local
101 mutex_lock(&lif->queue_lock); in ionic_doorbell_check_dwork()
103 if (test_bit(IONIC_LIF_F_FW_STOPPING, lif->state) || in ionic_doorbell_check_dwork()
104 test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { in ionic_doorbell_check_dwork()
105 mutex_unlock(&lif->queue_lock); in ionic_doorbell_check_dwork()
109 ionic_napi_schedule_do_softirq(&lif->adminqcq->napi); in ionic_doorbell_check_dwork()
111 if (test_bit(IONIC_LIF_F_UP, lif->state)) { in ionic_doorbell_check_dwork()
114 for (i = 0; i < lif->nxqs; i++) { in ionic_doorbell_check_dwork()
115 ionic_queue_dbell_napi_work(ionic, lif->txqcqs[i]); in ionic_doorbell_check_dwork()
116 ionic_queue_dbell_napi_work(ionic, lif->rxqcqs[i]); in ionic_doorbell_check_dwork()
119 if (lif->hwstamp_txq && in ionic_doorbell_check_dwork()
120 lif->hwstamp_txq->flags & IONIC_QCQ_F_INTR) in ionic_doorbell_check_dwork()
121 ionic_napi_schedule_do_softirq(&lif->hwstamp_txq->napi); in ionic_doorbell_check_dwork()
122 if (lif->hwstamp_rxq && in ionic_doorbell_check_dwork()
123 lif->hwstamp_rxq->flags & IONIC_QCQ_F_INTR) in ionic_doorbell_check_dwork()
124 ionic_napi_schedule_do_softirq(&lif->hwstamp_rxq->napi); in ionic_doorbell_check_dwork()
126 mutex_unlock(&lif->queue_lock); in ionic_doorbell_check_dwork()
173 if (!ionic->lif->doorbell_wa) in ionic_queue_doorbell_check()
176 cpu = ionic_get_preferred_cpu(ionic, &ionic->lif->adminqcq->intr); in ionic_queue_doorbell_check()
505 struct ionic_lif *lif = ionic->lif; in ionic_heartbeat_check() local
547 if (test_bit(IONIC_LIF_F_FW_RESET, lif->state)) in ionic_heartbeat_check()
556 idev->last_fw_hb, lif->state[0]); in ionic_heartbeat_check()
560 !test_bit(IONIC_LIF_F_FW_STOPPING, lif->state)) { in ionic_heartbeat_check()
566 !test_bit(IONIC_LIF_F_FW_RESET, lif->state) && in ionic_heartbeat_check()
567 !test_and_set_bit(IONIC_LIF_F_FW_STOPPING, lif->state)) { in ionic_heartbeat_check()
572 test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { in ionic_heartbeat_check()
584 ionic_lif_deferred_enqueue(lif, work); in ionic_heartbeat_check()
818 /* LIF commands */
875 .q_init.ver = qcq->q.lif->qtype_info[q->type].version, in ionic_dev_cmd_adminq_init()
898 int ionic_db_page_num(struct ionic_lif *lif, int pid) in ionic_db_page_num() argument
900 return (lif->hw_index * lif->dbid_count) + pid; in ionic_db_page_num()
903 int ionic_get_cmb(struct ionic_lif *lif, u32 *pgid, phys_addr_t *pgaddr, in ionic_get_cmb() argument
906 struct ionic_dev *idev = &lif->ionic->idev; in ionic_get_cmb()
952 ionic_put_cmb(lif, *pgid, order); in ionic_get_cmb()
963 void ionic_put_cmb(struct ionic_lif *lif, u32 pgid, int order) in ionic_put_cmb() argument
965 struct ionic_dev *idev = &lif->ionic->idev; in ionic_put_cmb()
973 int ionic_cq_init(struct ionic_lif *lif, struct ionic_cq *cq, in ionic_cq_init() argument
986 cq->lif = lif; in ionic_cq_init()
992 cq->idev = &lif->ionic->idev; in ionic_cq_init()
1022 int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev, in ionic_q_init() argument
1036 q->lif = lif; in ionic_q_init()
1045 snprintf(q->name, sizeof(q->name), "L%d-%s%u", lif->index, name, index); in ionic_q_init()
1052 struct ionic_lif *lif = q->lif; in ionic_q_post() local
1057 dev_dbg(dev, "lif=%d qname=%s qid=%d qtype=%d p_index=%d ringdb=%d\n", in ionic_q_post()
1058 q->lif->index, q->name, q->hw_type, q->hw_index, in ionic_q_post()
1062 ionic_dbell_ring(lif->kern_dbpage, q->hw_type, in ionic_q_post()