Lines Matching refs:ionic
300 ionic_intr_credits(cq->lif->ionic->idev.intr_ctrl, in ionic_napi()
310 int ionic_dev_cmd_wait(struct ionic *ionic, unsigned long max_seconds) in ionic_dev_cmd_wait() argument
312 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_wait()
337 dev_dbg(ionic->dev, "DEVCMD %s (%d) done=%d took %ld secs (%ld jiffies)\n", in ionic_dev_cmd_wait()
342 dev_warn(ionic->dev, "DEVCMD %s (%d) timeout after %ld secs\n", in ionic_dev_cmd_wait()
347 err = ionic_dev_cmd_status(&ionic->idev); in ionic_dev_cmd_wait()
350 dev_err(ionic->dev, "DEV_CMD %s (%d) error, %s (%d) retrying...\n", in ionic_dev_cmd_wait()
360 dev_err(ionic->dev, "DEV_CMD %s (%d) error, %s (%d) failed\n", in ionic_dev_cmd_wait()
370 int ionic_setup(struct ionic *ionic) in ionic_setup() argument
374 err = ionic_dev_setup(ionic); in ionic_setup()
381 int ionic_identify(struct ionic *ionic) in ionic_identify() argument
383 struct ionic_identity *ident = &ionic->ident; in ionic_identify()
384 struct ionic_dev *idev = &ionic->idev; in ionic_identify()
394 mutex_lock(&ionic->dev_cmd_lock); in ionic_identify()
400 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_identify()
406 mutex_unlock(&ionic->dev_cmd_lock); in ionic_identify()
411 ionic_debugfs_add_ident(ionic); in ionic_identify()
419 int ionic_init(struct ionic *ionic) in ionic_init() argument
421 struct ionic_dev *idev = &ionic->idev; in ionic_init()
424 mutex_lock(&ionic->dev_cmd_lock); in ionic_init()
426 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_init()
427 mutex_unlock(&ionic->dev_cmd_lock); in ionic_init()
432 int ionic_reset(struct ionic *ionic) in ionic_reset() argument
434 struct ionic_dev *idev = &ionic->idev; in ionic_reset()
437 mutex_lock(&ionic->dev_cmd_lock); in ionic_reset()
439 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_reset()
440 mutex_unlock(&ionic->dev_cmd_lock); in ionic_reset()
445 int ionic_port_identify(struct ionic *ionic) in ionic_port_identify() argument
447 struct ionic_identity *ident = &ionic->ident; in ionic_port_identify()
448 struct ionic_dev *idev = &ionic->idev; in ionic_port_identify()
452 mutex_lock(&ionic->dev_cmd_lock); in ionic_port_identify()
455 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_port_identify()
461 mutex_unlock(&ionic->dev_cmd_lock); in ionic_port_identify()
466 int ionic_port_init(struct ionic *ionic) in ionic_port_init() argument
468 struct ionic_identity *ident = &ionic->ident; in ionic_port_init()
469 struct ionic_dev *idev = &ionic->idev; in ionic_port_init()
477 idev->port_info = dma_alloc_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
481 dev_err(ionic->dev, "Failed to allocate port info, aborting\n"); in ionic_port_init()
487 mutex_lock(&ionic->dev_cmd_lock); in ionic_port_init()
491 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_port_init()
493 ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); in ionic_port_init()
494 (void)ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_port_init()
496 mutex_unlock(&ionic->dev_cmd_lock); in ionic_port_init()
498 dev_err(ionic->dev, "Failed to init port\n"); in ionic_port_init()
499 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
508 int ionic_port_reset(struct ionic *ionic) in ionic_port_reset() argument
510 struct ionic_dev *idev = &ionic->idev; in ionic_port_reset()
516 mutex_lock(&ionic->dev_cmd_lock); in ionic_port_reset()
518 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_port_reset()
519 mutex_unlock(&ionic->dev_cmd_lock); in ionic_port_reset()
521 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_reset()
528 dev_err(ionic->dev, "Failed to reset port\n"); in ionic_port_reset()