hi,everyone:
        i have some question when reading kernel 2.6.8 uhci_start. 

kernel2.6.8 uhci-hcd.c uhci_start():
========code from uhci_start====================
        uhci->skel_int128_qh->link =
                        uhci->skel_int64_qh->link =
                        uhci->skel_int32_qh->link =
                        uhci->skel_int16_qh->link =
                        uhci->skel_int8_qh->link =
                        uhci->skel_int4_qh->link =
                        uhci->skel_int2_qh->link =
                        cpu_to_le32(uhci->skel_int1_qh->dma_handle) | UHCI_PTR_QH;
        uhci->skel_int1_qh->link = cpu_to_le32(uhci->skel_ls_control_qh->dma_handle) | 
UHCI_PTR_QH;

        uhci->skel_ls_control_qh->link = 
cpu_to_le32(uhci->skel_fs_control_qh->dma_handle) | UHCI_PTR_QH;
        uhci->skel_fs_control_qh->link = cpu_to_le32(uhci->skel_bulk_qh->dma_handle) | 
UHCI_PTR_QH;
        uhci->skel_bulk_qh->link = cpu_to_le32(uhci->skel_term_qh->dma_handle) | 
UHCI_PTR_QH;

        uhci_fill_td(uhci->term_td, 0, (UHCI_NULL_DATA_SIZE << 21) |
                (0x7f << TD_TOKEN_DEVADDR_SHIFT) | USB_PID_IN, 0);
        uhci->term_td->link = cpu_to_le32(uhci->term_td->dma_handle);

        uhci->skel_term_qh->link = UHCI_PTR_TERM;
        uhci->skel_term_qh->element = cpu_to_le32(uhci->term_td->dma_handle);

        for (i = 0; i < UHCI_NUMFRAMES; i++) {
                int irq;

                irq = 6 - (int) __ffs(i + UHCI_NUMFRAMES);
                if (irq < 0)
                        irq = 7;

                uhci->fl->frame[i] = cpu_to_le32(uhci->skelqh[irq]->dma_handle);
        }
=========================================

i get the follow table from the above code.
==================
frame skelqh

0 skel_intr1_qh 
1 skel_intr2_qh
2 skel_intr4_qh
3 skel_intr2_qh
4 skel_intr8_qh
5 skel_intr2_qh
6 skel_intr4_qh
7 skel_intr2_qh
.....
===================
my question is :
1.i think skel_intr(N)_qh will be runed every N frame.is it?
  but why skel_intr8_qh linked frame 4?

2.why skel_intr64_qh not linked to skel_intr128_qh just like kernel_2.4.*?
        so when processing skel_inter128_qh,how to execute 
skel_intr64_qh,skel_intr32_qh...

                regards
                                luzt




-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to