Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
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 Symbios 53c875 SCSI chip.
- It supports the standard functions provided by the SCSA interface. That is, it supports tagged and untagged queuing, wide/fast/Ultra SCSI, 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 supports these properties which can be modified by the user: scsi-options, target<n>-scsi-options, scsi-reset-delay, scsi-tag-age-limit, scsiwatchdog-tick, and scsi-initiator-id.
-
target<n>-scsi-options overrides the scsi-options property value for target<n>. <n> can vary from hex 0 to F. glm supports these scsi-options: SCSI_OPTIONS_DR ,
-
-
SCSI_OPTIONS_SYNC ,SCSI_OPTIONS_TAG ,SCSI_OPTIONS_FAST,
SCSI_OPTIONS_WIDE ,and SCSI_OPTIONS_FAST20.
- During the periodic interval scsi-watchdog-tick, glm 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 ID sin a circular 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
- Create a file called /kernel/drv/glm.conf and add the following 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 preferable 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 device 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@ 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 0x378 except for one specific disk type which will have scsi-options set to 0x58 .
-
scsi-options specified per target ID have the highest precedence, followed by scsioptions 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: synchronous, 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 capabilities 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 u_char (0 to 255 )while qfull-retry-interval is a u_short (0 to 65535 ).
- The target driver needs to enable tagged-qing and wide-xfer explicitly. The untaggedqing 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 prevails. 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 attributes:
-
| ATTRIBUTE TYPE |
| ATTRIBUTE VALUE |
| Architecture | Limited to PCI-based systems with Symbios 53c875 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),
Symbios Logic Inc., SYM53c875 PCI-SCSI I/O Processor With Fast-20
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 disconnected. This is usually a target firmware problem. For tagged queuing targets, <n> commands were outstanding when the timeout was detected.
-
Disconnected tagged cmd(s) (<n>) timeout for Target <id>.<lun>
- A timeout occurred while target id/lun was disconnected. 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 problem by reducing the data transfer rate.
-
Target <id> reverting to async. mode
- A second data transfer hang was detected for this target. 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 disabling wide SCSI mode.
-
auto request sense failed
- An attempt to start an auto request packet failed. Another auto request packet may already be in transport.
-
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 hardware (53C875) supports wide, fast, and Ultra SCSI mode. The maximum SCSI bandwidth is 40 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 indicate that the capability is disabled for that target. Refer to prtconf(1M) (verbose option) for viewing the glm properties.
-
-
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>.
|
|