linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Felipe Balbi <balbi@ti.com>,
	sundeep subbaraya <sundeep.lkml@gmail.com>,
	Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xilinx.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Michal Simek <michals@xilinx.com>,
	Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH RFC] usb: gadget: Add xilinx axi usb2 device support
Date: Tue, 15 Apr 2014 23:39:23 -0500	[thread overview]
Message-ID: <20140416043922.GC15056@saruman.home> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1404151345580.1310-100000@iolanthe.rowland.org>

[-- Attachment #1: Type: text/plain, Size: 2047 bytes --]

Hi,

On Tue, Apr 15, 2014 at 01:55:38PM -0400, Alan Stern wrote:
> On Tue, 15 Apr 2014, Felipe Balbi wrote:
> 
> > > 2. Does device need to know OUT transactions before hand so that OUT
> > > requests are queued for endpoint before packets are received
> > > from host?
> > 
> > well, no. Gadget driver shouldn't depend on that. That's UDC driver's
> > responsability to manage that. I mean, if host sends OUT token and
> > there's nothing in the out queue, then UDC need to start transfer as
> > soon as gadget driver queues the request. If, on the other hand, gadget
> > driver queues packet before host has sent OUT token then you have two
> > choices:
> > 
> > 1) start the transfer - most HW will wait for OUT token
> > 2) wait for out token
> 
> I'm not familiar with the variations in all the different UDC hardware.  
> Nevertheless, I wouldn't describe the situation in those terms.

OK, I've oversimplified... what I meant was that even if you start a
transfer at the UDC level, nothing will happen on the bus until HW sees
an OUT token. The buffer pointed to by req->buf won't get any writes,
DMA won't do anything.

On (2) I meant that some HW (e.g. dwc3) will assert the IRQ line once
they see a token for which they have to transfer descriptors in the
internal controller's cache.

> If an OUT transaction occurs and the gadget driver hasn't queued a
> request, the UDC hardware could store the incoming data in an internal
> buffer or it could NAK the transaction.  There aren't any other
> choices.  If there isn't enough space available in an internal buffer,
> the only possible action is NAK.

in HS there's also NYET

> Regardless, gadget drivers do not need to queue requests for OUT
> endpoints before the host starts sending data.  When the request does

they're not required, but they can. It's UDC driver's responsability to
start consuming the queue at the proper time.

> get queued, the UDC driver will make sure that the transfer takes
> place.

correct.

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

      reply	other threads:[~2014-04-16  4:41 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-19  9:40 [PATCH RFC] usb: gadget: Add xilinx axi usb2 device support Subbaraya Sundeep Bhatta
2014-02-20 18:23 ` Felipe Balbi
2014-02-21  6:38   ` Michal Simek
2014-02-21 16:04     ` Greg Kroah-Hartman
2014-02-21 16:04       ` Michal Simek
2014-02-21 16:12         ` SPDX-License-Identifier (was: Re: [PATCH RFC] usb: gadget: Add xilinx axi usb2 device support) Felipe Balbi
2014-02-21 16:18           ` SPDX-License-Identifier Michal Simek
2014-02-21 16:20             ` SPDX-License-Identifier Felipe Balbi
2014-02-21 16:56               ` SPDX-License-Identifier Greg Kroah-Hartman
2014-02-21 17:26                 ` SPDX-License-Identifier Michal Simek
2014-02-21 17:57                   ` SPDX-License-Identifier Greg Kroah-Hartman
2014-02-21 19:01                     ` SPDX-License-Identifier Theodore Ts'o
2014-02-24 10:12                       ` SPDX-License-Identifier Michal Simek
2014-02-24 13:41                         ` SPDX-License-Identifier Theodore Ts'o
2014-02-24 14:03                           ` SPDX-License-Identifier Michal Simek
2014-02-24 14:26                             ` SPDX-License-Identifier Greg Kroah-Hartman
2014-02-25 12:10                               ` SPDX-License-Identifier One Thousand Gnomes
2014-02-25 12:25                                 ` SPDX-License-Identifier Geert Uytterhoeven
2015-02-02 15:43             ` SPDX-License-Identifier Stefan Roese
2015-02-02 16:06               ` SPDX-License-Identifier Greg Kroah-Hartman
2015-02-04 16:41                 ` SPDX-License-Identifier Stefan Roese
2015-02-05  4:21                   ` SPDX-License-Identifier Theodore Ts'o
2015-02-05  6:41                   ` SPDX-License-Identifier Greg Kroah-Hartman
2015-02-25 21:49                     ` SPDX-License-Identifier Pavel Machek
2015-02-25 22:00                       ` SPDX-License-Identifier Felipe Balbi
2015-02-26 21:49                         ` SPDX-License-Identifier Pavel Machek
2015-02-26 10:26                       ` SPDX-License-Identifier One Thousand Gnomes
2015-02-26 13:39                         ` SPDX-License-Identifier Theodore Ts'o
2015-02-26 21:53                         ` SPDX-License-Identifier Pavel Machek
2015-02-05 11:49                   ` SPDX-License-Identifier One Thousand Gnomes
2014-02-21 16:23         ` [PATCH RFC] usb: gadget: Add xilinx axi usb2 device support Greg Kroah-Hartman
2014-02-21 11:27   ` Subbaraya Sundeep Bhatta
2014-02-21 15:39     ` Felipe Balbi
2014-03-10 13:36       ` sundeep subbaraya
2014-03-10 18:44         ` Felipe Balbi
2014-02-21 12:04   ` Mark Rutland
2014-02-21 13:41     ` Michal Simek
2014-02-21 13:57       ` Mark Rutland
2014-02-21 14:06         ` Michal Simek
2014-02-21 15:42       ` Felipe Balbi
2014-02-21 15:51         ` Michal Simek
2014-02-21 16:00           ` Felipe Balbi
2014-02-21 16:15           ` Arnd Bergmann
2014-02-21 15:41     ` Felipe Balbi
2014-02-21 16:13       ` Mark Rutland
2014-03-26 10:07   ` sundeep subbaraya
2014-04-15 17:18     ` Felipe Balbi
2014-04-15 17:55       ` Alan Stern
2014-04-16  4:39         ` Felipe Balbi [this message]

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=20140416043922.GC15056@saruman.home \
    --to=balbi@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=michals@xilinx.com \
    --cc=sbhatta@xilinx.com \
    --cc=stern@rowland.harvard.edu \
    --cc=subbaraya.sundeep.bhatta@xilinx.com \
    --cc=sundeep.lkml@gmail.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 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).