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

Jens Axboe
2002-01-02T18:44:30Z

On Wed, Jan 02 2002, David Brownell wrote:
> > > requirement for drivers is that the transfer buffers can be passed to
> > > pci_map_single() calls by the Host Controller Drivers (HCDs). The
> > > device drivers, and URBs, don't expose such mappings, they only
> > > require that they can be created/destroyed.
> >
> > .. which is the requirement that you want to change to use pci_map_page
> > or pci_map_sg
>
> OK, I think I'm clear on this much then: in 2.5, to support block drivers
> over USB (usb-storage only, for now) there needs to be an addition to
> the buffer addressing model in usbcore, as exposed by URBs.
>
> - Current "transfer_buffer" + "transfer_buffer_length" mode needs to
> stay, since most drivers aren't block drivers.

Why? Surely USB block drivers are not the only ones that want to support
highmem.

> - Add some kind of "page + offset" addressing model.

Yes

> Discussion of details can be taken off LKML, it'd seem. Though I'm
> curious when the scatterlist->address field will vanish, making these
> changes a requirement. Is that a 2.5.2 thing?

Maybe 2.5.3, dunno for sure.

> Also, I noticed that include/asm-sparc/pci.h doesn't include the
> standard pci_map_page() call ... what's up with that? That surely
> causes portability problems.

It probably isn't up to snuff yet.

--
Jens Axboe