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: Markus Armbruster <armbru@redhat.com> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									b4b4a57fa6
								
							
						
					
					
						commit
						69b205bb0b
					
				| 
						 | 
				
			
			@ -42,9 +42,10 @@ struct PCIBridgeDev {
 | 
			
		|||
 | 
			
		||||
    MemoryRegion bar;
 | 
			
		||||
    uint8_t chassis_nr;
 | 
			
		||||
#define PCI_BRIDGE_DEV_F_MSI_REQ 0
 | 
			
		||||
#define PCI_BRIDGE_DEV_F_SHPC_REQ 1
 | 
			
		||||
#define PCI_BRIDGE_DEV_F_SHPC_REQ 0
 | 
			
		||||
    uint32_t flags;
 | 
			
		||||
 | 
			
		||||
    OnOffAuto msi;
 | 
			
		||||
};
 | 
			
		||||
typedef struct PCIBridgeDev PCIBridgeDev;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +67,7 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
 | 
			
		|||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        /* 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);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +75,7 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
 | 
			
		|||
        goto slotid_error;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((bridge_dev->flags & (1 << PCI_BRIDGE_DEV_F_MSI_REQ)) &&
 | 
			
		||||
    if (bridge_dev->msi != ON_OFF_AUTO_OFF &&
 | 
			
		||||
        msi_nonbroken) {
 | 
			
		||||
        err = msi_init(dev, 0, 1, true, true);
 | 
			
		||||
        if (err < 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -147,8 +148,8 @@ static Property pci_bridge_dev_properties[] = {
 | 
			
		|||
                    /* Note: 0 is not a legal chassis number. */
 | 
			
		||||
    DEFINE_PROP_UINT8(PCI_BRIDGE_DEV_PROP_CHASSIS_NR, PCIBridgeDev, chassis_nr,
 | 
			
		||||
                      0),
 | 
			
		||||
    DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, flags,
 | 
			
		||||
                    PCI_BRIDGE_DEV_F_MSI_REQ, true),
 | 
			
		||||
    DEFINE_PROP_ON_OFF_AUTO(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, msi,
 | 
			
		||||
                            ON_OFF_AUTO_AUTO),
 | 
			
		||||
    DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags,
 | 
			
		||||
                    PCI_BRIDGE_DEV_F_SHPC_REQ, true),
 | 
			
		||||
    DEFINE_PROP_END_OF_LIST(),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue