glm(7D)




NAME

     glm - GLM SCSI Host Bus Adapter Driver


SYNOPSIS

     scsi@unit-address


DESCRIPTION

     The glm Host Bus Adapter driver is a  SCSA  compliant  nexus
     driver  that  supports  the  LSI  53c810,   LSI  53c875, LSI
     53c876, LSI 53C896 and LSI 53C1010 SCSI chips

     It supports the standard  functions  provided  by  the  SCSA
     interface. That is, it supports tagged and untagged queuing,
     Narrow/Wide/Fast/Ultra SCSI/Ultra SCSI 2/Ultra SCSI  3,  and
     auto request sense, but it does not support linked commands.

  Driver Configuration
     Configure the glm driver by defining properties in glm.conf.
     These properties override the global SCSI settings. glm sup-
     ports these properties which can be modified  by  the  user:
     scsi-options,    target<n>-scsi-options,   scsi-reset-delay,
     scsi-tag-age-limit, scsi-watchdog-tick, and  scsi-initiator-
     id.

     target<n>-scsi-options overrides the  scsi-options  property
     value  for target<n>. <n> can vary from decimal 0 to 15. glm
     supports      these      scsi-options:      SCSI_OPTIONS_DR,
     SCSI_OPTIONS_SYNC,    SCSI_OPTIONS_TAG,   SCSI_OPTIONS_FAST,
     SCSI_OPTIONS_WIDE, SCSI_OPTIONS_FAST20,  SCSI_OPTIONS_FAST40
     and SCSI_OPTIONS_FAST80.

     After periodic interval scsi-watchdog-tick, the  glm  driver
     searches  through  all current and disconnected commands for
     timeouts.

     scsi-tag-age-limit is the  number  of  times  that  the  glm
     driver  attempts  to  allocate  a  particular tag ID that is
     currently in use after going through all tag IDs in a circu-
     lar  fashion. After finding the same tag ID in use scsi-tag-
     age-limit times, no more commands will be submitted to  this
     target until all outstanding commands complete or timeout.

     Refer to scsi_hba_attach(9F).


EXAMPLES

     Example 1: Using the glm Configuration File

     Create a file called  /kernel/drv/glm.conf and add the  fol-
     lowing line:

     scsi-options=0x78;

     This disables tagged queuing, Fast/Ultra SCSI and wide  mode
     for all glm instances.

     The following example disables an option  for  one  specific
     glm (refer to driver.conf(4) and pci(4) for more details):

     name="glm" parent="/pci@1f,4000"
          unit-address="3"
          target1-scsi-options=0x58
          scsi-options=0x178 scsi-initiator-id=6;

     Note that the default initiator ID in OBP is 7 and that  the
     change  to ID 6 will occur at attach time. It may be prefer-
     able to change the initiator ID in OBP.

     The example above sets scsi-options for target 1 to 0x58 and
     all other targets on this SCSI bus to 0x178.

     The physical pathname of the parent can be determined  using
     the  /devices tree or following the link of the logical dev-
     ice name:

      # ls -l /dev/rdsk/c0t0d0s0
      lrwxrwxrwx  1 root   root      45 May 16 10:08 /dev/rdsk/c0t0d0s0 ->
          ../../devices/pci@1f,4000/scsi@3/sd@0,0:a,raw

     In  this  case,  like  the  example  above,  the  parent  is
     /pci@1f,4000 and the unit-address is the number bound to the
     scsi@3 node.

     To set scsi-options more specifically per target:

     target1-scsi-options=0x78;
     device-type-scsi-options-list =
          "SEAGATE ST32550W", "seagate-scsi-options" ;
     seagate-scsi-options = 0x58;
     scsi-options=0x3f8;

     The above sets scsi-options for target 1 to 0x78 and for all
     other  targets  on  this  SCSI  bus  to 0x3f8 except for one
     specific disk type which will  have    scsi-options  set  to
     0x58.

     scsi-options specified per target ID have the  highest  pre-
     cedence,  followed  by  scsi-options per device type. Global
     scsi-options (for all glm instances) per bus have the lowest
     precedence.

     The system needs to be rebooted before the  specified  scsi-
     options take effect.

  Driver Capabilities
     The target driver needs to  set  capabilities  in  the   glm
     driver  in order to enable some driver features.  The target
     driver can  query and modify these  capabilities:   synchro-
     nous,  tagged-qing,  wide-xfer, auto-rqsense, qfull-retries,
     qfull-retry-interval. All other  capabilities  can  only  be
     queried.

     By default, tagged-qing, auto-rqsense, and  wide-xfer  capa-
     bilities  are  disabled,  while disconnect, synchronous, and
     untagged-qing are enabled. These capabilities can only  have
     binary  values (0 or 1). The default value for qfull-retries
     is 10 and the default value for qfull-retry-interval is 100.
     The  qfull-retries  capability is a uchar_t (0 to 255) while
     qfull-retry-interval is a  ushort_t (0 to    65535).

     The target driver needs to enable tagged-qing and  wide-xfer
     explicitly.   The untagged-qing capability is always enabled
     and its value cannot be modified.

     Whenever there is a conflict  between  the  value  of  scsi-
     options and a capability, the value set in scsi-options pre-
     vails. Only whom != 0 is supported in the  scsi_ifsetcap(9F)
     call.

     Refer  to  scsi_ifsetcap(9F)  and    scsi_ifgetcap(9F)   for
     details.


FILES

     /kernel/drv/glm
           ELF Kernel Module

     /kernel/drv/glm.conf
           Optional configuration file


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    | ATTRIBUTE TYPE         |          ATTRIBUTE VALUE         |
    |________________________|__________________________________|
    | Architecture           | Limited to PCI-based systems with|
    |                        | LSI   53c810,   LSI  53c875,  LSI|
    |                        | 53c876,   LSI  53c896   and   LSI|
    |                        | 53c1010   SCSI I/O processors    |
    |________________________|__________________________________|


SEE ALSO

     prtconf(1M),    driver.conf(4),    pci(4),    attributes(5),
     scsi_abort(9F),    scsi_hba_attach(9F),   scsi_ifgetcap(9F),
     scsi_ifsetcap(9F),    scsi_reset(9F),     scsi_sync_pkt(9F),
     scsi_transport(9F),                         scsi_device(9S),
     scsi_extended_sense(9S), scsi_inquiry(9S), scsi_pkt(9S)

     Writing Device Drivers

     ANSI Small Computer System Interface-2 (SCSI-2),

     LSI Logi Inc (formerly Symbios Logic Inc.):

        o  SYM53c810 PCI-SCSI I/O processor with Narrow operation

        o  SYM53c875 PCI-SCSI  I/O  Processor With Fast-20

        o  SYM53c876 PCI-SCSI I/O processor Dual channel Fast-20

        o  SYM53c896 PCI-SCSI I/O processor Dual channel Fast-40

        o  SYM53c1010 PCI-SCSI I/O processor Dual Channel Fast-80


DIAGNOSTICS

     The messages described below are some that may appear on the
     system console, as well as being logged.

     Device is using a hilevel intr
           The device was configured with an interrupt level that
           cannot  be  used  with this glm driver.  Check the PCI
           device.

     map setup failed
           Driver was unable to map device registers;  check  for
           bad  hardware.  Driver  did not attach to device; SCSI
           devices will be inaccessible.

     glm_script_alloc failed
           The driver was unable to load the SCRIPTS for the SCSI
           processor,  check  for  bad  hardware.  Driver did not
           attach to device; SCSI devices will be inaccessible.

     cannot map configuration space.
           The driver was unable  to  map  in  the  configuration
           registers.  Check  for bad hardware. SCSI devices will
           be inaccessible.

     attach failed
           The driver was unable to attach; usually  preceded  by
           another  warning  that  indicates  why  attach failed.
           These can be considered hardware failures.

     SCSI bus DATA IN phase parity error
           The driver detected parity errors on the SCSI bus.

     SCSI bus MESSAGE IN phase parity error
           The driver detected parity errors on the SCSI bus.

     SCSI bus STATUS phase parity error
           The driver detected parity errors on the SCSI bus.

     Unexpected bus free
           Target disconnected from the bus without notice. Check
           for bad hardware.

     Disconnected command timeout for Target <id>.<lun>
           A timeout occurred while  target  id/lun  was  discon-
           nected.  This  is  usually  a target firmware problem.
           For tagged queuing targets,  <n>  commands  were  out-
           standing when the timeout was detected.

     Disconnected tagged cmd(s) (<n>) timeout for Target <id>.<lun>
           A  timeout  occurred  while  target id/lun was discon-
           nected. This is usually a target firmware problem. For
           tagged  queuing targets, <n> commands were outstanding
           when the timeout was detected.

     Connected command timeout for Target <id>.<lun>
           This is usually a SCSI bus problem. Check  cables  and
           termination.

     Target <id> reducing sync. transfer rate
           A data transfer hang or DATA-IN phase parity error was
           detected.  The driver attempts to eliminate this prob-
           lem by reducing the data transfer rate.

     Target <id> reverting to async. mode
           A second data transfer hang was detected for this tar-
           get.  The driver attempts to eliminate this problem by
           reducing the data transfer rate.

     Target <id> disabled wide SCSI mode
           A second data phase hang was detected for this target.
           The driver attempts to eliminate this problem by disa-
           bling wide SCSI mode.

     auto request sense failed
           An attempt to start an  auto  request  packet  failed.
           Another  auto  request  packet may already be in tran-
           sport.

     invalid reselection (<id>.<lun>)
           A reselection failed; target accepted abort or  reset,
           but still tries to reconnect. Check for bad hardware.

     invalid intcode
           The SCRIPTS processor  generated  an  invalid  SCRIPTS
           interrupt. Check for bad hardware.


NOTES

     The glm driver supports the following LSI chips:

        o  LSI 53C810, which supports Narrow, Fast SCSI mode. The
           maximum SCSI bandwidth is 10 MB/sec.

        o  LSI 53C875, which supports Wide, Fast, and Ultra  SCSI
           mode.  The maximum SCSI bandwidth is 40 MB/sec.

        o  LSI 53C896, which supports Wide, Fast and Ultra SCSI 2
           mode.  The maximum LVD SCSI bandwidth is 80 MB/sec.

        o  LSI 53c1010, which supports wide, Fast and Ultra  SCSI
           3 mode.  The maximum LVD SCSI bandwidth is 160 MB/sec.

     The glm driver exports properties indicating per target  the
     negotiated  transfer  speed  (target<n>-sync-speed), whether
     wide bus is supported (target<n>-wide), for that  particular
     target  (target<n>-scsi-options), and whether tagged queuing
     has been enabled  (target<n>-TQ).  The  sync-speed  property
     value  is the data transfer rate in KB/sec. The target<n>-TQ
     and the target<n>-wide property have  value  1  to  indicate
     that  the corresponding capability is enabled, or 0 to indi-
     cate that the capability is disabled for that target.  Refer
     to  prtconf(1M) (verbose option) for viewing the glm proper-
     ties.

     scsi, instance #0
         Driver properties:
             name <target6-TQ> length <4>
                 value <0x00000000>.
             name <target6-wide> length <4>
                 value <0x00000000>.
             name <target6-sync-speed> length <4>
                 value <0x00002710>.
             name <target1-TQ> length <4>
                 value <0x00000001>.
             name <target1-wide> length <4>
                 value <0x00000000>.
             name <target1-sync-speed> length <4>
                 value <0x00002710>.
             name <target0-TQ> length <4>
                 value <0x00000001>.
             name <target0-wide> length <4>
                 value <0x00000001>.
             name <target0-sync-speed> length <4>
                 value <0x00009c40>.
             name <scsi-options> length <4>
                 value <0x000007f8>.

             name <scsi-watchdog-tick> length <4>
                 value <0x0000000a>.
             name <scsi-tag-age-limit> length <4>
                 value <0x00000002>.
             name <scsi-reset-delay> length <4>
                 value <0x00000bb8>.
             name <latency-timer> length <4>
                 value <0x00000088>.
             name <cache-line-size> length <4>
                 value <0x00000010>.


Man(1) output converted with man2html