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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox