11 Dec, 2007

36 commits


10 Dec, 2007

1 commit


08 Dec, 2007

3 commits

  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: kill spurious NCQ completion detection
    ahci: don't attach if ICH6 is in combined mode
    ata_piix: add Toshiba Tecra M4 to broken suspend list
    ahci: fix engine reset failed message

    Linus Torvalds
     
  • Spurious NCQ completion detection implemented in ahci was incorrect.
    On AHCI receving and processing FISes and raising interrupts are not
    interlocked and spurious interrupts are expected.

    For example, if an interrupt occurs while interrupt handler is running
    and the running interrupt handler handles the event the new IRQ
    indicated, after IRQ handler finishes, it will be executed again
    because IRQ pending bit is set by the new interrupt but there won't be
    anything to process.

    Please read the following message for more information.

    http://article.gmane.org/gmane.linux.ide/26012

    This patch...

    * Removes all spurious IRQ whining from ahci. Spurious NCQ completion
    detection was completely wrong. Spurious D2H Register FIS taught us
    that some early drives send spurious D2H Register FIS with I bit set
    while NCQ commands are in progress but none of recent drives does
    that and even the ones which show such behavior can do NCQ fine.

    * Kills all NCQ blacklist entries which were added because of spurious
    NCQ completions. I tracked down each commit and verified all
    removed ones are actually added because of spurious completions.

    WD740ADFD-00NLR1 wasn't deleted but moved upward because the drive
    not only had spurious NCQ completions but also is slow on sequential
    data transfers if NCQ is enabled.

    Maxtor 7V300F0 was added by 0e3dbc01d53940fe10e5a5cfec15ede3e929c918
    from Alan Cox. I can only find evidences that the drive only had
    troubles with spuruious completions by searching the mailing list.
    This entry needs to be verified and removed if it doesn't have other
    NCQ related problems.

    Signed-off-by: Tejun Heo
    Cc: Alan Cox
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • ICH6 R/Ms share PCI ID between piix and ahci modes and we've been
    allowing ahci to attach regardless of how BIOS configured it.
    However, enabling AHCI mode when the controller is in combined mode
    can result in unexpected behavior. Don't attach if the controller is
    in combined mode.

    Signed-off-by: Tejun Heo
    Cc: Bill Nottingham
    Signed-off-by: Jeff Garzik

    Tejun Heo