Solaris Reference Manual for SMCC-Specific Software
  Procure somente este livro
Fazer download desta apostila em PDF

NAME

fas - FAS SCSI Host Bus Adapter Driver

SYNOPSIS

fas@sbus-slot,0x8800000

AVAILABILITY

Limited to Sparc SBus-based systems with FAS366 based SCSI port, platforms and SBus SCSI Host Adapter options TBD.

DESCRIPTION

The fas Host Bus Adapter driver is a SCSA compliant nexus driver that supports the Qlogic FAS366 SCSI chip.
The fas driver supports the standard functions provided by the SCSA interface. The driver supports tagged and untagged queuing, wide and fast SCSI, almost unlimited transfer size (using a moving DVMA window approach), auto request sense but does not support linked commands.

Driver Configuration

The fas driver can be configured by defining properties in fas.conf which override the global SCSI settings. Supported properties are scsi-options, target<n>-scsi-options,
target<n>-sync-speed, target<n>-wide, target<n>-TQ, scsi-reset-delay, scsi-watchdog-
tick, scsi-tag-age-limit, scsi-initiator-id.

target<n>-scsi-options overrides the scsi-options property value for target<n>. <n> can vary from 0 to f. The supported scsi-options are SCSI_OPTIONS_DR, SCSI_OPTIONS_SYNC, SCSI_OPTIONS_TAG, SCSI_OPTIONS_FAST, SCSI_OPTIONS_WIDE.
scsi-watchdog-tick is the periodic interval where the fas driver goes through all current and disconnected commands searching for timeouts.
scsi-tag-age-limit is the number of times that the fas driver attempts to allocate a particular tag ID that is currently in use after going through all tag IDs in 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) for details.

EXAMPLES

Create a file /kernel/drv/fas.conf and add this line:
scsi-options=0x78;

This will disable tagged queuing, fast SCSI, and Wide mode for all fas instances. To disable an option for one specific fas (refer to driver.conf(4)):
name="fas" parent="/iommu@f,e0000000/sbus@f,e0001000"
   reg=3,0x8800000,0x10,3,0x8810000,0x40
   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 above would set 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 /devices tree or following the link of the logical device name:
# ls -l /dev/rdsk/c1t3d0s0
lrwxrwxrwx 1 root other 78 Aug 28 16:05 /dev/rdsk/c1t3d0s0 ->
../../devices/iommu@f,e0000000/sbus@f,e0001000/SUNW,fas@3,8800000/sd@3,0:a,raw

The register property values can be determined from prtconf(1M) output (-v option):
SUNW,fas, instance #0
  ....
  Register Specifications:
    Bus Type=0x3, Address=0x8800000, Size=10
    Bus Type=0x3, Address=0x8810000, Size=40

Driver Capabilities

The target driver needs to set capabilities in the fas 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, untagged-qing are enabled. These capabilities can only have binary values (0 or 1). The default values for qfull-retries and qfull-retry-interval are both 10. 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, because fas can queue commands even when tagged-qing is disabled.
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/fas
ELF Kernel Module
/kernel/drv/fas.conf
Optional configuration file

SEE ALSO

prtconf(1M), driver.conf(4), 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)

Devices..SunOS 5.5.1 7D-56

modified 13 Sep 1995