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: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user