Re: OHCI_BE_FRAME_NO_SHIFT question
David Brownell <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <20071008143935.DFC932393DE@adsl-69-226-248-13.dsl.pltn13.pacbell.net> |
> IIRC, according to OHCI specs, frame number is a 16-bit value and is > padded with 2 zero bytes, as opposed to 32-bit value. Since it's a > 16-bit value, all be platforms should still have it in the first 2 bytes > (need the OHCI_BE_FRAME_NO_SHIFT). Actually, in 7.3.3 the register holding the frame number is defined as as a 32 bit register, with the low 16 bits holding that number. But nobody uses the reigster; the HCCA, in memory, is used. The value stored in the HCCA is a 16 bit field at a specific offset, but since not all CPUs can do 16 bit memory accesses it's used as a 32 bit field. And that's why big-endian OHCI will shift 16 bits, unless the vendor explicitly violates the spec... - Dave ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel