mirror of https://gitee.com/openkylin/linux.git
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:
parent
e394d72aa8
commit
d586d7852c
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue