Lines Matching refs:idev

364 		     !lif->ionic->idev.fw_status_ready) ||  in ionic_adminq_wait()
404 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_clean() local
406 iowrite32(0, &idev->dev_cmd_regs->doorbell); in ionic_dev_cmd_clean()
407 memset_io(&idev->dev_cmd_regs->cmd, 0, sizeof(idev->dev_cmd_regs->cmd)); in ionic_dev_cmd_clean()
425 struct ionic_dev *idev = &ionic->idev; in __ionic_dev_cmd_wait() local
439 opcode = readb(&idev->dev_cmd_regs->cmd.cmd.opcode); in __ionic_dev_cmd_wait()
441 for (fw_up = ionic_is_fw_running(idev); in __ionic_dev_cmd_wait()
443 fw_up = ionic_is_fw_running(idev)) { in __ionic_dev_cmd_wait()
444 done = ionic_dev_cmd_done(idev); in __ionic_dev_cmd_wait()
469 err = ionic_dev_cmd_status(&ionic->idev); in __ionic_dev_cmd_wait()
477 iowrite32(0, &idev->dev_cmd_regs->done); in __ionic_dev_cmd_wait()
479 iowrite32(1, &idev->dev_cmd_regs->doorbell); in __ionic_dev_cmd_wait()
521 struct ionic_dev *idev = &ionic->idev; in ionic_identify() local
533 sz = min(sizeof(ident->drv), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
534 memcpy_toio(&idev->dev_cmd_regs->data, &ident->drv, sz); in ionic_identify()
536 ionic_dev_cmd_identify(idev, IONIC_IDENTITY_VERSION_1); in ionic_identify()
539 sz = min(sizeof(ident->dev), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
540 memcpy_fromio(&ident->dev, &idev->dev_cmd_regs->data, sz); in ionic_identify()
549 if (isprint(idev->dev_info.fw_version[0]) && in ionic_identify()
550 isascii(idev->dev_info.fw_version[0])) in ionic_identify()
552 (int)(sizeof(idev->dev_info.fw_version) - 1), in ionic_identify()
553 idev->dev_info.fw_version); in ionic_identify()
556 (u8)idev->dev_info.fw_version[0], in ionic_identify()
557 (u8)idev->dev_info.fw_version[1], in ionic_identify()
558 (u8)idev->dev_info.fw_version[2], in ionic_identify()
559 (u8)idev->dev_info.fw_version[3]); in ionic_identify()
576 struct ionic_dev *idev = &ionic->idev; in ionic_init() local
580 ionic_dev_cmd_init(idev); in ionic_init()
589 struct ionic_dev *idev = &ionic->idev; in ionic_reset() local
592 if (!ionic_is_fw_running(idev)) in ionic_reset()
596 ionic_dev_cmd_reset(idev); in ionic_reset()
606 struct ionic_dev *idev = &ionic->idev; in ionic_port_identify() local
612 ionic_dev_cmd_port_identify(idev); in ionic_port_identify()
615 sz = min(sizeof(ident->port), sizeof(idev->dev_cmd_regs->data)); in ionic_port_identify()
616 memcpy_fromio(&ident->port, &idev->dev_cmd_regs->data, sz); in ionic_port_identify()
627 struct ionic_dev *idev = &ionic->idev; in ionic_port_init() local
631 if (!idev->port_info) { in ionic_port_init()
632 idev->port_info_sz = ALIGN(sizeof(*idev->port_info), PAGE_SIZE); in ionic_port_init()
633 idev->port_info = dma_alloc_coherent(ionic->dev, in ionic_port_init()
634 idev->port_info_sz, in ionic_port_init()
635 &idev->port_info_pa, in ionic_port_init()
637 if (!idev->port_info) in ionic_port_init()
641 sz = min(sizeof(ident->port.config), sizeof(idev->dev_cmd_regs->data)); in ionic_port_init()
645 memcpy_toio(&idev->dev_cmd_regs->data, &ident->port.config, sz); in ionic_port_init()
646 ionic_dev_cmd_port_init(idev); in ionic_port_init()
649 ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); in ionic_port_init()
655 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
656 idev->port_info, idev->port_info_pa); in ionic_port_init()
657 idev->port_info = NULL; in ionic_port_init()
658 idev->port_info_pa = 0; in ionic_port_init()
666 struct ionic_dev *idev = &ionic->idev; in ionic_port_reset() local
669 if (!idev->port_info) in ionic_port_reset()
672 if (ionic_is_fw_running(idev)) { in ionic_port_reset()
674 ionic_dev_cmd_port_reset(idev); in ionic_port_reset()
679 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_reset()
680 idev->port_info, idev->port_info_pa); in ionic_port_reset()
682 idev->port_info = NULL; in ionic_port_reset()
683 idev->port_info_pa = 0; in ionic_port_reset()