Hi,

> I wanted to check that we can indeed start the HC again by rewriting PTDs
> back into the ATL buffer, so I just hacked a quick check into
> isp116x_recv_queue() to detect active PTDs.  In that case I only write the
> first 16 bits of the PTD header back into the device and then recheck the
> PTD and, voila, there is the rest of the data.  With that in place, I have
> been able to successfully register my USB mouse.  In the log below, you will

So you indeed found a way to restart it without making a
full read-write cycle.

Currently I use the following scheme:

1. After SOFInt, allocate buffer space for transfers. If the
data to be transferred is larger than can fit into ATL for
one frame, allocate only for part of it (512 bytes for now)
and mark those td-s as PARTIAL so we know later that there
is more data to be transferred for them.

2. Initialize ptd-s, write buffer to fifo.

3. After ATLInt, read from fifo.

4. Copy data obtained for IN transfers (even if data
underrun occurred and ptd is ACTIVE) to the databuffers
of their corresponding td-s.

5. Mark all td-s corresponding to ACTIVE ptd-s as PARTIAL,
if the CC was not a fatal error for them (TD_NOTACCESSED is
not a fatal error here).

6. Retire all finished, i.e., non-PARTIAL td-s as previously
implemented by Lothar (they will be linked to the Done
queue). Set all PARTIAL td-s as TD_NOTACCESSED, and
reactivate their queues so that after the next SOFInt these
td-s will be processed further. Start again from 1. at
SOFInt.

I got the above scheme working yesterday evening. I have
tested it only with 2 devices. The first one was a mouse,
which was detected as a HID device; didn't test the mouse's
functioning yet though. Another was a full-speed device, a
CF card reader, which worked beautifully: it was recognized
as a scsi device, mounting/umounting functioned,
reading/writing to both vfat and ext2 Compact Flashes seemed
to work reliably. All this functioned with both devices
attached simultaneously. I will test with more devices
today.

Olav



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to