From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Michal Nazarewicz <mina86@mina86.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
Sergei Shtylyov <sshtylyov@mvista.com>,
Felipe Balbi <balbi@ti.com>,
Yang Rui Rui <ruirui.r.yang@tieto.com>,
Greg Kroah-Hartman <gregkh@suse.de>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCHv2] usb: gadget: get rid of USB_GADGET_DUALSPEED and USB_GADGET_SUPERSPEED
Date: Fri, 19 Aug 2011 13:13:41 +0200 [thread overview]
Message-ID: <4E4E4565.70902@linutronix.de> (raw)
In-Reply-To: <op.v0gi7koy3l0zgt@mnazarewicz-glaptop>
Michal Nazarewicz wrote:
> On Thu, 18 Aug 2011 22:30:14 +0200, Alan Stern
> <stern@rowland.harvard.edu> wrote:
>> Okay, that line was probably all right, but it seems that something
>> else needs to be changed. In a composite gadget, if none of the
>> function drivers support SuperSpeed then we don't want
>> composite_driver.speed to be set to USB_SPEED_SUPER. It would be
>> foolish to allow the UDC to connect at a speed which would make the
>> gadget useless.
>
> OK, so it seems I was misunderstanding your comment all along, but
> that was nothing a good night sleep couldn't fix. :P
>
> So, what you are saying is that when passed to the UDC driver (ie.
> by calling usb_gadget_probe_driver()) the usb_gadget_driver structure
> must have speed no higher then what the UDC supports, right? And in
> that case, it's not composite specific but affects all the gadgets.
>
> In that case, I think that usb_gadget_probe_driver() itself needs to be
> changed since prior to this function we don't know which gadget the
> gadget driver will be bound to. Ie. something as follows could be added
> somewhere there:
>
> driver->speed = min(driver->speed, udc->gadget->speed)
>
> Does that sound like it makes sense?
>
> At this point though, gadget drivers need to be aware that
> usb_gadget_probe_driver() may change the speed field. It should not
> be a problem since, as far as I can tell, all gadgets expect for g_ffs
> call usb_gadget_probe_driver() only once and in case of g_ffs this can
> be solved at composite level.
There are three speeds:
- the max speed the UDC supports i.e. HS (no field for that?)
- the max speed the gadget / function driver support i.e. SS
(driver->max_speed ?)
- the speed the UDC is connected at the moment i.e. FS. (gadget->speed)
So in this case you have to go down and use FS descriptors. The FS speed
is represented by gadget->speed right? So for now we do FS. On the next
re-plug the user places OHCI controller with XHCI so you can use HS
descriptors now. So changing dirver->speed wouldn't allow you go beyond FS
once you to FS right?
Sebastian
next prev parent reply other threads:[~2011-08-19 11:13 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4E4B9D9C.2010607@linutronix.de>
2011-08-17 13:03 ` [PATCH] usb: gadget: get rid of USB_GADGET_DUALSPEED and USB_GADGET_SUPERSPEED Michal Nazarewicz
2011-08-17 14:20 ` Alan Stern
2011-08-17 14:27 ` Michal Nazarewicz
2011-08-17 14:47 ` Alan Stern
2011-08-17 15:07 ` Michal Nazarewicz
2011-08-17 16:25 ` Alan Stern
2011-08-17 14:36 ` Sergei Shtylyov
2011-08-17 14:45 ` Michal Nazarewicz
2011-08-17 15:33 ` [PATCHv2] " Michal Nazarewicz
2011-08-17 21:09 ` Alan Stern
2011-08-18 13:19 ` Michal Nazarewicz
2011-08-18 14:59 ` Alan Stern
2011-08-18 17:05 ` Michal Nazarewicz
2011-08-18 17:27 ` Alan Stern
2011-08-18 20:13 ` Michal Nazarewicz
2011-08-18 20:30 ` Alan Stern
2011-08-18 20:44 ` Michal Nazarewicz
2011-08-19 10:53 ` Michal Nazarewicz
2011-08-19 11:13 ` Sebastian Andrzej Siewior [this message]
2011-08-19 12:14 ` Michal Nazarewicz
2011-08-19 14:29 ` Alan Stern
2011-08-19 14:38 ` Michal Nazarewicz
2011-08-19 14:57 ` Alan Stern
2011-08-19 2:02 ` Yang Rui Rui
2011-08-19 12:17 ` Michal Nazarewicz
2011-08-18 3:01 ` Yang Rui Rui
2011-08-18 11:57 ` Michal Nazarewicz
2011-08-18 13:24 ` Dave Young
2011-08-18 13:41 ` Michal Nazarewicz
2011-08-19 22:32 ` [PATCHv3 0/4] Figuring out speed refactorisation Michal Nazarewicz
2011-08-19 22:32 ` [PATCHv3 1/4] usb: Provide usb_device_speed_name() function Michal Nazarewicz
2011-08-19 23:15 ` Felipe Balbi
2011-08-22 14:53 ` Michal Nazarewicz
2011-08-19 22:33 ` [PATCHv3 2/4] usb: gadget: replace "is_dualspeed" with "max_speed" Michal Nazarewicz
2011-08-19 23:28 ` Felipe Balbi
2011-08-23 13:48 ` Michal Nazarewicz
2011-08-23 13:58 ` Felipe Balbi
2011-08-23 14:15 ` Michal Nazarewicz
2011-08-23 14:37 ` Alan Stern
2011-08-23 14:58 ` Felipe Balbi
2011-08-23 15:07 ` Michal Nazarewicz
2011-08-23 15:11 ` Felipe Balbi
2011-08-23 15:26 ` Michal Nazarewicz
2011-08-23 17:19 ` Felipe Balbi
2011-08-23 18:44 ` Michal Nazarewicz
2011-08-23 15:43 ` Alan Stern
2011-08-23 17:21 ` Felipe Balbi
2011-08-23 18:00 ` Alan Stern
2011-08-23 19:05 ` Michal Nazarewicz
2011-08-23 20:49 ` Alan Stern
2011-08-24 8:56 ` Felipe Balbi
2011-08-24 13:10 ` Michal Nazarewicz
2011-08-24 14:31 ` Alan Stern
2011-08-24 14:53 ` Michal Nazarewicz
2011-08-24 15:15 ` Alan Stern
2011-08-24 15:25 ` Michal Nazarewicz
2011-08-24 23:04 ` Felipe Balbi
2011-08-25 12:46 ` Michal Nazarewicz
2011-08-25 12:53 ` Felipe Balbi
2011-08-24 22:57 ` Felipe Balbi
2011-08-23 15:05 ` Felipe Balbi
2011-08-23 15:30 ` Michal Nazarewicz
2011-08-19 22:33 ` [PATCHv3 3/4] usb: gadget: rename usb_gadget_driver::speed to max_speed Michal Nazarewicz
2011-08-19 23:31 ` Felipe Balbi
2011-08-20 2:34 ` Alan Stern
2011-08-22 10:42 ` Felipe Balbi
2011-08-19 22:33 ` [PATCHv3 4/4] usb: gadget: get rid of USB_GADGET_{DUAL,SUPER}SPEED Michal Nazarewicz
2011-08-20 13:41 ` Alan Stern
2011-08-22 14:51 ` Michal Nazarewicz
2011-08-22 15:03 ` Alan Stern
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=4E4E4565.70902@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=balbi@ti.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mina86@mina86.com \
--cc=ruirui.r.yang@tieto.com \
--cc=sshtylyov@mvista.com \
--cc=stern@rowland.harvard.edu \
/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