diff options
author | mjacob <mjacob@cvs.openbsd.org> | 2001-04-04 22:08:56 +0000 |
---|---|---|
committer | mjacob <mjacob@cvs.openbsd.org> | 2001-04-04 22:08:56 +0000 |
commit | c0ee793c66e660b1fe8115086304d2f7dcc32be0 (patch) | |
tree | 53523c53a3607c65fd2121361390e11b0f3cc451 /sys/dev/ic/isp_tpublic.h | |
parent | 67d058b1560bba330ae0d7170737bcdb7e9b7f8b (diff) |
Keep up with the Joneses- sync up with core code for (eventual) usage here.
Diffstat (limited to 'sys/dev/ic/isp_tpublic.h')
-rw-r--r-- | sys/dev/ic/isp_tpublic.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/sys/dev/ic/isp_tpublic.h b/sys/dev/ic/isp_tpublic.h index 34619b99df7..696dec6bc9b 100644 --- a/sys/dev/ic/isp_tpublic.h +++ b/sys/dev/ic/isp_tpublic.h @@ -1,8 +1,8 @@ -/* $OpenBSD: isp_tpublic.h,v 1.2 2000/07/06 05:31:48 mjacob Exp $ */ +/* $OpenBSD: isp_tpublic.h,v 1.3 2001/04/04 22:08:55 mjacob Exp $ */ /* * Qlogic ISP Host Adapter Public Target Interface Structures && Routines *--------------------------------------- - * Copyright (c) 2000 by Matthew Jacob + * Copyright (c) 2000, 2001 by Matthew Jacob * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -101,7 +101,9 @@ typedef struct { * layer maintains a port database, for example). * * The cd_tagtype field specifies what kind of command tag has been - * sent with the command. The cd_tagval is the tag's value. + * sent with the command. The cd_tagval is the tag's value (low 16 + * bits). It also contains (in the upper 16 bits) any command handle. + * * * N.B.: when the MD layer sends this command to outside software * the outside software likely *MUST* return the same cd_tagval that @@ -175,7 +177,9 @@ typedef struct { * The tag cd_error is to communicate between the MD layer and outer software * the current error conditions. * - * The tag cd_reserved pads out the structure to 128 bytes. + * The tag cd_reserved pads out the structure to 128 bytes. The first + * half of the pad area is reserved to the MD layer, and the second half + * may be used by outer layers, for scratch purposes. */ #ifndef _LP64 @@ -206,7 +210,7 @@ typedef struct tmd_cmd { u_int64_t cd_lun; /* logical unit */ u_int8_t cd_bus; /* bus */ u_int8_t cd_tagtype; /* tag type */ - u_int16_t cd_tagval; /* tag value */ + u_int32_t cd_tagval; /* tag value */ u_int8_t cd_cdb[ATIO_CDBLEN]; /* Command */ u_int8_t cd_lflags; /* flags lower level sets */ u_int8_t cd_hflags; /* flags higher level sets */ @@ -266,7 +270,7 @@ typedef enum { * When the HBA is enabled for receiving commands, one may show up * without notice. When that happens, the Qlogic target mode driver * gets a tmd_cmd_t, fills it with the info that just arrived, and - * calls the outer layer with a QIN_TMD_START code and pointer to + * calls the outer layer with a QOUT_TMD_START code and pointer to * the tmd_cmd_t. * * The outer layer decodes the command, fetches data, prepares stuff, @@ -325,5 +329,5 @@ typedef struct { int r_inst; int r_lunwidth; int r_buswidth; - void (*r_action) __P((int, void *)); + void (*r_action)(int, void *); } hba_register_t; |