Same applies for SB600.
Following patch enables UDMA on ALL IDE devices. The current code enables it only for primary master, which causes my DVD drive to fail under windows install and even after hard reset in linux (DMA seems lockup). The fix should not have any influence for Linux because the IDE driver will correctly reprogram this bit. Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5933 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
e522164ae1
commit
470e1821c3
|
@ -35,10 +35,9 @@ static void ide_init(struct device *dev)
|
||||||
dword &= ~(1 << 16);
|
dword &= ~(1 << 16);
|
||||||
pci_write_config32(dev, 0x70, dword);
|
pci_write_config32(dev, 0x70, dword);
|
||||||
|
|
||||||
/* Ultra DMA mode */
|
/* Enable UDMA on all devices, it will become UDMA0 (default PIO is PIO0) */
|
||||||
/* enable UDMA */
|
|
||||||
byte = pci_read_config8(dev, 0x54);
|
byte = pci_read_config8(dev, 0x54);
|
||||||
byte |= 1 << 0;
|
byte |= 0xf;
|
||||||
pci_write_config8(dev, 0x54, byte);
|
pci_write_config8(dev, 0x54, byte);
|
||||||
|
|
||||||
/* Enable I/O Access&& Bus Master */
|
/* Enable I/O Access&& Bus Master */
|
||||||
|
|
Loading…
Reference in New Issue