qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] qemu usb-linux.c vl.h hw/esp.c hw/lsi53c895a.c ...
Date: Sat, 12 Aug 2006 15:19:24 +0100	[thread overview]
Message-ID: <200608121519.24867.paul@codesourcery.com> (raw)
In-Reply-To: <44DDCA19.4030903@bellard.org>

[following up to record the discussion on IRC]
On Saturday 12 August 2006 13:31, Fabrice Bellard wrote:
> About async USB, maybe some simplifications are possible. When you have
> a real USB controller, there is always a single current request and you
> don't neep to have provisions to handle several ones (of course more
> complicated host controllers could do that, but it is not useful to
> model it now). Moreover, the devices must reply to the request
> immediately so the request are asynchronous just because it takes a few
> uS to send the data, not because the device blocks (I am not sure it is
> clear for you).

Right. It depends which level of the USB spec you're looking at.

At the low level (frames) USB is a bus system. Each TD is send on the bus in 
turn, and the device responds immediately (with a NAK if it is not ready to 
handle the request).

However at a higher level (endpoints) USB Bulk (and Control) transfers can be 
considered to be concurrent packet streams. This is closer to the level at 
which the current async support was intended to work.
With OHCI this matches the interface presented by the host controller. With 
UHCI a bit of guesswork is needed to recover this from the low-level 
frame/queue structures.

Paul

  reply	other threads:[~2006-08-12 14:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-12  1:04 [Qemu-devel] qemu usb-linux.c vl.h hw/esp.c hw/lsi53c895a.c Paul Brook
2006-08-12 12:31 ` Fabrice Bellard
2006-08-12 14:19   ` Paul Brook [this message]
2006-08-15 22:56 ` Igor Kovalenko

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=200608121519.24867.paul@codesourcery.com \
    --to=paul@codesourcery.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 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).