From: Jens Axboe <axboe@suse.de>
To: David Brownell <david-b@pacbell.net>
Cc: linux-kernel@vger.kernel.org,
linux-usb-devel@lists.sourceforge.net,
Matthew Dharm <mdharm@one-eyed-alien.net>,
Greg KH <greg@kroah.com>
Subject: Re: [linux-usb-devel] Re: highmem and usb [was "sr: unaligned transfer" in 2.5.2-pre1]
Date: Wed, 2 Jan 2002 10:32:52 +0100 [thread overview]
Message-ID: <20020102103252.B28530@suse.de> (raw)
In-Reply-To: <m2vgexzv90.fsf@ppro.localdomain> <20011223112249.B4493@kroah.com> <m23d1trr4w.fsf@pengo.localdomain> <20011230122756.L1821@suse.de> <20011230212700.B652@one-eyed-alien.net> <20011231125157.D1246@suse.de> <20011231145455.C6465@one-eyed-alien.net> <065e01c192fd$fe066e20$6800000a@brownell.org> <20020101233423.I16092@suse.de> <06c801c1934e$1fc01a20$6800000a@brownell.org>
In-Reply-To: <06c801c1934e$1fc01a20$6800000a@brownell.org>
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?
>
> Each URB points to one transfer buffer, address plus length, where
> the USB device drivers directly read/write those addresses. The
> 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
> I'd be inclined to say transfer buffers must not be "virtual" mappings,
> but since terminology can differ I'll let you draw your conclusion.
They must not be, currently they are.
> Standard HC hardware (EHCI, OHCI, UHCI) can use 32bit addresses
> for their PCI DMA. EHCI can also, in some implementations, handle 64bit
> addresses.
Good
> > > (And making all the "single" mapping calls in the HCDs use page
> > > mappings.)
> >
> > exactly
>
> So you're saying that pci_map_page() is not necessary? And that
> highmem buffers (page+offset, or scatterlist thereof) can be turned
> into the form needed by URBs using some other mechanism?
Sorry if I wasn't clear, no that's not what I meant. See above.
pci_map_single requires a virtual mapping so it simply cannot support
highmem.
--
Jens Axboe
next prev parent reply other threads:[~2002-01-02 9:33 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-23 17:44 "sr: unaligned transfer" in 2.5.2-pre1 Peter Osterlund
2001-12-23 19:22 ` Greg KH
2001-12-30 9:31 ` Peter Osterlund
2001-12-30 11:27 ` Jens Axboe
2001-12-31 5:27 ` Matthew Dharm
2001-12-31 11:51 ` Jens Axboe
2001-12-31 22:54 ` [linux-usb-devel] " Matthew Dharm
2001-12-31 23:59 ` Andre Hedrick
2002-01-01 17:39 ` Jens Axboe
2002-01-01 17:40 ` Jens Axboe
2002-01-01 19:53 ` David Brownell
2002-01-01 22:34 ` Jens Axboe
2002-01-01 23:28 ` Matthew Dharm
2002-01-02 5:40 ` [linux-usb-devel] Re: highmem and usb [was: "sr: unaligned transfer" in 2.5.2-pre1] David Brownell
2002-01-02 9:27 ` [linux-usb-devel] Re: highmem and usb [was:"sr: unalignedtransfer" " Oliver.Neukum
2002-01-02 18:43 ` David Brownell
2002-01-02 9:31 ` [linux-usb-devel] Re: highmem and usb [was: "sr: unaligned transfer" " Jens Axboe
2002-01-02 9:30 ` [linux-usb-devel] Re: "sr: unaligned transfer" in 2.5.2-pre1 Jens Axboe
2002-01-02 5:27 ` [linux-usb-devel] Re: highmem and usb [was "sr: unaligned transfer" in 2.5.2-pre1] David Brownell
2002-01-02 9:32 ` Jens Axboe [this message]
2002-01-02 18:37 ` David Brownell
2002-01-02 18:44 ` Jens Axboe
2002-01-02 18:55 ` David Brownell
2002-01-02 20:23 ` Jens Axboe
2002-01-02 22:32 ` [linux-usb-devel] Re: highmem and usb [was "sr: unalignedtransfer" " Oliver.Neukum
2001-12-24 4:05 ` "sr: unaligned transfer" in 2.5.2-pre1 Bob_Tracy
2001-12-24 7:24 ` Peter Osterlund
2001-12-24 14:13 ` WHICH MACHINE????? Astinus
2001-12-24 15:37 ` Erik Mouw
2001-12-25 15:41 ` Svein Ove Aas
2001-12-26 13:56 ` Erik Mouw
2001-12-24 16:19 ` J.A. Magallon
2001-12-24 22:48 ` "sr: unaligned transfer" in 2.5.2-pre1 Peter Osterlund
2001-12-27 7:13 ` Petr Titera
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020102103252.B28530@suse.de \
--to=axboe@suse.de \
--cc=david-b@pacbell.net \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=mdharm@one-eyed-alien.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.