Re: [linux-usb-devel] Re: "sr: unaligned transfer" in 2.5.2-pre1

From: Jens Axboe (
Date: Tue Jan 01 2002 - 17:34:23 EST

On Tue, Jan 01 2002, David Brownell wrote:
> Not that I've seen a writeup about highmem (linux/Documentation
> doesn't seem to have one anyway) but if I infer correctly from that
> DMA-mapping.txt writeup, URBs don't support it because there's no way
> to specify buffers as a "struct page *" or an array of "struct
> scatterlist". That's the only way that document identifies to access
> "highmem memory".

What kind of mapping does URBs require? A virtual mapping?

> > (1) Do the USB HCDs support highmem? I seem to recall they do, but
> > I'm not certain.
> If URBs can't describe highmem, the HCD's won't support them per se;
> you'd have to turn highmem to "lowmem" or whatever it's called, and
> then let the HCDs manage the lowmem-to-dma_addr_t mappings.
> Alternatively, in 2.5 we might add "highmem" support to USB. Now that
> I've looked at it a few minutes, I suspect we must -- just to support
> block devices (usb-storage) fully. Is there more to it than adding

No, you can always ask to get pages low mem bounced. Highmem is no
requirement, and if your device really can't support it there's no point
in attempting to support it.

> page+offset as an alternative way to describe the transfer_buffer?


> (And making all the "single" mapping calls in the HCDs use page
> mappings.)


Jens Axboe

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:15 EST