[PATCH] DAC960 2.5.67 add call to blk_queue_bounce_limit

From: Dave Olien (dmo@osdl.org)
Date: Thu Apr 17 2003 - 16:37:37 EST


The following patch adds a call to blk_queue_bounce_limit to the
DAC960 driver. Otherwise, it uses bounce buffering more than it
needs to.

-------------------------------------------------------------------------------

diff -ur linux-2.5.67_original/drivers/block/DAC960.c linux-2.5.67_DACpatch/drivers/block/DAC960.c
--- linux-2.5.67_original/drivers/block/DAC960.c 2003-04-07 10:32:18.000000000 -0700
+++ linux-2.5.67_DACpatch/drivers/block/DAC960.c 2003-04-16 10:56:03.000000000 -0700
@@ -1069,6 +1069,7 @@
   
   if (pci_set_dma_mask(Controller->PCIDevice, DAC690_V1_PciDmaMask))
         return DAC960_Failure(Controller, "DMA mask out of range");
+ Controller->BounceBufferLimit = DAC690_V1_PciDmaMask;
 
   if ((hw_type == DAC960_PD_Controller) || (hw_type == DAC960_P_Controller)) {
     CommandMailboxesSize = 0;
@@ -1271,6 +1272,7 @@
 
   if (pci_set_dma_mask(Controller->PCIDevice, DAC690_V2_PciDmaMask))
         return DAC960_Failure(Controller, "DMA mask out of range");
+ Controller->BounceBufferLimit = DAC690_V2_PciDmaMask;
 
   /* This is a temporary dma mapping, used only in the scope of this function */
   CommandMailbox =
@@ -2386,6 +2388,7 @@
   */
   RequestQueue = &Controller->RequestQueue;
   blk_init_queue(RequestQueue, DAC960_RequestFunction, &Controller->queue_lock);
+ blk_queue_bounce_limit(RequestQueue, Controller->BounceBufferLimit);
   RequestQueue->queuedata = Controller;
   blk_queue_max_hw_segments(RequestQueue,
                             Controller->DriverScatterGatherLimit);
diff -ur linux-2.5.67_original/drivers/block/DAC960.h linux-2.5.67_DACpatch/drivers/block/DAC960.h
--- linux-2.5.67_original/drivers/block/DAC960.h 2003-04-07 10:32:18.000000000 -0700
+++ linux-2.5.67_DACpatch/drivers/block/DAC960.h 2003-04-16 10:48:37.000000000 -0700
@@ -62,11 +62,6 @@
 
 /*
   Define the pci dma mask supported by DAC960 V1 and V2 Firmware Controlers
-
- For now set the V2 mask to only 32 bits. The controller IS capable
- of doing 64 bit dma. But I have yet to find out whether this needs to
- be explicitely enabled in the controller, or of the controller adapts
- automatically.
  */
 
 #define DAC690_V1_PciDmaMask 0xffffffff
@@ -2370,6 +2365,7 @@
   unsigned short ControllerScatterGatherLimit;
   unsigned short DriverScatterGatherLimit;
   unsigned int ControllerUsageCount;
+ u64 BounceBufferLimit;
   unsigned int CombinedStatusBufferLength;
   unsigned int InitialStatusLength;
   unsigned int CurrentStatusLength;
-
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/



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:22 EST