David Brownell wrote:
> 
> > Now the HCDs can use endpointnumber+direction(pipe) as
> > an index for the endpoint descriptor array and get all the
> > information about the endpoint from there.
> 
> ... after updating control flow in some cases to make sure
> they don't separate the usb_device from the epnum+direction.
> Likely that's mostly an HCD-internal issue.
> 
> > I would replace both the pipe and the dev slots with a pointer
> > to the extended endpoint descriptor (ED).
> > (The ED has a pointer to dev)
> 
> Why change the name?  ED is an OHCI-internals thing ... :)
> 

We also already store endpoint descriptors in the core so
the name could be a little bit confusing.


> > Also the intr-interval and most of the flags are properties
> > of the extended endpoint descriptor.
> 
> Yes, except that I think drivers need to be able to choose
> interrupt intervals different from what the descriptor says.
> 

But the default value should come from the descriptor. Also
you could overwrite the value of the descriptor. Or we can keep an
alterable copy of the interrupt interval.

> > Converting of the code is not such a large job because most
> > of the information of an URB/pipe is redundant. So the devices
> > need not care about it. USB core/HCDs should
> > know about it by looking at the endpoint descriptors.
> 
> Still, it's a lot of changes.  I agree it'd be good to see some
> of the API redundancy gone, and get cleanups.
> 
> How keen are you to see that happen?  Enough to plan
> on some work to make this happen sometime in the 2.5
> series?  How about backporting results?
> 

It would help to solve a possible problem of the usb-ohci HCD
(an inconsistent URB can overwrite an active (HC owned) ED).
So I have some interest that this happens ;-) 


> It'd be interesting to collect a general list of stuff that folk
> want to see happen in 2.5, and let it gel enough to do
> some planning/coordination against the feature set.
> 

for the list:
Kernel:
- HUB: current calculation/checks 
  (block interface if it would need to much current)
- bandwidth calculation/check/managment for list and 
  tree-like INTR EP structures
- Interfaces: owner or lock of an interface and EP0 management 

External:
- HUB/Device controller Applet 
  (HUB: Enable/Disble/Reset/Suspend/Resume Port, 
    Switch on LED (USB2.0), show overcurrent condition, 
   show current/bandwith
  Device: switch alternate interface, show endpoint statistic 
   (Packets transfered, bits/sec,...)) 


- Roman

> - Dave
> 
> _______________________________________________
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to