summaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorVenki Pallipadi <venkatesh.pallipadi@intel.com>2008-10-23 03:34:52 +0400
committerLen Brown <len.brown@intel.com>2008-10-24 20:54:18 +0400
commit3ad0b02e4c1d5feba44b8ff48dccd1ba61a826b0 (patch)
treeb674d7e805f9f53b2550f81009b5a860e5a4fc47 /drivers/dma
parent27471fdb32e77ecb92f09d4ac5757785b4dc33bc (diff)
downloadlinux-3ad0b02e4c1d5feba44b8ff48dccd1ba61a826b0.tar.xz
i7300_idle: Disable ioat channel only on platforms where ile driver can load
Based on input from Andi Kleen: share the platform detection code with ioat_dma and disable the channel in dma engine only for specific platforms. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/ioat_dma.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index f8396cafa05f..fd1631d0a795 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -33,6 +33,7 @@
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/workqueue.h>
+#include <linux/i7300_idle.h>
#include "ioatdma.h"
#include "ioatdma_registers.h"
#include "ioatdma_hw.h"
@@ -172,7 +173,9 @@ static int ioat_dma_enumerate_channels(struct ioatdma_device *device)
xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale));
#if CONFIG_I7300_IDLE_IOAT_CHANNEL
- device->common.chancnt--;
+ if (i7300_idle_platform_probe(NULL, NULL) == 0) {
+ device->common.chancnt--;
+ }
#endif
for (i = 0; i < device->common.chancnt; i++) {
ioat_chan = kzalloc(sizeof(*ioat_chan), GFP_KERNEL);