1. 31 12月, 2006 2 次提交
  2. 11 12月, 2006 1 次提交
  3. 03 10月, 2006 1 次提交
    • A
      [PATCH] ide: backport piix fixes from libata into the legacy driver · 5ac24697
      Alan Cox 提交于
      There are three flags being set by default by the PIIX driver for speeds >
      PIO 1, and one not being cleared properly on fallback to PIO0.  The most
      important one is the prefetch/post write control which only works for ATA
      and can do bad things with ATAPI.
      
      The patch does its best to set the flags correctly for drivers/ide.  Its
      not 100% perfect but its closer than the original.  100% perfect requires
      proper IORDY handling but this isn't critical (and its not right in libata
      either ..  yet)
      
      Sergei Shtylyov <sshtylyov@ru.mvista.com> said:
      
      > +					{ 0, 0 },
      > +					{ 0, 0 },
      > +					{ 1, 0 },
      > +					{ 2, 1 },
      > +					{ 2, 3 }, };
      >
      >  	pio = ide_get_best_pio_mode(drive, pio, 5, NULL);
      
          BTW, there's quite obvious error here which leads to access outside of
      timings[] if somebody passes PIO mode 5 (or autotuning code finds out that
      drive supports PIO mode 5). Could have been fixed while at it... Those drives
      should be rare, though...
      
      > +		}
      >  		master_data = master_data | (timings[pio][0] << 12) | (timings[pio][1] << 8);
      >  	}
      >  	pci_write_config_word(dev, master_port, master_data);
      
          Actually, there's one more serious issue with piix_tune_drive() -- it
      doesn't actually set the drive's own transfer mode.
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5ac24697
  4. 01 10月, 2006 1 次提交
  5. 01 7月, 2006 1 次提交
  6. 27 6月, 2006 1 次提交
  7. 04 2月, 2006 1 次提交
  8. 17 4月, 2005 2 次提交