Lines Matching refs:lif

191 static void ionic_adminq_flush(struct ionic_lif *lif)  in ionic_adminq_flush()  argument
197 spin_lock_irqsave(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
198 if (!lif->adminqcq) { in ionic_adminq_flush()
199 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
203 q = &lif->adminqcq->q; in ionic_adminq_flush()
212 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
215 void ionic_adminq_netdev_err_print(struct ionic_lif *lif, u8 opcode, in ionic_adminq_netdev_err_print() argument
218 netdev_err(lif->netdev, "%s (%d) failed: %s (%d)\n", in ionic_adminq_netdev_err_print()
223 static int ionic_adminq_check_err(struct ionic_lif *lif, in ionic_adminq_check_err() argument
235 ionic_adminq_netdev_err_print(lif, ctx->cmd.cmd.opcode, in ionic_adminq_check_err()
239 ionic_adminq_flush(lif); in ionic_adminq_check_err()
266 int ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) in ionic_adminq_post() argument
273 spin_lock_irqsave(&lif->adminq_lock, irqflags); in ionic_adminq_post()
274 if (!lif->adminqcq) { in ionic_adminq_post()
275 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_post()
279 q = &lif->adminqcq->q; in ionic_adminq_post()
286 err = ionic_heartbeat_check(lif->ionic); in ionic_adminq_post()
293 dev_dbg(&lif->netdev->dev, "post admin queue command:\n"); in ionic_adminq_post()
300 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_post()
305 int ionic_adminq_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx, in ionic_adminq_wait() argument
308 struct net_device *netdev = lif->netdev; in ionic_adminq_wait()
318 if (do_msg && !test_bit(IONIC_LIF_F_FW_RESET, lif->state)) in ionic_adminq_wait()
335 if (test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { in ionic_adminq_wait()
345 dev_dbg(lif->ionic->dev, "%s: elapsed %d msecs\n", in ionic_adminq_wait()
348 return ionic_adminq_check_err(lif, ctx, in ionic_adminq_wait()
353 int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) in ionic_adminq_post_wait() argument
357 err = ionic_adminq_post(lif, ctx); in ionic_adminq_post_wait()
359 return ionic_adminq_wait(lif, ctx, err, true); in ionic_adminq_post_wait()
362 int ionic_adminq_post_wait_nomsg(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) in ionic_adminq_post_wait_nomsg() argument
366 err = ionic_adminq_post(lif, ctx); in ionic_adminq_post_wait_nomsg()
368 return ionic_adminq_wait(lif, ctx, err, false); in ionic_adminq_post_wait_nomsg()
513 &ionic->ident.lif); in ionic_identify()