diff options
author | Andy Henroid <andrew.d.henroid@intel.com> | 2008-10-09 14:45:22 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-10-21 23:58:41 -0400 |
commit | 27471fdb32e77ecb92f09d4ac5757785b4dc33bc (patch) | |
tree | 2895d9918c019f48db32d479a2fc9f8725a3ed6e /drivers/dma | |
parent | c7d87d79d14cecab7a34dedf1b133377cf5a0203 (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')
-rw-r--r-- | drivers/dma/ioat_dma.c | 3 |
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) { |