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