qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] RFC: ehci -> uhci handoff suggestions
@ 2010-05-25 13:40 David S. Ahern
  2010-05-26 11:47 ` Gerd Hoffmann
  0 siblings, 1 reply; 8+ messages in thread
From: David S. Ahern @ 2010-05-25 13:40 UTC (permalink / raw)
  To: qemu-devel


USB 2.0 leverages companion UHCI or OHCI host controllers for full and
low speed devices. I do not see an appropriate means for doing that bus
transition and could use some suggestions.

I've read through the code for the "legacy" path in handling USB devices
(-usbdevice CLI arg and usb_add monitor command), and I am now working
on the new path (now that I know about it).

As I understand the code at this point it is a top down setup: device
added, bus found, device attached.

    --------------------
   |   Qemu USB admin   |   - adding/removing devices
   |     interface      |   - showing device list
    --------------------
             |
    --------------------
   |   USB controller   |
    --------------------
             |
    --------------------
   |  USB device model  |   - emulated devices (e.g., hw/usb-serial)
   |    (or driver )    |   - host devices
    --------------------


ie., key point is the expectation that the bus to which the device is
assigned is known early in the code path.

For USB devices the bus to attach it to should be determined
automatically when the device is attached. Something along the lines of:

    --------------------
   |   Qemu USB admin   |
   |     interface      |
    --------------------
             |
    --------------------      --------------------
   |   EHCI controller  |--->|    UHCI / OHCI     |
    --------------------      --------------------
             |                         |
    --------------------      --------------------
   |  USB device model  |    |  USB device model  |
   |    (or driver )    |    |    (or driver )    |
    --------------------      --------------------
         high speed             full / low speed


To know which bus to attach it to the device needs to be queried/probed
for basic information - something the current architecture does not have.

Suggestions?

David

P.S. I skimmed the USB 3.0 spec and it has the same design: super speed
devices are attached to the new 3.0 controller, high speed to ehci and
low/full to uhci/ohci.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-05-26 19:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-25 13:40 [Qemu-devel] RFC: ehci -> uhci handoff suggestions David S. Ahern
2010-05-26 11:47 ` Gerd Hoffmann
2010-05-26 12:25   ` Kevin Wolf
2010-05-26 12:48     ` Gerd Hoffmann
2010-05-26 13:06       ` David S. Ahern
2010-05-26 13:23         ` Kevin Wolf
2010-05-26 14:00           ` David S. Ahern
2010-05-26 19:54             ` Johannes Stezenbach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).