public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: linux-kernel@vger.kernel.org, linux-usb-devel@lists.sourceforge.net
Cc: Jens Axboe <axboe@suse.de>,
	Matthew Dharm <mdharm@one-eyed-alien.net>,
	Greg KH <greg@kroah.com>
Subject: Re: [linux-usb-devel] Re: "sr: unaligned transfer" in 2.5.2-pre1
Date: Tue, 01 Jan 2002 11:53:31 -0800	[thread overview]
Message-ID: <065e01c192fd$fe066e20$6800000a@brownell.org> (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>

> (2) How do I pass a highmem address to the HCDs?  The URB structures we use
> don't seem particularly well-suited for this.

The urb->transfer_buffer is required to be normal DMA-able memory,
following the rules in Documentation/DMA-mapping.txt ... that got cleared
up somewhere around the 2.4.5 timeframe, all the HCDs now use the
pci_map_single() calls with those buffers.  kmalloc() is fine, not vmalloc(),
and so on.

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".


> (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 page+offset
as an alternative way to describe the transfer_buffer?  (And making all
the "single" mapping calls in the HCDs use page mappings.)

- Dave




  parent reply	other threads:[~2002-01-01 19:55 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 [this message]
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
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='065e01c192fd$fe066e20$6800000a@brownell.org' \
    --to=david-b@pacbell.net \
    --cc=axboe@suse.de \
    --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