Lines Matching refs:idev
393 !lif->ionic->idev.fw_status_ready) || in ionic_adminq_wait()
433 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_clean() local
435 iowrite32(0, &idev->dev_cmd_regs->doorbell); in ionic_dev_cmd_clean()
436 memset_io(&idev->dev_cmd_regs->cmd, 0, sizeof(idev->dev_cmd_regs->cmd)); in ionic_dev_cmd_clean()
454 struct ionic_dev *idev = &ionic->idev; in __ionic_dev_cmd_wait() local
468 opcode = readb(&idev->dev_cmd_regs->cmd.cmd.opcode); in __ionic_dev_cmd_wait()
470 for (fw_up = ionic_is_fw_running(idev); in __ionic_dev_cmd_wait()
472 fw_up = ionic_is_fw_running(idev)) { in __ionic_dev_cmd_wait()
473 done = ionic_dev_cmd_done(idev); in __ionic_dev_cmd_wait()
498 err = ionic_dev_cmd_status(&ionic->idev); in __ionic_dev_cmd_wait()
506 iowrite32(0, &idev->dev_cmd_regs->done); in __ionic_dev_cmd_wait()
508 iowrite32(1, &idev->dev_cmd_regs->doorbell); in __ionic_dev_cmd_wait()
550 struct ionic_dev *idev = &ionic->idev; in ionic_identify() local
562 sz = min(sizeof(ident->drv), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
563 memcpy_toio(&idev->dev_cmd_regs->data, &ident->drv, sz); in ionic_identify()
565 ionic_dev_cmd_identify(idev, IONIC_DEV_IDENTITY_VERSION_2); in ionic_identify()
568 sz = min(sizeof(ident->dev), sizeof(idev->dev_cmd_regs->data)); in ionic_identify()
569 memcpy_fromio(&ident->dev, &idev->dev_cmd_regs->data, sz); in ionic_identify()
578 if (isprint(idev->dev_info.fw_version[0]) && in ionic_identify()
579 isascii(idev->dev_info.fw_version[0])) in ionic_identify()
581 (int)(sizeof(idev->dev_info.fw_version) - 1), in ionic_identify()
582 idev->dev_info.fw_version); in ionic_identify()
585 (u8)idev->dev_info.fw_version[0], in ionic_identify()
586 (u8)idev->dev_info.fw_version[1], in ionic_identify()
587 (u8)idev->dev_info.fw_version[2], in ionic_identify()
588 (u8)idev->dev_info.fw_version[3]); in ionic_identify()
605 struct ionic_dev *idev = &ionic->idev; in ionic_init() local
609 ionic_dev_cmd_init(idev); in ionic_init()
618 struct ionic_dev *idev = &ionic->idev; in ionic_reset() local
621 if (!ionic_is_fw_running(idev)) in ionic_reset()
625 ionic_dev_cmd_reset(idev); in ionic_reset()
635 struct ionic_dev *idev = &ionic->idev; in ionic_port_identify() local
641 ionic_dev_cmd_port_identify(idev); in ionic_port_identify()
644 sz = min(sizeof(ident->port), sizeof(idev->dev_cmd_regs->data)); in ionic_port_identify()
645 memcpy_fromio(&ident->port, &idev->dev_cmd_regs->data, sz); in ionic_port_identify()
656 struct ionic_dev *idev = &ionic->idev; in ionic_port_init() local
660 if (!idev->port_info) { in ionic_port_init()
661 idev->port_info_sz = ALIGN(sizeof(*idev->port_info), PAGE_SIZE); in ionic_port_init()
662 idev->port_info = dma_alloc_coherent(ionic->dev, in ionic_port_init()
663 idev->port_info_sz, in ionic_port_init()
664 &idev->port_info_pa, in ionic_port_init()
666 if (!idev->port_info) in ionic_port_init()
670 sz = min(sizeof(ident->port.config), sizeof(idev->dev_cmd_regs->data)); in ionic_port_init()
674 memcpy_toio(&idev->dev_cmd_regs->data, &ident->port.config, sz); in ionic_port_init()
675 ionic_dev_cmd_port_init(idev); in ionic_port_init()
678 ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); in ionic_port_init()
684 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_init()
685 idev->port_info, idev->port_info_pa); in ionic_port_init()
686 idev->port_info = NULL; in ionic_port_init()
687 idev->port_info_pa = 0; in ionic_port_init()
695 struct ionic_dev *idev = &ionic->idev; in ionic_port_reset() local
698 if (!idev->port_info) in ionic_port_reset()
701 if (ionic_is_fw_running(idev)) { in ionic_port_reset()
703 ionic_dev_cmd_port_reset(idev); in ionic_port_reset()
708 dma_free_coherent(ionic->dev, idev->port_info_sz, in ionic_port_reset()
709 idev->port_info, idev->port_info_pa); in ionic_port_reset()
711 idev->port_info = NULL; in ionic_port_reset()
712 idev->port_info_pa = 0; in ionic_port_reset()