[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 6/6] pci/aer: factor out common code
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PATCH 6/6] pci/aer: factor out common code |
Date: |
Fri, 3 Dec 2010 00:54:47 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Same logic is used to assert interrupts
and send msix messages, so add a static functin for this.
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/pcie_aer.c | 27 +++++++++++++--------------
1 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/hw/pcie_aer.c b/hw/pcie_aer.c
index 1c513a7..ca4f517 100644
--- a/hw/pcie_aer.c
+++ b/hw/pcie_aer.c
@@ -273,6 +273,17 @@ static uint32_t pcie_aer_status_to_cmd(uint32_t status)
return cmd;
}
+static void pcie_aer_root_notify(PCIDevice *dev)
+{
+ if (msix_enabled(dev)) {
+ msix_notify(dev, pcie_aer_root_get_vector(dev));
+ } else if (msi_enabled(dev)) {
+ msi_notify(dev, pcie_aer_root_get_vector(dev));
+ } else {
+ qemu_set_irq(dev->irq[dev->exp.aer_intx], 1);
+ }
+}
+
/*
* 6.2.6 Error Message Control
* Figure 6-3
@@ -352,13 +363,7 @@ static void pcie_aer_msg_root_port(PCIDevice *dev, const
PCIEAERMsg *msg)
return;
}
- if (msix_enabled(dev)) {
- msix_notify(dev, pcie_aer_root_get_vector(dev));
- } else if (msi_enabled(dev)) {
- msi_notify(dev, pcie_aer_root_get_vector(dev));
- } else {
- qemu_set_irq(dev->irq[dev->exp.aer_intx], 1);
- }
+ pcie_aer_root_notify(dev);
}
/*
@@ -768,13 +773,7 @@ void pcie_aer_root_write_config(PCIDevice *dev,
return;
}
- if (msix_enabled(dev)) {
- msix_notify(dev, pcie_aer_root_get_vector(dev));
- } else if (msi_enabled(dev)) {
- msi_notify(dev, pcie_aer_root_get_vector(dev));
- } else {
- assert(0);
- }
+ pcie_aer_root_notify(dev);
}
static const VMStateDescription vmstate_pcie_aer_err = {
--
1.7.3.2.91.g446ac
- [Qemu-devel] [PATCH 0/6] pcie aer fixes, Michael S. Tsirkin, 2010/12/02
- [Qemu-devel] [PATCH 1/6] pci: untangle pci/msi dependency, Michael S. Tsirkin, 2010/12/02
- [Qemu-devel] [PATCH 3/6] pci/aer: remove dead code, Michael S. Tsirkin, 2010/12/02
- [Qemu-devel] [PATCH 4/6] pci/aer: fix error injection, Michael S. Tsirkin, 2010/12/02
- [Qemu-devel] [PATCH 5/6] pci/aer: fix interrupt on config write, Michael S. Tsirkin, 2010/12/02
- [Qemu-devel] [PATCH 6/6] pci/aer: factor out common code,
Michael S. Tsirkin <=
- [Qemu-devel] [PATCH 2/6] Makefile: make msix/msi depend on CONFIG_PCI, Michael S. Tsirkin, 2010/12/02