Lines Matching refs:devid
106 u16 devid;
124 u16 devid;
144 u16 devid;
297 PCI_BUS_NUM(iommu->devid), PCI_SLOT(iommu->devid),
298 PCI_FUNC(iommu->devid));
592 if (dev->devid > last_devid)
593 last_devid = dev->devid;
1059 u16 devid, u8 bit)
1064 dev_table[devid].data[i] |= (1UL << _bit);
1067 static void set_dev_entry_bit(struct amd_iommu *iommu, u16 devid, u8 bit)
1071 return __set_dev_entry_bit(dev_table, devid, bit);
1075 u16 devid, u8 bit)
1080 return (dev_table[devid].data[i] & (1UL << _bit)) >> _bit;
1083 static int get_dev_entry_bit(struct amd_iommu *iommu, u16 devid, u8 bit)
1087 return __get_dev_entry_bit(dev_table, devid, bit);
1095 u32 lo, hi, devid, old_devtb_size;
1141 for (devid = 0; devid <= pci_seg->last_bdf; ++devid) {
1142 pci_seg->old_dev_tbl_cpy[devid] = old_devtb[devid];
1143 dom_id = old_devtb[devid].data[1] & DEV_DOMID_MASK;
1144 dte_v = old_devtb[devid].data[0] & DTE_FLAG_V;
1147 pci_seg->old_dev_tbl_cpy[devid].data[0] = old_devtb[devid].data[0];
1148 pci_seg->old_dev_tbl_cpy[devid].data[1] = old_devtb[devid].data[1];
1151 if (old_devtb[devid].data[0] & DTE_FLAG_GV) {
1154 pci_seg->old_dev_tbl_cpy[devid].data[1] &= ~tmp;
1157 pci_seg->old_dev_tbl_cpy[devid].data[0] &= ~tmp;
1161 irq_v = old_devtb[devid].data[2] & DTE_IRQ_REMAP_ENABLE;
1162 int_ctl = old_devtb[devid].data[2] & DTE_IRQ_REMAP_INTCTL_MASK;
1163 int_tab_len = old_devtb[devid].data[2] & DTE_INTTABLEN_MASK;
1167 pr_err("Wrong old irq remapping flag: %#x\n", devid);
1172 pci_seg->old_dev_tbl_cpy[devid].data[2] = old_devtb[devid].data[2];
1207 void amd_iommu_apply_erratum_63(struct amd_iommu *iommu, u16 devid)
1211 sysmgt = get_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT1) |
1212 (get_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT2) << 1);
1215 set_dev_entry_bit(iommu, devid, DEV_ENTRY_IW);
1223 u16 devid, u32 flags, u32 ext_flags)
1226 set_dev_entry_bit(iommu, devid, DEV_ENTRY_INIT_PASS);
1228 set_dev_entry_bit(iommu, devid, DEV_ENTRY_EINT_PASS);
1230 set_dev_entry_bit(iommu, devid, DEV_ENTRY_NMI_PASS);
1232 set_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT1);
1234 set_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT2);
1236 set_dev_entry_bit(iommu, devid, DEV_ENTRY_LINT0_PASS);
1238 set_dev_entry_bit(iommu, devid, DEV_ENTRY_LINT1_PASS);
1240 amd_iommu_apply_erratum_63(iommu, devid);
1242 amd_iommu_set_rlookup_table(iommu, devid);
1245 int __init add_special_device(u8 type, u8 id, u32 *devid, bool cmd_line)
1264 *devid = entry->devid;
1274 entry->devid = *devid;
1282 static int __init add_acpi_hid_device(u8 *hid, u8 *uid, u32 *devid,
1296 *devid = entry->devid;
1306 entry->devid = *devid;
1308 entry->root_devid = (entry->devid & (~0x7));
1325 &early_ioapic_map[i].devid,
1334 &early_hpet_map[i].devid,
1343 &early_acpihid_map[i].devid,
1361 u16 devid = 0, devid_start = 0, devid_to = 0, seg_id;
1409 DUMP_printk(" DEV_SELECT\t\t\t devid: %04x:%02x:%02x.%x "
1411 seg_id, PCI_BUS_NUM(e->devid),
1412 PCI_SLOT(e->devid),
1413 PCI_FUNC(e->devid),
1416 devid = e->devid;
1417 set_dev_entry_from_acpi(iommu, devid, e->flags, 0);
1422 "devid: %04x:%02x:%02x.%x flags: %02x\n",
1423 seg_id, PCI_BUS_NUM(e->devid),
1424 PCI_SLOT(e->devid),
1425 PCI_FUNC(e->devid),
1428 devid_start = e->devid;
1435 DUMP_printk(" DEV_ALIAS\t\t\t devid: %04x:%02x:%02x.%x "
1437 seg_id, PCI_BUS_NUM(e->devid),
1438 PCI_SLOT(e->devid),
1439 PCI_FUNC(e->devid),
1445 devid = e->devid;
1447 set_dev_entry_from_acpi(iommu, devid , e->flags, 0);
1449 pci_seg->alias_table[devid] = devid_to;
1454 "devid: %04x:%02x:%02x.%x flags: %02x "
1456 seg_id, PCI_BUS_NUM(e->devid),
1457 PCI_SLOT(e->devid),
1458 PCI_FUNC(e->devid),
1464 devid_start = e->devid;
1472 DUMP_printk(" DEV_EXT_SELECT\t\t devid: %04x:%02x:%02x.%x "
1474 seg_id, PCI_BUS_NUM(e->devid),
1475 PCI_SLOT(e->devid),
1476 PCI_FUNC(e->devid),
1479 devid = e->devid;
1480 set_dev_entry_from_acpi(iommu, devid, e->flags,
1485 DUMP_printk(" DEV_EXT_SELECT_RANGE\t devid: "
1487 seg_id, PCI_BUS_NUM(e->devid),
1488 PCI_SLOT(e->devid),
1489 PCI_FUNC(e->devid),
1492 devid_start = e->devid;
1499 DUMP_printk(" DEV_RANGE_END\t\t devid: %04x:%02x:%02x.%x\n",
1500 seg_id, PCI_BUS_NUM(e->devid),
1501 PCI_SLOT(e->devid),
1502 PCI_FUNC(e->devid));
1504 devid = e->devid;
1505 for (dev_i = devid_start; dev_i <= devid; ++dev_i) {
1518 u32 devid;
1522 devid = PCI_SEG_DEVID_TO_SBDF(seg_id, (e->ext >> 8));
1534 seg_id, PCI_BUS_NUM(devid),
1535 PCI_SLOT(devid),
1536 PCI_FUNC(devid));
1538 ret = add_special_device(type, handle, &devid, false);
1543 * add_special_device might update the devid in case a
1547 set_dev_entry_from_acpi(iommu, devid, e->flags, 0);
1552 u32 devid;
1595 devid = PCI_SEG_DEVID_TO_SBDF(seg_id, e->devid);
1598 PCI_BUS_NUM(devid),
1599 PCI_SLOT(devid),
1600 PCI_FUNC(devid));
1604 ret = add_acpi_hid_device(hid, uid, &devid, false);
1609 * add_special_device might update the devid in case a
1613 set_dev_entry_from_acpi(iommu, devid, e->flags, 0);
1807 iommu->devid = h->devid;
1901 iommu->pci_seg->rlookup_table[iommu->devid] = NULL;
1918 u16 devid = ivhd->devid;
1924 if (ivhd->devid == devid)
1953 h->pci_seg, PCI_BUS_NUM(h->devid),
1954 PCI_SLOT(h->devid), PCI_FUNC(h->devid),
2079 PCI_BUS_NUM(iommu->devid),
2080 iommu->devid & 0xff);
2580 e->devid_start = e->devid_end = m->devid;
2589 e->devid_start = m->devid;
2646 u32 devid;
2652 for (devid = 0; devid <= pci_seg->last_bdf; ++devid) {
2653 __set_dev_entry_bit(dev_table, devid, DEV_ENTRY_VALID);
2655 __set_dev_entry_bit(dev_table, devid, DEV_ENTRY_TRANSLATION);
2661 u32 devid;
2667 for (devid = 0; devid <= pci_seg->last_bdf; ++devid) {
2668 dev_table[devid].data[0] = 0ULL;
2669 dev_table[devid].data[1] = 0ULL;
2676 u32 devid;
2682 for (devid = 0; devid <= pci_seg->last_bdf; ++devid)
2684 devid, DEV_ENTRY_IRQ_TBL_EN);
2797 iommu->index, iommu->devid,
3025 int devid, id = mpc_ioapic_id(idx);
3027 devid = get_ioapic_devid(id);
3028 if (devid < 0) {
3032 } else if (devid == IOAPIC_SB_DEVID) {
3541 u32 devid;
3564 devid = IVRS_GET_SBDF_ID(seg, bus, dev, fn);
3569 early_ioapic_map[i].devid = devid;
3579 u32 devid;
3602 devid = IVRS_GET_SBDF_ID(seg, bus, dev, fn);
3607 early_hpet_map[i].devid = devid;
3679 early_acpihid_map[i].devid = IVRS_GET_SBDF_ID(seg, bus, dev, fn);