On Monday 14 August 2006 12:37 am, s.balamurugan wrote:
> 
> Hello USB USers,
> 
>                                   This bala, i am using 2.6 kernel, i 
> want to understand the code flow of ehci-hcd.c program.
> Can anyone give me the documentation,

UTSL.  :)


> or give some idea how to start to  
> understand this program. 

It's not a "program", it's a "driver" ... a component of a few different
complex software stacks.

You could start looking at it as an example of a PCI driver, and get one
part of the picture.  Or as a USB host controller driver, and get a different
(and more complete) picture.  Of course, to understand the latter you'll
have to understand quite a lot about USB as implemented on Linux.

Other ways to look at it:  as an implementation of a USB hub; as a DMA
master; as a system wakeup event source; as something driving a high speed
hub's transaction translator.

You're going to need to hold a few dozen viewpoints about that code, all
at the same time, before you can "understand" it.


> what are the steps to follow while analyzing  
> this program.

Turn on all the debug messaging, and watch what happens.  Some of the
most interesting events in an HCD are:

 - Device connected to root hub
 - Device disconnected from root hub
 - URB submitted by driver (through usbcore)
 - I/O completion IRQ arrives
 - URB completes and is given back to it (through usbcore)

That shold get you started.

- Dave



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to