#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

# Copyright 2008 QLogic Corporation

#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Qlogic Fibre Channel Adapter driver configuration
#
#ident	"Copyright 2007 QLogic Corporation; ql.conf" 
#

#
# Copyright (C) QLogic Corporation 1998-2007. All rights reserved.
#

#   File is setup as the default parameters for all adapters in the
#   system.
#   If a parameter needs to be changed for a particular adapter,
#   make a copy of the parameter. Then change the hba number
#   (decimal) in the parameter to match the adapter instance number
#   that is displayed during the boot process. Now alter the
#   parameter for the adapter.
#
#   example:
#       Setting hard address of 124 and 125 for adapter
#       instance 3 and 4 respectively.
#
#       Before:
#           enable-adapter-hard-loop-ID=0;
#
#           adapter-hard-loop-ID=0;
#
#       After:
#           enable-adapter-hard-loop-ID=0;
#           hba3-enable-adapter-hard-loop-ID=1;
#           hba4-enable-adapter-hard-loop-ID=1;
#
#           adapter-hard-loop-ID=0;
#           hba3-adapter-hard-loop-ID=124;
#           hba4-adapter-hard-loop-ID=125;
#

#Name:  Maximum frame length
#Type:  Integer, bytes;  Range: 512, 1024, 2048
#       Default: 2048
#Usage: This field specifies the frame payload length (in bytes) used by
#       the ISP2xxx firmware.
#NOTE:  The minimum value is 512 bytes; if this variable is not equal to
#       512, 1024 or 2048, the ISP2xxx defaults to values specified
#       above.
max-frame-length=2048;

#Name:  Execution throttle
#Type:  Integer, commands; Range: 1 - 65535; Default: 32
#Usage: This field specifies the maximum number of commands sent per LUN
#       by the ISP2xxx firmware.
#NOTE:  Exceeding device capabilities causes unneeded command retries
#       that impact performance.
execution-throttle=32;

#Name:  Login timeout
#Type:  Integer, count; Range: 0 - 255; Default: 3
#Usage: This field specifies the maximum number seconds to
#       wait for the login of a device to complete.
#NOTE:  Large values may cause long delays during initialization
#       and device reconfiguration.
login-timeout=3;

#Name:  Login retry count
#Type:  Integer, count; Range: 0 - 255; Default: 4
#Usage: This field specifies the maximum number of retry attempts
#       for the firmware when the login into a device fails.
#NOTE:  Large values may cause long delays during initialization
#       and device reconfiguration.
login-retry-count=4;

#Name:  Enable adapter hard loop ID
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
#Usage: This field allows the setting of adapters hard loop ID on the
#       fibre channel bus.
#NOTE:  May be necessary on some bus configurations where devices fail to
#       appear.
enable-adapter-hard-loop-ID=0;

#Name:  Adapter hard loop ID
#Type:  Integer, ID; Range: 0-125; Default: 0
#Usage: This field specifies the adapters hard loop ID to be used on the
#       Fibre Channel bus.
#NOTE:  This field takes effect only when adapter hard loop ID is enabled.
adapter-hard-loop-ID=0;

#Name:  Enable LIP reset on bus reset
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
#Usage: This field enables the adapter to issue a LIP reset during Fibre
#       Channel reset.
enable-LIP-reset-on-bus-reset=0;

#Name:  Enable LIP full login on bus reset
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
#Usage: This field enables the adapter to issue a LIP full login reset
#       during Fibre Channel reset.
enable-LIP-full-login-on-bus-reset=1;

#Name:  Enable target reset on bus reset
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
#Usage: This field enables the adapter to issue a LIP target reset during
#       Fibre Channel reset.
enable-target-reset-on-bus-reset=0;

#Name:  Reset delay
#Type:  Integer, seconds; Range: 1 - 255; Default: 5
#Usage: This field specifies the delay after a reset before sending
#       commands to the devices on the Fibre Channel bus.
reset-delay=5;

#Name:  Port down retry count
#Type:  Integer, count; Range: 0 - 255; Default: 8
#Usage: This field specifies the amount of command retries to be done
#       when devices are not responding on the Fibre Channel bus.
#NOTE:  Large values may cause long delays for failover software to
#       detect a failing device.
port-down-retry-count=8;

#Name:  Port down retry delay
#Type:  Integer, count; Range 0 - 255 seconds. Default: 2
#Usage: Amount of time to delay between port down retries.
#NOTE:  Large values may cause long delays for failover software to
#       detect a failing device. May also cause upper layer driver
#       or applications to timeout the IO's.
port-down-retry-delay=2;

#Name:  Queue full retry count
#Type:  Integer, count. Range: 0 - 255. Default: 16
#Usage: This field specified the number of times to retry a SCSI
#       queue full error.
queue-full-retry-count=16;

#Name:  Queue full retry delay
#Type:  Integer, seconds. Range: 0 - 255 seconds. Default: 2
#Usage: This field specifies the amount of time to delay after a SCSI
#       queue full error before starting any new I/O commands.
queue-full-retry-delay=2;

#Name:  Connection options
#Type:  Integer, mode; Range: 0 - 2; Default: 2
#       0 = loop only
#       1 = point-to-point only
#       2 = loop preferred, else point-to-point
#Usage: This field specifies the connection mode the driver firmware
#       uses. When connecting the HBA to a switch port with auto-
#       mode sensing capability (a G port), it is recommended that this
#       parameter be set to either 0 or 1, not 2. Setting this
#       parameter to 2 when connected to a G port on a switch may
#       result in device lost or system hang.
connection-options=2;

#Name:  Enable FCP 2 Error Recovery
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
#Usage: This field enables/disables the Fibre Channel FCP 2 error
#       recovery support.
enable-FCP-2-error-recovery=1;

#Name:  Fibre Channel Data Rate Option
#Type:  Integer, mode; Range: 0-4; Default: 2
#       0 = 1 gigabit/second
#       1 = 2 gigabit/second
#       2 = Auto-negotiate
#       3 = 4 gigabit/second
#       4 = 8 gigabit/second
#Usage: This field specifies the data rate which the driver uses.
fc-data-rate=2;

#Name:  Link down timeout
#Type:  Integer, seconds; Range: 0 - 240; Default: 0
#Usage: This field specifies the amount of time the driver waits for
#       a Fibre Channel loop to come up before reporting the failure.
#NOTE:  Small values may report transient errors that should be ignored.
link-down-timeout=0;

#Name:  Link down error
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
#Usage: This field disables the driver error reporting during link down
#       conditions.
enable-link-down-error=1;

#Name:  Enable extended logging
#Type:  Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
#Usage: This field enables logging of driver detected events occurring
#       either in the driver or fibre channel bus. Events are logged
#       in Solaris /var/adm/messages file.
extended-logging=0;

#Name:  Firmware Dump Flags
#Type:  Integer, flag bits; Range: 0 (disable), 1 (enable); Default: 0
#Usage: These flags are used to force a firmware dump when the flag
#       condition occurs. More than one flag bit can be combined to
#       obtain the desired result.
#       TAKE_FW_DUMP_ON_MAILBOX_TIMEOUT         1
#       TAKE_FW_DUMP_ON_ISP_SYSTEM_ERROR        2
#       TAKE_FW_DUMP_ON_DRIVER_COMMAND_TIMEOUT  4
#       TAKE_FW_DUMP_ON_LOOP_OFFLINE_TIMEOUT    8
firmware-dump-flags=0;

#Name:  PCI max read request override
#Type:  Integer, bytes; Range: 128, 256, 512, 1024, 2048, 4096
#Usage: This field specifies the value to be used for the PCI max read
#       request setting, overriding the default value or the value programmed
#       by the system.
#NOTE:  The minimum value is 128 bytes on PCI Express and 512 on PCI; if
#       this variable does not exist or is not equal to 128, 256, 512, 
#       1024, 2048 or 4096, the ISP2xxx uses the default or the value
#       specified by the system.
pci-max-read-request=2048;

#Name:	DDI Force Attach
#Type:	Interger, byte; Range: 0, 1
#Usage:	This field specifies to the Solaris kernel during boot to always
#	load all instances of the driver regardless of system events or
#	conditions.
ddi-forceattach=1;

#Name:	Init Loop Sync Time
#Type:  Integer, seconds; Range: 1 - 240; Default: 10
#Usage:	This field specific the time the driver will wait for the
#	switch and the HBA firmware to sync during boot or the
#	initial loading of the driver.
init-loop-sync-wait=10;

#Name:  DDI Force Load
#Type:  String List
#Usage: This field declares firmware module paths so that they get
#       loaded early enough to be available for qlc root instance to
#       use.  Correct operation depends on the value of 'ddi-forceload';
#       this value should not be changed by the user.
ddi-forceload = "misc/qlc/qlc_fw_2200", "misc/qlc/qlc_fw_2300", "misc/qlc/qlc_fw_2400", "misc/qlc/qlc_fw_2500", "misc/qlc/qlc_fw_6322";