From: Felipe Balbi <balbi@ti.com>
To: Tanya Brokhman <tlinder@codeaurora.org>
Cc: balbi@ti.com, greg@kroah.com, linux-usb@vger.kernel.org,
linux-arm-msm@vger.kernel.org, ablay@codeaurora.org,
'open list' <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v14 4/9] usb: Add max_speed to usb_composite_driver structure
Date: Mon, 6 Jun 2011 14:37:43 +0300 [thread overview]
Message-ID: <20110606113742.GY18731@legolas.emea.dhcp.ti.com> (raw)
In-Reply-To: <00ef01cc243d$92c6d150$b85473f0$@org>
[-- Attachment #1: Type: text/plain, Size: 2066 bytes --]
Hi,
On Mon, Jun 06, 2011 at 02:33:32PM +0300, Tanya Brokhman wrote:
> > On Tue, May 31, 2011 at 04:18:24PM +0300, Tatyana Brokhman wrote:
> > > This field is used by the Gadget drivers to specify the maximum speed
> > > they support, meaning: the maximum speed they can provide descriptors
> > for.
> > >
> > > The driver speed will be set in consideration of this value.
> > >
> > > Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
> >
> > personally, I don't think this is good enough. The gadget speed is
> > actually the min() of the f_* speeds. So, IMHO this should be coming
> > from f_* and during bind you would:
> >
> > gadget->speed = min(f->speed, gadget->speed);
> >
> > for all functions. Also, both this patch and what I described above,
> > only works considering nobody touches that enum, so we might want to be
> > careful and add some comments to the enum to avoid anyone from touching
> > that :-)
>
> You're right, the full and best solution would be to set driver speed as the
> minimum of all the speeds its functions support. (Please note that it's the
> usb_composite_driver speed we're talking about and not the speed of the
> gadget).
> Unfortunately, we need to determine the driver speed before any of the
> functions binded to it so the above solution isn't possible.
> In any case, gadget->speed is determined upon real connection to the host
> that can occur long after the f-> bind() and it depends on whether for
> example SS HW negotiation protocol succeeded or failed.
true, let's take your approach for now.
But we might still want to force HighSpeed even though the HW has
SuperSpeed support. The real solution, for the long run would be to
always start with pullups disabled (iow, don't connect to host
immediately) and only connect after the gadget driver is all
initialized, then we will know the gadget speed before connecting, and
we can have the gadget driver "request" for a particular speed from the
controller.
For now, let's take your approach.
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
next prev parent reply other threads:[~2011-06-06 11:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-31 13:18 [PATCH v14 0/9] usb gadget: Add SuperSpeed support to the Gadget Framework Tatyana Brokhman
2011-05-31 13:18 ` [PATCH/RESEND v14 1/9] usb: Add usb_endpoint_descriptor to be part of the struct usb_ep Tatyana Brokhman
2011-05-31 13:18 ` [PATCH/RESEND v14 2/9] usb: Configure endpoint according to gadget speed Tatyana Brokhman
2011-05-31 13:18 ` [PATCH/RESEND v14 3/9] usb: Modify existing gadget drivers to use config_ep_by_speed() instead of ep_choose Tatyana Brokhman
2011-05-31 13:18 ` [PATCH v14 4/9] usb: Add max_speed to usb_composite_driver structure Tatyana Brokhman
2011-06-06 11:17 ` Felipe Balbi
2011-06-06 11:33 ` Tanya Brokhman
2011-06-06 11:37 ` Felipe Balbi [this message]
[not found] ` <20110606113742.GY18731-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
2011-06-06 15:25 ` Alan Stern
2011-06-06 15:36 ` Felipe Balbi
2011-05-31 13:18 ` [PATCH/RESEND v14 5/9] usb: coding style fix Tatyana Brokhman
2011-05-31 13:18 ` [PATCH v14 6/9] usb: Add streams support to the gadget framework Tatyana Brokhman
2011-05-31 13:18 ` [PATCH v14 7/9] usb:gadget: Add SuperSpeed support to the Gadget Framework Tatyana Brokhman
2011-06-03 8:03 ` Felipe Balbi
[not found] ` <20110603080333.GS2409-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
2011-06-03 18:00 ` Tanya Brokhman
2011-06-06 11:14 ` Felipe Balbi
2011-05-31 13:18 ` [PATCH/RESEND v14 8/9] usb:dummy_hcd: use the shared_hcd infrastructure Tatyana Brokhman
2011-05-31 13:18 ` [PATCH v14 9/9] usb: Adding SuperSpeed support to dummy_hcd Tatyana Brokhman
2011-05-31 14:18 ` Alan Stern
2011-05-31 18:39 ` Brokhman Tatyana
2011-05-31 19:07 ` Alan Stern
2011-05-31 19:29 ` Brokhman Tatyana
[not found] ` <Pine.LNX.4.44L0.1105311014160.30678-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2011-05-31 18:40 ` Brokhman Tatyana
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=20110606113742.GY18731@legolas.emea.dhcp.ti.com \
--to=balbi@ti.com \
--cc=ablay@codeaurora.org \
--cc=greg@kroah.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=tlinder@codeaurora.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).