03 Oct, 2011

3 commits

  • Allow the sas-transport-class to update events for local phys via a new
    PHY_FUNC_GET_EVENTS command to ->lldd_control_phy(). Fixup drivers that
    are not prepared for new enum phy_func values, and unify
    ->lldd_control_phy() error codes.

    These are the SAS defined phy events that are reported in a
    smp-report-phy-error-log command:
    * /sys/class/sas_phy//invalid_dword_count
    * /sys/class/sas_phy//running_disparity_error_count
    * /sys/class/sas_phy//loss_of_dword_sync_count
    * /sys/class/sas_phy//phy_reset_problem_count

    Signed-off-by: Dan Williams
    Signed-off-by: James Bottomley

    Dan Williams
     
  • Several sas drivers legitimately check the protocol against the union of
    SAS_PROTOCOL_SATA and SAS_PROTOCOL_STP. Provide a SAS_PROTOCOL_STP_ALL
    to silence warnings like:

    drivers/scsi/pm8001/pm8001_sas.c:438:3: warning: case value ‘5’ not in enumerated type ‘enum sas_protocol’ [-Wswitch]
    drivers/scsi/mvsas/mv_sas.c:798:2: warning: case value ‘5’ not in enumerated type ‘enum sas_protocol’ [-Wswitch]
    drivers/scsi/mvsas/mv_sas.c:1783:2: warning: case value ‘5’ not in enumerated type ‘enum sas_protocol’ [-Wswitch]
    drivers/scsi/mvsas/mv_sas.c:1886:2: warning: case value ‘5’ not in enumerated type ‘enum sas_protocol’ [-Wswitch]
    drivers/scsi/isci/request.c:3565:2: warning: case value ‘5’ not in enumerated type ‘enum sas_protocol’ [-Wswitch]

    Signed-off-by: Dan Williams
    Signed-off-by: James Bottomley

    Dan Williams
     
  • Allow expander table-to-table attachments for
    expanders that support it.

    Signed-off-by: Luben Tuikov
    Signed-off-by: James Bottomley

    Luben Tuikov
     

22 Sep, 2011

1 commit

  • Add SFF-8485 v0.7 / SAS-1 smp-write-gpio register support to libsas.
    Defer SAS-2 support unless/until it defines an sgpio interface.

    Minimum implementation needed to get the lights blinking.
    try_test_sas_gpio_gp_bit() provides a common method to parse the
    incoming write data (raw bitstream), and the to_sas_gpio_gp_bit() helper
    routine can be used as a basis for the set/clear operations for the
    'read' implementation. Host implementations parse as many bits
    (ODx.[012]) as are locally supported and report the number of registers
    successfully written. If the submitted data overruns the internal
    number of registers available report the write as a success with the
    number of bytes remaining reported in ->resid_len.

    Example (assuming an active backplane) set the "identify" pattern for
    the first 21 devices:

    smp_write_gpio --count=2 --data=92,49,24,92,24,92,49,24 -t 4 --index=1 /dev/bsg/sas_hostX

    Signed-off-by: Dan Williams
    Signed-off-by: James Bottomley

    Dan Williams
     

12 Jan, 2008

1 commit


08 Sep, 2006

2 commits

  • This patch implements the ability to set the minimum and maximum
    linkrates for both libsas (for expanders) and aic94xx (for the host
    phys). It also tidies up the setting of the hardware min and max to
    make sure they're updated when the expander emits a change broadcast.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • At the moment we have two separate linkspeed enumerations covering
    roughly the same values. This patch consolidates on a single one enum
    sas_linkspeed in scsi_transport_sas.h and uses it everywhere in the
    aic94xx driver. Eventually I'll get around to removing the duplicated
    fields in asd_sas_phy and sas_phy ...

    Signed-off-by: James Bottomley

    James Bottomley
     

29 Aug, 2006

1 commit

  • This is the end point of the separate aic94xx driver based on the
    original driver and transport class from Luben Tuikov

    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: James Bottomley

    James Bottomley