Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d586d785 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

x86/amd-iommu: Add function to flush all DTEs on one IOMMU



This function flushes all DTE entries on one IOMMU for all
devices behind this IOMMU. This is required for command
buffer resetting later.

Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
parent e394d72a
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -516,6 +516,19 @@ void amd_iommu_flush_all_domains(void)
		flush_all_domains_on_iommu(iommu);
}

static void flush_all_devices_for_iommu(struct amd_iommu *iommu)
{
	int i;

	for (i = 0; i <= amd_iommu_last_bdf; ++i) {
		if (iommu != amd_iommu_rlookup_table[i])
			continue;

		iommu_queue_inv_dev_entry(iommu, i);
		iommu_completion_wait(iommu);
	}
}

void amd_iommu_flush_all_devices(void)
{
	struct amd_iommu *iommu;