Commit df87f344efac96cb9f9367e82509208216f1e0fa

Authored by Linus Torvalds

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, &reg4bh);
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)