Subject: Re: USB CF reader problems with 2.0beta
To: Lennart Augustsson <lennart@augustsson.net>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: port-i386
Date: 05/02/2004 13:36:02
Lennart Augustsson <lennart@augustsson.net> writes:

> Yes, it's a 64K buffer.  The controller can deal with non-contigous
> pages and it's just laziness on my part that it doesn't.
> BUT, it used to work just fine allocating 64K.  I don't understand
> how memory can get so fragmented.

I have some fixes in progress to make the TD chain handle
non-physical-contig memory, because this has been bugging me.

While I'm at it, I'll need to make usb_dma_block_t have a larger array
of bus_dma_segment_t's. It seems like it could need as many as 16 in
the current arrangement (64k block from umass, 4k pages as seen by the
controllers). Is there anything that would want a larger transfer
size? Or, is 16 so large that it should be separately allocated, so it
can be a smaller array for smaller transfers?

        - Nathan