Commit df87f344efac96cb9f9367e82509208216f1e0fa
Exists in
master
and in
7 other branches
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: Revert "Revert "ide: try to use PIO Mode 0 during probe if possible"" sis5513: fix PIO setup for ATAPI devices
Showing 2 changed files Side-by-side Diff
drivers/ide/ide-probe.c
... | ... | @@ -1046,6 +1046,15 @@ |
1046 | 1046 | if (port_ops && port_ops->init_dev) |
1047 | 1047 | port_ops->init_dev(drive); |
1048 | 1048 | } |
1049 | + | |
1050 | + ide_port_for_each_dev(i, drive, hwif) { | |
1051 | + /* | |
1052 | + * default to PIO Mode 0 before we figure out | |
1053 | + * the most suited mode for the attached device | |
1054 | + */ | |
1055 | + if (port_ops && port_ops->set_pio_mode) | |
1056 | + port_ops->set_pio_mode(drive, 0); | |
1057 | + } | |
1049 | 1058 | } |
1050 | 1059 | |
1051 | 1060 | static void ide_init_port(ide_hwif_t *hwif, unsigned int port, |
drivers/ide/sis5513.c
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | * Copyright (C) 1999-2000 Andre Hedrick <andre@linux-ide.org> |
3 | 3 | * Copyright (C) 2002 Lionel Bouton <Lionel.Bouton@inet6.fr>, Maintainer |
4 | 4 | * Copyright (C) 2003 Vojtech Pavlik <vojtech@suse.cz> |
5 | - * Copyright (C) 2007 Bartlomiej Zolnierkiewicz | |
5 | + * Copyright (C) 2007-2009 Bartlomiej Zolnierkiewicz | |
6 | 6 | * |
7 | 7 | * May be copied or modified under the terms of the GNU General Public License |
8 | 8 | * |
9 | 9 | |
10 | 10 | |
... | ... | @@ -281,11 +281,13 @@ |
281 | 281 | |
282 | 282 | pci_read_config_byte(dev, 0x4b, ®4bh); |
283 | 283 | |
284 | + rw_prefetch = reg4bh & ~(0x11 << drive->dn); | |
285 | + | |
284 | 286 | if (drive->media == ide_disk) |
285 | - rw_prefetch = 0x11 << drive->dn; | |
287 | + rw_prefetch |= 0x11 << drive->dn; | |
286 | 288 | |
287 | - if ((reg4bh & (0x11 << drive->dn)) != rw_prefetch) | |
288 | - pci_write_config_byte(dev, 0x4b, reg4bh|rw_prefetch); | |
289 | + if (reg4bh != rw_prefetch) | |
290 | + pci_write_config_byte(dev, 0x4b, rw_prefetch); | |
289 | 291 | } |
290 | 292 | |
291 | 293 | static void sis_set_pio_mode(ide_drive_t *drive, const u8 pio) |