iommu/irq_remapping: Fix the regression of hpet irq remapping
authorYijing Wang <wangyijing@huawei.com>
Wed, 17 Sep 2014 09:32:19 +0000 (17:32 +0800)
committerJoerg Roedel <jroedel@suse.de>
Thu, 25 Sep 2014 17:11:47 +0000 (19:11 +0200)
commit5fc24d8cb9d43e0db335137051092da03a6845dc
treec476b207814a1409d74fffe7b0837ef372dc7f9a
parentfb3e306515ba6a012364b698b8ca71c337424ed3
iommu/irq_remapping: Fix the regression of hpet irq remapping

Commit 71054d8841b4 ("x86, hpet: Introduce x86_msi_ops.setup_hpet_msi")
introduced x86_msi_ops.setup_hpet_msi to setup hpet MSI irq
when irq remapping enabled. This caused a regression of
hpet MSI irq remapping.

Original code flow before commit 71054d8841b4:
hpet_setup_msi_irq()
arch_setup_hpet_msi()
setup_hpet_msi_remapped()
remap_ops->setup_hpet_msi()
alloc_irte()
msi_compose_msg()
hpet_msi_write()
...

Current code flow after commit 71054d8841b4:
hpet_setup_msi_irq()
x86_msi.setup_hpet_msi()
setup_hpet_msi_remapped()
intel_setup_hpet_msi()
alloc_irte()

Currently, we only call alloc_irte() for hpet MSI, but
do not composed and wrote its msg...

Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c
drivers/iommu/intel_irq_remapping.c
drivers/iommu/irq_remapping.c
drivers/iommu/irq_remapping.h