Lines Matching refs:idev
281 if (lif->ionic->idev.fw_status_ready && in ionic_notifyq_service()
444 !lif->ionic->idev.fw_status_ready) || in ionic_adminq_wait()
470 if (!ionic_is_fw_running(&lif->ionic->idev)) in __ionic_adminq_post_wait()
490 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_clean() local
492 if (!idev->dev_cmd_regs) in ionic_dev_cmd_clean()
495 iowrite32(0, &idev->dev_cmd_regs->doorbell); in ionic_dev_cmd_clean()
496 memset_io(&idev->dev_cmd_regs->cmd, 0, sizeof(idev->dev_cmd_regs->cmd)); in ionic_dev_cmd_clean()
514 struct ionic_dev *idev = &ionic->idev; in __ionic_dev_cmd_wait() local
528 opcode = idev->opcode; in __ionic_dev_cmd_wait()
530 for (fw_up = ionic_is_fw_running(idev); in __ionic_dev_cmd_wait()
532 fw_up = ionic_is_fw_running(idev)) { in __ionic_dev_cmd_wait()
533 done = ionic_dev_cmd_done(idev); in __ionic_dev_cmd_wait()
558 err = ionic_dev_cmd_status(&ionic->idev); in __ionic_dev_cmd_wait()
566 iowrite32(0, &idev->dev_cmd_regs->done); in __ionic_dev_cmd_wait()
568 iowrite32(1, &idev->dev_cmd_regs->doorbell); in __ionic_dev_cmd_wait()
610 struct ionic_dev *idev = &ionic->idev; in ionic_identify() local
622 sz = min(sizeof(ident->drv), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
623 memcpy_toio(&idev->dev_cmd_regs->data, &ident->drv, sz); in ionic_identify()
625 ionic_dev_cmd_identify(idev, IONIC_DEV_IDENTITY_VERSION_2); in ionic_identify()
628 sz = min(sizeof(ident->dev), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
629 memcpy_fromio(&ident->dev, &idev->dev_cmd_regs->data, sz); in ionic_identify()
638 if (isprint(idev->dev_info.fw_version[0]) && in ionic_identify()
639 isascii(idev->dev_info.fw_version[0])) in ionic_identify()
641 (int)(sizeof(idev->dev_info.fw_version) - 1), in ionic_identify()
642 idev->dev_info.fw_version); in ionic_identify()
645 (u8)idev->dev_info.fw_version[0], in ionic_identify()
646 (u8)idev->dev_info.fw_version[1], in ionic_identify()
647 (u8)idev->dev_info.fw_version[2], in ionic_identify()
648 (u8)idev->dev_info.fw_version[3]); in ionic_identify()
665 struct ionic_dev *idev = &ionic->idev; in ionic_init() local
669 ionic_dev_cmd_init(idev); in ionic_init()
678 struct ionic_dev *idev = &ionic->idev; in ionic_reset() local
681 if (!ionic_is_fw_running(idev)) in ionic_reset()
685 ionic_dev_cmd_reset(idev); in ionic_reset()
695 struct ionic_dev *idev = &ionic->idev; in ionic_port_identify() local
701 ionic_dev_cmd_port_identify(idev); in ionic_port_identify()
704 sz = min(sizeof(ident->port), sizeof(idev->dev_cmd_regs->data)); in ionic_port_identify()
705 memcpy_fromio(&ident->port, &idev->dev_cmd_regs->data, sz); in ionic_port_identify()
716 struct ionic_dev *idev = &ionic->idev; in ionic_port_init() local
720 if (!idev->port_info) { in ionic_port_init()
721 idev->port_info_sz = ALIGN(sizeof(*idev->port_info), PAGE_SIZE); in ionic_port_init()
722 idev->port_info = dma_alloc_coherent(ionic->dev, in ionic_port_init()
723 idev->port_info_sz, in ionic_port_init()
724 &idev->port_info_pa, in ionic_port_init()
726 if (!idev->port_info) in ionic_port_init()
730 sz = min(sizeof(ident->port.config), sizeof(idev->dev_cmd_regs->data)); in ionic_port_init()
734 memcpy_toio(&idev->dev_cmd_regs->data, &ident->port.config, sz); in ionic_port_init()
735 ionic_dev_cmd_port_init(idev); in ionic_port_init()
738 ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); in ionic_port_init()
744 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
745 idev->port_info, idev->port_info_pa); in ionic_port_init()
746 idev->port_info = NULL; in ionic_port_init()
747 idev->port_info_pa = 0; in ionic_port_init()
755 struct ionic_dev *idev = &ionic->idev; in ionic_port_reset() local
758 if (!idev->port_info) in ionic_port_reset()
761 if (ionic_is_fw_running(idev)) { in ionic_port_reset()
763 ionic_dev_cmd_port_reset(idev); in ionic_port_reset()
768 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_reset()
769 idev->port_info, idev->port_info_pa); in ionic_port_reset()
771 idev->port_info = NULL; in ionic_port_reset()
772 idev->port_info_pa = 0; in ionic_port_reset()