RE: issues with FS isochronous device behind HS hub

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

 



Hi, Alan, Steve and all,

> > > > Hardware trace shows that only part of the submitted sitd's are
in
> > there
> > > > when hardware going through the periodic frame list (and they
all go
> > > > onto the bus),
> > >
> > > If the hardware doesn't see all of the submitted sitd's in the
> > periodic
> > > list then how can it send all of them over the bus?
> > >
> >
> > Exactly. That is what we are to find out. The software prints
(almost
> > useless) show that active sitd's are unlinked in sitd_complete().
> 
> So these sitd's were not completed by the hardware.  Have you tried
> printing out the values of frame and clock_frame just before
> sitd_complete() is called?
> 

My trace show that active sitd's being unlinked if the schedule goes
around the frame list, the ones that scheduled on the head of frame list
are unlinked with active bit set. Our frame list is 256 long.

The following is the detail of one of the traces (that have failed):

The packet 69, which is put onto the bus, is submitted to frame 253 at
frame time 167, with ehci->next_uframe >> 3 as 167. At the time
sitd_complete() is called, frame is 253, clock frame is 9.

The packet 70, which is unlinked with active bit set, therefore does not
go onto the bus, is submitted to frame 1 at frame time 167, with
ehci->next_uframe >> 3 as 167. At the time sitd_complete() is called,
frame is 1, clock frame is 9. This is strange, hardware does not see
anything at frame 1. There is nothing wrong with software unlinking at
frame 9.

The packet 71, which is unlinked with active bit set, is submitted to
frame 5 at frame time 167, with ehci->next_uframe >> 3 as 167. At the
time sitd_complete() is called, frame is 5, clock_frame is 9.

Packets 70 and 99 are all unlinked with active bit set, therefore not
seen on the bus.

The same thing happens on other traces with HS hub.

With FS hub, where tests pass, the following is about the scheduled
sitd's that are across the frame list boundary:

The packet 51, scheduled to frame 253 at frame time 239, with
ehci->next_uframe >> 3 as 239. At the time sitd_complete() is called,
frame is 253, clock frame is 81.

The packet 52, scheduled to frame 1 at frame time 239, with
ehci->next_uframe >> 3 as 239. At the time sitd_complete() is called,
frame is 1, clock frame is 81.

The difference I see is that with HS hub, the scan_periodic goes much
sooner than FS hub (9 versus 81).

Hardware trace shows the same thing, that if connected through HS hub,
the frame list has no sitd's once goes to the beginning of the frame
list (frame list roll over).

I still do not see what is causing this.

Thanks,
Julie.


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux