mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
VT-d: posted interrupts require interrupt remapping
Initially I had just noticed the unnecessary indirection in the call
from pi_update_irte(). The generic wrapper having an iommu_intremap
conditional made me look at the setup code though. So first of all
enforce the necessary dependency.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: 6c54663786
master date: 2019-04-09 15:12:07 +0200
This commit is contained in:
1 parent
8457c15b98
commit
fa9d5b8beb
2 files changed
+3
-2
No files matched your search
@@ -988,7 +988,8 @@ int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq,
|
||||
spin_unlock_irq(&desc->lock);
|
||||
|
||||
ASSERT(pcidevs_locked());
|
||||
return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
|
||||
|
||||
return msi_msg_write_remap_rte(msi_desc, &msi_desc->msg);
|
||||
|
||||
unlock_out:
|
||||
spin_unlock_irq(&desc->lock);
|
||||
|
||||
@@ -2342,7 +2342,7 @@ int __init intel_vtd_setup(void)
|
||||
* not supported, since we count on this feature to
|
||||
* atomically update 16-byte IRTE in posted format.
|
||||
*/
|
||||
if ( !cap_intr_post(iommu->cap) || !cpu_has_cx16 )
|
||||
if ( !cap_intr_post(iommu->cap) || !iommu_intremap || !cpu_has_cx16 )
|
||||
iommu_intpost = 0;
|
||||
|
||||
if ( !vtd_ept_page_compatible(iommu) )
|
||||
|
||||