1. 25 10月, 2007 2 次提交
  2. 24 10月, 2007 3 次提交
  3. 23 10月, 2007 1 次提交
  4. 20 10月, 2007 6 次提交
  5. 19 10月, 2007 2 次提交
  6. 18 10月, 2007 4 次提交
  7. 16 10月, 2007 13 次提交
  8. 15 10月, 2007 1 次提交
  9. 14 10月, 2007 1 次提交
  10. 13 10月, 2007 7 次提交
    • J
      [libata] struct pci_dev related cleanups · 2855568b
      Jeff Garzik 提交于
      * remove pointless pci_dev_to_dev() wrapper.  Just directly reference
        the embedded struct device like everyone else does.
      
      * pata_cs5520: delete cs5520_remove_one(), it was a duplicate of
        ata_pci_remove_one()
      
      * linux/libata.h: don't bother including linux/pci.h, we don't need it.
        Simply declare 'struct pci_dev' and assume interested parties will
        include the header, as they should be doing anyway.
      
      * linux/libata.h: consolidate all CONFIG_PCI declarations into a
        single location in the header.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      2855568b
    • T
      libata: use ata_exec_internal() for PMP register access · b06ce3e5
      Tejun Heo 提交于
      PMP registers used to be accessed with dedicated accessors ->pmp_read
      and ->pmp_write.  During reset, those callbacks are called with the
      port frozen so they should be able to run without depending on
      interrupt delivery.  To achieve this, they were implemented polling.
      
      However, as resetting the host port makes the PMP to isolate fan-out
      ports until SError.X is cleared, resetting fan-out ports while port is
      frozen doesn't buy much additional safety.
      
      This patch updates libata PMP support such that PMP registers are
      accessed using regular ata_exec_internal() mechanism and kills
      ->pmp_read/write() callbacks.  The following changes are made.
      
      * PMP access helpers - sata_pmp_read_init_tf(), sata_pmp_read_val(),
        sata_pmp_write_init_tf() are folded into sata_pmp_read/write() which
        are now standalone PMP register access functions.
      
      * sata_pmp_read/write() returns err_mask instead of rc.  This is
        consistent with other functions which issue internal commands and
        allows more detailed error reporting.
      
      * ahci interrupt handler is modified to ignore BAD_PMP and
        spurious/illegal completion IRQs while reset is in progress.  These
        conditions are expected during reset.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b06ce3e5
    • T
      libata: implement ATA_PFLAG_RESETTING · afaa5c37
      Tejun Heo 提交于
      Implement ATA_PFLAG_RESETTING.  This flag is set while reset is in
      progress.  It's set before prereset is called and cleared after reset
      fails or postreset is finished.
      
      This flag itself doesn't have any function.  It will be used by LLDs
      to tell whether reset is in progress if it needs to behave differently
      during reset.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      afaa5c37
    • T
      libata: add @timeout to ata_exec_internal[_sg]() · 2b789108
      Tejun Heo 提交于
      Add @timeout argument to ata_exec_internal[_sg]().  If 0, default
      timeout ata_probe_timeout is used.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      2b789108
    • T
      ahci: fix notification handling · 5f226c6b
      Tejun Heo 提交于
      Asynchronous notification on ICH9 didn't work because it didn't write
      AN FIS into the RX area - it only updates SNotification.  Also,
      snooping SDB_FIS RX area is racy against further SDB FIS receptions.
      Let sata_async_notification() determine using SNTF if it's available
      and snoop RX area iff SNTF isn't available
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      5f226c6b
    • T
      ahci: clean up PORT_IRQ_BAD_PMP enabling · 1c954a4d
      Tejun Heo 提交于
      Now that we have pp->intr_mask, move PORT_IRQ_BAD_PMP enabling to
      ahci_pmp_attach/detach() where it belongs.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1c954a4d
    • T
      ahci: kill leftover from enabling NCQ over PMP · 75da6d2b
      Tejun Heo 提交于
      ahci had problems with NCQ over PMP and NCQ used to be disabled while
      PMP was attached.  After fixing the problem, the temporary NCQ
      disabling code wasn't removed completely.  Kill the remaining piece.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      75da6d2b