From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: "Gonglei (Arei)" <arei.gonglei@huawei.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Michael Roth <mdroth@linux.vnet.ibm.com>,
Tyrel Datwyler <tyreld@linux.vnet.ibm.com>,
"kraxel@redhat.com" <kraxel@redhat.com>
Subject: Re: [Qemu-devel] USB PCI host bus adapter hot plug
Date: Wed, 13 Aug 2014 16:02:04 +1000 [thread overview]
Message-ID: <53EAFF5C.3030608@ozlabs.ru> (raw)
In-Reply-To: <33183CC9F5247A488A2544077AF1902086C302E0@SZXEMA503-MBS.china.huawei.com>
On 08/13/2014 03:00 PM, Gonglei (Arei) wrote:
>>>>> I noticed that QMP's "device_add usb-ehci,id=i2,bus=pci.0" fails on PCI
>>>>> hotplug. The same for pci-ohci and this is because their initfn() do
>>>>> "dc->hotpluggable = false". So I removed those and now I can hotplug
>> USB
>>>>> hosts but none of them is able to actually work:
>>>>>
>>>>> root@aiktest-le:~# echo 1 >/sys/bus/pci/rescan
>>>>> [ 41.143062] ohci-pci 0000:00:01.0: init err (c8700000 0000)
>>>>> [ 41.143133] ohci-pci 0000:00:01.0: can't start
>>>>> [ 41.143227] ohci-pci 0000:00:01.0: startup error -75
>>>>> [ 41.144202] ohci-pci 0000:00:01.0: init 0000:00:01.0 fail, -75
>>>>>
>>>>>
>>>>> root@aiktest-le:~# echo 1 >/sys/bus/pci/rescan
>>>>> [ 43.691067] ehci-pci 0000:00:01.0: can't setup: -110
>>>>> [ 43.692424] ehci-pci 0000:00:01.0: init 0000:00:01.0 fail, -110
>>>>>
>>>>>
>>>>> Why is that? Is QEMU just missing some bits or there is some fundamental
>>>>> issue which I just do not see? Thanks!
>>>>>
>>>> Cc'ing Gerd.
>>>>
>>>> Actually I have post a patch serials for supporting usb host adapter
>> hotplugging,
>>>> Which has been involved in Gerd's (the USB mantainer) usb-next tree. Please
>> see:
>>>> https://www.kraxel.org/cgit/qemu/log/?h=rebase/usb-next
>>>>
>>>> The function of usb host adapter hotplugging is ok. You are welcome to test
>> it.
>>>
>>> It does not work for me though. The device appears in the system but the
>>> driver fails to bring it up:
>>>
>>> [root@localhost ~]# echo 1 >/sys/bus/pci/rescan
>>>
>>> [ 43.482378] pci 0000:00:01.0: BAR 0: assigned [mem
>>> 0x100a0000000-0x100a0000fff]
>>> [ 43.488851] ehci-pci 0000:00:01.0: EHCI Host Controller
>>>
>>> [ 43.490153] ehci-pci 0000:00:01.0: new USB bus registered, assigned bus
>>> number 1
>>> [ 43.504957] ehci-pci 0000:00:01.0: can't setup: -110
>>>
>>> [ 43.505028] ehci-pci 0000:00:01.0: USB bus 1 deregistered
>>>
>>> [ 43.507660] ehci-pci 0000:00:01.0: init 0000:00:01.0 fail, -110
>>>
>>> [ 43.507808] ehci-pci: probe of 0000:00:01.0 failed with error -110
>>>
>>>
>>>
>>>> BTW, What's your guest os type?
>>>
>>> Fedora20/ppc64 or Ubuntu14/ppc64le.
>>>
>>> I tried your tree merged with
>>> https://github.com/mdroth/qemu/tree/spapr-pci-hotplug-ppc-next-cleanup2
>>>
>>> I am adding PCIhotplug-on-PPC experts to the thread, may be they have
>> ideas...
>>
>>
>> More precise - this fails:
>>
>> drivers/usb/host/ehci-hcd.c:
>>
>> int ehci_handshake(struct ehci_hcd *ehci, void __iomem *ptr,
>> u32 mask, u32 done, int usec)
>> {
>> u32 result;
>>
>> do {
>> result = ehci_readl(ehci, ptr);
>> if (result == ~(u32)0) /* card removed */
>> return -ENODEV;
>> result &= mask;
>> if (result == done)
>> return 0;
>> udelay (1);
>> usec--;
>> } while (usec > 0);
>> return -ETIMEDOUT; // <------------------
>> }
>>
>> --
>> Alexey
>
> Hi, Alexey.
>
> Does this work when you configure
> EHCI at the command line, not hotplugging?
Yes, all possible USB hosts work just fine when added in the command line.
> BTW, I'm not familiar with PCIhotplug-on-PPC. Sorry for this.
I doubt this is because of PPC but there is always a chance :)
--
Alexey
next prev parent reply other threads:[~2014-08-13 6:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-11 4:02 [Qemu-devel] USB PCI host bus adapter hot plug Alexey Kardashevskiy
2014-08-11 5:59 ` Gonglei (Arei)
2014-08-12 6:05 ` Alexey Kardashevskiy
2014-08-13 4:52 ` Alexey Kardashevskiy
2014-08-13 5:00 ` Gonglei (Arei)
2014-08-13 6:02 ` Alexey Kardashevskiy [this message]
2014-08-28 8:24 ` Gerd Hoffmann
2014-08-28 8:31 ` Gonglei (Arei)
2014-08-28 8:35 ` Gerd Hoffmann
2014-08-29 3:23 ` Gonglei (Arei)
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=53EAFF5C.3030608@ozlabs.ru \
--to=aik@ozlabs.ru \
--cc=arei.gonglei@huawei.com \
--cc=kraxel@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=tyreld@linux.vnet.ibm.com \
/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.