Date: Tue, 24 Jul 2001 12:59:10 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: Martin Aherron <martin@cybernetics.com> Cc: <freebsd-scsi@FreeBSD.ORG> Subject: Re: ISP driver questions Message-ID: <20010724125411.M91438-100000@wonky.feral.com> In-Reply-To: <01Jul24.141408edt.119041@cyborg.cybernetics.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 24 Jul 2001, Martin Aherron wrote:
> Matthew I assume these questions are for you.
>
> 1) Is there an easy way to set the debug level that the ISP driver uses at
> board initialization time?
For -current and -stable they're different.
For -stable, add
isp_debug=0xXXXX
to /boot/loader.conf or set it from the 'ok' prompt in the loader. This sets
debug values for all instances.
For -current, add
hint.isp.N.debug=0xXXXX
to /boot/device.hints or set this at the 'ok' prompt. This will set the debug
value for instance N of isp.
The value 0xXXXX can be tweaked according to the values seen in ispvar.h-
these are masks by which messages from the driver are printed.
#define ISP_LOGALL 0x0 /* log always */
#define ISP_LOGCONFIG 0x1 /* log configuration messages */
#define ISP_LOGINFO 0x2 /* log informational messages */
#define ISP_LOGWARN 0x4 /* log warning messages */
#define ISP_LOGERR 0x8 /* log error messages */
#define ISP_LOGDEBUG0 0x10 /* log simple debug messages */
#define ISP_LOGDEBUG1 0x20 /* log intermediate debug messages */
#define ISP_LOGDEBUG2 0x40 /* log most debug messages */
#define ISP_LOGDEBUG3 0x80 /* log high frequency debug messages */
#define ISP_LOGDEBUG4 0x100 /* log high frequency debug messages */
#define ISP_LOGTDEBUG0 0x200 /* log simple debug messages (target mode) */
#define ISP_LOGTDEBUG1 0x400 /* log intermediate debug messages (target) */
#define ISP_LOGTDEBUG2 0x800 /* log all debug messages (target) */
The default is ISP_LOGINFO|ISP_LOGWARN|ISP_LOGERR. If you boot
verbose (-v or boot_verbose=YES) ISP_LOGCONFIG is added.
>
> 2) This following is not a complaint but curiosity. Any clues as to why the
> following code is needed?
>
> case XPT_GET_TRAN_SETTINGS:
> cts = &ccb->cts;
> tgt = cts->ccb_h.target_id;
> CAMLOCK_2_ISPLOCK(isp);
> if (IS_FC(isp)) {
> /*
> * a lot of normal SCSI things don't make sense.
> */
> cts->flags = CCB_TRANS_TAG_ENB | CCB_TRANS_DISC_ENB;
> cts->valid = CCB_TRANS_DISC_VALID | CCB_TRANS_TQ_VALID;
> /*
>
> I don't have a problem with doing what it takes to make things work.
>
> For me seeing a tape drive report that it can do tagged queueing is
> like fingernails on a chalkboard - but I will get over it :)
>
Fibre Channel, but it's very nature, supports tags. I could just as easily
leave either off.
This is in the process of being cleaned up in -current with the NEW_TRAN_CODE
where specific transports have specific rulesets/informations.
-matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010724125411.M91438-100000>
