diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2008-02-06 11:31:38 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-18 00:27:14 +0200 |
commit | 445bb802adb5b1a55a0e65639f8c26d312fd0a13 (patch) | |
tree | 77bd05f072796e803cf910300b61f15ad3b4cf76 /linux/src/drivers/block/triton.c | |
parent | 5684de1053f6aa9339107319445679af91770b8c (diff) |
* linux/src/drivers/block/triton.c (ide_init_triton): Enable Bus
Mastering if not enabled by BIOS.
Diffstat (limited to 'linux/src/drivers/block/triton.c')
-rw-r--r-- | linux/src/drivers/block/triton.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/linux/src/drivers/block/triton.c b/linux/src/drivers/block/triton.c index 739b1b9..0017069 100644 --- a/linux/src/drivers/block/triton.c +++ b/linux/src/drivers/block/triton.c @@ -409,7 +409,17 @@ void ide_init_triton (byte bus, byte fn) goto quit; } if ((pcicmd & 4) == 0) { - printk("ide: BM-DMA feature is not enabled (BIOS)\n"); + printk("ide: BM-DMA feature is not enabled (BIOS), enabling\n"); + pcicmd |= 4; + pcibios_write_config_word(bus, fn, 0x04, pcicmd); + if ((rc = pcibios_read_config_word(bus, fn, 0x04, &pcicmd))) { + printk("ide: Couldn't read back PCI command\n"); + goto quit; + } + } + + if ((pcicmd & 4) == 0) { + printk("ide: BM-DMA feature couldn't be enabled\n"); } else { /* * Get the bmiba base address |