Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 1965

kernel-2.6.18-238.el5.src.rpm

From: John Feeney <jfeeney@redhat.com>
Date: Tue, 21 Apr 2009 19:01:39 -0400
Subject: [misc] I/O AT: update existing files
Message-id: 49EE5053.8020607@redhat.com
O-Subject: [RHEL5.4 PATCH 2/8] Update I/O AT: existing files
Bugzilla: 436048
RH-Acked-by: Prarit Bhargava <prarit@redhat.com>
RH-Acked-by: John W. Linville <linville@redhat.com>

bz436048 Update I/O AT code to upstream

This patch changes to the existing drivers and drivers/dma files.

 Kconfig             |    3 +++
 Makefile            |    2 ++
 dma/Kconfig     |   14 +-------------
 dma/dmaengine.c |    4 ++++
 dma/ioatdma.c   |    2 ++
 5 files changed, 12 insertions(+), 13 deletions(-)

The commits to each file and any modifications are listed below.
drivers/Kconfig
 Had to add dma_v3 entry which is not upstream
  c13c8260da3155f2cefb63b0d1b7dcdcb405c644 Leech 5/24/06 was in RHEL5
  7589670f37736bcc119ebfbd69aafea6d585d1d4 Nelson 10/16/07

drivers/Makefile
 Had to add dma_v3 entry which is not upstream
  c13c8260da3155f2cefb63b0d1b7dcdcb405c644 Leech 5/24/06 was in RHEL5
  7589670f37736bcc119ebfbd69aafea6d585d1d4 Nelson 10/16/07

drivers/dma/dmaengine.c
  Add MODULE_LICENSE not upstream

drivers/dma/Kconfig
 Moved NET_DMA to dma_v3/Kconfig which is not upstream
  c13c8260da3155f2cefb63b0d1b7dcdcb405c644 Leech 5/24/06 was in RHEL5

drivers/dma/ioatdma.c
 Added printk change not upstream, but suggested by Intel.

diff --git a/drivers/Kconfig b/drivers/Kconfig
index 1a60e62..65b5d76 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -78,4 +78,7 @@ source "drivers/rtc/Kconfig"
 
 source "drivers/dma/Kconfig"
 
+source "drivers/dca/Kconfig"
+
+source "drivers/dma_v3/Kconfig"
 endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index 7dbed7d..f1db29d 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -81,3 +81,5 @@ obj-$(CONFIG_SUPERH)		+= sh/
 obj-$(CONFIG_GENERIC_TIME)	+= clocksource/
 obj-$(CONFIG_DMA_ENGINE)	+= dma/
 obj-$(CONFIG_VIRTIO)		+= virtio/
+obj-$(CONFIG_DMA_ENGINE_V3)	+= dma_v3/
+obj-$(CONFIG_DCA)		+= dca/
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 30d021d..3e8d3b6 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -5,23 +5,11 @@
 menu "DMA Engine support"
 
 config DMA_ENGINE
-	bool "Support for DMA engines"
+	tristate "Support for DMA engines"
 	---help---
 	  DMA engines offload copy operations from the CPU to dedicated
 	  hardware, allowing the copies to happen asynchronously.
 
-comment "DMA Clients"
-
-config NET_DMA
-	bool "Network: TCP receive copy offload"
-	depends on DMA_ENGINE && NET
-	default y
-	---help---
-	  This enables the use of DMA engines in the network stack to
-	  offload receive copy-to-user operations, freeing CPU cycles.
-	  Since this is the main user of the DMA engine, it should be enabled;
-	  say Y here.
-
 comment "DMA Devices"
 
 config INTEL_IOATDMA
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index 1527804..a2e05ff 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -410,3 +410,7 @@ EXPORT_SYMBOL(dma_async_memcpy_issue_pending);
 EXPORT_SYMBOL(dma_async_device_register);
 EXPORT_SYMBOL(dma_async_device_unregister);
 EXPORT_SYMBOL(dma_chan_cleanup);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Intel Corporation");
+
diff --git a/drivers/dma/ioatdma.c b/drivers/dma/ioatdma.c
index 2f30270..5be9073 100644
--- a/drivers/dma/ioatdma.c
+++ b/drivers/dma/ioatdma.c
@@ -832,6 +832,8 @@ MODULE_AUTHOR("Intel Corporation");
 
 static int __init ioat_init_module(void)
 {
+	printk(KERN_ERR
+         "Intel I/O AT DMA Engine: to use I/O AT TCP receive copy offload on this kernel version load ioatdma_v3.ko module instead of ioatdma.ko\n");
 	/* it's currently unsafe to unload this module */
 	/* if forced, worst case is that rmmod hangs */
 	__unsafe(THIS_MODULE);