diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2020-11-13 12:40:36 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2020-11-13 12:40:36 +0000 |
commit | 6980c128b5cbc1d2a1b85609bb4d1e006e65109e (patch) | |
tree | 9f88709c355aa38b91e18dafdb18f1fbf25e3bb6 /hw/usb | |
parent | be2df2ac6f6b9eeee21cc057de0a119ac30fbc60 (diff) | |
parent | 172bc8520db1cb98d09b367360068a675fbc9413 (diff) | |
download | qemu-6980c128b5cbc1d2a1b85609bb4d1e006e65109e.zip qemu-6980c128b5cbc1d2a1b85609bb4d1e006e65109e.tar.gz qemu-6980c128b5cbc1d2a1b85609bb4d1e006e65109e.tar.bz2 |
Merge remote-tracking branch 'remotes/kraxel/tags/fixes-20201113-pull-request' into staging
fixes for console, audio, usb, vga.
# gpg: Signature made Fri 13 Nov 2020 12:29:44 GMT
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/fixes-20201113-pull-request:
xhci: fix nec-usb-xhci properties
hw/display/cirrus_vga: Fix hexadecimal format string specifier
hw/display/cirrus_vga: Remove debugging code commented out
hw/usb/Kconfig: Fix USB_XHCI_NEC (depends on USB_XHCI_PCI)
console: avoid passing con=NULL to graphic_hw_update_done()
audio/jack: fix use after free segfault
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/usb')
-rw-r--r-- | hw/usb/Kconfig | 3 | ||||
-rw-r--r-- | hw/usb/hcd-xhci-nec.c | 31 |
2 files changed, 27 insertions, 7 deletions
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig index a674ce4..3b07d9c 100644 --- a/hw/usb/Kconfig +++ b/hw/usb/Kconfig @@ -43,8 +43,7 @@ config USB_XHCI_PCI config USB_XHCI_NEC bool default y if PCI_DEVICES - depends on PCI - select USB_XHCI + select USB_XHCI_PCI config USB_XHCI_SYSBUS bool diff --git a/hw/usb/hcd-xhci-nec.c b/hw/usb/hcd-xhci-nec.c index 5707b2c..13a125a 100644 --- a/hw/usb/hcd-xhci-nec.c +++ b/hw/usb/hcd-xhci-nec.c @@ -27,18 +27,37 @@ #include "hcd-xhci-pci.h" +typedef struct XHCINecState { + /*< private >*/ + XHCIPciState parent_obj; + /*< public >*/ + uint32_t flags; + uint32_t intrs; + uint32_t slots; +} XHCINecState; + static Property nec_xhci_properties[] = { DEFINE_PROP_ON_OFF_AUTO("msi", XHCIPciState, msi, ON_OFF_AUTO_AUTO), DEFINE_PROP_ON_OFF_AUTO("msix", XHCIPciState, msix, ON_OFF_AUTO_AUTO), - DEFINE_PROP_BIT("superspeed-ports-first", XHCIPciState, - xhci.flags, XHCI_FLAG_SS_FIRST, true), - DEFINE_PROP_BIT("force-pcie-endcap", XHCIPciState, xhci.flags, + DEFINE_PROP_BIT("superspeed-ports-first", XHCINecState, flags, + XHCI_FLAG_SS_FIRST, true), + DEFINE_PROP_BIT("force-pcie-endcap", XHCINecState, flags, XHCI_FLAG_FORCE_PCIE_ENDCAP, false), - DEFINE_PROP_UINT32("intrs", XHCIPciState, xhci.numintrs, XHCI_MAXINTRS), - DEFINE_PROP_UINT32("slots", XHCIPciState, xhci.numslots, XHCI_MAXSLOTS), + DEFINE_PROP_UINT32("intrs", XHCINecState, intrs, XHCI_MAXINTRS), + DEFINE_PROP_UINT32("slots", XHCINecState, slots, XHCI_MAXSLOTS), DEFINE_PROP_END_OF_LIST(), }; +static void nec_xhci_instance_init(Object *obj) +{ + XHCIPciState *pci = XHCI_PCI(obj); + XHCINecState *nec = container_of(pci, XHCINecState, parent_obj); + + pci->xhci.flags = nec->flags; + pci->xhci.numintrs = nec->intrs; + pci->xhci.numslots = nec->slots; +} + static void nec_xhci_class_init(ObjectClass *klass, void *data) { PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); @@ -53,6 +72,8 @@ static void nec_xhci_class_init(ObjectClass *klass, void *data) static const TypeInfo nec_xhci_info = { .name = TYPE_NEC_XHCI, .parent = TYPE_XHCI_PCI, + .instance_size = sizeof(XHCINecState), + .instance_init = nec_xhci_instance_init, .class_init = nec_xhci_class_init, }; |