Lines Matching defs:nhi

374 static bool icm_firmware_running(const struct tb_nhi *nhi)
378 val = ioread32(nhi->iobase + REG_FW_STS);
451 nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_SAVE_DEVS, 0);
603 nhi_mailbox_cmd(tb->nhi, cmd, 1);
605 nhi_mailbox_cmd(tb->nhi, cmd, 2);
1435 if (icm_firmware_running(tb->nhi))
1444 upstream_port = get_upstream_port(tb->nhi->pdev);
1468 struct tb_nhi *nhi = tb->nhi;
1473 val = ioread32(nhi->iobase + REG_FW_STS);
1480 dev_err(&nhi->pdev->dev, "ICM firmware not authenticated\n");
1484 return nhi_mailbox_mode(nhi);
1646 struct tb_nhi *nhi = tb->nhi;
1649 pci_read_config_dword(nhi->pdev, VS_CAP_10, &uuid[0]);
1650 pci_read_config_dword(nhi->pdev, VS_CAP_11, &uuid[1]);
1683 val = ioread32(tb->nhi->iobase + REG_FW_STS);
1789 static int icm_firmware_reset(struct tb *tb, struct tb_nhi *nhi)
1798 val = ioread32(nhi->iobase + REG_FW_STS);
1800 iowrite32(val, nhi->iobase + REG_FW_STS);
1803 val = ioread32(nhi->iobase + REG_FW_STS);
1806 iowrite32(val, nhi->iobase + REG_FW_STS);
1812 static int icm_firmware_start(struct tb *tb, struct tb_nhi *nhi)
1819 if (icm_firmware_running(nhi))
1822 dev_dbg(&nhi->pdev->dev, "starting ICM firmware\n");
1824 ret = icm_firmware_reset(tb, nhi);
1831 val = ioread32(nhi->iobase + REG_FW_STS);
1912 struct tb_nhi *nhi = tb->nhi;
1915 ret = icm_firmware_start(tb, nhi);
1917 dev_err(&nhi->pdev->dev, "could not start ICM firmware\n");
1931 nhi_mailbox_cmd(nhi, NHI_MAILBOX_ALLOW_ALL_DEVS, 0);
1949 dev_warn(&nhi->pdev->dev, "failed to reset links on port0\n");
1952 dev_warn(&nhi->pdev->dev, "failed to reset links on port1\n");
1998 nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DRV_UNLOADS, 0);
2087 if (tb->nhi->going_away)
2115 nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DRV_UNLOADS, 0);
2181 nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DRV_UNLOADS, 0);
2188 return nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DISCONNECT_PCIE_PATHS, 0);
2429 struct tb *icm_probe(struct tb_nhi *nhi)
2434 tb = tb_domain_alloc(nhi, ICM_TIMEOUT, sizeof(struct icm));
2442 switch (nhi->pdev->device) {
2547 dev_dbg(&nhi->pdev->dev, "ICM not supported on this controller\n");