提交 69b205bb 编写于 作者: C Cao jin 提交者: Michael S. Tsirkin

pci bridge dev: change msi property type

>From bit to enum OnOffAuto.

cc: Michael S. Tsirkin <mst@redhat.com>
cc: Markus Armbruster <armbru@redhat.com>
cc: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
上级 b4b4a57f
...@@ -42,9 +42,10 @@ struct PCIBridgeDev { ...@@ -42,9 +42,10 @@ struct PCIBridgeDev {
MemoryRegion bar; MemoryRegion bar;
uint8_t chassis_nr; uint8_t chassis_nr;
#define PCI_BRIDGE_DEV_F_MSI_REQ 0 #define PCI_BRIDGE_DEV_F_SHPC_REQ 0
#define PCI_BRIDGE_DEV_F_SHPC_REQ 1
uint32_t flags; uint32_t flags;
OnOffAuto msi;
}; };
typedef struct PCIBridgeDev PCIBridgeDev; typedef struct PCIBridgeDev PCIBridgeDev;
...@@ -66,7 +67,7 @@ static int pci_bridge_dev_initfn(PCIDevice *dev) ...@@ -66,7 +67,7 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
} }
} else { } else {
/* MSI is not applicable without SHPC */ /* MSI is not applicable without SHPC */
bridge_dev->flags &= ~(1 << PCI_BRIDGE_DEV_F_MSI_REQ); bridge_dev->msi = ON_OFF_AUTO_OFF;
} }
err = slotid_cap_init(dev, 0, bridge_dev->chassis_nr, 0); err = slotid_cap_init(dev, 0, bridge_dev->chassis_nr, 0);
...@@ -74,7 +75,7 @@ static int pci_bridge_dev_initfn(PCIDevice *dev) ...@@ -74,7 +75,7 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
goto slotid_error; goto slotid_error;
} }
if ((bridge_dev->flags & (1 << PCI_BRIDGE_DEV_F_MSI_REQ)) && if (bridge_dev->msi != ON_OFF_AUTO_OFF &&
msi_nonbroken) { msi_nonbroken) {
err = msi_init(dev, 0, 1, true, true); err = msi_init(dev, 0, 1, true, true);
if (err < 0) { if (err < 0) {
...@@ -147,8 +148,8 @@ static Property pci_bridge_dev_properties[] = { ...@@ -147,8 +148,8 @@ static Property pci_bridge_dev_properties[] = {
/* Note: 0 is not a legal chassis number. */ /* Note: 0 is not a legal chassis number. */
DEFINE_PROP_UINT8(PCI_BRIDGE_DEV_PROP_CHASSIS_NR, PCIBridgeDev, chassis_nr, DEFINE_PROP_UINT8(PCI_BRIDGE_DEV_PROP_CHASSIS_NR, PCIBridgeDev, chassis_nr,
0), 0),
DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, flags, DEFINE_PROP_ON_OFF_AUTO(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, msi,
PCI_BRIDGE_DEV_F_MSI_REQ, true), ON_OFF_AUTO_AUTO),
DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags, DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags,
PCI_BRIDGE_DEV_F_SHPC_REQ, true), PCI_BRIDGE_DEV_F_SHPC_REQ, true),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册