Lines Matching refs:seg
441 __msi_set_enable(iommu->seg, PCI_BUS(iommu->bdf), PCI_SLOT(iommu->bdf), in amd_iommu_msi_enable()
582 if ( get_dma_requestor_id(iommu->seg, bdf) == device_id ) in parse_event_log_entry()
583 pci_check_disable_device(iommu->seg, PCI_BUS(bdf), in parse_event_log_entry()
677 pdev = pci_get_real_pdev(iommu->seg, bus, devfn); in parse_ppr_log_entry()
791 iommu->msi.dev = pci_get_pdev(iommu->seg, PCI_BUS(iommu->bdf), in set_iommu_interrupt_handler()
797 iommu->seg, PCI_BUS(iommu->bdf), in set_iommu_interrupt_handler()
801 control = pci_conf_read16(iommu->seg, PCI_BUS(iommu->bdf), in set_iommu_interrupt_handler()
847 pci_conf_write32(iommu->seg, bus, dev, func, 0xf0, 0x90); in amd_iommu_erratum_746_workaround()
848 value = pci_conf_read32(iommu->seg, bus, dev, func, 0xf4); in amd_iommu_erratum_746_workaround()
854 pci_conf_write32(iommu->seg, bus, dev, func, 0xf0, 0x90 | (1 << 8)); in amd_iommu_erratum_746_workaround()
856 pci_conf_write32(iommu->seg, bus, dev, func, 0xf4, value | (1 << 2)); in amd_iommu_erratum_746_workaround()
859 iommu->seg, bus, dev, func); in amd_iommu_erratum_746_workaround()
862 pci_conf_write32(iommu->seg, bus, dev, func, 0xf0, 0x90); in amd_iommu_erratum_746_workaround()
1076 struct ivrs_mappings *get_ivrs_mappings(u16 seg) in get_ivrs_mappings() argument
1078 return radix_tree_lookup(&ivrs_maps, seg); in get_ivrs_mappings()
1081 int iterate_ivrs_mappings(int (*handler)(u16 seg, struct ivrs_mappings *)) in iterate_ivrs_mappings() argument
1083 u16 seg = 0; in iterate_ivrs_mappings() local
1089 if ( !radix_tree_gang_lookup(&ivrs_maps, (void **)&map, seg, 1) ) in iterate_ivrs_mappings()
1091 seg = IVRS_MAPPINGS_SEG(map); in iterate_ivrs_mappings()
1092 rc = handler(seg, map); in iterate_ivrs_mappings()
1093 } while ( !rc && ++seg ); in iterate_ivrs_mappings()
1098 int iterate_ivrs_entries(int (*handler)(u16 seg, struct ivrs_mappings *)) in iterate_ivrs_entries() argument
1100 u16 seg = 0; in iterate_ivrs_entries() local
1107 if ( !radix_tree_gang_lookup(&ivrs_maps, (void **)&map, seg, 1) ) in iterate_ivrs_entries()
1109 seg = IVRS_MAPPINGS_SEG(map); in iterate_ivrs_entries()
1111 rc = handler(seg, map + bdf); in iterate_ivrs_entries()
1112 } while ( !rc && ++seg ); in iterate_ivrs_entries()
1117 static int __init alloc_ivrs_mappings(u16 seg) in alloc_ivrs_mappings() argument
1124 if ( get_ivrs_mappings(seg) ) in alloc_ivrs_mappings()
1133 IVRS_MAPPINGS_SEG(ivrs_mappings) = seg; in alloc_ivrs_mappings()
1150 radix_tree_insert(&ivrs_maps, seg, ivrs_mappings); in alloc_ivrs_mappings()
1156 u16 seg, struct ivrs_mappings *ivrs_mappings) in amd_iommu_setup_device_table() argument
1255 rc = alloc_ivrs_mappings(iommu->seg); in amd_iommu_init()
1336 u16 seg, struct ivrs_mappings *ivrs_mappings) in _invalidate_all_devices() argument
1345 iommu = find_iommu_for_device(seg, bdf); in _invalidate_all_devices()