Lines Matching refs:lif
190 static void ionic_adminq_flush(struct ionic_lif *lif) in ionic_adminq_flush() argument
196 spin_lock_irqsave(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
197 if (!lif->adminqcq) { in ionic_adminq_flush()
198 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
202 q = &lif->adminqcq->q; in ionic_adminq_flush()
211 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
214 static int ionic_adminq_check_err(struct ionic_lif *lif, in ionic_adminq_check_err() argument
218 struct net_device *netdev = lif->netdev; in ionic_adminq_check_err()
234 ionic_adminq_flush(lif); in ionic_adminq_check_err()
261 int ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) in ionic_adminq_post() argument
268 spin_lock_irqsave(&lif->adminq_lock, irqflags); in ionic_adminq_post()
269 if (!lif->adminqcq) { in ionic_adminq_post()
270 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_post()
274 q = &lif->adminqcq->q; in ionic_adminq_post()
281 err = ionic_heartbeat_check(lif->ionic); in ionic_adminq_post()
288 dev_dbg(&lif->netdev->dev, "post admin queue command:\n"); in ionic_adminq_post()
295 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_post()
300 int ionic_adminq_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx, int err) in ionic_adminq_wait() argument
302 struct net_device *netdev = lif->netdev; in ionic_adminq_wait()
307 if (!test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { in ionic_adminq_wait()
317 return ionic_adminq_check_err(lif, ctx, (remaining == 0)); in ionic_adminq_wait()
320 int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) in ionic_adminq_post_wait() argument
324 err = ionic_adminq_post(lif, ctx); in ionic_adminq_post_wait()
326 return ionic_adminq_wait(lif, ctx, err); in ionic_adminq_post_wait()
461 &ionic->ident.lif); in ionic_identify()