ac97: don't override the pci subsystem id
This patch removes the code lines which set the subsystem id for the emulated ac97 card to 8086:0000. Due to the device id being zero the subsystem id isn't vaild anyway. With the patch applied the sound card gets the default qemu subsystem id (1af4:1100) instead. [ v2: old & broken id is maintained for -M pc-$oldqemuversion ] Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									19857e625a
								
							
						
					
					
						commit
						25a21c94c0
					
				
							
								
								
									
										12
									
								
								hw/ac97.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								hw/ac97.c
									
									
									
									
									
								
							@ -150,6 +150,7 @@ typedef struct AC97BusMasterRegs {
 | 
				
			|||||||
typedef struct AC97LinkState {
 | 
					typedef struct AC97LinkState {
 | 
				
			||||||
    PCIDevice dev;
 | 
					    PCIDevice dev;
 | 
				
			||||||
    QEMUSoundCard card;
 | 
					    QEMUSoundCard card;
 | 
				
			||||||
 | 
					    uint32_t use_broken_id;
 | 
				
			||||||
    uint32_t glob_cnt;
 | 
					    uint32_t glob_cnt;
 | 
				
			||||||
    uint32_t glob_sta;
 | 
					    uint32_t glob_sta;
 | 
				
			||||||
    uint32_t cas;
 | 
					    uint32_t cas;
 | 
				
			||||||
@ -1305,11 +1306,12 @@ static int ac97_initfn (PCIDevice *dev)
 | 
				
			|||||||
    c[PCI_BASE_ADDRESS_0 + 6] = 0x00;
 | 
					    c[PCI_BASE_ADDRESS_0 + 6] = 0x00;
 | 
				
			||||||
    c[PCI_BASE_ADDRESS_0 + 7] = 0x00;
 | 
					    c[PCI_BASE_ADDRESS_0 + 7] = 0x00;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;      /* svid subsystem vendor id rwo */
 | 
					    if (s->use_broken_id) {
 | 
				
			||||||
 | 
					        c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;
 | 
				
			||||||
        c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
 | 
					        c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
 | 
				
			||||||
 | 
					        c[PCI_SUBSYSTEM_ID] = 0x00;
 | 
				
			||||||
    c[PCI_SUBSYSTEM_ID] = 0x00;      /* sid subsystem id rwo */
 | 
					 | 
				
			||||||
        c[PCI_SUBSYSTEM_ID + 1] = 0x00;
 | 
					        c[PCI_SUBSYSTEM_ID + 1] = 0x00;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    c[PCI_INTERRUPT_LINE] = 0x00;      /* intr_ln interrupt line rw */
 | 
					    c[PCI_INTERRUPT_LINE] = 0x00;      /* intr_ln interrupt line rw */
 | 
				
			||||||
    c[PCI_INTERRUPT_PIN] = 0x01;      /* intr_pn interrupt pin ro */
 | 
					    c[PCI_INTERRUPT_PIN] = 0x01;      /* intr_pn interrupt pin ro */
 | 
				
			||||||
@ -1350,6 +1352,10 @@ static PCIDeviceInfo ac97_info = {
 | 
				
			|||||||
    .device_id    = PCI_DEVICE_ID_INTEL_82801AA_5,
 | 
					    .device_id    = PCI_DEVICE_ID_INTEL_82801AA_5,
 | 
				
			||||||
    .revision     = 0x01,
 | 
					    .revision     = 0x01,
 | 
				
			||||||
    .class_id     = PCI_CLASS_MULTIMEDIA_AUDIO,
 | 
					    .class_id     = PCI_CLASS_MULTIMEDIA_AUDIO,
 | 
				
			||||||
 | 
					    .qdev.props   = (Property[]) {
 | 
				
			||||||
 | 
					        DEFINE_PROP_UINT32("use_broken_id", AC97LinkState, use_broken_id, 0),
 | 
				
			||||||
 | 
					        DEFINE_PROP_END_OF_LIST(),
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void ac97_register (void)
 | 
					static void ac97_register (void)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										16
									
								
								hw/pc_piix.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								hw/pc_piix.c
									
									
									
									
									
								
							@ -347,6 +347,10 @@ static QEMUMachine pc_machine_v0_13 = {
 | 
				
			|||||||
            .driver   = "virtio-net-pci",
 | 
					            .driver   = "virtio-net-pci",
 | 
				
			||||||
            .property = "event_idx",
 | 
					            .property = "event_idx",
 | 
				
			||||||
            .value    = "off",
 | 
					            .value    = "off",
 | 
				
			||||||
 | 
					        },{
 | 
				
			||||||
 | 
					            .driver   = "AC97",
 | 
				
			||||||
 | 
					            .property = "use_broken_id",
 | 
				
			||||||
 | 
					            .value    = stringify(1),
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        { /* end of list */ }
 | 
					        { /* end of list */ }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -390,6 +394,10 @@ static QEMUMachine pc_machine_v0_12 = {
 | 
				
			|||||||
            .driver   = "virtio-net-pci",
 | 
					            .driver   = "virtio-net-pci",
 | 
				
			||||||
            .property = "event_idx",
 | 
					            .property = "event_idx",
 | 
				
			||||||
            .value    = "off",
 | 
					            .value    = "off",
 | 
				
			||||||
 | 
					        },{
 | 
				
			||||||
 | 
					            .driver   = "AC97",
 | 
				
			||||||
 | 
					            .property = "use_broken_id",
 | 
				
			||||||
 | 
					            .value    = stringify(1),
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        { /* end of list */ }
 | 
					        { /* end of list */ }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -441,6 +449,10 @@ static QEMUMachine pc_machine_v0_11 = {
 | 
				
			|||||||
            .driver   = "virtio-net-pci",
 | 
					            .driver   = "virtio-net-pci",
 | 
				
			||||||
            .property = "event_idx",
 | 
					            .property = "event_idx",
 | 
				
			||||||
            .value    = "off",
 | 
					            .value    = "off",
 | 
				
			||||||
 | 
					        },{
 | 
				
			||||||
 | 
					            .driver   = "AC97",
 | 
				
			||||||
 | 
					            .property = "use_broken_id",
 | 
				
			||||||
 | 
					            .value    = stringify(1),
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        { /* end of list */ }
 | 
					        { /* end of list */ }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -504,6 +516,10 @@ static QEMUMachine pc_machine_v0_10 = {
 | 
				
			|||||||
            .driver   = "virtio-net-pci",
 | 
					            .driver   = "virtio-net-pci",
 | 
				
			||||||
            .property = "event_idx",
 | 
					            .property = "event_idx",
 | 
				
			||||||
            .value    = "off",
 | 
					            .value    = "off",
 | 
				
			||||||
 | 
					        },{
 | 
				
			||||||
 | 
					            .driver   = "AC97",
 | 
				
			||||||
 | 
					            .property = "use_broken_id",
 | 
				
			||||||
 | 
					            .value    = stringify(1),
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        { /* end of list */ }
 | 
					        { /* end of list */ }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user