[Ilugc] Function flow at the time of USB device connection (Enumeration)

  • From: srinivasg@xxxxxxxxxxxxxxxxxxxxx (Srinivas G.)
  • Date: Mon Nov 12 16:40:40 2007

Dear All,

 

We are looking into the EHCI driver source code in Linux kernel 2.6.14 version. 
Actually we want to know the function flow at the time of the device connection 
(i.e. at the time of enumeration phase). For this, we built the Linux image by 
including the debug statements through printks in EHCI related files in Linux 
source code (drivers/usb/host). We found that the ehci_start callback method is 
invoked from usb_hcd_pci_probe method at the time of initialization (when we 
run modprobe / insmod command). The same we tried to know the name of the 
method which invokes the ehci_urb_enqueue callback method of the EHCI. We have 
noticed the following function flow in the /var/log/messages file / through 
dmesg command after inserting the device into a USB port.

 

ehci_urb_enqueue?qh_urb_transaction ? qtd_fill

   ?submit async ? qtd_append_tds

   ? qh_link_async.

 

We have also noticed that qh_link_async moves filled qheads into asynchronous 
list  by writing  the command into the EHCI operational register's command 
register. 

 

We are not able to find the function name that which invokes the 
ehci_urb_enqueue method. So, could any one please tell/suggest us the function 
name OR procedure to find out. 

 

Thanks and Regards,

Srinivas G

 

Other related posts: