Messages in this thread Patch in this message | | | Date | Thu, 17 Apr 2003 14:37:37 -0700 | From | Dave Olien <> | Subject | [PATCH] DAC960 2.5.67 add call to blk_queue_bounce_limit |
| |
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/
| |