qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] In OHCI the HC will sent packet to each attached port?


From: Wei Yang
Subject: [Qemu-devel] In OHCI the HC will sent packet to each attached port?
Date: Sun, 19 Feb 2012 16:06:27 +0800

All

In function ohci_service_td() , there is a loop.

        for (i = 0; i < ohci->num_ports; i++) {
            dev = ohci->rhport[i].port.dev;
            if ((ohci->rhport[i].ctrl & OHCI_PORT_PES) == 0)
                continue;

            if (ohci->async_td) {
                /* ??? The hardware should allow one active packet per
                   endpoint.  We only allow one active packet per controller.
                   This should be sufficient as long as devices respond in a
                   timely manner.
                 */
#ifdef DEBUG_PACKET
                DPRINTF("Too many pending packets\n");
#endif
                return 1;
            }
            usb_packet_setup(&ohci->usb_packet, pid,
                             OHCI_BM(ed->flags, ED_FA),
                             OHCI_BM(ed->flags, ED_EN));
            usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, pktlen);
            ret = usb_handle_packet(dev, &ohci->usb_packet);
            if (ret != USB_RET_NODEV)
                break;
        }

I searched the spec,
HcRhPortStatus:PES means This bit indicates whether the port is
enabled or disabled.
1 means enabled.

So for each td, HC will try to send packet on each port?

-- 
Richard Yang
Help You, Help Me



reply via email to

[Prev in Thread] Current Thread [Next in Thread]