From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: hdegoede@redhat.com, qemu-devel@nongnu.org,
Markus Armbruster <armbru@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] xhci: add property to turn on/off streams support
Date: Wed, 22 Oct 2014 15:59:37 +0100 [thread overview]
Message-ID: <20141022145936.GA3025@work-vm> (raw)
In-Reply-To: <1413897361-31598-1-git-send-email-kraxel@redhat.com>
* Gerd Hoffmann (kraxel@redhat.com) wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> hw/usb/hcd-xhci.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
> index a27c9d3..2930b72 100644
> --- a/hw/usb/hcd-xhci.c
> +++ b/hw/usb/hcd-xhci.c
> @@ -459,6 +459,7 @@ struct XHCIState {
> uint32_t numintrs;
> uint32_t numslots;
> uint32_t flags;
> + uint32_t max_pstreams_mask;
>
> /* Operational Registers */
> uint32_t usbcmd;
> @@ -500,6 +501,7 @@ enum xhci_flags {
> XHCI_FLAG_USE_MSI_X,
> XHCI_FLAG_SS_FIRST,
> XHCI_FLAG_FORCE_PCIE_ENDCAP,
> + XHCI_FLAG_ENABLE_STREAMS,
> };
>
> static void xhci_kick_ep(XHCIState *xhci, unsigned int slotid,
> @@ -1384,7 +1386,7 @@ static void xhci_init_epctx(XHCIEPContext *epctx,
> epctx->pctx = pctx;
> epctx->max_psize = ctx[1]>>16;
> epctx->max_psize *= 1+((ctx[1]>>8)&0xff);
> - epctx->max_pstreams = (ctx[0] >> 10) & 0xf;
> + epctx->max_pstreams = (ctx[0] >> 10) & epctx->xhci->max_pstreams_mask;
> epctx->lsa = (ctx[0] >> 15) & 1;
> if (epctx->max_pstreams) {
> xhci_alloc_streams(epctx, dequeue);
> @@ -2956,9 +2958,9 @@ static uint64_t xhci_cap_read(void *ptr, hwaddr reg, unsigned size)
> break;
> case 0x10: /* HCCPARAMS */
> if (sizeof(dma_addr_t) == 4) {
> - ret = 0x00087000;
> + ret = 0x00080000 | (xhci->max_pstreams_mask << 12);
> } else {
> - ret = 0x00087001;
> + ret = 0x00080001 | (xhci->max_pstreams_mask << 12);
> }
> break;
> case 0x14: /* DBOFF */
> @@ -3590,6 +3592,11 @@ static int usb_xhci_initfn(struct PCIDevice *dev)
> if (xhci->numslots < 1) {
> xhci->numslots = 1;
> }
> + if (xhci_get_flag(xhci, XHCI_FLAG_ENABLE_STREAMS)) {
> + xhci->max_pstreams_mask = 7; /* == 256 primary streams */
> + } else {
> + xhci->max_pstreams_mask = 0;
> + }
>
> xhci->mfwrap_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, xhci_mfwrap_timer, xhci);
>
> @@ -3853,6 +3860,8 @@ static Property xhci_properties[] = {
> XHCIState, flags, XHCI_FLAG_SS_FIRST, true),
> DEFINE_PROP_BIT("force-pcie-endcap", XHCIState, flags,
> XHCI_FLAG_FORCE_PCIE_ENDCAP, false),
> + DEFINE_PROP_BIT("streams", XHCIState, flags,
> + XHCI_FLAG_ENABLE_STREAMS, true),
That's enabling by default; so do you plan to add a patch to disable that
with older machine types?
Dave
> DEFINE_PROP_UINT32("intrs", XHCIState, numintrs, MAXINTRS),
> DEFINE_PROP_UINT32("slots", XHCIState, numslots, MAXSLOTS),
> DEFINE_PROP_UINT32("p2", XHCIState, numports_2, 4),
> --
> 1.8.3.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2014-10-22 14:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 13:16 [Qemu-devel] [PATCH] xhci: add property to turn on/off streams support Gerd Hoffmann
2014-10-22 14:35 ` Hans de Goede
2014-10-22 14:59 ` Dr. David Alan Gilbert [this message]
2014-10-22 15:28 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141022145936.GA3025@work-vm \
--to=dgilbert@redhat.com \
--cc=armbru@redhat.com \
--cc=hdegoede@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.