aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat_dma.c
diff options
context:
space:
mode:
authorAndy Henroid <andrew.d.henroid@intel.com>2008-10-09 14:45:22 -0400
committerLen Brown <len.brown@intel.com>2008-10-21 23:58:41 -0400
commit27471fdb32e77ecb92f09d4ac5757785b4dc33bc (patch)
tree2895d9918c019f48db32d479a2fc9f8725a3ed6e /drivers/dma/ioat_dma.c
parentc7d87d79d14cecab7a34dedf1b133377cf5a0203 (diff)
i7300_idle driver v1.55
The Intel 7300 Memory Controller supports dynamic throttling of memory which can be used to save power when system is idle. This driver does the memory throttling when all CPUs are idle on such a system. Refer to "Intel 7300 Memory Controller Hub (MCH)" datasheet for the config space description. Signed-off-by: Andy Henroid <andrew.d.henroid@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Diffstat (limited to 'drivers/dma/ioat_dma.c')
-rw-r--r--drivers/dma/ioat_dma.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index bc8c6e3470ca..f8396cafa05f 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -171,6 +171,9 @@ static int ioat_dma_enumerate_channels(struct ioatdma_device *device)
171 xfercap_scale = readb(device->reg_base + IOAT_XFERCAP_OFFSET); 171 xfercap_scale = readb(device->reg_base + IOAT_XFERCAP_OFFSET);
172 xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale)); 172 xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale));
173 173
174#if CONFIG_I7300_IDLE_IOAT_CHANNEL
175 device->common.chancnt--;
176#endif
174 for (i = 0; i < device->common.chancnt; i++) { 177 for (i = 0; i < device->common.chancnt; i++) {
175 ioat_chan = kzalloc(sizeof(*ioat_chan), GFP_KERNEL); 178 ioat_chan = kzalloc(sizeof(*ioat_chan), GFP_KERNEL);
176 if (!ioat_chan) { 179 if (!ioat_chan) {