1. 12 1月, 2008 1 次提交
  2. 19 7月, 2007 7 次提交
    • D
      [SCSI] sas_ata: Implement sas_task_abort for ATA devices · 3a2755af
      Darrick J. Wong 提交于
      ATA devices need special handling for sas_task_abort.  If the ATA command
      came from SCSI, then we merely need to tell SCSI to abort the scsi_cmnd.
      However, internal commands require a bit more work--we need to fill the qc
      with the appropriate error status and complete the command, and eventually
      post_internal will issue the actual ABORT TASK.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      3a2755af
    • D
      [SCSI] sas_ata: Satisfy libata qc function locking requirements · 3eb7a51a
      Darrick J. Wong 提交于
      ata_qc_complete and ata_sas_queuecmd require that the port lock be held
      when they are called.  sas_ata doesn't do this, leading to BUG messages
      about qc tags newly allocated qc tags already being in use.  This patch
      fixes the locking, which should clean up the rest of those messages.
      
      So far I've tested this against an IBM x206m with two SATA disks with no
      BUG messages and no other signs of things going wrong, and the machine
      finally passed the pounder stress test.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      3eb7a51a
    • D
      [SCSI] Migrate libsas ATA code into a separate file · 338ec570
      Darrick J. Wong 提交于
      This is a respin of my earlier patch that migrates the ATA support code
      into a separate file.  For now, the controversial linking bits have
      been removed per James Bottomley's request for a patch that contains
      only the migration diffs, which means that libsas continues to require
      libata.  I intend to address that problem in a separate patch.
      
      This patch is against the aic94xx-sas-2.6 git tree, and it has been
      sanity tested on my x206m with Seagate SATA and SAS disks without
      uncovering any new problems.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      338ec570
    • J
      [SCSI] libsas: fixup NCQ for SATA disks · 0281e02c
      James Bottomley 提交于
      We actually had two problems: the one with the tag (which is fixed by
      zeroing the tag before sending the taskfile to the sequencer) but the
      other with the fact that we sent our first NCQ command to the device
      before the sequencer had been informed of the NCQ tagging
      capabilities.  I fixed the latter by moving the rphy_add() to the
      correct point in the code after the NCQ capabilities are set up.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      0281e02c
    • J
      [SCSI] aic94xx: add SATAPI support · 27e92471
      James Bottomley 提交于
      It turns out this is fairly easy to plumb in by recognising the three
      command types and copying the CDB.  The protocol response path needs to
      be amended to cope with SAS_PROTO_RESPONSE.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      27e92471
    • D
      [SCSI] libsas: support NCQ for SATA disks · bdab4e87
      Darrick J. Wong 提交于
      This patch adds SATAII NCQ support to libsas.  Both the use_ncq and the
      dma_xfer flags in ata_task must be set for NCQ to work correctly on the
      Adaptec SAS controller.  The rest of the patch adds ATA_FLAG_NCQ to
      sata_port_info and sets up ap->scsi_host so that ata_setup_ncq doesn't
      crash.  Please note that this patch is against the aic94xx-sas git tree,
      not scsi-misc.  Thanks also to James Bottomley for providing an earlier
      version of this patch from which to work.
      
      I've tested this patch on a x206m with a ST380819AS SATA2 disk plugged
      into the Adaptec SAS controller.  The drive came up with a queue depth
      of 31, and I successfully ran an I/O flood test to coerce libata into
      sending multiple commands simultaneously.  A kernel probe recorded the
      maximum tag number that had been seen before and after the flood test;
      before the test it was 2 and after it was 30, as I expected.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      bdab4e87
    • D
      [SCSI] Add SATA support to libsas · fa1c1e8f
      Darrick J. Wong 提交于
      Hook the scsi_host_template functions in libsas to delegate
      functionality to libata when appropriate.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      
      Misc code changes and merge fixes and update for libata->drivers/ata
      move
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      fa1c1e8f
  3. 18 7月, 2007 1 次提交
    • R
      Freezer: make kernel threads nonfreezable by default · 83144186
      Rafael J. Wysocki 提交于
      Currently, the freezer treats all tasks as freezable, except for the kernel
      threads that explicitly set the PF_NOFREEZE flag for themselves.  This
      approach is problematic, since it requires every kernel thread to either
      set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
      care for the freezing of tasks at all.
      
      It seems better to only require the kernel threads that want to or need to
      be frozen to use some freezer-related code and to remove any
      freezer-related code from the other (nonfreezable) kernel threads, which is
      done in this patch.
      
      The patch causes all kernel threads to be nonfreezable by default (ie.  to
      have PF_NOFREEZE set by default) and introduces the set_freezable()
      function that should be called by the freezable kernel threads in order to
      unset PF_NOFREEZE.  It also makes all of the currently freezable kernel
      threads call set_freezable(), so it shouldn't cause any (intentional)
      change of behaviour to appear.  Additionally, it updates documentation to
      describe the freezing of tasks more accurately.
      
      [akpm@linux-foundation.org: build fixes]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NNigel Cunningham <nigel@nigel.suspend2.net>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      83144186
  4. 30 5月, 2007 1 次提交
  5. 06 5月, 2007 1 次提交
  6. 03 2月, 2007 1 次提交
  7. 31 1月, 2007 1 次提交
  8. 28 1月, 2007 2 次提交
  9. 14 1月, 2007 8 次提交
  10. 06 12月, 2006 1 次提交
  11. 23 11月, 2006 1 次提交
    • D
      [PATCH] aic94xx: handle REQ_DEVICE_RESET · dea22214
      Darrick J. Wong 提交于
      This patch implements a REQ_DEVICE_RESET handler for the aic94xx
      driver.  Like the earlier REQ_TASK_ABORT patch, this patch defers the
      device reset to the Scsi_Host's workqueue, which has the added benefit
      of ensuring that the device reset does not happen at the same time
      that the abort tmfs are being processed.  After the phy reset, the
      busted drive should go away and be re-detected later, which is indeed
      what I've seen on both a x260 and a x206m.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      dea22214
  12. 16 11月, 2006 2 次提交
  13. 01 10月, 2006 1 次提交
  14. 25 9月, 2006 1 次提交
  15. 29 8月, 2006 1 次提交
    • J
      [SCSI] aic94xx: new driver · 2908d778
      James Bottomley 提交于
      This is the end point of the separate aic94xx driver based on the
      original driver and transport class from Luben Tuikov
      <ltuikov@yahoo.com>
      
      The log of the separate development is:
      
      Alexis Bruemmer:
        o aic94xx: fix hotplug/unplug for expanderless systems
        o aic94xx: disable split completion timer/setting by default
        o aic94xx: wide port off expander support
        o aic94xx: remove various inline functions
        o aic94xx: use bitops
        o aic94xx: remove queue comment
        o aic94xx: remove sas_common.c
        o aic94xx: sas remove depot's
        o aic94xx: use available list_for_each_entry_safe_reverse()
        o aic94xx: sas header file merge
      
      James Bottomley:
        o aic94xx: fix TF_TMF_NO_CTX processing
        o aic94xx: convert to request_firmware interface
        o aic94xx: fix hotplug/unplug
        o aic94xx: add link error counts to the expander phys
        o aic94xx: add transport class phy reset capability
        o aic94xx: remove local_attached flag
        o Remove README
        o Fixup Makefile variable for libsas rename
        o Rename sas->libsas
        o aic94xx: correct return code for sas_discover_event
        o aic94xx: use parent backlink port
        o aic94xx: remove channel abstraction
        o aic94xx: fix routing algorithms
        o aic94xx: add backlink port
        o aic94xx: fix cascaded expander properties
        o aic94xx: fix sleep under lock
        o aic94xx: fix panic on module removal in complex topology
        o aic94xx: make use of the new sas_port
        o rename sas_port to asd_sas_port
        o Fix for eh_strategy_handler move
        o aic94xx: move entirely over to correct transport class formulation
        o remove last vestages of sas_rphy_alloc()
        o update for eh_timed_out move
        o Preliminary expander support for aic94xx
        o sas: remove event thread
        o minor warning cleanups
        o remove last vestiges of id mapping arrays
        o Further updates
        o Convert aic94xx over entirely to the transport class end device and
        o update aic94xx/sas to use the new sas transport class end device
        o [PATCH] aic94xx: attaching to the sas transport class
        o Add missing completion removal from prior patch
        o [PATCH] aic94xx: attaching to the sas transport class
        o Build fixes from akpm
      
      Jeff Garzik:
        o [scsi aic94xx] Remove ->owner from PCI info table
      
      Luben Tuikov:
        o initial aic94xx driver
      
      Mike Anderson:
        o aic94xx: fix panic on module insertion
        o aic94xx: stub out SATA_DEV case
        o aic94xx: compile warning cleanups
        o aic94xx: sas_alloc_task
        o aic94xx: ref count update
        o aic94xx nexus loss time value
        o [PATCH] aic94xx: driver assertion in non-x86 BIOS env
      
      Randy Dunlap:
        o libsas: externs not needed
      
      Robert Tarte:
        o aic94xx: sequence patch - fixes SATA support
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      2908d778