From: "Adam J. Richter" <adam@yggdrasil.com>
To: willy@debian.org
Cc: andmike@us.ibm.com, hch@lst.de, James.Bottomley@steeleye.com,
linux-kernel@vger.kernel.org, mochel@osdl.org,
parisc-linux@lists.parisc-linux.org
Subject: Re: [parisc-linux] Untested port of parisc_device to generic device interface
Date: Sat, 9 Nov 2002 21:20:46 -0800 [thread overview]
Message-ID: <200211100520.VAA27408@baldur.yggdrasil.com> (raw)
On Sat, Nov 09, 2002 at 05:21:50AM +0000, Matthew Wilcox wrote about
generic device models:
> And, for gods sake, don't fuck it up by integrating it with USB too early
> in the game.
Without rewriting everything, I could see creating a common
device container for devices connected directly to the CPU's memory,
IO or interrupt busses (PCI, ISA, sbus, etc.) so as not to increase
the memory size of device and device_driver for non-mapped device
types (USB, firewire, SCSI, etc.). More importantly, this change
would provide some type checking for operations that are really only
meaningful on CPU mapped devices, such as the "generic"
dma_{alloc,free}_consistent() and related functions. I imagine
something like this:
struct cpu_mapped_device {
dma_addr_t dma_mask;
/* Initialized from parent->dma_mask and driver->dma_restrictions. */
void *prealloc_vaddr;
void *prealloc_busaddr;
struct device device;
};
struct cpu_mapped_driver {
struct io_restrictions *dma_restrictions;
int prealloc_consistent;
int fake_consistent_ok : 1;
struct device_driver driver;
};
struct device {
...
struct resource_list *resources;
/* For automatic release of memory ranges, IO ports, DMA channels,
IRQ's, SCSI ID's, SCSI LUN's within an ID, USB device ID's,
etc. (but not USB hub ports, and PCMCIA slots, which we can
released before ->remove() is called). */
dma_pool_t dma_stub_pool[2];
struct cpu_mapped_device *dma_dev;
/* Points to the cpu_mapped_device that we are embedded in for PCI,
ISA, and other cpu mapped devices. Points to the parent
cpu mapped device for others, such as the USB controller for a
USB network interface. Will be used for allocating DMA gather
scatter stubs when allocating skbuff's, bio's, scsi_request's,
USB request blocks, etc., eliminating another set of error
branches. */
};
Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Miplitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
next reply other threads:[~2002-11-10 5:14 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-10 5:20 Adam J. Richter [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-11-10 1:50 [parisc-linux] Untested port of parisc_device to generic device interface Adam J. Richter
2002-11-10 0:23 Adam J. Richter
2002-11-10 2:01 ` J.E.J. Bottomley
2002-11-10 2:15 ` Matthew Wilcox
2002-11-09 12:22 Adam J. Richter
2002-11-09 4:51 Adam J. Richter
2002-11-09 5:21 ` Matthew Wilcox
2002-11-09 6:03 ` Greg KH
2002-11-09 15:33 ` J.E.J. Bottomley
2002-11-13 6:13 ` Greg KH
2002-11-13 7:46 ` Miles Bader
2002-11-13 7:52 ` Greg KH
2002-11-13 8:02 ` Miles Bader
2002-11-13 8:10 ` Greg KH
2002-11-13 8:26 ` Miles Bader
2002-11-13 8:25 ` Greg KH
2002-11-13 9:05 ` Miles Bader
[not found] ` <miles@lsi.nec.co.jp>
2002-11-13 20:13 ` Grant Grundler
2002-11-13 20:21 ` J.E.J. Bottomley
2002-11-13 20:37 ` Grant Grundler
2002-11-13 11:59 ` Ivan Kokshaysky
2002-11-13 12:36 ` Marc Zyngier
2002-11-13 16:32 ` Bjorn Helgaas
2002-11-13 17:23 ` J.E.J. Bottomley
2002-11-13 20:33 ` Grant Grundler
2002-11-13 20:44 ` J.E.J. Bottomley
2002-11-13 21:42 ` Grant Grundler
2002-11-13 20:12 ` Grant Grundler
2002-11-09 7:58 ` Marc Zyngier
2002-11-09 18:04 ` Grant Grundler
[not found] <200211090128.RAA31693@adam.yggdrasil.com>
2002-11-09 3:37 ` Matthew Wilcox
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=200211100520.VAA27408@baldur.yggdrasil.com \
--to=adam@yggdrasil.com \
--cc=James.Bottomley@steeleye.com \
--cc=andmike@us.ibm.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mochel@osdl.org \
--cc=parisc-linux@lists.parisc-linux.org \
--cc=willy@debian.org \
/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;
as well as URLs for NNTP newsgroup(s).