Commit e0ee792b authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Jeff Garzik

pata_it8213: fix UDMA handling

Driver should program the cycle timing not the mode number
(doing the latter results in wrong timings being used).

There shouldn't be any problems with it as IDE it8213 host driver
has been doing it this way for years.
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent 39150444
...@@ -173,10 +173,10 @@ static void it8213_set_dmamode (struct ata_port *ap, struct ata_device *adev) ...@@ -173,10 +173,10 @@ static void it8213_set_dmamode (struct ata_port *ap, struct ata_device *adev)
udma_enable |= (1 << devid); udma_enable |= (1 << devid);
/* Load the UDMA mode number */ /* Load the UDMA cycle time */
pci_read_config_word(dev, 0x4A, &udma_timing); pci_read_config_word(dev, 0x4A, &udma_timing);
udma_timing &= ~(3 << (4 * devid)); udma_timing &= ~(3 << (4 * devid));
udma_timing |= (udma & 3) << (4 * devid); udma_timing |= u_speed << (4 * devid);
pci_write_config_word(dev, 0x4A, udma_timing); pci_write_config_word(dev, 0x4A, udma_timing);
/* Load the clock selection */ /* Load the clock selection */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment