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/hcd-xhci-nec.c | |
| parent | be2df2ac6f6b9eeee21cc057de0a119ac30fbc60 (diff) | |
| parent | 172bc8520db1cb98d09b367360068a675fbc9413 (diff) | |
| download | focaccia-qemu-6980c128b5cbc1d2a1b85609bb4d1e006e65109e.tar.gz focaccia-qemu-6980c128b5cbc1d2a1b85609bb4d1e006e65109e.zip | |
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/hcd-xhci-nec.c')
| -rw-r--r-- | hw/usb/hcd-xhci-nec.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/hw/usb/hcd-xhci-nec.c b/hw/usb/hcd-xhci-nec.c index 5707b2cabd..13a125afe2 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, }; |