Subject: Re: USB CF reader problems with 2.0beta
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Lennart Augustsson <lennart@augustsson.net>
List: port-i386
Date: 05/02/2004 13:49:31
Nathan J. Williams wrote:
> 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?
64K is the maximum. I'm not sure 16 is large enough to warrant
a separate allocation.
Have you made the change for all 4 host controllers types?
-- Lennart