Lines Matching refs:idev

282 		if (lif->ionic->idev.fw_status_ready &&  in ionic_notifyq_service()
445 !lif->ionic->idev.fw_status_ready) || in ionic_adminq_wait()
471 if (!ionic_is_fw_running(&lif->ionic->idev)) in __ionic_adminq_post_wait()
491 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_clean() local
493 if (!idev->dev_cmd_regs) in ionic_dev_cmd_clean()
496 iowrite32(0, &idev->dev_cmd_regs->doorbell); in ionic_dev_cmd_clean()
497 memset_io(&idev->dev_cmd_regs->cmd, 0, sizeof(idev->dev_cmd_regs->cmd)); in ionic_dev_cmd_clean()
515 struct ionic_dev *idev = &ionic->idev; in __ionic_dev_cmd_wait() local
529 opcode = idev->opcode; in __ionic_dev_cmd_wait()
531 for (fw_up = ionic_is_fw_running(idev); in __ionic_dev_cmd_wait()
533 fw_up = ionic_is_fw_running(idev)) { in __ionic_dev_cmd_wait()
534 done = ionic_dev_cmd_done(idev); in __ionic_dev_cmd_wait()
559 err = ionic_dev_cmd_status(&ionic->idev); in __ionic_dev_cmd_wait()
567 iowrite32(0, &idev->dev_cmd_regs->done); in __ionic_dev_cmd_wait()
569 iowrite32(1, &idev->dev_cmd_regs->doorbell); in __ionic_dev_cmd_wait()
611 struct ionic_dev *idev = &ionic->idev; in ionic_identify() local
623 sz = min(sizeof(ident->drv), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
624 memcpy_toio(&idev->dev_cmd_regs->data, &ident->drv, sz); in ionic_identify()
626 ionic_dev_cmd_identify(idev, IONIC_DEV_IDENTITY_VERSION_2); in ionic_identify()
629 sz = min(sizeof(ident->dev), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
630 memcpy_fromio(&ident->dev, &idev->dev_cmd_regs->data, sz); in ionic_identify()
639 if (isprint(idev->dev_info.fw_version[0]) && in ionic_identify()
640 isascii(idev->dev_info.fw_version[0])) in ionic_identify()
642 (int)(sizeof(idev->dev_info.fw_version) - 1), in ionic_identify()
643 idev->dev_info.fw_version); in ionic_identify()
646 (u8)idev->dev_info.fw_version[0], in ionic_identify()
647 (u8)idev->dev_info.fw_version[1], in ionic_identify()
648 (u8)idev->dev_info.fw_version[2], in ionic_identify()
649 (u8)idev->dev_info.fw_version[3]); in ionic_identify()
666 struct ionic_dev *idev = &ionic->idev; in ionic_init() local
670 ionic_dev_cmd_init(idev); in ionic_init()
679 struct ionic_dev *idev = &ionic->idev; in ionic_reset() local
682 if (!ionic_is_fw_running(idev)) in ionic_reset()
686 ionic_dev_cmd_reset(idev); in ionic_reset()
696 struct ionic_dev *idev = &ionic->idev; in ionic_port_identify() local
702 ionic_dev_cmd_port_identify(idev); in ionic_port_identify()
705 sz = min(sizeof(ident->port), sizeof(idev->dev_cmd_regs->data)); in ionic_port_identify()
706 memcpy_fromio(&ident->port, &idev->dev_cmd_regs->data, sz); in ionic_port_identify()
717 struct ionic_dev *idev = &ionic->idev; in ionic_port_init() local
721 if (!idev->port_info) { in ionic_port_init()
722 idev->port_info_sz = ALIGN(sizeof(*idev->port_info), PAGE_SIZE); in ionic_port_init()
723 idev->port_info = dma_alloc_coherent(ionic->dev, in ionic_port_init()
724 idev->port_info_sz, in ionic_port_init()
725 &idev->port_info_pa, in ionic_port_init()
727 if (!idev->port_info) in ionic_port_init()
731 sz = min(sizeof(ident->port.config), sizeof(idev->dev_cmd_regs->data)); in ionic_port_init()
735 memcpy_toio(&idev->dev_cmd_regs->data, &ident->port.config, sz); in ionic_port_init()
736 ionic_dev_cmd_port_init(idev); in ionic_port_init()
739 ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); in ionic_port_init()
745 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
746 idev->port_info, idev->port_info_pa); in ionic_port_init()
747 idev->port_info = NULL; in ionic_port_init()
748 idev->port_info_pa = 0; in ionic_port_init()
756 struct ionic_dev *idev = &ionic->idev; in ionic_port_reset() local
759 if (!idev->port_info) in ionic_port_reset()
762 if (ionic_is_fw_running(idev)) { in ionic_port_reset()
764 ionic_dev_cmd_port_reset(idev); in ionic_port_reset()
769 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_reset()
770 idev->port_info, idev->port_info_pa); in ionic_port_reset()
772 idev->port_info = NULL; in ionic_port_reset()
773 idev->port_info_pa = 0; in ionic_port_reset()