devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
To: Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org>
Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>,
	sundeep subbaraya
	<sundeep.lkml-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Subbaraya Sundeep Bhatta
	<subbaraya.sundeep.bhatta-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	"linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Michal Simek <michals-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
	Subbaraya Sundeep Bhatta
	<sbhatta-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.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-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.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 --]

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

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <774153d4-d33f-4bb4-813b-582762bc3af9@TX2EHSMHS021.ehs.local>
     [not found] ` <774153d4-d33f-4bb4-813b-582762bc3af9-8XeO8fnFoNFnw48GICbVzrjjLBE8jN/0@public.gmane.org>
2014-02-20 18:23   ` [PATCH RFC] usb: gadget: Add xilinx axi usb2 device support Felipe Balbi
2014-02-21 11:27     ` Subbaraya Sundeep Bhatta
2014-02-21 15:39       ` Felipe Balbi
     [not found]         ` <20140221153905.GE31902-HgARHv6XitL9zxVx7UNMDg@public.gmane.org>
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
     [not found]           ` <20140221154244.GG31902-HgARHv6XitL9zxVx7UNMDg@public.gmane.org>
2014-02-21 15:51             ` Michal Simek
2014-02-21 16:00               ` Felipe Balbi
     [not found]               ` <530775EB.6030004-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
2014-02-21 16:15                 ` Arnd Bergmann
     [not found]       ` <20140221120454.GD8783-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2014-02-21 15:41         ` Felipe Balbi
2014-02-21 16:13           ` Mark Rutland
     [not found]     ` <20140220182257.GF23217-HgARHv6XitL9zxVx7UNMDg@public.gmane.org>
2014-02-21  6:38       ` Michal Simek
2014-02-21 16:04         ` Greg Kroah-Hartman
     [not found]           ` <20140221160442.GA17506-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-02-21 16:04             ` Michal Simek
     [not found]               ` <5307790A.4050806-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
2014-02-21 16:12                 ` SPDX-License-Identifier (was: Re: [PATCH RFC] usb: gadget: Add xilinx axi usb2 device support) Felipe Balbi
     [not found]                   ` <20140221161246.GM31902-HgARHv6XitL9zxVx7UNMDg@public.gmane.org>
2014-02-21 16:18                     ` SPDX-License-Identifier Michal Simek
     [not found]                       ` <53077C5F.9000407-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
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
     [not found]                               ` <53078C30.7060703-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
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
     [not found]                                       ` <530B1B25.5090601-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
2014-02-24 13:41                                         ` SPDX-License-Identifier Theodore Ts'o
2014-02-24 14:03                                           ` SPDX-License-Identifier Michal Simek
     [not found]                                             ` <530B512D.8090308-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
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
     [not found]                           ` <54CF9B12.2070807-ynQEQJNshbs@public.gmane.org>
2015-02-02 16:06                             ` SPDX-License-Identifier Greg Kroah-Hartman
     [not found]                               ` <20150202160622.GA9852-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-02-04 16:41                                 ` SPDX-License-Identifier Stefan Roese
     [not found]                                   ` <54D24BA4.3070509-ynQEQJNshbs@public.gmane.org>
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-03-26 10:07       ` sundeep subbaraya
2014-04-15 17:18         ` Felipe Balbi
2014-04-15 17:55           ` Alan Stern
     [not found]             ` <Pine.LNX.4.44L0.1404151345580.1310-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
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-l0cymroini0@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=michals-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
    --cc=sbhatta-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
    --cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \
    --cc=subbaraya.sundeep.bhatta-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
    --cc=sundeep.lkml-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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).