1. 10 8月, 2006 1 次提交
  2. 09 8月, 2006 3 次提交
    • B
      [PATCH] libata: Add support for SATA attachment to SAS adapters · 80289167
      Brian King 提交于
      The following patch enhances libata to allow SAS device drivers
      to utilize libata to talk to SATA devices. It introduces some
      new APIs which allow libata to be used without allocating a
      virtual scsi host.
      
      New APIs:
      
      ata_sas_port_alloc - Allocate an ata_port
      ata_sas_port_init - Initialize an ata_port (probe device, etc)
      ata_sas_port_destroy - Free an ata_port allocated by ata_sas_port_alloc
      ata_sas_slave_configure - configure scsi device
      ata_sas_queuecmd - queue a scsi command, similar to ata_scsi_queuecomand
      
      These new APIs can be used either directly by a SAS LLDD or could be used
      by the SAS transport class.
      
      Possible usage for a SAS LLDD would be:
      
      scsi_scan_host
      	target_alloc
      		ata_sas_port_alloc
      	slave_alloc
      		ata_sas_port_init
      	slave_configure
      		ata_sas_slave_configure
      
      Commands received by the LLDD for SATA devices would call ata_sas_queuecmd.
      
      Device teardown would occur with:
      
      slave_destroy
      	port_disable
      target_destroy
      	ata_sas_port_destroy
      Signed-off-by: NBrian King <brking@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      80289167
    • B
      [PATCH] libata: Move ata_probe_ent_alloc to libata_core · f6d950e2
      Brian King 提交于
      Move ata_probe_ent_alloc to libata-core. It will also be used by
      future SAS/SATA integration patches.
      Signed-off-by: NBrian King <brking@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      f6d950e2
    • B
      [PATCH] libata: Add ata_port_init · 155a8a9c
      Brian King 提交于
      Separate out the ata_port initialization from ata_host_init
      so that it can be used in future SAS patches.
      Signed-off-by: NBrian King <brking@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      155a8a9c
  3. 27 6月, 2006 2 次提交
  4. 12 6月, 2006 1 次提交
  5. 31 5月, 2006 7 次提交
  6. 15 5月, 2006 5 次提交
    • T
      [PATCH] libata-eh-fw: implement ata_port_schedule_eh() and ata_port_abort() · 7b70fc03
      Tejun Heo 提交于
      ata_port_schedule_eh() directly schedules EH for @ap without
      associated qc.  Once EH scheduled, no further qc is allowed and EH
      kicks in as soon as all currently active qc's are drained.
      
      ata_port_abort() schedules all currently active commands for EH by
      qc_completing them with ATA_QCFLAG_FAILED set.  If ata_port_abort()
      doesn't find any qc to abort, it directly schedule EH using
      ata_port_schedule_eh().
      
      These two functions provide ways to invoke EH for conditions which
      aren't directly related to any specfic qc.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      7b70fc03
    • T
      [PATCH] libata-eh-fw: implement new EH scheduling via error completion · f686bcb8
      Tejun Heo 提交于
      There are several ways a qc can get schedule for EH in new EH.  This
      patch implements one of them - completing a qc with ATA_QCFLAG_FAILED
      set or with non-zero qc->err_mask.  ALL such qc's are examined by EH.
      
      New EH schedules a qc for EH from completion iff ->error_handler is
      implemented, qc is marked as failed or qc->err_mask is non-zero and
      the command is not an internal command (internal cmd is handled via
      ->post_internal_cmd).  The EH scheduling itself is performed by asking
      SCSI midlayer to schedule EH for the specified scmd.
      
      For drivers implementing old-EH, nothing changes.  As this change
      makes ata_qc_complete() rather large, it's not inlined anymore and
      __ata_qc_complete() is exported to other parts of libata for later
      use.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      f686bcb8
    • T
      [PATCH] libata: use dev->ap · 3373efd8
      Tejun Heo 提交于
      Use dev->ap where possible and eliminate superflous @ap from functions
      and structures.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      3373efd8
    • T
      [PATCH] libata: remove postreset handling from ata_do_reset() · 96bd39ec
      Tejun Heo 提交于
      Make ata_do_reset() deal only with reset.  postreset is now the
      responsibility of the caller.  This is simpler and eases later
      prereset addition.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      96bd39ec
    • T
      [PATCH] libata: rename ata_down_sata_spd_limit() and friends · 3c567b7d
      Tejun Heo 提交于
      Rename ata_down_sata_spd_limit() and friends to sata_down_spd_limit()
      and likewise for simplicity & consistency.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      3c567b7d
  7. 12 4月, 2006 2 次提交
  8. 11 4月, 2006 1 次提交
  9. 04 4月, 2006 1 次提交
  10. 03 4月, 2006 1 次提交
  11. 02 4月, 2006 2 次提交
  12. 31 3月, 2006 1 次提交
  13. 22 3月, 2006 1 次提交
  14. 12 3月, 2006 1 次提交
  15. 28 2月, 2006 1 次提交
  16. 12 2月, 2006 1 次提交
  17. 10 2月, 2006 1 次提交
  18. 27 1月, 2006 1 次提交
  19. 06 1月, 2006 1 次提交
  20. 13 12月, 2005 1 次提交
  21. 06 12月, 2005 1 次提交
  22. 17 11月, 2005 1 次提交
  23. 15 11月, 2005 1 次提交
    • J
      [libata] REQUEST SENSE handling fixes · c6e6e666
      Jeff Garzik 提交于
      - Move ATAPI check-condition handling out of the timeout handler
      - Use multi-qc-issue feature to issue REQUEST SENSE ATAPI PACKET
        command upon receiving an ATAPI check-condition.
      
      This cleans things up a lot, and eliminates a nasty recursion bug.
      c6e6e666
  24. 31 10月, 2005 1 次提交
    • J
      [libata] ata_tf_to_host cleanups · e5338254
      Jeff Garzik 提交于
      Integrate ata_exec() and ata_tf_to_host() into their only caller,
      ata_bus_edd().
      
      Rename ata_tf_to_host_nolock() to ata_tf_to_host().
      
      This makes locking a bit easier to review, and may help pave the way for
      future changes.
      e5338254
  25. 30 10月, 2005 1 次提交
    • J
      [libata] change ata_qc_complete() to take error mask as second arg · a7dac447
      Jeff Garzik 提交于
      The second argument to ata_qc_complete() was being used for two
      purposes: communicate the ATA Status register to the completion
      function, and indicate an error.  On legacy PCI IDE hardware, the latter
      is often implicit in the former.  On more modern hardware, the driver
      often completely emulated a Status register value, passing ATA_ERR as an
      indication that something went wrong.
      
      Now that previous code changes have eliminated the need to use drv_stat
      arg to communicate the ATA Status register value, we can convert it to a
      mask of possible error classes.
      
      This will lead to more flexible error handling in the future.
      a7dac447