Lines Matching refs:idev

283 		if (lif->ionic->idev.fw_status_ready &&  in ionic_notifyq_service()
446 !lif->ionic->idev.fw_status_ready) || in ionic_adminq_wait()
472 if (!ionic_is_fw_running(&lif->ionic->idev)) in __ionic_adminq_post_wait()
493 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_clean() local
495 if (!idev->dev_cmd_regs) in ionic_dev_cmd_clean()
498 iowrite32(0, &idev->dev_cmd_regs->doorbell); in ionic_dev_cmd_clean()
499 memset_io(&idev->dev_cmd_regs->cmd, 0, sizeof(idev->dev_cmd_regs->cmd)); in ionic_dev_cmd_clean()
517 struct ionic_dev *idev = &ionic->idev; in __ionic_dev_cmd_wait() local
532 opcode = idev->opcode; in __ionic_dev_cmd_wait()
534 for (fw_up = ionic_is_fw_running(idev); in __ionic_dev_cmd_wait()
536 fw_up = ionic_is_fw_running(idev)) { in __ionic_dev_cmd_wait()
537 done = ionic_dev_cmd_done(idev); in __ionic_dev_cmd_wait()
562 err = ionic_dev_cmd_status(&ionic->idev); in __ionic_dev_cmd_wait()
570 iowrite32(0, &idev->dev_cmd_regs->done); in __ionic_dev_cmd_wait()
572 iowrite32(1, &idev->dev_cmd_regs->doorbell); in __ionic_dev_cmd_wait()
614 struct ionic_dev *idev = &ionic->idev; in ionic_identify() local
626 sz = min(sizeof(ident->drv), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
627 memcpy_toio(&idev->dev_cmd_regs->data, &ident->drv, sz); in ionic_identify()
629 ionic_dev_cmd_identify(idev, IONIC_DEV_IDENTITY_VERSION_2); in ionic_identify()
632 sz = min(sizeof(ident->dev), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
633 memcpy_fromio(&ident->dev, &idev->dev_cmd_regs->data, sz); in ionic_identify()
642 if (isprint(idev->dev_info.fw_version[0]) && in ionic_identify()
643 isascii(idev->dev_info.fw_version[0])) in ionic_identify()
645 (int)(sizeof(idev->dev_info.fw_version) - 1), in ionic_identify()
646 idev->dev_info.fw_version); in ionic_identify()
649 (u8)idev->dev_info.fw_version[0], in ionic_identify()
650 (u8)idev->dev_info.fw_version[1], in ionic_identify()
651 (u8)idev->dev_info.fw_version[2], in ionic_identify()
652 (u8)idev->dev_info.fw_version[3]); in ionic_identify()
669 struct ionic_dev *idev = &ionic->idev; in ionic_init() local
673 ionic_dev_cmd_init(idev); in ionic_init()
682 struct ionic_dev *idev = &ionic->idev; in ionic_reset() local
685 if (!ionic_is_fw_running(idev)) in ionic_reset()
689 ionic_dev_cmd_reset(idev); in ionic_reset()
699 struct ionic_dev *idev = &ionic->idev; in ionic_port_identify() local
705 ionic_dev_cmd_port_identify(idev); in ionic_port_identify()
708 sz = min(sizeof(ident->port), sizeof(idev->dev_cmd_regs->data)); in ionic_port_identify()
709 memcpy_fromio(&ident->port, &idev->dev_cmd_regs->data, sz); in ionic_port_identify()
720 struct ionic_dev *idev = &ionic->idev; in ionic_port_init() local
724 if (!idev->port_info) { in ionic_port_init()
725 idev->port_info_sz = ALIGN(sizeof(*idev->port_info), PAGE_SIZE); in ionic_port_init()
726 idev->port_info = dma_alloc_coherent(ionic->dev, in ionic_port_init()
727 idev->port_info_sz, in ionic_port_init()
728 &idev->port_info_pa, in ionic_port_init()
730 if (!idev->port_info) in ionic_port_init()
734 sz = min(sizeof(ident->port.config), sizeof(idev->dev_cmd_regs->data)); in ionic_port_init()
738 memcpy_toio(&idev->dev_cmd_regs->data, &ident->port.config, sz); in ionic_port_init()
739 ionic_dev_cmd_port_init(idev); in ionic_port_init()
742 ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); in ionic_port_init()
748 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
749 idev->port_info, idev->port_info_pa); in ionic_port_init()
750 idev->port_info = NULL; in ionic_port_init()
751 idev->port_info_pa = 0; in ionic_port_init()
759 struct ionic_dev *idev = &ionic->idev; in ionic_port_reset() local
762 if (!idev->port_info) in ionic_port_reset()
765 if (ionic_is_fw_running(idev)) { in ionic_port_reset()
767 ionic_dev_cmd_port_reset(idev); in ionic_port_reset()
772 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_reset()
773 idev->port_info, idev->port_info_pa); in ionic_port_reset()
775 idev->port_info = NULL; in ionic_port_reset()
776 idev->port_info_pa = 0; in ionic_port_reset()