[PATCH] Replace pci_pool with generic dma_pool
From: Deepak Saxena (dsaxena_at_plexity.net)
Date: 01/31/04
- Previous message: timothy parkinson: "Re: 2.6.1 "clock preempt"?"
- Next in thread: Deepak Saxena: "[PATCH 1/3] Replace pci_pool with generic dma_pool"
- Reply: Deepak Saxena: "[PATCH 1/3] Replace pci_pool with generic dma_pool"
- Reply: Deepak Saxena: "[PATCH 2/3] Replace pci_pool with generic dma_pool"
- Reply: Deepak Saxena: "[PATCH 3/3] Replace pci_pool with generic dma_pool"
- Reply: Greg KH: "Re: [PATCH] Replace pci_pool with generic dma_pool"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Fri, 30 Jan 2004 17:32:05 -0700 To: torvalds@osdl.org, akpm@osdl.org
All,
This set of patches against 2.6.2-rc2 removes the PCI-specific pci_pool
structure and replaces it with a generic dma_pool. For compatibility with
existing PCI drivers, macros are provided that map pci_pool_* to dma_pool_*.
This is extremely useful for architecture that have non-PCI devices but
require DMA buffer pools. A good example is USB, where we've had to make
some hacks in the ARM implementation of the DMA API to get around the
USB's usage of the PCI DMA API and pci_pools with non-PCI device.
The patch has been tested on x86, ppc, and xscale (ARM).
Patch portions are posted as replies to this email.
If this patch is accepted, I'll post a follow-on patch to the USB list
to clean up the USB layer to only use the generic DMA functions instead
of the PCI functions.
~Deepak
diffstat:
linux/drivers/base/Makefile | 2
linux/drivers/base/core.c | 1
linux/drivers/base/dmapool.c | 409 ++++++++++++++++++++++++++++++++++++++++++++++
linux/drivers/pci/Makefile | 2
linux/drivers/pci/probe.c | 2
linux/include/linux/device.h | 1
linux/include/linux/dmapool.h | 27 +++
linux/include/linux/pci.h | 14 -
linux/drivers/pci/pool.c | 404 ---------------------------------------------
9 files changed, 448 insertions(+), 414 deletions(-)
-- Deepak Saxena - dsaxena@plexity.net - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Previous message: timothy parkinson: "Re: 2.6.1 "clock preempt"?"
- Next in thread: Deepak Saxena: "[PATCH 1/3] Replace pci_pool with generic dma_pool"
- Reply: Deepak Saxena: "[PATCH 1/3] Replace pci_pool with generic dma_pool"
- Reply: Deepak Saxena: "[PATCH 2/3] Replace pci_pool with generic dma_pool"
- Reply: Deepak Saxena: "[PATCH 3/3] Replace pci_pool with generic dma_pool"
- Reply: Greg KH: "Re: [PATCH] Replace pci_pool with generic dma_pool"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
- Re: 2.6.11, USB: High latency?
... > The issue with IN transfers is that microframe scheduling is ... ... >
the relevant EHCI data structures are almost as irregular as the USB trees ... > enough
to repost them against current BK (they include the patch above). ... send the line "unsubscribe
linux-kernel" in ... (Linux-Kernel) - Re: [PATCH] Replace pci_pool with generic dma_pool
... > require DMA buffer pools. ... A good example is USB, ...
> Patch portions are posted as replies to this email. ... send the line "unsubscribe
linux-kernel" in ... (Linux-Kernel) - Re: [PATCH] x86-64: dma_ops for DMA mapping - K3
... The patch is against Linus's tree as of a few minutes ... ohci_hcd 0000:00:02.0:
new USB bus registered, ... hub 2-0:1.0: USB hub found ... send the line
"unsubscribe linux-kernel" in ... (Linux-Kernel) - Re: [PATCH] Replace pci_pool with generic dma_pool
... > require DMA buffer pools. ... A good example is USB, ...
> Patch portions are posted as replies to this email. ... send the line "unsubscribe
linux-kernel" in ... (Linux-Kernel) - Re: OHCI_QUIRK_INITRESET (was: 2.6.9-rc2-mm2 ohci_hcd doesnt work)
... The attached patch (which applies on top of Rui's patch for ... ohci_hcd 0000:00:0f.2:
new USB bus registered, ... hub 1-0:1.0: USB hub found ... send the line
"unsubscribe linux-kernel" in ... (Linux-Kernel)