public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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


  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