From: Jeff Garzik <jgarzik@pobox.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Russell King <rmk+lkml@arm.linux.org.uk>,
David Woodhouse <dwmw2@infradead.org>,
Christoph Hellwig <hch@infradead.org>,
William Lee Irwin III <wli@holomorphy.com>,
Andrew Morton <akpm@osdl.org>, Andrea Arcangeli <andrea@suse.de>,
linux-kernel@vger.kernel.org
Subject: Re: can device drivers return non-ram via vm_ops->nopage?
Date: Sun, 21 Mar 2004 19:10:53 -0500 [thread overview]
Message-ID: <405E2F0D.3050001@pobox.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0403211542051.1106@ppc970.osdl.org>
Linus Torvalds wrote:
>
> On Sun, 21 Mar 2004, Jeff Garzik wrote:
>
>>That would be nice, though the reason I avoided remap_page_range() in
>>via82cxxx_audio is that it discourages S/G. Because remap_page_range()
>>is easier and more portable, several drivers allocate one-big-area and
>>then create an S/G list describing individual portions of that area.
>
>
> Note that there is really two different kinds of IO memory:
> - real IO-mapped memory on the other side of a bus
> - real RAM which is on the CPU side of the bus, but that has additionally
> been "mapped" some way as to be visible from devices.
Yes. via audio example is DMA (second kind), and an fbdev driver would
need to worry about the first kind (MMIO).
For the second kind, your solution (snipped) seems sane, though I wonder
where dma_unmap_to_page() is called.
For the first kind, please read fb_mmap in drivers/video/fbmem.c. Look
at the _horror_ of ifdefs in exporting the framebuffer. And that horror
is what's often needed when letting userspace mmap(2) PCI memory IO regions.
So, an mmio_map() in addition to dma_map*?
Jeff
next prev parent reply other threads:[~2004-03-22 0:11 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-20 13:30 can device drivers return non-ram via vm_ops->nopage? Andrea Arcangeli
2004-03-20 14:40 ` William Lee Irwin III
2004-03-20 15:06 ` Andrea Arcangeli
2004-03-20 15:27 ` William Lee Irwin III
2004-03-20 15:44 ` Russell King
2004-03-20 15:57 ` Andrea Arcangeli
2004-03-20 16:15 ` Russell King
2004-03-20 16:25 ` Andrea Arcangeli
2004-03-20 16:57 ` William Lee Irwin III
2004-03-20 17:48 ` Andrea Arcangeli
2004-03-20 19:03 ` Andrea Arcangeli
2004-03-20 15:58 ` Jaroslav Kysela
2004-03-20 16:09 ` Russell King
2004-03-20 19:44 ` Jaroslav Kysela
2004-03-20 22:23 ` Russell King
2004-03-20 22:45 ` William Lee Irwin III
2004-03-20 23:54 ` Russell King
2004-03-21 0:22 ` Zwane Mwaikambo
2004-03-22 4:46 ` Benjamin Herrenschmidt
2004-03-22 18:23 ` Richard Curnow
2004-03-21 0:23 ` William Lee Irwin III
2004-03-21 9:52 ` Arjan van de Ven
2004-03-21 10:39 ` Jaroslav Kysela
2004-03-22 4:43 ` Benjamin Herrenschmidt
2004-03-20 20:13 ` Andrew Morton
2004-03-20 20:28 ` Andrea Arcangeli
2004-03-20 20:50 ` William Lee Irwin III
2004-03-20 22:26 ` Russell King
2004-03-20 22:45 ` William Lee Irwin III
2004-03-21 20:45 ` David Woodhouse
2004-03-21 20:49 ` Christoph Hellwig
2004-03-21 20:57 ` David Woodhouse
2004-03-21 21:53 ` Linus Torvalds
2004-03-21 22:17 ` Jeff Garzik
2004-03-21 22:23 ` David Woodhouse
2004-03-21 22:23 ` Russell King
2004-03-21 22:34 ` Jeff Garzik
2004-03-21 22:42 ` David Woodhouse
2004-03-21 23:06 ` Jeff Garzik
2004-03-21 22:51 ` Russell King
2004-03-21 23:09 ` Jeff Garzik
2004-03-21 23:11 ` Linus Torvalds
2004-03-21 23:22 ` Jeff Garzik
2004-03-21 23:51 ` Linus Torvalds
2004-03-21 23:58 ` Russell King
2004-03-22 0:34 ` Andrea Arcangeli
2004-03-22 3:05 ` Linus Torvalds
2004-03-23 17:59 ` Andy Whitcroft
2004-03-23 17:58 ` David Woodhouse
2004-03-23 18:11 ` William Lee Irwin III
2004-03-22 0:02 ` David Woodhouse
2004-03-22 3:28 ` Linus Torvalds
2004-03-22 0:10 ` Jeff Garzik [this message]
2004-03-22 0:20 ` Russell King
2004-03-22 0:33 ` Jeff Garzik
2004-03-22 4:57 ` Benjamin Herrenschmidt
2004-03-21 23:45 ` Russell King
2004-03-22 0:23 ` William Lee Irwin III
2004-03-22 0:29 ` Jeff Garzik
2004-03-22 1:28 ` William Lee Irwin III
2004-03-22 6:36 ` William Lee Irwin III
2004-03-20 17:39 ` Linus Torvalds
2004-03-20 17:56 ` Andrea Arcangeli
2004-03-20 18:22 ` William Lee Irwin III
2004-03-21 3:13 ` Chris Wedgwood
2004-03-21 6:23 ` Christoph Hellwig
2004-03-21 7:00 ` Chris Wedgwood
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=405E2F0D.3050001@pobox.com \
--to=jgarzik@pobox.com \
--cc=akpm@osdl.org \
--cc=andrea@suse.de \
--cc=dwmw2@infradead.org \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+lkml@arm.linux.org.uk \
--cc=torvalds@osdl.org \
--cc=wli@holomorphy.com \
/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