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
16
hw/ac97.c
16
hw/ac97.c
@ -150,6 +150,7 @@ typedef struct AC97BusMasterRegs {
|
||||
typedef struct AC97LinkState {
|
||||
PCIDevice dev;
|
||||
QEMUSoundCard card;
|
||||
uint32_t use_broken_id;
|
||||
uint32_t glob_cnt;
|
||||
uint32_t glob_sta;
|
||||
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 + 7] = 0x00;
|
||||
|
||||
c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86; /* svid subsystem vendor id rwo */
|
||||
c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
|
||||
|
||||
c[PCI_SUBSYSTEM_ID] = 0x00; /* sid subsystem id rwo */
|
||||
c[PCI_SUBSYSTEM_ID + 1] = 0x00;
|
||||
if (s->use_broken_id) {
|
||||
c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;
|
||||
c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
|
||||
c[PCI_SUBSYSTEM_ID] = 0x00;
|
||||
c[PCI_SUBSYSTEM_ID + 1] = 0x00;
|
||||
}
|
||||
|
||||
c[PCI_INTERRUPT_LINE] = 0x00; /* intr_ln interrupt line rw */
|
||||
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,
|
||||
.revision = 0x01,
|
||||
.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)
|
||||
|
16
hw/pc_piix.c
16
hw/pc_piix.c
@ -347,6 +347,10 @@ static QEMUMachine pc_machine_v0_13 = {
|
||||
.driver = "virtio-net-pci",
|
||||
.property = "event_idx",
|
||||
.value = "off",
|
||||
},{
|
||||
.driver = "AC97",
|
||||
.property = "use_broken_id",
|
||||
.value = stringify(1),
|
||||
},
|
||||
{ /* end of list */ }
|
||||
},
|
||||
@ -390,6 +394,10 @@ static QEMUMachine pc_machine_v0_12 = {
|
||||
.driver = "virtio-net-pci",
|
||||
.property = "event_idx",
|
||||
.value = "off",
|
||||
},{
|
||||
.driver = "AC97",
|
||||
.property = "use_broken_id",
|
||||
.value = stringify(1),
|
||||
},
|
||||
{ /* end of list */ }
|
||||
}
|
||||
@ -441,6 +449,10 @@ static QEMUMachine pc_machine_v0_11 = {
|
||||
.driver = "virtio-net-pci",
|
||||
.property = "event_idx",
|
||||
.value = "off",
|
||||
},{
|
||||
.driver = "AC97",
|
||||
.property = "use_broken_id",
|
||||
.value = stringify(1),
|
||||
},
|
||||
{ /* end of list */ }
|
||||
}
|
||||
@ -504,6 +516,10 @@ static QEMUMachine pc_machine_v0_10 = {
|
||||
.driver = "virtio-net-pci",
|
||||
.property = "event_idx",
|
||||
.value = "off",
|
||||
},{
|
||||
.driver = "AC97",
|
||||
.property = "use_broken_id",
|
||||
.value = stringify(1),
|
||||
},
|
||||
{ /* end of list */ }
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user