usr/src/cmd/audio/audiotest/audiotest.c
347
struct utsname un;
usr/src/cmd/audio/audiotest/audiotest.c
367
if (uname(&un) != -1)
usr/src/cmd/audio/audiotest/audiotest.c
369
un.sysname, un.release, un.version, un.machine);
usr/src/cmd/bnu/mailst.c
114
static char un[2*NAMESIZE];
usr/src/cmd/bnu/mailst.c
124
(void) snprintf(un, sizeof (un), "LOGNAME=%s",p);
usr/src/cmd/bnu/mailst.c
125
envp[0] = &un[0];
usr/src/cmd/fs.d/pcfs/fsck/dir.c
1049
p = (uchar_t *)&(dp->un.pcd_scluster_hi);
usr/src/cmd/fs.d/pcfs/fsck/dir.c
756
read_16_bits((uchar_t *)&(dp->un.pcd_scluster_hi), &hi);
usr/src/cmd/fs.d/pcfs/fstyp/fstyp.c
486
(d->un.pcd_scluster_hi == 0) &&
usr/src/cmd/fs.d/pcfs/mkfs/mkfs_main.c
2731
entry->un.pcd_scluster_hi = htols(ffstart);
usr/src/cmd/fs.d/pcfs/mkfs/mkfs_main.c
2744
entry->un.pcd_scluster_hi = 0;
usr/src/cmd/fs.d/ufs/quotacheck/quotacheck.c
69
} un;
usr/src/cmd/fs.d/ufs/quotacheck/quotacheck.c
70
#define sblock un.sblk
usr/src/cmd/hal/hald/hald_runner.c
274
struct utsname un;
usr/src/cmd/hal/hald/hald_runner.c
294
if (uname(&un) >= 0) {
usr/src/cmd/hal/hald/hald_runner.c
297
sysname = g_ascii_strdown(un.sysname, -1);
usr/src/cmd/hal/hald/solaris/devinfo.c
183
strlcpy (hotplug_event->un.devfs.devfs_path, devfs_path,
usr/src/cmd/hal/hald/solaris/devinfo.c
184
sizeof (hotplug_event->un.devfs.devfs_path));
usr/src/cmd/hal/hald/solaris/devinfo.c
185
hotplug_event->un.devfs.handler = handler;
usr/src/cmd/hal/hald/solaris/devinfo.c
297
if (parent == NULL && (strcmp(hotplug_event->un.devfs.devfs_path, "/") != 0)) {
usr/src/cmd/hal/hald/solaris/devinfo.c
298
HAL_ERROR (("Parent is NULL, devfs_path=%s", hotplug_event->un.devfs.devfs_path));
usr/src/cmd/hal/hald/solaris/devinfo_misc.c
76
struct utsname un;
usr/src/cmd/hal/hald/solaris/devinfo_misc.c
90
if (uname (&un) >= 0) {
usr/src/cmd/hal/hald/solaris/devinfo_misc.c
91
hal_device_property_set_string (d, "system.kernel.name", un.sysname);
usr/src/cmd/hal/hald/solaris/devinfo_misc.c
92
hal_device_property_set_string (d, "system.kernel.version", un.release);
usr/src/cmd/hal/hald/solaris/devinfo_misc.c
93
hal_device_property_set_string (d, "system.kernel.machine", un.machine);
usr/src/cmd/hal/hald/solaris/hotplug.c
101
hotplug_event->un.devfs.handler,
usr/src/cmd/hal/hald/solaris/hotplug.c
116
HAL_ERROR (("devpath %s not present in store, ignore event", hotplug_event->un.devfs.devfs_path));
usr/src/cmd/hal/hald/solaris/hotplug.c
123
hotplug_event->un.devfs.devfs_path,
usr/src/cmd/hal/hald/solaris/hotplug.c
132
HAL_INFO (("hotplug_event_begin_devfs: %s", hotplug_event->un.devfs.devfs_path));
usr/src/cmd/hal/hald/solaris/hotplug.c
135
hotplug_event->un.devfs.devfs_path);
usr/src/cmd/hal/hald/solaris/hotplug.c
66
HAL_ERROR (("devpath %s already present in store, ignore event", hotplug_event->un.devfs.devfs_path));
usr/src/cmd/hal/hald/solaris/hotplug.c
80
if (strcmp(hotplug_event->un.devfs.devfs_path, "/") != 0) {
usr/src/cmd/hal/hald/solaris/hotplug.c
81
HAL_ERROR (("Parent is NULL devfs_path=%s parent_udi=%s", hotplug_event->un.devfs.devfs_path, parent_udi ? parent_udi : "<null>"));
usr/src/cmd/hal/hald/solaris/hotplug.c
95
begin_add_func = hotplug_event->un.devfs.handler->hotplug_begin_add;
usr/src/cmd/hal/hald/solaris/hotplug.h
46
} un;
usr/src/cmd/init/init.c
684
struct utsname un;
usr/src/cmd/init/init.c
689
(void) uname(&un);
usr/src/cmd/init/init.c
699
un.sysname, un.release, un.version, bits);
usr/src/cmd/logadm/kw.c
125
if (uname(&un) < 0)
usr/src/cmd/logadm/kw.c
128
Keywords = lut_add(Keywords, "nodename", un.nodename);
usr/src/cmd/logadm/kw.c
129
Keywords = lut_add(Keywords, "release", un.release);
usr/src/cmd/logadm/kw.c
130
Keywords = lut_add(Keywords, "machine", un.machine);
usr/src/cmd/logadm/kw.c
76
static struct utsname un;
usr/src/cmd/login/login.c
2433
uname(&un);
usr/src/cmd/login/login.c
2438
un.release, un.nodename);
usr/src/cmd/login/login.c
2444
un.release, un.machine, un.nodename);
usr/src/cmd/login/login.c
2448
un.release, un.machine, un.nodename);
usr/src/cmd/lp/cmd/lpadmin/lpadmin.c
80
struct utsname un;
usr/src/cmd/lp/cmd/lpadmin/lpadmin.c
97
uname(&un);
usr/src/cmd/lp/cmd/lpadmin/lpadmin.c
98
Local_System = strdup(un.nodename);
usr/src/cmd/mdb/common/modules/mpt_sas/mpt_sas.c
674
"0x%04x 0x%04x ", mp->un.m_base_wwid, mp->m_num_phys,
usr/src/cmd/rpcgen/rpc_cout.c
321
print_stat(1, &def->def.un.enum_decl);
usr/src/cmd/rpcgen/rpc_cout.c
322
f_print(fout, "\tswitch (objp->%s) {\n", def->def.un.enum_decl.name);
usr/src/cmd/rpcgen/rpc_cout.c
323
for (cl = def->def.un.cases; cl != NULL; cl = cl->next) {
usr/src/cmd/rpcgen/rpc_cout.c
346
dflt = def->def.un.default_decl;
usr/src/cmd/rpcgen/rpc_hout.c
208
decl = &def->def.un.enum_decl;
usr/src/cmd/rpcgen/rpc_hout.c
214
for (l = def->def.un.cases; l != NULL; l = l->next) {
usr/src/cmd/rpcgen/rpc_hout.c
218
decl = def->def.un.default_decl;
usr/src/cmd/rpcgen/rpc_parse.c
445
defp->def.un.enum_decl = dec;
usr/src/cmd/rpcgen/rpc_parse.c
446
tailp = &defp->def.un.cases;
usr/src/cmd/rpcgen/rpc_parse.c
487
defp->def.un.default_decl = calloc(1, sizeof (declaration));
usr/src/cmd/rpcgen/rpc_parse.c
488
*defp->def.un.default_decl = dec;
usr/src/cmd/rpcgen/rpc_parse.c
492
defp->def.un.default_decl = NULL;
usr/src/cmd/rpcgen/rpc_parse.h
165
union_def un;
usr/src/cmd/sh/blok.c
214
int us = 0, un = 0;
usr/src/cmd/sh/blok.c
231
un += q - p;
usr/src/cmd/sh/blok.c
247
int us = 0, un = 0;
usr/src/cmd/sh/blok.c
261
un += q - p;
usr/src/cmd/sh/blok.c
270
prn(un);
usr/src/cmd/sh/blok.c
274
prn((uintptr_t)bloktop - (uintptr_t)brkbegin - (un + us));
usr/src/cmd/svc/svccfg/svccfg_tmpl.c
952
uint64_t un;
usr/src/cmd/svc/svccfg/svccfg_tmpl.c
958
un = strtoull(value, &endptr, 0);
usr/src/cmd/svc/svccfg/svccfg_tmpl.c
962
*(av->av_v.av_unsigned + i) = un;
usr/src/cmd/troff/n1.c
1412
esc = un;
usr/src/cmd/troff/n4.c
139
i = un;
usr/src/cmd/troff/n5.c
275
un = in;
usr/src/cmd/troff/n7.c
125
if ((lastl = ll - un) < ne)
usr/src/cmd/troff/n7.c
132
un += quant(nel / 2, HOR);
usr/src/cmd/troff/n7.c
134
un += nel;
usr/src/cmd/troff/n7.c
138
if (lastl + un > dip->maxl)
usr/src/cmd/troff/n7.c
139
dip->maxl = lastl + un;
usr/src/cmd/troff/n7.c
140
horiz(un);
usr/src/cmd/troff/n7.c
193
if ((k = ll - un - lastl + ics) > 0)
usr/src/cmd/troff/n7.c
202
un = in;
usr/src/cmd/troff/n7.c
234
un += nw * (3 + nms + ni);
usr/src/cmd/troff/n7.c
245
un += nw * nms;
usr/src/cmd/troff/n7.c
297
un += spcnt * sps;
usr/src/cmd/troff/n7.c
380
un += i;
usr/src/cmd/troff/n7.c
774
un = un1;
usr/src/cmd/troff/n7.c
777
nel = ll - un;
usr/src/cmd/uname/uname.c
160
(void) fprintf(stdout, fs, sizeof (un->sysname),
usr/src/cmd/uname/uname.c
161
un->sysname);
usr/src/cmd/uname/uname.c
165
(void) fprintf(stdout, fs, sizeof (un->nodename), un->nodename);
usr/src/cmd/uname/uname.c
169
(void) fprintf(stdout, fs, sizeof (un->release), un->release);
usr/src/cmd/uname/uname.c
173
(void) fprintf(stdout, fs, sizeof (un->version), un->version);
usr/src/cmd/uname/uname.c
177
(void) fprintf(stdout, fs, sizeof (un->machine), un->machine);
usr/src/cmd/uname/uname.c
205
(void) fprintf(stdout, "System = %.*s\n", sizeof (un->sysname),
usr/src/cmd/uname/uname.c
206
un->sysname);
usr/src/cmd/uname/uname.c
207
(void) fprintf(stdout, "Node = %.*s\n", sizeof (un->nodename),
usr/src/cmd/uname/uname.c
208
un->nodename);
usr/src/cmd/uname/uname.c
209
(void) fprintf(stdout, "Release = %.*s\n", sizeof (un->release),
usr/src/cmd/uname/uname.c
210
un->release);
usr/src/cmd/uname/uname.c
212
sizeof (un->version), un->version);
usr/src/cmd/uname/uname.c
213
(void) fprintf(stdout, "Machine = %.*s\n", sizeof (un->machine),
usr/src/cmd/uname/uname.c
214
un->machine);
usr/src/cmd/uname/uname.c
66
struct utsname unstr, *un;
usr/src/cmd/uname/uname.c
72
un = &unstr;
usr/src/cmd/uname/uname.c
73
(void) uname(un);
usr/src/cmd/vi/port/ex_cmdsub.c
1513
mapcmd(int un, int ab)
usr/src/cmd/vi/port/ex_cmdsub.c
1529
if (un)
usr/src/cmd/vi/port/ex_cmdsub.c
1550
} else if (!un && any(c, " \t")) {
usr/src/cmd/vi/port/ex_cmdsub.c
1555
if (un) {
usr/src/cmd/zfs/zfs_main.c
5145
allow_usage(boolean_t un, boolean_t requested, const char *msg)
usr/src/cmd/zfs/zfs_main.c
5168
(void) fprintf(fp, gettext("Usage: %s\n"), get_usage(un ? HELP_UNALLOW :
usr/src/cmd/zfs/zfs_main.c
5171
for (int i = 0; i < (un ? unallow_size : allow_size); i++) {
usr/src/cmd/zfs/zfs_main.c
5213
munge_args(int argc, char **argv, boolean_t un, size_t expected_argc,
usr/src/cmd/zfs/zfs_main.c
5216
if (un && argc == expected_argc - 1)
usr/src/cmd/zfs/zfs_main.c
5221
allow_usage(un, B_FALSE,
usr/src/cmd/zfs/zfs_main.c
5228
parse_allow_args(int argc, char **argv, boolean_t un, struct allow_opts *opts)
usr/src/cmd/zfs/zfs_main.c
5233
int all_sum = un ? ldcsuge_sum + opts->recursive : ldcsuge_sum;
usr/src/cmd/zfs/zfs_main.c
5236
allow_usage(un, B_FALSE,
usr/src/cmd/zfs/zfs_main.c
5241
allow_usage(un, B_TRUE, NULL);
usr/src/cmd/zfs/zfs_main.c
5248
allow_usage(un, B_FALSE,
usr/src/cmd/zfs/zfs_main.c
5251
opts->dataset = munge_args(argc, argv, un, 3, &opts->perms);
usr/src/cmd/zfs/zfs_main.c
5253
allow_usage(un, B_FALSE,
usr/src/cmd/zfs/zfs_main.c
5258
allow_usage(un, B_FALSE,
usr/src/cmd/zfs/zfs_main.c
5260
opts->dataset = munge_args(argc, argv, un, 2, &opts->perms);
usr/src/cmd/zfs/zfs_main.c
5263
allow_usage(un, B_FALSE,
usr/src/cmd/zfs/zfs_main.c
5265
opts->dataset = munge_args(argc, argv, un, 2, &opts->perms);
usr/src/cmd/zfs/zfs_main.c
5271
opts->dataset = munge_args(argc, argv, un, 2, &opts->perms);
usr/src/cmd/zfs/zfs_main.c
5272
} else if (argc == 1 && !un) {
usr/src/cmd/zfs/zfs_main.c
5276
opts->dataset = munge_args(argc, argv, un, 3, &opts->perms);
usr/src/cmd/zfs/zfs_main.c
5431
construct_fsacl_list(boolean_t un, struct allow_opts *opts, nvlist_t **nvlp)
usr/src/cmd/zfs/zfs_main.c
5478
allow_usage(un, B_TRUE, errbuf);
usr/src/cmd/zfs/zfs_main.c
5492
allow_usage(un, B_TRUE, errbuf);
usr/src/cmd/zfs/zfs_main.c
5518
allow_usage(un, B_TRUE, errbuf);
usr/src/cmd/zfs/zfs_main.c
5692
boolean_t un;
usr/src/cmd/zfs/zfs_main.c
5705
return (zfs_set_fsacl(zhp, perms->un, perms->nvl));
usr/src/cmd/zfs/zfs_main.c
5709
zfs_do_allow_unallow_impl(int argc, char **argv, boolean_t un)
usr/src/cmd/zfs/zfs_main.c
5718
const char *optstr = un ? "ldugecsrh" : "ldugecsh";
usr/src/cmd/zfs/zfs_main.c
5766
parse_allow_args(argc, argv, un, &opts);
usr/src/cmd/zfs/zfs_main.c
5788
(void) construct_fsacl_list(un, &opts, &update_perm_nvl);
usr/src/cmd/zfs/zfs_main.c
5789
if (zfs_set_fsacl(zhp, un, update_perm_nvl) != 0)
usr/src/cmd/zfs/zfs_main.c
5792
if (un && opts.recursive) {
usr/src/cmd/zfs/zfs_main.c
5793
struct deleg_perms data = { un, update_perm_nvl };
usr/src/lib/brand/sn1/sn1_brand/common/sn1_brand.c
65
struct utsname un, *unp = (struct utsname *)p1;
usr/src/lib/brand/sn1/sn1_brand/common/sn1_brand.c
68
if ((err = __systemcall(rv, SYS_uname + 1024, &un)) != 0)
usr/src/lib/brand/sn1/sn1_brand/common/sn1_brand.c
71
rev = atoi(&un.release[2]);
usr/src/lib/brand/sn1/sn1_brand/common/sn1_brand.c
73
(void) sprintf(un.release, "5.%d", rev - 1);
usr/src/lib/brand/sn1/sn1_brand/common/sn1_brand.c
75
if (uucopy(&un, unp, sizeof (un)) != 0)
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1477
struct utsname un, *unp = (struct utsname *)p1;
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1480
if ((err = __systemcall(rv, SYS_uname + 1024, &un)) != 0)
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1483
rev = atoi(&un.release[2]);
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1485
bzero(un.release, _SYS_NMLN);
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1486
(void) strlcpy(un.release, S10_UTS_RELEASE, _SYS_NMLN);
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1487
bzero(un.version, _SYS_NMLN);
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1488
(void) strlcpy(un.version, S10_UTS_VERSION, _SYS_NMLN);
usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1491
return (brand_uucopy(&un, unp, sizeof (un)));
usr/src/lib/lib9p/common/backend/fs.c
1550
struct sockaddr_un un;
usr/src/lib/lib9p/common/backend/fs.c
1577
if (strlen(path) >= sizeof(un.sun_path)) {
usr/src/lib/lib9p/common/backend/fs.c
1595
if (strlen(path) >= sizeof(un.sun_path)) {
usr/src/lib/lib9p/common/backend/fs.c
1599
un.sun_family = AF_UNIX;
usr/src/lib/lib9p/common/backend/fs.c
1601
slen = un.sun_len = sizeof(struct sockaddr_un);
usr/src/lib/lib9p/common/backend/fs.c
1603
slen = SUN_LEN(&un);
usr/src/lib/lib9p/common/backend/fs.c
1606
strncpy(un.sun_path, path, sizeof(un.sun_path));
usr/src/lib/lib9p/common/backend/fs.c
1610
if (bindat(fd, s, (struct sockaddr *)&un, slen) < 0)
usr/src/lib/lib9p/common/backend/fs.c
1616
if (bind(s, (struct sockaddr *)&un, slen) < 0)
usr/src/lib/libc/inc/tdb_agent.h
146
} un;
usr/src/lib/libc/port/gen/fmtmsg.c
766
uint_t un = (n < 0)? -n : n;
usr/src/lib/libc/port/gen/fmtmsg.c
769
*cp++ = "0123456789"[un % 10];
usr/src/lib/libc/port/gen/fmtmsg.c
770
un /= 10;
usr/src/lib/libc/port/gen/fmtmsg.c
771
} while (un);
usr/src/lib/libc/port/threads/tdb_agent.c
162
(void) memset(&sap->un, 0, sizeof (sap->un));
usr/src/lib/libc/port/threads/tdb_agent.c
308
(void) memset(&sap->un, 0, sizeof (sap->un));
usr/src/lib/libc/port/threads/tdb_agent.c
410
tssp->un.type = TDB_MUTEX;
usr/src/lib/libc/port/threads/tdb_agent.c
411
return (&tssp->un.mutex);
usr/src/lib/libc/port/threads/tdb_agent.c
427
tssp->un.type = TDB_COND;
usr/src/lib/libc/port/threads/tdb_agent.c
428
return (&tssp->un.cond);
usr/src/lib/libc/port/threads/tdb_agent.c
444
tssp->un.type = TDB_RWLOCK;
usr/src/lib/libc/port/threads/tdb_agent.c
445
return (&tssp->un.rwlock);
usr/src/lib/libc/port/threads/tdb_agent.c
462
tssp->un.type = TDB_SEMA;
usr/src/lib/libc/port/threads/tdb_agent.c
464
tssp->un.sema.sema_max_count = sp->count;
usr/src/lib/libc/port/threads/tdb_agent.c
465
tssp->un.sema.sema_min_count = sp->count;
usr/src/lib/libc/port/threads/tdb_agent.c
467
return (&tssp->un.sema);
usr/src/lib/libc_db/common/thread_db.c
1244
if (sync_stats.un.type == TDB_NONE) {
usr/src/lib/libc_db/common/thread_db.c
2770
switch (sync_stats.un.type) {
usr/src/lib/libc_db/common/thread_db.c
2778
sync_stats.un.mutex.mutex_lock;
usr/src/lib/libc_db/common/thread_db.c
2780
sync_stats.un.mutex.mutex_sleep;
usr/src/lib/libc_db/common/thread_db.c
2782
sync_stats.un.mutex.mutex_sleep_time;
usr/src/lib/libc_db/common/thread_db.c
2784
sync_stats.un.mutex.mutex_hold_time;
usr/src/lib/libc_db/common/thread_db.c
2786
sync_stats.un.mutex.mutex_try;
usr/src/lib/libc_db/common/thread_db.c
2788
sync_stats.un.mutex.mutex_try_fail;
usr/src/lib/libc_db/common/thread_db.c
2803
sync_stats.un.cond.cond_wait;
usr/src/lib/libc_db/common/thread_db.c
2805
sync_stats.un.cond.cond_timedwait;
usr/src/lib/libc_db/common/thread_db.c
2807
sync_stats.un.cond.cond_wait_sleep_time;
usr/src/lib/libc_db/common/thread_db.c
2809
sync_stats.un.cond.cond_timedwait_sleep_time;
usr/src/lib/libc_db/common/thread_db.c
2811
sync_stats.un.cond.cond_timedwait_timeout;
usr/src/lib/libc_db/common/thread_db.c
2813
sync_stats.un.cond.cond_signal;
usr/src/lib/libc_db/common/thread_db.c
2815
sync_stats.un.cond.cond_broadcast;
usr/src/lib/libc_db/common/thread_db.c
2830
sync_stats.un.rwlock.rw_rdlock;
usr/src/lib/libc_db/common/thread_db.c
2832
sync_stats.un.rwlock.rw_rdlock_try;
usr/src/lib/libc_db/common/thread_db.c
2834
sync_stats.un.rwlock.rw_rdlock_try_fail;
usr/src/lib/libc_db/common/thread_db.c
2836
sync_stats.un.rwlock.rw_wrlock;
usr/src/lib/libc_db/common/thread_db.c
2838
sync_stats.un.rwlock.rw_wrlock_hold_time;
usr/src/lib/libc_db/common/thread_db.c
2840
sync_stats.un.rwlock.rw_wrlock_try;
usr/src/lib/libc_db/common/thread_db.c
2842
sync_stats.un.rwlock.rw_wrlock_try_fail;
usr/src/lib/libc_db/common/thread_db.c
2852
sync_stats.un.sema.sema_wait;
usr/src/lib/libc_db/common/thread_db.c
2854
sync_stats.un.sema.sema_wait_sleep;
usr/src/lib/libc_db/common/thread_db.c
2856
sync_stats.un.sema.sema_wait_sleep_time;
usr/src/lib/libc_db/common/thread_db.c
2858
sync_stats.un.sema.sema_trywait;
usr/src/lib/libc_db/common/thread_db.c
2860
sync_stats.un.sema.sema_trywait_fail;
usr/src/lib/libc_db/common/thread_db.c
2862
sync_stats.un.sema.sema_post;
usr/src/lib/libc_db/common/thread_db.c
2864
sync_stats.un.sema.sema_max_count;
usr/src/lib/libc_db/common/thread_db.c
2866
sync_stats.un.sema.sema_min_count;
usr/src/lib/libresolv2/common/isc/ctl_p.c
145
const struct sockaddr_un *un =
usr/src/lib/libresolv2/common/isc/ctl_p.c
147
unsigned int x = sizeof un->sun_path;
usr/src/lib/libresolv2/common/isc/ctl_p.c
151
strncpy(buf, un->sun_path, x - 1);
usr/src/lib/libresolv2/common/isc/ctl_srvr.c
74
struct sockaddr_un un;
usr/src/lib/libresolv2/common/isc/ev_connects.c
281
struct sockaddr_un un;
usr/src/lib/libresolv2/common/isc/ev_connects.c
316
struct sockaddr_un un;
usr/src/lib/libresolv2/common/isc/eventlib_p.h
103
struct sockaddr_un un;
usr/src/lib/libresolv2/common/isc/eventlib_p.h
95
struct sockaddr_un un;
usr/src/lib/libzfs/common/libzfs_dataset.c
5178
zfs_set_fsacl(zfs_handle_t *zhp, boolean_t un, nvlist_t *nvl)
usr/src/lib/libzfs/common/libzfs_dataset.c
5200
zc.zc_perm_action = un;
usr/src/lib/print/libhttp-core/common/http-addr.c
115
addr->un.sun_family = AF_LOCAL;
usr/src/lib/print/libhttp-core/common/http-addr.c
116
strlcpy(addr->un.sun_path, host->h_addr_list[n], sizeof(addr->un.sun_path));
usr/src/lib/print/libhttp-core/common/http-addr.c
193
strlcpy(name, addr->un.sun_path, namelen);
usr/src/lib/print/libhttp-core/common/http-addr.c
239
strlcpy(s, addr->un.sun_path, slen);
usr/src/lib/print/libhttp-core/common/http.c
599
SUN_LEN(&(http->hostaddr.un)));
usr/src/lib/print/libhttp-core/common/http.h
288
struct sockaddr_un un; /* Domain socket file */
usr/src/lib/pyzfs/common/ioctl.c
325
int un;
usr/src/lib/pyzfs/common/ioctl.c
333
if (!PyArg_ParseTuple(args, "siO!", &name, &un,
usr/src/lib/pyzfs/common/ioctl.c
350
zc.zc_perm_action = un;
usr/src/lib/smbsrv/libmlsvc/common/srvsvc_svc.c
1991
info2 = (struct mslm_NetShareInfo_2 *)param->info.un.info2;
usr/src/lib/smbsrv/libmlsvc/common/srvsvc_svc.c
1996
param->info.un.info502;
usr/src/test/libc-tests/tests/fexecve/fexecve_test.c
281
forkit("fexecve (not O_EXEC)", un.sysname, case_notexec);
usr/src/test/libc-tests/tests/fexecve/fexecve_test.c
293
forkit("fexecve (uname)", un.sysname, case_uname);
usr/src/test/libc-tests/tests/fexecve/fexecve_test.c
299
forkit("fexecve (uname)", un.release, case_uname_r);
usr/src/test/libc-tests/tests/fexecve/fexecve_test.c
313
(void) uname(&un);
usr/src/test/libc-tests/tests/fexecve/fexecve_test.c
36
struct utsname un;
usr/src/test/os-tests/tests/odirectory.c
132
(void) memset(&un, '\0', sizeof (un));
usr/src/test/os-tests/tests/odirectory.c
133
un.sun_family = AF_UNIX;
usr/src/test/os-tests/tests/odirectory.c
134
if (strlcpy(un.sun_path, odir_udspath, sizeof (un.sun_path)) >=
usr/src/test/os-tests/tests/odirectory.c
135
sizeof (un.sun_path)) {
usr/src/test/os-tests/tests/odirectory.c
141
if (bind(odir_uds, (struct sockaddr *)&un, SUN_LEN(&un)) != 0) {
usr/src/test/os-tests/tests/odirectory.c
79
struct sockaddr_un un;
usr/src/test/util-tests/tests/cpmvln/mkobj.c
111
struct sockaddr_un un;
usr/src/test/util-tests/tests/cpmvln/mkobj.c
118
(void) memset(&un, 0, sizeof (un));
usr/src/test/util-tests/tests/cpmvln/mkobj.c
119
un.sun_family = AF_UNIX;
usr/src/test/util-tests/tests/cpmvln/mkobj.c
120
if (strlcpy(un.sun_path, uds, sizeof (un.sun_path)) >=
usr/src/test/util-tests/tests/cpmvln/mkobj.c
121
sizeof (un.sun_path)) {
usr/src/test/util-tests/tests/cpmvln/mkobj.c
126
if (bind(fd, (struct sockaddr *)&un, sizeof (un)) != 0) {
usr/src/tools/smatch/src/validation/backend/struct.c
20
static struct unnamed un;
usr/src/tools/smatch/src/validation/compound-sizes.c
39
static union un un;
usr/src/uts/common/c2/audit_event.c
1411
} un;
usr/src/uts/common/cpr/cpr_misc.c
270
} un;
usr/src/uts/common/cpr/cpr_misc.c
271
#define devpath un.un_devpath
usr/src/uts/common/cpr/cpr_misc.c
272
#define sfpath un.un_sfpath
usr/src/uts/common/fs/pcfs/pc_dir.c
1678
hi16 = ltohs(ep->un.pcd_scluster_hi);
usr/src/uts/common/fs/pcfs/pc_dir.c
1696
ep->un.pcd_scluster_hi = htols(hi16);
usr/src/uts/common/fs/pcfs/pc_dir.c
303
ep->un.pcd_eattr = 0;
usr/src/uts/common/fs/pcfs/pc_dir.c
740
pct_hi = slot.sl_ep->un.pcd_scluster_hi;
usr/src/uts/common/fs/pcfs/pc_dir.c
742
eattr = slot.sl_ep->un.pcd_eattr;
usr/src/uts/common/fs/pcfs/pc_dir.c
795
ep->un.pcd_scluster_hi = pct_hi;
usr/src/uts/common/fs/pcfs/pc_dir.c
797
ep->un.pcd_eattr = eattr;
usr/src/uts/common/fs/proc/prioctl.c
1027
prhusage_t *pup = &un.prhusage;
usr/src/uts/common/fs/proc/prioctl.c
1085
prcvtusage(&un.prhusage, upup);
usr/src/uts/common/fs/proc/prioctl.c
1197
bcopy(up->u_auxv, un.auxv,
usr/src/uts/common/fs/proc/prioctl.c
1200
if (copyout(un.auxv, cmaddr,
usr/src/uts/common/fs/proc/prioctl.c
1705
} un;
usr/src/uts/common/fs/proc/prioctl.c
187
} un;
usr/src/uts/common/fs/proc/prioctl.c
2058
un.prrun.pr_flags = (int)flags;
usr/src/uts/common/fs/proc/prioctl.c
2059
un.prrun.pr_trace = un32.prrun.pr_trace;
usr/src/uts/common/fs/proc/prioctl.c
2060
un.prrun.pr_sighold = un32.prrun.pr_sighold;
usr/src/uts/common/fs/proc/prioctl.c
2061
un.prrun.pr_fault = un32.prrun.pr_fault;
usr/src/uts/common/fs/proc/prioctl.c
2062
un.prrun.pr_vaddr =
usr/src/uts/common/fs/proc/prioctl.c
2064
prsetrun(t, &un.prrun);
usr/src/uts/common/fs/proc/prioctl.c
2193
bzero(&un.info, sizeof (un.info));
usr/src/uts/common/fs/proc/prioctl.c
2194
siginfo_32tok(&un32.info, (k_siginfo_t *)&un.info);
usr/src/uts/common/fs/proc/prioctl.c
2195
error = pr_setsig(pnp, &un.info);
usr/src/uts/common/fs/proc/prioctl.c
2293
prgregset_32ton(lwp, un32.regs, un.regs);
usr/src/uts/common/fs/proc/prioctl.c
2294
prsetprregs(lwp, un.regs, 0);
usr/src/uts/common/fs/proc/prioctl.c
298
un.va = NULL;
usr/src/uts/common/fs/proc/prioctl.c
299
else if (copyin(cmaddr, &un.va, sizeof (un.va)))
usr/src/uts/common/fs/proc/prioctl.c
305
un.prrun.pr_flags = 0;
usr/src/uts/common/fs/proc/prioctl.c
306
else if (copyin(cmaddr, &un.prrun, sizeof (un.prrun)))
usr/src/uts/common/fs/proc/prioctl.c
311
if (copyin(cmaddr, &un.lwpid, sizeof (un.lwpid)))
usr/src/uts/common/fs/proc/prioctl.c
316
if (copyin(cmaddr, &un.smask, sizeof (un.smask)))
usr/src/uts/common/fs/proc/prioctl.c
322
un.info.si_signo = 0;
usr/src/uts/common/fs/proc/prioctl.c
323
else if (copyin(cmaddr, &un.info, sizeof (un.info)))
usr/src/uts/common/fs/proc/prioctl.c
329
if (copyin(cmaddr, &un.signo, sizeof (un.signo)))
usr/src/uts/common/fs/proc/prioctl.c
334
if (copyin(cmaddr, &un.nice, sizeof (un.nice)))
usr/src/uts/common/fs/proc/prioctl.c
340
if (copyin(cmaddr, &un.prmask, sizeof (un.prmask)))
usr/src/uts/common/fs/proc/prioctl.c
346
if (copyin(cmaddr, &un.flags, sizeof (un.flags)))
usr/src/uts/common/fs/proc/prioctl.c
351
if (copyin(cmaddr, un.regs, sizeof (un.regs)))
usr/src/uts/common/fs/proc/prioctl.c
356
if (copyin(cmaddr, &un.fpregs, sizeof (un.fpregs)))
usr/src/uts/common/fs/proc/prioctl.c
361
if (copyin(cmaddr, &un.holdmask, sizeof (un.holdmask)))
usr/src/uts/common/fs/proc/prioctl.c
366
if (copyin(cmaddr, &un.fltmask, sizeof (un.fltmask)))
usr/src/uts/common/fs/proc/prioctl.c
458
error = propenm(pnp, cmaddr, un.va, rvalp, cr);
usr/src/uts/common/fs/proc/prioctl.c
499
oprgetstatus(t, &un.prstat, VTOZONE(vp));
usr/src/uts/common/fs/proc/prioctl.c
501
if (copyout(&un.prstat, cmaddr, sizeof (un.prstat)))
usr/src/uts/common/fs/proc/prioctl.c
508
long flags = un.prrun.pr_flags;
usr/src/uts/common/fs/proc/prioctl.c
525
prsetrun(t, &un.prrun);
usr/src/uts/common/fs/proc/prioctl.c
579
if ((xvp = prlwpnode(pnp, un.lwpid)) == NULL)
usr/src/uts/common/fs/proc/prioctl.c
621
prassignset(&un.smask, &p->p_sigmask);
usr/src/uts/common/fs/proc/prioctl.c
623
if (copyout(&un.smask, cmaddr, sizeof (un.smask)))
usr/src/uts/common/fs/proc/prioctl.c
628
prdelset(&un.smask, SIGKILL);
usr/src/uts/common/fs/proc/prioctl.c
629
prassignset(&p->p_sigmask, &un.smask);
usr/src/uts/common/fs/proc/prioctl.c
641
error = pr_setsig(pnp, &un.info);
usr/src/uts/common/fs/proc/prioctl.c
643
if (un.info.si_signo == SIGKILL && error == 0)
usr/src/uts/common/fs/proc/prioctl.c
649
int sig = (int)un.signo;
usr/src/uts/common/fs/proc/prioctl.c
659
error = pr_unkill(pnp, (int)un.signo);
usr/src/uts/common/fs/proc/prioctl.c
664
error = pr_nice(p, (int)un.nice, cr);
usr/src/uts/common/fs/proc/prioctl.c
672
prassignset(&un.prmask, &up->u_entrymask);
usr/src/uts/common/fs/proc/prioctl.c
674
prassignset(&un.prmask, &up->u_exitmask);
usr/src/uts/common/fs/proc/prioctl.c
677
if (copyout(&un.prmask, cmaddr, sizeof (un.prmask)))
usr/src/uts/common/fs/proc/prioctl.c
683
pr_setentryexit(p, &un.prmask, cmd == PIOCSENTRY);
usr/src/uts/common/fs/proc/prioctl.c
708
error = pr_set(p, prmapsetflags(un.flags));
usr/src/uts/common/fs/proc/prioctl.c
713
error = pr_unset(p, prmapsetflags(un.flags));
usr/src/uts/common/fs/proc/prioctl.c
719
bzero(un.regs, sizeof (un.regs));
usr/src/uts/common/fs/proc/prioctl.c
723
prgetprregs(lwp, un.regs);
usr/src/uts/common/fs/proc/prioctl.c
727
if (copyout(un.regs, cmaddr, sizeof (un.regs)))
usr/src/uts/common/fs/proc/prioctl.c
737
prsetprregs(lwp, un.regs, 0);
usr/src/uts/common/fs/proc/prioctl.c
751
bzero(&un.fpregs, sizeof (un.fpregs));
usr/src/uts/common/fs/proc/prioctl.c
755
prgetprfpregs(lwp, &un.fpregs);
usr/src/uts/common/fs/proc/prioctl.c
759
if (copyout(&un.fpregs, cmaddr, sizeof (un.fpregs)))
usr/src/uts/common/fs/proc/prioctl.c
771
prsetprfpregs(lwp, &un.fpregs);
usr/src/uts/common/fs/proc/prioctl.c
819
oprgetstatus(t, &un.prstat, VTOZONE(vp));
usr/src/uts/common/fs/proc/prioctl.c
821
if (copyout(&un.prstat, cmaddr, sizeof (un.prstat)))
usr/src/uts/common/fs/proc/prioctl.c
867
prpsinfo_t *psp = &un.prps;
usr/src/uts/common/fs/proc/prioctl.c
873
if (copyout(&un.prps, cmaddr, sizeof (un.prps)))
usr/src/uts/common/fs/proc/prioctl.c
903
prgethold(t, &un.holdmask);
usr/src/uts/common/fs/proc/prioctl.c
905
if (copyout(&un.holdmask, cmaddr, sizeof (un.holdmask)))
usr/src/uts/common/fs/proc/prioctl.c
910
pr_sethold(pnp, &un.holdmask);
usr/src/uts/common/fs/proc/prioctl.c
958
bzero(&un.prmap, sizeof (un.prmap));
usr/src/uts/common/fs/proc/prioctl.c
959
if (!error && copyout(&un.prmap, cmaddr, sizeof (un.prmap)))
usr/src/uts/common/fs/proc/prioctl.c
966
prassignset(&un.fltmask, &p->p_fltmask);
usr/src/uts/common/fs/proc/prioctl.c
968
if (copyout(&un.fltmask, cmaddr, sizeof (un.fltmask)))
usr/src/uts/common/fs/proc/prioctl.c
973
pr_setfault(p, &un.fltmask);
usr/src/uts/common/fs/proc/prioctl.c
988
un.prcred.pr_euid = crgetuid(cp);
usr/src/uts/common/fs/proc/prioctl.c
989
un.prcred.pr_ruid = crgetruid(cp);
usr/src/uts/common/fs/proc/prioctl.c
990
un.prcred.pr_suid = crgetsuid(cp);
usr/src/uts/common/fs/proc/prioctl.c
991
un.prcred.pr_egid = crgetgid(cp);
usr/src/uts/common/fs/proc/prioctl.c
992
un.prcred.pr_rgid = crgetrgid(cp);
usr/src/uts/common/fs/proc/prioctl.c
993
un.prcred.pr_sgid = crgetsgid(cp);
usr/src/uts/common/fs/proc/prioctl.c
994
un.prcred.pr_ngroups = crgetngroups(cp);
usr/src/uts/common/fs/proc/prioctl.c
998
if (copyout(&un.prcred, cmaddr, sizeof (un.prcred)))
usr/src/uts/common/fs/smbsrv/smb_node.c
1294
smb_node_constructor(void *buf, void *un, int kmflags)
usr/src/uts/common/fs/smbsrv/smb_node.c
1296
_NOTE(ARGUNUSED(kmflags, un))
usr/src/uts/common/fs/smbsrv/smb_node.c
1320
smb_node_destructor(void *buf, void *un)
usr/src/uts/common/fs/smbsrv/smb_node.c
1322
_NOTE(ARGUNUSED(un))
usr/src/uts/common/fs/zfs/unique.c
100
unique_t *un;
usr/src/uts/common/fs/zfs/unique.c
104
un = avl_find(&unique_avl, &un_tofind, NULL);
usr/src/uts/common/fs/zfs/unique.c
105
if (un != NULL) {
usr/src/uts/common/fs/zfs/unique.c
106
avl_remove(&unique_avl, un);
usr/src/uts/common/fs/zfs/unique.c
107
kmem_free(un, sizeof (unique_t));
usr/src/uts/common/fs/zfs/unique.c
76
unique_t *un = kmem_alloc(sizeof (unique_t), KM_SLEEP);
usr/src/uts/common/fs/zfs/unique.c
78
un->un_value = value;
usr/src/uts/common/fs/zfs/unique.c
81
while (un->un_value == 0 || un->un_value & ~UNIQUE_MASK ||
usr/src/uts/common/fs/zfs/unique.c
82
avl_find(&unique_avl, un, &idx)) {
usr/src/uts/common/fs/zfs/unique.c
84
(void) random_get_pseudo_bytes((void*)&un->un_value,
usr/src/uts/common/fs/zfs/unique.c
85
sizeof (un->un_value));
usr/src/uts/common/fs/zfs/unique.c
86
un->un_value &= UNIQUE_MASK;
usr/src/uts/common/fs/zfs/unique.c
90
avl_insert(&unique_avl, un, idx);
usr/src/uts/common/fs/zfs/unique.c
93
return (un->un_value);
usr/src/uts/common/io/aac/aac_ioctl.c
161
union aac_revision_align un;
usr/src/uts/common/io/aac/aac_ioctl.c
162
struct aac_revision *aac_rev = &un.d;
usr/src/uts/common/io/aac/aac_ioctl.c
359
union aac_get_adapter_fib_align un;
usr/src/uts/common/io/aac/aac_ioctl.c
360
struct aac_get_adapter_fib *af = &un.d;
usr/src/uts/common/io/aac/aac_ioctl.c
640
union aac_pci_info_align un;
usr/src/uts/common/io/aac/aac_ioctl.c
641
struct aac_pci_info *resp = &un.d;
usr/src/uts/common/io/aac/aac_ioctl.c
669
union aac_query_disk_align un;
usr/src/uts/common/io/aac/aac_ioctl.c
670
struct aac_query_disk *qdisk = &un.d;
usr/src/uts/common/io/aac/aac_ioctl.c
706
union aac_delete_disk_align un;
usr/src/uts/common/io/aac/aac_ioctl.c
707
struct aac_delete_disk *ddisk = &un.d;
usr/src/uts/common/io/aac/aac_ioctl.c
742
union aac_features_align un;
usr/src/uts/common/io/aac/aac_ioctl.c
743
struct aac_features *f = &un.d;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10566
if (! mb4->un.varSLIConfig.be.embedded) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10567
if (mb4->un.varSLIConfig.be.sge_cnt > 1) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10580
if ((!mb4->un.varSLIConfig.be.payload_length) ||
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10581
(mb4->un.varSLIConfig.be.payload_length !=
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10592
mb4->un.varSLIConfig.be.payload_length);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10613
&mb4->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10678
if (mb4->un.varDmp4.available_cnt == 0)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10681
if (mb4->un.varDmp4.available_cnt !=
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10692
mb4->un.varDmp4.available_cnt);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10708
mb4->un.varDmp4.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10709
mb4->un.varDmp4.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10713
if (mb4->un.varUpdateCfg.Obit == 0)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10716
if (mb4->un.varUpdateCfg.byte_len !=
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10727
mb4->un.varUpdateCfg.byte_len);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10743
mb4->un.varWords[5] = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10744
mb4->un.varWords[6] = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10748
size = mb4->un.varBIUdiag.un.s2.xmit_bde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10749
addr = PADDR(mb4->un.varBIUdiag.un.s2.xmit_bde64.addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10750
mb4->un.varBIUdiag.un.s2.xmit_bde64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10784
mb4->un.varBIUdiag.un.s2.xmit_bde64.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10786
mb4->un.varBIUdiag.un.s2.xmit_bde64.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10788
mb4->un.varBIUdiag.un.s2.xmit_bde64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10790
size = mb4->un.varBIUdiag.un.s2.rcv_bde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10791
addr = PADDR(mb4->un.varBIUdiag.un.s2.rcv_bde64.addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10792
mb4->un.varBIUdiag.un.s2.rcv_bde64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10813
mb4->un.varBIUdiag.un.s2.rcv_bde64.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10815
mb4->un.varBIUdiag.un.s2.rcv_bde64.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10817
mb4->un.varBIUdiag.un.s2.rcv_bde64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10829
emlxs_mb_cmd_xlate(mb4->mbxCommand), mb4->un.varWords[0],
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10830
mb4->un.varWords[1], mb4->un.varWords[2], mb4->un.varWords[3]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10925
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10993
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10998
mb->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
10999
mb->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11001
mb->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11003
mb->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11004
mb->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11006
dcbx_mode = (IOCTL_DCBX_SET_DCBX_MODE *)&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11048
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11053
mb->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11054
mb->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11056
mb->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11058
mb->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11059
mb->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
11061
dcbx_mode = (IOCTL_DCBX_GET_DCBX_MODE *)&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3245
els->un.logo.un.nPortId32 = LE_SWAP32(vport->did);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3246
bcopy(&vport->wwpn, &els->un.logo.portName, 8);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3477
vres->vpi_max = mb->un.varRdConfig.max_vpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3479
(mb->un.varRdConfig.max_vpi <=
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3480
mb->un.varRdConfig.avail_vpi) ? 0 : mb->un.varRdConfig.max_vpi -
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3481
mb->un.varRdConfig.avail_vpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3483
vres->rpi_max = mb->un.varRdConfig.max_rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3485
(mb->un.varRdConfig.max_rpi <=
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3486
mb->un.varRdConfig.avail_rpi) ? 0 : mb->un.varRdConfig.max_rpi -
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3487
mb->un.varRdConfig.avail_rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3634
(void *)&els->un.logi, sizeof (SERV_PARM));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3639
bcopy((caddr_t)wwn, (caddr_t)&els->un.logi.nodeName, 8);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3645
bcopy((caddr_t)wwn, (caddr_t)&els->un.logi.portName, 8);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3648
bcopy((void *)&els->un.logi, (void *)&vport->sparam,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3706
els->un.logo.un.nPortId32 =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3711
bcopy(wwn, &els->un.logo.portName, 8);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
3748
if (lsrjt->un.b.lsRjtRsnCodeExp != LSEXP_OUT_OF_RESOURCE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4163
stats->tx_frame_cnt = mb->un.varRdStatus.xmitFrameCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4164
stats->rx_frame_cnt = mb->un.varRdStatus.rcvFrameCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4165
stats->tx_kbyte_cnt = mb->un.varRdStatus.xmitByteCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4166
stats->rx_kbyte_cnt = mb->un.varRdStatus.rcvByteCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4167
stats->tx_seq_cnt = mb->un.varRdStatus.xmitSeqCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4168
stats->rx_seq_cnt = mb->un.varRdStatus.rcvSeqCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4169
stats->orig_exch_cnt = mb->un.varRdStatus.totalOrigExchanges;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4170
stats->resp_exch_cnt = mb->un.varRdStatus.totalRespExchanges;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4171
stats->pbsy_cnt = mb->un.varRdStatus.rcvPbsyCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4172
stats->fbsy_cnt = mb->un.varRdStatus.rcvFbsyCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4196
stats->link_failure_cnt = mb->un.varRdLnk.linkFailureCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4197
stats->loss_sync_cnt = mb->un.varRdLnk.lossSyncCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4198
stats->loss_signal_cnt = mb->un.varRdLnk.lossSignalCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4199
stats->seq_error_cnt = mb->un.varRdLnk.primSeqErrCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4200
stats->inval_tx_word_cnt = mb->un.varRdLnk.invalidXmitWord;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4201
stats->crc_error_cnt = mb->un.varRdLnk.crcCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4202
stats->seq_timeout_cnt = mb->un.varRdLnk.primSeqTimeout;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4203
stats->elastic_overrun_cnt = mb->un.varRdLnk.elasticOverrun;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4204
stats->arb_timeout_cnt = mb->un.varRdLnk.arbTimeout;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4205
stats->rx_buf_credit = mb->un.varRdLnk.rxBufCredit;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4206
stats->rx_buf_cnt = mb->un.varRdLnk.rxBufCreditCur;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4207
stats->tx_buf_credit = mb->un.varRdLnk.txBufCredit;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4208
stats->tx_buf_cnt = mb->un.varRdLnk.txBufCreditCur;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4209
stats->EOFa_cnt = mb->un.varRdLnk.EOFaCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4210
stats->EOFdti_cnt = mb->un.varRdLnk.EOFdtiCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4211
stats->EOFni_cnt = mb->un.varRdLnk.EOFniCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4212
stats->SOFf_cnt = mb->un.varRdLnk.SOFfCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4793
ndlp = emlxs_node_find_rpi(port, mb->un.varUnregLogin.rpi);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4812
mb->un.varUnregLogin.rpi);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4824
did = mb->un.varRegLogin.did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4884
(uintptr_t)PADDR(mb->un.varRdEvtLog.un.sp64.addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4885
mb->un.varRdEvtLog.un.sp64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4886
size = (int)mb->un.varRdEvtLog.un.sp64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4907
mb->un.varRdEvtLog.un.sp64.addrHigh = PADDR_HI(rx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4908
mb->un.varRdEvtLog.un.sp64.addrLow = PADDR_LO(rx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4909
mb->un.varRdEvtLog.un.sp64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4916
(uintptr_t)PADDR(mb->un.varRdSparm.un.sp64.addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4917
mb->un.varRdSparm.un.sp64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4918
size = (int)mb->un.varRdSparm.un.sp64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4939
mb->un.varRdSparm.un.sp64.addrHigh = PADDR_HI(rx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4940
mb->un.varRdSparm.un.sp64.addrLow = PADDR_LO(rx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4941
mb->un.varRdSparm.un.sp64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4948
(uintptr_t)PADDR(mb->un.varRdRPI.un.sp64.addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4949
mb->un.varRdRPI.un.sp64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4950
size = (int)mb->un.varRdRPI.un.sp64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4971
mb->un.varRdRPI.un.sp64.addrHigh = PADDR_HI(rx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4972
mb->un.varRdRPI.un.sp64.addrLow = PADDR_LO(rx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4973
mb->un.varRdRPI.un.sp64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4980
(uintptr_t)PADDR(mb->un.varBIUdiag.un.s2.xmit_bde64.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4981
addrHigh, mb->un.varBIUdiag.un.s2.xmit_bde64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
4982
size = (int)mb->un.varBIUdiag.un.s2.xmit_bde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5016
mb->un.varBIUdiag.un.s2.xmit_bde64.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5018
mb->un.varBIUdiag.un.s2.xmit_bde64.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5020
mb->un.varBIUdiag.un.s2.xmit_bde64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5024
(uintptr_t)PADDR(mb->un.varBIUdiag.un.s2.rcv_bde64.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5025
addrHigh, mb->un.varBIUdiag.un.s2.rcv_bde64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5026
size = (int)mb->un.varBIUdiag.un.s2.rcv_bde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5047
mb->un.varBIUdiag.un.s2.rcv_bde64.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5049
mb->un.varBIUdiag.un.s2.rcv_bde64.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5051
mb->un.varBIUdiag.un.s2.rcv_bde64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5058
did = mb->un.varRegLogin.did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5081
(uintptr_t)PADDR(mb->un.varRegLogin.un.sp64.addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5082
mb->un.varRegLogin.un.sp64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5083
size = (int)mb->un.varRegLogin.un.sp64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5117
mb->un.varRegLogin.un.sp64.addrHigh = PADDR_HI(tx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5118
mb->un.varRegLogin.un.sp64.addrLow = PADDR_LO(tx_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5119
mb->un.varRegLogin.un.sp64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5126
(uintptr_t)PADDR(mb->un.varReadLA.un.lilpBde64.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5127
addrHigh, mb->un.varReadLA.un.lilpBde64.addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5128
size = (int)mb->un.varReadLA.un.lilpBde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5149
mb->un.varReadLA.un.lilpBde64.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5151
mb->un.varReadLA.un.lilpBde64.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5153
mb->un.varReadLA.un.lilpBde64.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5196
emlxs_mb_cmd_xlate(mb->mbxCommand), mb->un.varWords[0],
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
5197
mb->un.varWords[1], mb->un.varWords[2], mb->un.varWords[3]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
6855
ls_rjt->un.b.lsRjtRsnCode = pkt->pkt_reason;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
6856
ls_rjt->un.b.lsRjtRsnCodeExp = pkt->pkt_expln;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
8987
bcopy((void *)dfc->buf1, (void *)&CtCmd->un.data, dfc->buf1_size);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
9069
bcopy((void *)&CtCmd->un.data, (void *)dfc->buf2, dfc->buf2_size);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
9158
cmd->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
9192
cmd->ULPSTATUS, cmd->un.ulpWord[4],
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
9193
cmd->un.ulpWord[5]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
9197
cmd->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
9209
cmd->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_diag.c
207
pattern_buffer = (char *)els->un.pad;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
1805
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
1813
&mb->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
1841
&mb->un.varSLIConfig.be.un_hdr.hdr_rsp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2272
mb->un.varUpdateCfg.rsp_info);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2387
"Img Header: PROG_ID revcomp = 0x%x", image->Id.un.revcomp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2425
mb->un.varDmp4.type = Type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2426
mb->un.varDmp4.entry_index = BaseAddr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2427
mb->un.varDmp4.region_id = RegionId;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2429
mb->un.varDmp4.available_cnt = min((WordCount*4),
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2431
mb->un.varDmp4.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2433
mb->un.varDmp4.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2435
mb->un.varDmp4.rsp_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2445
mb->un.varDmp.type = Type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2446
mb->un.varDmp.region_id = RegionId;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2447
mb->un.varDmp.word_cnt = WordCount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2448
mb->un.varDmp.base_adr = BaseAddr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2630
mb->un.varLdSM.load_cmplt = Complete;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2631
mb->un.varLdSM.method = DL_FROM_SLIM;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2632
mb->un.varLdSM.update_flash = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2633
mb->un.varLdSM.erase_or_prog = Function;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2634
mb->un.varLdSM.dl_to_adr = Base;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2635
mb->un.varLdSM.dl_len = DlByteCount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2636
mb->un.varLdSM.keep = keep;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2639
mb->un.varLdSM.un.dl_from_slim_offset = DL_FROM_SLIM_OFFSET;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2641
mb->un.varLdSM.un.prog_id = *ProgId;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2643
mb->un.varLdSM.un.dl_from_slim_offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2660
mb->un.varUpdateCfg.req_type = UPDATE_DATA;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2661
mb->un.varUpdateCfg.region_id = WAKE_UP_PARMS_REGION_ID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2662
mb->un.varUpdateCfg.entry_len = sizeof (WAKE_UP_PARMS);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2663
mb->un.varUpdateCfg.byte_len = sizeof (WAKE_UP_PARMS);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2666
(caddr_t)&(mb->un.varUpdateCfg.cfg_data),
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2683
mb->un.varUpdateCfg.Vbit = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2684
mb->un.varUpdateCfg.Obit = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2685
mb->un.varUpdateCfg.cfg_data = DL_FROM_SLIM_OFFSET;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2686
mb->un.varUpdateCfg.req_type = UPDATE_DATA;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2687
mb->un.varUpdateCfg.region_id = region_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2688
mb->un.varUpdateCfg.entry_len = size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
2689
mb->un.varUpdateCfg.byte_len = size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3714
mb->un.varDelLdEntry.list_req = FLASH_LOAD_LIST;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3715
mb->un.varDelLdEntry.prog_id = *progId;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3759
if ((LoadEntry->un.wd[0] != 0) &&
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3760
(LoadEntry->un.wd[0] != 0xffffffff)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3763
LoadEntry->un.wd[0], LoadEntry->un.wd[1]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3765
load_list[count++] = LoadEntry->un.id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3812
if (mb->un.varDmp.word_cnt == (uint32_t)CFG_DATA_NO_REGION) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3826
bcopy((caddr_t)&mb->un.varDmp.resp_offset,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3941
Uptr = (uint32_t *)&mb->un.varDmp.resp_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3973
Uptr = (uint32_t *)&mb->un.varDmp.resp_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3980
LoadEntry->un.wd[0] = Uptr[4];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
3981
LoadEntry->un.wd[1] = Uptr[5];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4039
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4047
&mb->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4096
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4104
&mb->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
419
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4711
ImageHdr.Id.un.revcomp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4822
image->prog[type].revcomp = ImageHdr.Id.un.revcomp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4890
image->prog[type].revcomp = ImageHdr.Id.un.revcomp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4947
mb->un.varLdExpRom.step = EROM_CMD_FIND_IMAGE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4948
mb->un.varLdExpRom.progress = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4949
mb->un.varLdExpRom.un.prog_id = WakeUpParms->u1.EROM_prog_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4962
if (mb->un.varLdExpRom.progress == EROM_RSP_COPY_DONE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4969
if (mb->un.varLdExpRom.progress != EROM_RSP_ERASE_STARTED) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4972
mb->un.varLdExpRom.progress);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4982
while (mb->un.varLdExpRom.progress != EROM_RSP_ERASE_COMPLETE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4984
next_address = mb->un.varLdExpRom.dl_to_adr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4989
mb->un.varLdExpRom.step = EROM_CMD_CONTINUE_ERASE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4990
mb->un.varLdExpRom.dl_to_adr = next_address;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4991
mb->un.varLdExpRom.progress = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
4992
mb->un.varLdExpRom.un.prog_id = WakeUpParms->u1.EROM_prog_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5007
while (mb->un.varLdExpRom.progress != EROM_RSP_COPY_DONE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5008
next_address = mb->un.varLdExpRom.dl_to_adr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5013
mb->un.varLdExpRom.step = EROM_CMD_COPY;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5014
mb->un.varLdExpRom.dl_to_adr = next_address;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5015
mb->un.varLdExpRom.progress = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5016
mb->un.varLdExpRom.un.prog_id = WakeUpParms->u1.EROM_prog_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5242
while (mb->un.varLdArea.progress != RSP_ERASE_COMPLETE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5243
NextAddr = mb->un.varLdArea.dl_to_adr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
527
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5313
RspProgress = mb->un.varLdArea.progress;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5380
mb->un.varLdArea.update_flash = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5381
mb->un.varLdArea.erase_or_prog = Function;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5382
mb->un.varLdArea.dl_to_adr = Base;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5383
mb->un.varLdArea.dl_len = DlByteCount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5384
mb->un.varLdArea.load_cmplt = Complete;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5385
mb->un.varLdArea.method = DL_FROM_SLIM;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5386
mb->un.varLdArea.area_id = AreaId;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5387
mb->un.varLdArea.step = StepCmd;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5388
mb->un.varLdArea.un.dl_from_slim_offset = DataOffset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
5503
Uptr = (uint32_t *)&mb->un.varDmp.resp_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
615
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
711
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_download.c
757
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1112
b = (uint8_t)entry.un.PortBlock.un.s.sid;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1117
w = entry.un.PortBlock.un.s.bc;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1126
w = entry.un.PortBlock.un.s.addr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1139
w = entry.un.PortBlock.un.s.bc;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1148
w = entry.un.PortBlock.un.s.addr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1186
b = (uint8_t)entry.un.PortStruct.un.s.sid;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1190
b = (uint8_t)entry.un.PortStruct.un.s.length;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1195
w = entry.un.PortStruct.un.s.count;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1202
w = entry.un.PortStruct.un.s.addr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1215
w = entry.un.PortStruct.un.s.count;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
1222
w = entry.un.PortStruct.un.s.addr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2412
DumpTableAddr = mb->un.varDmp.resp_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2434
entry.un.PortBlock.un.w[0] = mb->un.varWords[4];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2436
switch (entry.un.PortBlock.un.s.sid) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2546
DumpTableAddr = mb->un.varDmp.resp_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2582
mb->un.varDmp.base_adr);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2585
entry.un.PortBlock.un.w[0] = mb->un.varWords[4];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2586
*pDumpTableEntry++ = mb->un.varWords[4];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2588
switch (entry.un.PortBlock.un.s.sid) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2592
entry.un.PortBlock.un.w[0]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2602
entry.un.PortBlock.un.w[0]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2611
entry.un.PortBlock.un.w[0]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2620
entry.un.PortBlock.un.w[0]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2627
entry.un.PortBlock.un.w[1] = mb->un.varWords[5];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2628
*pDumpTableEntry++ = mb->un.varWords[5];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2631
entry.un.PortBlock.un.w[0],
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2632
entry.un.PortBlock.un.w[1]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2704
entry.un.PortBlock.un.w[0] = *pDumpTable++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2706
switch (entry.un.PortBlock.un.s.sid) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2732
entry.un.PortBlock.un.w[1] = *pDumpTable++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2735
if (entry.un.PortBlock.un.w[1] == 0x3E0000) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2742
if ((entry.un.PortBlock.un.s.addr & 0x80000000) != 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2744
(entry.un.PortBlock.un.s.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2761
entry.un.PortBlock.un.s.addr =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2762
mb->un.varWords[4];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2766
byteCount = entry.un.PortBlock.un.s.bc;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2767
if (entry.un.PortBlock.un.s.sid & SID_MULT_ELEM) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2768
if (entry.un.PortStruct.un.s.count == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2771
entry.un.PortStruct.un.s.length;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2774
entry.un.PortStruct.un.s.count *
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2775
entry.un.PortStruct.un.s.length;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2793
portAddr = entry.un.PortBlock.un.s.addr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2814
bcopy((uint8_t *)&mb->un.varWords[4], p1,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2815
(mb->un.varDmp.word_cnt * 4));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2817
byteCountRem -= (mb->un.varDmp.word_cnt * 4);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2818
p1 += (mb->un.varDmp.word_cnt * 4);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2819
portAddr += (mb->un.varDmp.word_cnt * 4);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
2824
if (entry.un.PortBlock.un.s.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3617
logSize = mb->un.varLogStat.size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3640
mb->un.varRdEvtLog.read_log = 1; /* read log */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3641
mb->un.varRdEvtLog.mbox_rsp = 0; /* not using Mailbox */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3642
mb->un.varRdEvtLog.offset = offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3643
mb->un.varRdEvtLog.un.sp64.tus.f.bdeFlags = 0x0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3644
mb->un.varRdEvtLog.un.sp64.tus.f.bdeSize = block_size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3645
mb->un.varRdEvtLog.un.sp64.addrLow = PADDR_LO(tempAddress);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3646
mb->un.varRdEvtLog.un.sp64.addrHigh = PADDR_HI(tempAddress);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3739
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
3801
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
764
mb->un.varDmp4.type = DMP_NV_PARAMS;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
765
mb->un.varDmp4.entry_index = Offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
766
mb->un.varDmp4.region_id = Identifier;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
768
mb->un.varDmp4.available_cnt = ByteCountReq;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
769
mb->un.varDmp4.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
771
mb->un.varDmp4.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
773
mb->un.varDmp4.rsp_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
789
CopyCount = mb->un.varDmp4.rsp_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
818
mb->un.varDmp.type = DMP_NV_PARAMS;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
819
mb->un.varDmp.cv = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
820
mb->un.varDmp.region_id = Identifier;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
821
mb->un.varDmp.entry_index = Offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
822
mb->un.varDmp.word_cnt = ByteCountReq / 4;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
839
CopyCount = mb->un.varDmp.word_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dump.c
855
bcopy((uint8_t *)&mb->un.varDmp.resp_offset, pLocalBuf,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1102
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
113
iocb->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1138
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1139
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1175
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
125
iocb->ULPSTATUS, iocb->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1258
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1287
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1288
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1328
did = iocb->un.elsreq.myID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1329
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1476
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1477
did = iocb->un.elsreq.myID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1512
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1513
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1559
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1657
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1658
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1690
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1738
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
174
pkt->pkt_rsplen - iocb->un.elsreq64.bdl.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1773
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1875
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1876
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1912
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1997
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
1998
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2071
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2098
ubp->ub_frame.s_id = LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2099
ubp->ub_frame.d_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2135
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2167
LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2170
pkt->pkt_cmd_fhdr.s_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2211
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2244
LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2247
pkt->pkt_cmd_fhdr.s_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2309
mb->un.varRdLnk.linkFailureCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2311
mb->un.varRdLnk.lossSyncCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2313
mb->un.varRdLnk.lossSignalCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2315
mb->un.varRdLnk.primSeqErrCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2317
mb->un.varRdLnk.invalidXmitWord;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2319
mb->un.varRdLnk.crcCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2361
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
239
pkt->pkt_reason = iocb->un.grsp.perr.statRsn;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2393
LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2396
pkt->pkt_cmd_fhdr.s_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
240
pkt->pkt_expln = iocb->un.grsp.perr.statBaExp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2443
emlxs_error_xlate(iocb->un.grsp.perr.statLocalError));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2474
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2508
emlxs_error_xlate(iocb->un.grsp.perr.statLocalError));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2532
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2603
LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2606
pkt->pkt_cmd_fhdr.s_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
263
emlxs_error_xlate(iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2631
els->un.adisc.hardAL_PA =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2633
bcopy(&port->wwnn, &els->un.adisc.nodeName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2635
bcopy(&port->wwpn, &els->un.adisc.portName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2637
els->un.adisc.DID = LE_SWAP24_LO(port->did);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2647
els->un.prli.prliType = PRLI_FCP_TYPE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2648
els->un.prli.estabImagePair = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2649
els->un.prli.acceptRspCode = PRLI_REQ_EXECUTED;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2652
els->un.prli.initiatorFunc = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2656
els->un.prli.targetFunc = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2659
els->un.prli.readXferRdyDis = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2663
els->un.prli.ConfmComplAllowed = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2664
els->un.prli.Retry = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2665
els->un.prli.TaskRetryIdReq = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2667
els->un.prli.ConfmComplAllowed = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2668
els->un.prli.Retry = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2669
els->un.prli.TaskRetryIdReq = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2680
els->un.prlo.prloType = PRLO_FCP_TYPE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2681
els->un.prlo.acceptRspCode = PRLO_REQ_EXECUTED;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2706
LE_SWAP24_LO(iocb->un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2709
pkt->pkt_cmd_fhdr.s_id = LE_SWAP24_LO(iocb->un.elsreq.myID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
271
iocb->un.grsp.perr.statAction,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
272
iocb->un.grsp.perr.statRsn,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2729
els->un.lsRjt.un.b.lsRjtRsvd0 = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
273
iocb->un.grsp.perr.statBaExp,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2730
els->un.lsRjt.un.b.lsRjtRsnCode = LSRJT_UNABLE_TPC;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2731
els->un.lsRjt.un.b.lsRjtRsnCodeExp = LSEXP_NOTHING_MORE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2732
els->un.lsRjt.un.b.vendorUnique = 0x01;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
274
iocb->un.grsp.perr.statLocalError);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2849
iocb->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2895
pkt->pkt_rsplen - iocb->un.genreq64.bdl.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2918
emlxs_error_xlate(iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2923
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2935
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
2977
iocb->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3022
emlxs_error_xlate(iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3030
emlxs_error_xlate(iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3038
emlxs_error_xlate(iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3046
emlxs_error_xlate(iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3051
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3074
pkt->pkt_rsplen - iocb->un.genreq64.bdl.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3167
emlxs_error_xlate(iocb->un.grsp.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3178
emlxs_error_xlate(iocb->un.grsp.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3189
emlxs_error_xlate(iocb->un.grsp.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3200
emlxs_error_xlate(iocb->un.grsp.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3212
iocb->un.grsp.perr.statAction,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3213
iocb->un.grsp.perr.statRsn,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3214
iocb->un.grsp.perr.statBaExp,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3215
iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3226
iocb->un.grsp.perr.statAction,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3227
iocb->un.grsp.perr.statRsn,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3228
iocb->un.grsp.perr.statBaExp,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3229
iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3240
iocb->un.grsp.perr.statAction,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3241
iocb->un.grsp.perr.statRsn,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3242
iocb->un.grsp.perr.statBaExp,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3243
iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3254
iocb->un.grsp.perr.statAction,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3255
iocb->un.grsp.perr.statRsn,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3256
iocb->un.grsp.perr.statBaExp,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3257
iocb->un.grsp.perr.
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3264
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3276
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
335
iocb->un.grsp.perr.statLocalError,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3388
bcopy((uint8_t *)&hba->wwnn, (char *)ct->un.rsnn.wwnn, 8);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3390
ct->un.rsnn.snn_len = strlen(port->snn);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3391
bcopy(port->snn, (char *)ct->un.rsnn.snn, ct->un.rsnn.snn_len);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3453
bcopy((void *)&port->sparam, (void *)&els->un.logi,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3510
els->un.logo.un.nPortId32 = pkt->pkt_cmd_fhdr.s_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
3511
bcopy((uint8_t *)&port->wwpn, (uint8_t *)&els->un.logo.portName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
352
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
365
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
392
iocbq->iocb.un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
446
iocbq->iocb.un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
457
iocbq->iocb.un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
469
iocbq->iocb.un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
503
iocbq->iocb.un.elsreq.remoteID);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
599
port->did = iocb->un.elsreq.myID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c
774
port->did = iocb->un.elsreq.myID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10070
mb4->un.varInitVFI4.fcfi = vfip->fcfp->FCFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10071
mb4->un.varInitVFI4.vfi = vfip->VFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10633
mb4->un.varUnRegVFI4.vfi = vfip->VFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10772
if (mb4->un.varRegVFI4.vp == 1) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10912
mb4->un.varRegVFI4.vfi = vfip->VFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10913
mb4->un.varRegVFI4.upd = (vfip->flag & EMLXS_VFI_REG)? 1:0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10918
mb4->un.varRegVFI4.vp = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10919
mb4->un.varRegVFI4.vpi = vfip->flogi_vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10922
mb4->un.varRegVFI4.fcfi = vfip->fcfp->FCFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10924
mb4->un.varRegVFI4.portname[0] = BE_SWAP32(*wwpn);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10926
mb4->un.varRegVFI4.portname[1] = BE_SWAP32(*wwpn);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10927
mb4->un.varRegVFI4.sid = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10928
mb4->un.varRegVFI4.edtov = edtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10929
mb4->un.varRegVFI4.ratov = ratov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10930
mb4->un.varRegVFI4.bde.tus.f.bdeSize = sizeof (SERV_PARM);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10931
mb4->un.varRegVFI4.bde.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
10932
mb4->un.varRegVFI4.bde.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
12397
mb4->un.varInitVPI4.vfi = vpip->vfip->VFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
12398
mb4->un.varInitVPI4.vpi = vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13250
els->un.logo.un.nPortId32 = pkt->pkt_cmd_fhdr.s_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13252
(uint8_t *)&els->un.logo.portName, 8);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13481
mb4->un.varUnRegVPI4.ii = 0; /* index is a VPI */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13482
mb4->un.varUnRegVPI4.index = vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13721
mb->un.varRegVpi.vfi = vpip->vfip->VFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13722
mb->un.varRegVpi.upd = (vpip->flag & EMLXS_VPI_REG)? 1:0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13725
mb->un.varRegVpi.portname[0] = BE_SWAP32(*wwpn);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13727
mb->un.varRegVpi.portname[1] = BE_SWAP32(*wwpn);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13729
mb->un.varRegVpi.vpi = vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
13730
mb->un.varRegVpi.sid = vpip->port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15388
mb4->un.varUnregLogin.rpi = rpip->RPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15389
mb4->un.varUnregLogin.vpi = vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15719
mb4->un.varRegLogin.un.sp64.tus.f.bdeSize = sizeof (SERV_PARM);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15720
mb4->un.varRegLogin.un.sp64.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15721
mb4->un.varRegLogin.un.sp64.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15722
mb4->un.varRegLogin.did = rpip->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15723
mb4->un.varWords[30] = 0; /* flags */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15725
mb4->un.varRegLogin.vpi = rpip->vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15726
mb4->un.varRegLogin.rpi = rpip->RPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15727
mb4->un.varRegLogin.update = (rpip->flag & EMLXS_RPI_REG)? 1:0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15973
mb4->un.varResumeRPI.EventTag = hba->link_event_tag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
15974
mb4->un.varResumeRPI.RPI = rpip->RPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3023
if (mb4->un.varReadLA.attType == AT_LINK_DOWN) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3037
if (hba->link_event_tag != mb4->un.varReadLA.eventTag) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3041
hba->link_event_tag, mb4->un.varReadLA.eventTag);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3049
(mb4->un.varReadLA.attType == AT_LINK_UP)?"linkup":"linkdown",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3051
(uint32_t)mb4->un.varReadLA.granted_AL_PA);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3056
hba->linkspeed = mb4->un.varReadLA.UlnkSpeed;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3057
hba->topology = mb4->un.varReadLA.topology;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3070
port->lip_type = mb4->un.varReadLA.lipType;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3072
if (mb4->un.varReadLA.pb) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3080
port->granted_alpa = mb4->un.varReadLA.granted_AL_PA;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3225
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3229
mb4->un.varReadLA.un.lilpBde64.tus.f.bdeSize = 128;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3230
mb4->un.varReadLA.un.lilpBde64.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3231
mb4->un.varReadLA.un.lilpBde64.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3490
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3495
mb4->un.varCfgLnk.cr = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3496
mb4->un.varCfgLnk.ci = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3497
mb4->un.varCfgLnk.cr_delay = cfg[CFG_CR_DELAY].current;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3498
mb4->un.varCfgLnk.cr_count = cfg[CFG_CR_COUNT].current;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3502
mb4->un.varCfgLnk.ack0_enable = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3505
mb4->un.varCfgLnk.myId = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3506
mb4->un.varCfgLnk.edtov = hba->fc_edtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3507
mb4->un.varCfgLnk.arbtov = hba->fc_arbtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3508
mb4->un.varCfgLnk.ratov = hba->fc_ratov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3509
mb4->un.varCfgLnk.rttov = hba->fc_rttov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3510
mb4->un.varCfgLnk.altov = hba->fc_altov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3511
mb4->un.varCfgLnk.crtov = hba->fc_crtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3815
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3819
mb4->un.varRdSparm.un.sp64.tus.f.bdeSize = sizeof (SERV_PARM);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3820
mb4->un.varRdSparm.un.sp64.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
3821
mb4->un.varRdSparm.un.sp64.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5550
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5553
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5556
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5558
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5560
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5561
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5565
&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5594
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
5956
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
7042
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8575
fcfp->FCFI = mb4->un.varRegFCFI.FCFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8663
mb4->un.varRegFCFI.FCFI = 0; /* FCFI will be returned by firmware */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8664
mb4->un.varRegFCFI.InfoIndex = fcfp->fcf_index;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8666
mb4->un.varRegFCFI.RQId0 = hba->sli.sli4.rq[EMLXS_FCFI_RQ0_INDEX].qid;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8667
mb4->un.varRegFCFI.Id0_rctl_mask = EMLXS_FCFI_RQ0_RMASK;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8668
mb4->un.varRegFCFI.Id0_rctl = EMLXS_FCFI_RQ0_RCTL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8669
mb4->un.varRegFCFI.Id0_type_mask = EMLXS_FCFI_RQ0_TMASK;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8670
mb4->un.varRegFCFI.Id0_type = EMLXS_FCFI_RQ0_TYPE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8672
mb4->un.varRegFCFI.RQId1 = 0xffff;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8673
mb4->un.varRegFCFI.RQId2 = 0xffff;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8674
mb4->un.varRegFCFI.RQId3 = 0xffff;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8677
mb4->un.varRegFCFI.vv = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8678
mb4->un.varRegFCFI.vlanTag = fcfp->vlan_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8682
mb4->un.varRegFCFI.mam = EMLXS_REG_FCFI_MAM_FPMA;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcf.c
8842
mb4->un.varUnRegFCFI.FCFI = fcfp->FCFI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
130
cmd->un.fcpi.fcpi_parm = pkt->pkt_datalen - 512;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
1827
mb->un.varInitLnk.lipsr_AL_PA = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
321
pkt->pkt_data_resid = cmd->un.fcpi.fcpi_parm;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
34
PADDR(icmd->un.cont64[i].addrHigh, icmd->un.cont64[i].addrLow));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
3805
iocb->un.grsp.perr.statLocalError = IOERR_LINK_DOWN;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4044
wqe->un.Abort.Criteria = ABORT_REQ_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4047
wqe->un.Abort.Criteria = ABORT_XRI_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4050
wqe->un.Abort.IA = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4059
iocb->un.acxri.abortType = flag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4060
iocb->un.acxri.abortContextTag = ndlp->nlp_Rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4061
iocb->un.acxri.abortIoTag = iotag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4103
wqe->un.Abort.Criteria = ABORT_XRI_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4104
wqe->un.Abort.IA = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4115
iocb->un.acxri.abortType = flag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4163
wqe->un.Abort.Criteria = ABORT_REQ_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4166
wqe->un.Abort.Criteria = ABORT_XRI_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4169
wqe->un.Abort.IA = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4178
iocb->un.acxri.abortType = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4179
iocb->un.acxri.abortContextTag = ndlp->nlp_Rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4180
iocb->un.acxri.abortIoTag = iotag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4222
wqe->un.Abort.Criteria = ABORT_XRI_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
4223
wqe->un.Abort.IA = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
486
pkt->pkt_data_resid = cmd->un.fcpi.fcpi_parm;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
596
localstat = cmd->un.grsp.perr.statLocalError;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
694
iostat, cmd->un.grsp.perr.statLocalError, did, sbp,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
810
(uint32_t *)&icmd->un.cont64[i].addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
811
(uint32_t *)&icmd->un.cont64[i].addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
813
icmd->un.cont64[i].tus.f.bdeSize = size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1337
mb->un.varRdLnk.linkFailureCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1339
mb->un.varRdLnk.lossSyncCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1341
mb->un.varRdLnk.lossSignalCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1343
mb->un.varRdLnk.primSeqErrCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1345
mb->un.varRdLnk.invalidXmitWord;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1347
mb->un.varRdLnk.crcCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1924
bcopy((caddr_t)&els->un.logi.nodeName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1926
bcopy((caddr_t)&els->un.logi.portName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
1928
fx->fx_fport = els->un.logi.cmn.fPort;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
2893
iocb->un.grsp.perr.statLocalError, iocb->ULPIOTAG);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3073
iocb->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3117
iocb->un.grsp.perr.statLocalError, iocb->ULPIOTAG);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3185
sid = iocb->un.elsreq.remoteID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3244
bcopy((caddr_t)&els_pkt->un.logi.nodeName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3246
bcopy((caddr_t)&els_pkt->un.logi.portName,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3249
fx.fx_did = iocb->un.elsreq.myID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3250
fx.fx_fport = els_pkt->un.logi.cmn.fPort;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3422
iocb->un.elsreq.remoteID, iocb->ULPIOTAG, buffer);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
3449
iocb->un.elsreq.remoteID, iocb->ULPIOTAG, buffer);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
664
iocbq.iocb.un.elsreq.remoteID = fx->fx_sid;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
665
iocbq.iocb.un.elsreq.myID = fx->fx_did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
718
iocbq.iocb.un.elsreq.remoteID = fx->fx_sid;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
719
iocbq.iocb.un.elsreq.myID = fx->fx_did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2246
switch (iocb->un.astat.EventCode) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2431
(uint8_t)iocbq->iocb.un.grsp.perr.statLocalError,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2446
iocb->un.grsp.perr.statLocalError = IOERR_ABORT_TIMEOUT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2454
iocb->un.grsp.perr.statLocalError =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2467
(uint8_t)iocb->un.grsp.perr.statLocalError);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2512
switch (iocb->un.rcvseq64.w5.hcsw.Type) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2524
iocb->ULPCOMMAND, iocb->un.rcvseq64.w5.hcsw.Type,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2563
switch (iocb->un.rcvseq64.w5.hcsw.Type) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2577
iocb->ULPCOMMAND, iocb->un.rcvseq64.w5.hcsw.Type,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2587
(uint32_t)iocb->un.acxri.abortContextTag,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2588
(uint32_t)iocb->un.acxri.abortIoTag, iocb->ULPSTATUS,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2589
iocb->un.acxri.parm);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2602
(uint32_t)iocb->un.acxri.abortContextTag,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2603
(uint32_t)iocb->un.acxri.abortIoTag, iocb->ULPSTATUS,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2604
iocb->un.acxri.parm, iocbq->sbp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2617
(uint32_t)iocb->un.acxri.abortContextTag,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2618
(uint32_t)iocb->un.acxri.abortIoTag, iocb->ULPSTATUS,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2619
iocb->un.acxri.parm);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2632
(uint32_t)iocb->un.acxri.abortContextTag,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2633
(uint32_t)iocb->un.acxri.abortIoTag, iocb->ULPSTATUS,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2634
iocb->un.acxri.parm);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2647
(uint32_t)iocb->un.acxri.abortContextTag,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2648
(uint32_t)iocb->un.acxri.abortIoTag, iocb->ULPSTATUS,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2649
iocb->un.acxri.parm, iocbq->sbp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2877
tmpkey = mb->un.varWords[30];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2888
npname0 = mb->un.varRDnvp.portname[0];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_hba.c
2889
npname1 = mb->un.varRDnvp.portname[1];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
102
cmd->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
117
cmd->ULPCOMMAND, cmd->ULPSTATUS, cmd->un.ulpWord[4],
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
118
cmd->un.ulpWord[5]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
121
cmd->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
136
cmd->un.ulpWord[4], cmd->un.ulpWord[5]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
142
((cmd->un.ulpWord[4] & 0xff) == IOERR_NO_XRI)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
156
cmd->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
217
PADDR(cmd->un.cont64[0].addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
218
cmd->un.cont64[0].addrLow));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
243
else if (cmd->un.xrseq.w5.hcsw.Fctl & BC) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
244
sid = cmd->un.ulpWord[4] & 0x00ffffff;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
260
if (cmd->un.xrseq.w5.hcsw.Fctl & BC) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
269
ubp->ub_frame.r_ctl = cmd->un.xrseq.w5.hcsw.Rctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
270
ubp->ub_frame.type = cmd->un.xrseq.w5.hcsw.Type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
321
cmd->ULPSTATUS, cmd->un.ulpWord[4], cp->channelno);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
346
if (!(cmd->un.cont64[0].tus.f.bdeFlags & BUFF_TYPE_INVALID)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
348
PADDR(cmd->un.cont64[0].addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
349
cmd->un.cont64[0].addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
395
cmd->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
408
cmd->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
419
cmd->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
53
cmd->ULPSTATUS, cmd->un.ulpWord[4]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
79
cmd->un.ulpWord[4], cmd->un.ulpWord[5]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
82
cmd->un.grsp.perr.statLocalError, 1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
99
cmd->un.ulpWord[4], cmd->un.ulpWord[5]);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1000
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1002
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1003
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1005
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1009
&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1025
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1027
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1029
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1031
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1032
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1034
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1038
&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1069
mb->un.varWords[0] = hba->channel_els;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1114
be_req = (be_req_hdr_t *)&mb4->un.varSLIConfig.be;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1125
gpio = (IOCTL_LOWLEVEL_GPIO_RDWR *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1147
mb->un.varCfgMSI.defaultPresent = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1148
mb->un.varCfgMSI.defaultMessageNumber = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1153
mb->un.varCfgMSI.attConditions |= mask;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1157
mb->un.varCfgMSI.messageNumberByHA[3] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1160
mb->un.varCfgMSI.messageNumberByHA[7] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1163
mb->un.varCfgMSI.messageNumberByHA[11] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1166
mb->un.varCfgMSI.messageNumberByHA[15] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1169
mb->un.varCfgMSI.messageNumberByHA[29] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1172
mb->un.varCfgMSI.messageNumberByHA[30] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1175
mb->un.varCfgMSI.messageNumberByHA[31] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1182
mb->un.varCfgMSI.messageNumberByHA[2] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1185
mb->un.varCfgMSI.messageNumberByHA[6] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1188
mb->un.varCfgMSI.messageNumberByHA[10] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1191
mb->un.varCfgMSI.messageNumberByHA[14] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1194
mb->un.varCfgMSI.messageNumberByHA[28] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1197
mb->un.varCfgMSI.messageNumberByHA[31] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1200
mb->un.varCfgMSI.messageNumberByHA[30] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1228
mb->un.varCfgMSIX.defaultPresent = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1229
mb->un.varCfgMSIX.defaultMessageNumber = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1234
mb->un.varCfgMSIX.attConditions1 |= mask;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1238
mb->un.varCfgMSIX.messageNumberByHA[3] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1241
mb->un.varCfgMSIX.messageNumberByHA[7] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1244
mb->un.varCfgMSIX.messageNumberByHA[11] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1247
mb->un.varCfgMSIX.messageNumberByHA[15] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1250
mb->un.varCfgMSIX.messageNumberByHA[29] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1253
mb->un.varCfgMSIX.messageNumberByHA[30] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1256
mb->un.varCfgMSIX.messageNumberByHA[31] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1263
mb->un.varCfgMSIX.messageNumberByHA[0] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1266
mb->un.varCfgMSIX.messageNumberByHA[4] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1269
mb->un.varCfgMSIX.messageNumberByHA[8] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1272
mb->un.varCfgMSIX.messageNumberByHA[12] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1275
mb->un.varCfgMSIX.messageNumberByHA[30] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1278
mb->un.varCfgMSIX.messageNumberByHA[29] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1281
mb->un.varCfgMSIX.messageNumberByHA[28] = i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1307
mb->un.varRstRing.ring_no = ringno;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1332
mb4->un.varDmp4.type = DMP_NV_PARAMS;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1333
mb4->un.varDmp4.entry_index = offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1334
mb4->un.varDmp4.region_id = DMP_VPD_REGION;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1336
mb4->un.varDmp4.available_cnt = hba->sli.sli4.dump_region.size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1337
mb4->un.varDmp4.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1339
mb4->un.varDmp4.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1341
mb4->un.varDmp4.rsp_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1351
mb->un.varDmp.cv = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1352
mb->un.varDmp.type = DMP_NV_PARAMS;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1353
mb->un.varDmp.entry_index = offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1354
mb->un.varDmp.region_id = DMP_VPD_REGION;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1357
mb->un.varDmp.word_cnt = DMP_VPD_DUMP_WCOUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1359
mb->un.varDmp.co = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1360
mb->un.varDmp.resp_offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1388
mb4->un.varDmp4.type = DMP_NV_PARAMS;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1389
mb4->un.varDmp4.entry_index = offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1390
mb4->un.varDmp4.region_id = DMP_FCOE_REGION;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1392
mb4->un.varDmp4.available_cnt = hba->sli.sli4.dump_region.size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1393
mb4->un.varDmp4.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1395
mb4->un.varDmp4.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1397
mb4->un.varDmp4.rsp_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1422
mb4->un.varDmp4.type = DMP_MEM_REG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1423
mb4->un.varDmp4.entry_index = offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1424
mb4->un.varDmp4.region_id = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1426
mb4->un.varDmp4.available_cnt = min((words*4),
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1428
mb4->un.varDmp4.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1430
mb4->un.varDmp4.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1432
mb4->un.varDmp4.rsp_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1443
mb->un.varDmp.type = DMP_MEM_REG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1444
mb->un.varDmp.word_cnt = words;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1445
mb->un.varDmp.base_adr = offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1447
mb->un.varDmp.co = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1448
mb->un.varDmp.resp_offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1494
mb->un.varRdRev.cv = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1497
mb->un.varRdRev.cv3 = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1522
mb->un.varBIUdiag.un.s2.xmit_bde64.tus.f.bdeSize = MEM_ELSBUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1523
mb->un.varBIUdiag.un.s2.xmit_bde64.addrHigh = PADDR_HI(out);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1524
mb->un.varBIUdiag.un.s2.xmit_bde64.addrLow = PADDR_LO(out);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1525
mb->un.varBIUdiag.un.s2.rcv_bde64.tus.f.bdeSize = MEM_ELSBUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1526
mb->un.varBIUdiag.un.s2.rcv_bde64.addrHigh = PADDR_HI(in);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1527
mb->un.varBIUdiag.un.s2.rcv_bde64.addrLow = PADDR_LO(in);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1592
control = mb->un.varReadLA.un.lilpBde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1616
bcopy((void *)&mb->un.varReadLA, (void *)&la, sizeof (READ_LA_VAR));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1686
i = la.un.lilpBde64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1688
i = la.un.lilpBde.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1833
mb->un.varReadLA.un.lilpBde64.tus.f.bdeSize = 128;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1834
mb->un.varReadLA.un.lilpBde64.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1835
mb->un.varReadLA.un.lilpBde64.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
1970
mb->un.varClearLA.eventTag = hba->link_event_tag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2013
mb->un.varRdLnk.rec = 0; /* req_ext_counters */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2014
mb->un.varRdLnk.clrc = 0; /* clear_all_counters */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2015
mb->un.varRdLnk.clof = 0; /* clear_overflow_flags */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2048
mb->un.varCfgRing.rrRegs[i].rval =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2050
mb->un.varCfgRing.rrRegs[i].rmask =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2052
mb->un.varCfgRing.rrRegs[i].tval =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2054
mb->un.varCfgRing.rrRegs[i].tmask =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2058
mb->un.varCfgRing.ring = ring;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2059
mb->un.varCfgRing.profile = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2060
mb->un.varCfgRing.maxOrigXchg = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2061
mb->un.varCfgRing.maxRespXchg = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2062
mb->un.varCfgRing.recvNotify = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2063
mb->un.varCfgRing.numMask = hba->sli.sli3.ring_masks[ring];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2090
mb->un.varCfgLnk.cr = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2091
mb->un.varCfgLnk.ci = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2092
mb->un.varCfgLnk.cr_delay = cfg[CFG_CR_DELAY].current;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2093
mb->un.varCfgLnk.cr_count = cfg[CFG_CR_COUNT].current;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2097
mb->un.varCfgLnk.ack0_enable = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2100
mb->un.varCfgLnk.myId = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2101
mb->un.varCfgLnk.edtov = hba->fc_edtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2102
mb->un.varCfgLnk.arbtov = hba->fc_arbtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2103
mb->un.varCfgLnk.ratov = hba->fc_ratov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2104
mb->un.varCfgLnk.rttov = hba->fc_rttov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2105
mb->un.varCfgLnk.altov = hba->fc_altov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2106
mb->un.varCfgLnk.crtov = hba->fc_crtov;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2141
mb->un.varInitLnk.link_flags &=
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2143
mb->un.varInitLnk.link_speed = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2182
mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_LOOP;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2183
mb->un.varInitLnk.link_flags |= FLAGS_LOCAL_LB;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2186
mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_LOOP;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2187
mb->un.varInitLnk.link_flags |= FLAGS_TOPOLOGY_FAILOVER;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2190
mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_PT_PT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2193
mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_LOOP;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2196
mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_PT_PT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2197
mb->un.varInitLnk.link_flags |= FLAGS_TOPOLOGY_FAILOVER;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2203
mb->un.varInitLnk.link_flags |= FLAGS_LIRP_LILP;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
225
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2255
mb->un.varInitLnk.link_flags |= FLAGS_LINK_SPEED;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2256
mb->un.varInitLnk.link_speed = linkspeed;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2260
mb->un.varInitLnk.link_flags |= FLAGS_PREABORT_RETURN;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2263
mb->un.varInitLnk.fabric_AL_PA =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
229
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
230
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2311
control = mb->un.varRdSparm.un.sp64.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
232
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode = COMMON_OPCODE_RESET;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
233
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
234
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2399
mb->un.varRdSparm.un.sp64.tus.f.bdeSize = sizeof (SERV_PARM);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2400
mb->un.varRdSparm.un.sp64.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2401
mb->un.varRdSparm.un.sp64.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2432
mb->un.varWords[30] = flag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2433
mb->un.varRdRPI.reqRpi = (volatile uint16_t) rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2458
mb->un.varWords[30] = flag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2459
mb->un.varRdXRI.reqXri = (volatile uint16_t)xri;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2549
mb->un.varWords[0] = addr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2550
mb->un.varWords[1] = value;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2570
mb->un.varWords[0] = 0x50797;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2571
mb->un.varWords[1] = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2572
mb->un.varWords[2] = 0xfffffffe;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
259
mb4->un.varReqFeatures.featuresRequested = mask;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2592
mb->un.varCfgHbq.hbqId = hbq_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2593
mb->un.varCfgHbq.numEntries = hbq->HBQ_numEntries;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2594
mb->un.varCfgHbq.recvNotify = hbq->HBQ_recvNotify;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2595
mb->un.varCfgHbq.numMask = hbq->HBQ_num_mask;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2596
mb->un.varCfgHbq.profile = hbq->HBQ_profile;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2597
mb->un.varCfgHbq.ringMask = hbq->HBQ_ringMask;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2598
mb->un.varCfgHbq.headerLen = hbq->HBQ_headerLen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2599
mb->un.varCfgHbq.logEntry = hbq->HBQ_logEntry;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2600
mb->un.varCfgHbq.hbqaddrLow = PADDR_LO(hbq->HBQ_host_buf.phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2601
mb->un.varCfgHbq.hbqaddrHigh = PADDR_HI(hbq->HBQ_host_buf.phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2611
(void *)&mb->un.varCfgHbq.profiles.allprofiles,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2622
mb->un.varCfgHbq.hbqMasks[i].tmatch =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2624
mb->un.varCfgHbq.hbqMasks[i].tmask = hbq->HBQ_Masks[i].tmask;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2625
mb->un.varCfgHbq.hbqMasks[i].rctlmatch =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2627
mb->un.varCfgHbq.hbqMasks[i].rctlmask =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2738
mb->un.varRegVpi.vpi = port->vpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2739
mb->un.varRegVpi.sid = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
281
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2835
mb->un.varUnregVpi.vpi = port->vpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
285
mb4->un.varSLIConfig.be.payload_length = sizeof (IOCTL_COMMON_NOP) +
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2869
(uint8_t *)&mb->un.varCfgFarp.portname, sizeof (NAME_TYPE));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
287
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2872
(uint8_t *)&mb->un.varCfgFarp.nodename, sizeof (NAME_TYPE));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2874
mb->un.varCfgFarp.filterEnable = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2875
mb->un.varCfgFarp.portName = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2876
mb->un.varCfgFarp.nodeName = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
289
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode = COMMON_OPCODE_NOP;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
290
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
291
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
293
nop = (IOCTL_COMMON_NOP *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
320
mb4->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
3202
iocbq->iocb.un.grsp.perr.statLocalError =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
359
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
363
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
365
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
367
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode = COMMON_OPCODE_EQ_CREATE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
368
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
369
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
372
qp = (IOCTL_COMMON_EQ_CREATE *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
378
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
380
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 2;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
433
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
440
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
442
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
444
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
446
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
447
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
449
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
452
&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
472
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
474
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
476
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
478
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
479
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
481
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 2;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
484
&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
530
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
534
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
535
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
537
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
539
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
540
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
543
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0; /* V0 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
547
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 1; /* V1 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
550
&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
571
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
575
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
576
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
578
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
580
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
581
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
582
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0; /* V0 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
602
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
606
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
607
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
609
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
611
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
612
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
614
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
615
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vh_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
616
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.pf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
618
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.version = 0; /* V0 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
620
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
641
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
645
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
646
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
648
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
650
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
651
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
653
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
654
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vh_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
655
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.pf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
657
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.version = 0; /* V0 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
659
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
681
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
685
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
686
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
688
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
690
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
691
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
693
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
694
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vh_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
695
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.pf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
697
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.version = 0; /* V0 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
699
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
723
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
727
mb4->un.varSLIConfig.be.payload_length = IOCTL_HEADER_SZ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
728
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
730
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
732
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
733
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
735
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
736
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.vh_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
737
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.pf_number = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
739
mb4->un.varSLIConfig.be.un_hdr.hdr_req2.version = 0; /* V0 */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
741
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
768
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
775
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
777
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
779
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
781
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
782
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
784
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
787
qp = (IOCTL_FCOE_WQ_CREATE *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
802
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
804
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
806
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
808
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
809
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
811
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
814
qp1 = (IOCTL_FCOE_WQ_CREATE_V1 *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
855
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
862
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
864
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
866
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
868
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
869
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
871
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
875
qp = (IOCTL_FCOE_RQ_CREATE *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
890
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
892
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
894
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
896
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
897
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
899
mb4->un.varSLIConfig.be.un_hdr.hdr_req.version = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
903
qp1 = (IOCTL_FCOE_RQ_CREATE_V1 *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
942
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
946
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
948
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
950
mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode = COMMON_OPCODE_MQ_CREATE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
951
mb4->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
952
mb4->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
956
qp = (IOCTL_COMMON_MQ_CREATE *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
989
mb4->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
996
mb4->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
998
mb4->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
390
mydid.un.word = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
391
if ((mydid.un.b.domain == 0) && (mydid.un.b.area == 0)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
395
ndid.un.word = did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
396
odid.un.word = ndlp->nlp_DID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
397
if (ndid.un.b.id == odid.un.b.id) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
398
if ((mydid.un.b.domain == ndid.un.b.domain) &&
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
399
(mydid.un.b.area == ndid.un.b.area)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
400
ndid.un.word = ndlp->nlp_DID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
401
odid.un.word = did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
402
if ((ndid.un.b.domain == 0) && (ndid.un.b.area == 0)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
408
ndid.un.word = ndlp->nlp_DID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
409
if ((mydid.un.b.domain == ndid.un.b.domain) &&
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
410
(mydid.un.b.area == ndid.un.b.area)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
411
odid.un.word = ndlp->nlp_DID;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
412
ndid.un.word = did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_node.c
413
if ((ndid.un.b.domain == 0) && (ndid.un.b.area == 0)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2471
iocb->un.genreq64.bdl.bdeFlags = BUFF_TYPE_BDL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2472
iocb->un.genreq64.bdl.addrHigh = PADDR_HI(bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2473
iocb->un.genreq64.bdl.addrLow = PADDR_LO(bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2474
iocb->un.genreq64.bdl.bdeSize =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2529
iocb->un.fcpi64.bdl.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2531
iocb->un.fcpi64.bdl.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2533
iocb->un.fcpi64.bdl.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2534
iocb->un.fcpi64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2572
iocb->un.xseq64.bdl.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2574
iocb->un.xseq64.bdl.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2576
iocb->un.xseq64.bdl.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2577
iocb->un.xseq64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2584
iocb->un.elsreq64.bdl.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2586
iocb->un.elsreq64.bdl.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2588
iocb->un.elsreq64.bdl.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2589
iocb->un.elsreq64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2609
iocb->un.genreq64.bdl.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2611
iocb->un.genreq64.bdl.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2613
iocb->un.genreq64.bdl.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2614
iocb->un.genreq64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2661
iocb->un.fcpt64.bdl.addrHigh = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2662
iocb->un.fcpt64.bdl.addrLow = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2663
iocb->un.fcpt64.bdl.bdeSize = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2664
iocb->un.fcpt64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2665
iocb->un.fcpt64.fcpt_Offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2666
iocb->un.fcpt64.fcpt_Length = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2683
iocb->un.fcpt64.bdl.addrHigh = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2684
iocb->un.fcpt64.bdl.addrLow = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2685
iocb->un.fcpt64.bdl.bdeSize = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2686
iocb->un.fcpt64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2687
iocb->un.fcpt64.fcpt_Offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2688
iocb->un.fcpt64.fcpt_Length = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2712
iocb->un.fcpt64.bdl.addrHigh = PADDR_HI(bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2713
iocb->un.fcpt64.bdl.addrLow = PADDR_LO(bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2714
iocb->un.fcpt64.bdl.bdeSize = sizeof (ULP_BDE64);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2715
iocb->un.fcpt64.bdl.bdeFlags = BUFF_TYPE_BDL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2717
iocb->un.fcpt64.fcpt_Length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2719
iocb->un.fcpt64.fcpt_Offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2745
iocb->un.fcpt64.bdl.addrHigh = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2746
iocb->un.fcpt64.bdl.addrLow = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2747
iocb->un.fcpt64.bdl.bdeSize = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2748
iocb->un.fcpt64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2749
iocb->un.fcpt64.fcpt_Offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2750
iocb->un.fcpt64.fcpt_Length = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2765
iocb->un.fcpt64.bdl.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2766
iocb->un.fcpt64.bdl.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2767
iocb->un.fcpt64.bdl.bdeSize = size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2768
iocb->un.fcpt64.bdl.bdeFlags = bdeFlags;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2771
iocb->un.fcpt64.fcpt_Length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2773
iocb->un.fcpt64.fcpt_Offset = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3371
WRITE_SLIM_COPY(hba, &mb->un.varWords, &mbox->un.varWords,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3643
iocb->un.acxri.abortType = ABORT_TYPE_ABTS;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3676
iocb->un.fcpt64.bdl.addrHigh = PADDR_HI(cp_cmd->dmac_laddress);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3677
iocb->un.fcpt64.bdl.addrLow = PADDR_LO(cp_cmd->dmac_laddress);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3678
iocb->un.fcpt64.bdl.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3679
iocb->un.fcpt64.bdl.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3752
iocb->un.fcpt64.fcpt_Offset = dbuf->db_relative_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
385
if (mb->un.varRdRev.rr == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3859
iocb->un.fcpi64.fcpi_parm = pkt->pkt_datalen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3918
iocb->un.xseq64.w5.hcsw.Fctl = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3921
iocb->un.xseq64.w5.hcsw.Fctl |= FSEQ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3924
iocb->un.xseq64.w5.hcsw.Fctl |= SI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3928
iocb->un.xseq64.w5.hcsw.Dfctl = pkt->pkt_cmd_fhdr.df_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3929
iocb->un.xseq64.w5.hcsw.Rctl = pkt->pkt_cmd_fhdr.r_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
3930
iocb->un.xseq64.w5.hcsw.Type = pkt->pkt_cmd_fhdr.type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
398
if (mb->un.varRdRev.un.b.ProgType != FUNC_FIRMWARE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4028
iocb->un.elsreq64.remoteID = (did == BCAST_DID) ? 0 : did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
407
mb->un.varRdRev.un.b.ProgType);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
412
vpd->sli1FwRev = mb->un.varRdRev.sliFwRev1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4122
iocb->un.genreq64.w5.hcsw.Fctl = LA;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4125
iocb->un.genreq64.w5.hcsw.Fctl |= LSEQ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4128
iocb->un.genreq64.w5.hcsw.Fctl |= SI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
413
bcopy((char *)mb->un.varRdRev.sliFwName1, vpd->sli1FwLabel,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4135
iocb->un.genreq64.w5.hcsw.Dfctl = pkt->pkt_cmd_fhdr.df_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4140
iocb->un.genreq64.w5.hcsw.Dfctl = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4144
iocb->un.genreq64.w5.hcsw.Rctl = pkt->pkt_cmd_fhdr.r_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4145
iocb->un.genreq64.w5.hcsw.Type = pkt->pkt_cmd_fhdr.type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
415
vpd->sli2FwRev = mb->un.varRdRev.sliFwRev2;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
416
bcopy((char *)mb->un.varRdRev.sliFwName2, vpd->sli2FwLabel,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
440
if (mb->un.varRdRev.rf3) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
445
vpd->sli3FwRev = mb->un.varRdRev.sliFwRev2;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
446
bcopy((char *)mb->un.varRdRev.sliFwName2,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
481
vpd->postKernRev = mb->un.varRdRev.postKernRev;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
482
vpd->opFwRev = mb->un.varRdRev.opFwRev;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
483
bcopy((char *)mb->un.varRdRev.opFwName, vpd->opFwLabel, 16);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
484
vpd->biuRev = mb->un.varRdRev.biuRev;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
485
vpd->smRev = mb->un.varRdRev.smRev;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
486
vpd->smFwRev = mb->un.varRdRev.un.smFwRev;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
487
vpd->endecRev = mb->un.varRdRev.endecRev;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
488
vpd->fcphHigh = mb->un.varRdRev.fcphHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
489
vpd->fcphLow = mb->un.varRdRev.fcphLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4890
(uint8_t)iocbq->iocb.un.grsp.perr.statLocalError,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
490
vpd->feaLevelHigh = mb->un.varRdRev.feaLevelHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
491
vpd->feaLevelLow = mb->un.varRdRev.feaLevelLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5126
(iocb->un.grsp.perr.statLocalError ==
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5132
(iocb->un.grsp.perr.statLocalError ==
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5176
PADDR(iocb->un.cont64[0].addrHigh,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5177
iocb->un.cont64[0].addrLow);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5180
if (iocb->un.cont64[0].tus.f.bdeFlags & BUFF_TYPE_INVALID) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5188
size = iocb->un.rcvseq64.rcvBde.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5308
sid = iocb->un.ulpWord[4] & 0xFFFFFF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
547
if (mb->un.varDmp.ra == 1) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5515
mb2->un.varWords[0] = value;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
556
bsize = mb->un.varDmp.word_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5704
mb2->un.varWords[0] = value;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
578
lp1 = (uint32_t *)&mb->un.varDmp.resp_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6173
mb->un.varCfgPort.pcbLen = sizeof (PCB);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6174
mb->un.varCfgPort.hbainit[0] = hbainit;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6178
mb->un.varCfgPort.pcbLow = PADDR_LO(pcb);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6179
mb->un.varCfgPort.pcbHigh = PADDR_HI(pcb);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6182
mb->un.varCfgPort.hps = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6191
mb->un.varCfgPort.sli_mode = EMLXS_HBA_SLI3_MODE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6192
mb->un.varCfgPort.cerbm = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6193
mb->un.varCfgPort.max_hbq = EMLXS_NUM_HBQ;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6198
mb->un.varCfgPort.vpi_max =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6201
mb->un.varCfgPort.vpi_max =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6205
mb->un.varCfgPort.cmv = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6770
control = mb->un.varRegLogin.un.sp.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6800
ldata = mb->un.varWords[5];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6805
ldata = mb->un.varWords[0]; /* get rpi */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6808
ldata = mb->un.varWords[1]; /* get did */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6841
mb->un.varUnregLogin.rpi = lrpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6842
mb->un.varUnregLogin.vpi = lvpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6984
mb->un.varRegLogin.un.sp64.tus.f.bdeSize = sizeof (SERV_PARM);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6985
mb->un.varRegLogin.un.sp64.addrHigh = PADDR_HI(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6986
mb->un.varRegLogin.un.sp64.addrLow = PADDR_LO(mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6987
mb->un.varRegLogin.did = did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6988
mb->un.varWords[30] = 0; /* flags */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6991
mb->un.varRegLogin.vpi = port->vpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6992
mb->un.varRegLogin.rpi = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
7104
mb->un.varUnregLogin.rpi = rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
7105
mb->un.varUnregLogin.vpi = port->vpip->VPI;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
867
if (mb->un.varCfgPort.rMA &&
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
868
(mb->un.varCfgPort.sli_mode == EMLXS_HBA_SLI3_MODE)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
870
if (mb->un.varCfgPort.vpi_max > 1) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
875
min(mb->un.varCfgPort.vpi_max,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
879
min(mb->un.varCfgPort.vpi_max,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
889
if (mb->un.varCfgPort.gerbm && mb->un.varCfgPort.max_hbq) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
926
vpd->link_speed = (uint16_t)mb->un.varRdConfig.lmt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
933
mb->un.varRdConfig.max_rpi);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
935
hba->max_nodes = mb->un.varRdConfig.max_rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
939
hba->io_throttle = mb->un.varRdConfig.max_xri - IO_THROTTLE_RESERVE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
945
hba->max_iotag = mb->un.varRdConfig.max_xri;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1000
!(mb->un.varReqFeatures.featuresEnabled &
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1010
(mb->un.varReqFeatures.featuresEnabled &
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1029
if (mb->un.varReqFeatures.featuresEnabled & SLI4_FEATURE_NPIV) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1033
if (mb->un.varReqFeatures.featuresEnabled & SLI4_FEATURE_PERF_HINT) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1055
hba->sli.sli4.XRICount = mb->un.varRdConfig4.XRICount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1058
hba->sli.sli4.XRIBase[0] = mb->un.varRdConfig4.XRIBase;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1060
hba->sli.sli4.RPICount = mb->un.varRdConfig4.RPICount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1063
hba->sli.sli4.RPIBase[0] = mb->un.varRdConfig4.RPIBase;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1065
hba->sli.sli4.VPICount = mb->un.varRdConfig4.VPICount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1068
hba->sli.sli4.VPIBase[0] = mb->un.varRdConfig4.VPIBase;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1070
hba->sli.sli4.VFICount = mb->un.varRdConfig4.VFICount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1073
hba->sli.sli4.VFIBase[0] = mb->un.varRdConfig4.VFIBase;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1075
hba->sli.sli4.FCFICount = mb->un.varRdConfig4.FCFICount;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1103
if (mb->un.varRdConfig4.extents) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1122
mb->un.varRdConfig4.ldv,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1123
mb->un.varRdConfig4.link_type,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1124
mb->un.varRdConfig4.link_number);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1126
if (mb->un.varRdConfig4.ldv) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1127
hba->sli.sli4.link_number = mb->un.varRdConfig4.link_number;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
1161
vpd->link_speed = (uint16_t)mb->un.varRdConfig4.lmt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
2971
wqe->un.FcpCmd.Payload.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
2973
wqe->un.FcpCmd.Payload.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
2975
wqe->un.FcpCmd.Payload.tus.f.bdeSize = cmd_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
2976
wqe->un.FcpCmd.PayloadLength = cmd_cnt + resp_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3001
wqe->un.GenReq.PayloadLength = cmd_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3004
wqe->un.GenReq.Payload.addrHigh =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3006
wqe->un.GenReq.Payload.addrLow =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3008
wqe->un.GenReq.Payload.tus.f.bdeSize = cmd_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3096
wqe->un.FcpCmd.Payload.addrHigh = stage_sge.addrHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3097
wqe->un.FcpCmd.Payload.addrLow = stage_sge.addrLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3098
wqe->un.FcpCmd.Payload.tus.f.bdeSize = EMLXS_XFER_RDY_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3099
wqe->un.FcpCmd.PayloadLength = EMLXS_XFER_RDY_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3111
wqe->un.FcpCmd.Payload.addrHigh = PADDR_HI(fct_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3112
wqe->un.FcpCmd.Payload.addrLow = PADDR_LO(fct_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3116
wqe->un.FcpCmd.Payload.tus.f.bdeSize = len;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3119
wqe->un.FcpCmd.PayloadLength = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3127
wqe->un.FcpCmd.TotalTransferCount = dbuf->db_relative_offset;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3507
(mb4->un.varSLIConfig.be.embedded)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3532
mb4->un.varSLIConfig.be.sge_cnt = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3533
mb4->un.varSLIConfig.be.payload_length = mp->size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3534
iptr = (uint32_t *)&mb4->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3591
(mb4->un.varSLIConfig.be.embedded)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3612
mb4->un.varSLIConfig.be.sge_cnt = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3613
mb4->un.varSLIConfig.be.payload_length = mp->size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3614
iptr = (uint32_t *)&mb4->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3647
(mb4->un.varSLIConfig.be.embedded)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3754
&mb4->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3845
(mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode ==
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3896
(mb4->un.varSLIConfig.be.un_hdr.hdr_req.opcode ==
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3933
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3963
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3974
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
3990
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4036
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4081
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4091
(mb4->un.varSLIConfig.be.embedded)));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4265
wqe->un.Abort.Criteria = ABORT_XRI_TAG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4274
wqe->un.Abort.IA = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4276
wqe->un.Abort.IA = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4350
wqe->un.FcpCmd.Payload.addrHigh = stage_sge.addrHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4351
wqe->un.FcpCmd.Payload.addrLow = stage_sge.addrLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4352
wqe->un.FcpCmd.Payload.tus.f.bdeSize = sge_size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4353
wqe->un.FcpCmd.PayloadLength = sge_size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4622
wqe->un.FcpCmd.TotalTransferCount = pkt->pkt_datalen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4766
wqe->un.ElsRsp.Payload.addrHigh = sge->addrHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4767
wqe->un.ElsRsp.Payload.addrLow = sge->addrLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4768
wqe->un.ElsRsp.Payload.tus.f.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4769
wqe->un.ElsCmd.PayloadLength = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4771
wqe->un.ElsRsp.RemoteId = did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4791
wqe->un.ElsCmd.SP = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4792
wqe->un.ElsCmd.LocalId = 0xFFFFFE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4830
wqe->un.ElsCmd.Payload.addrHigh = sge->addrHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4831
wqe->un.ElsCmd.Payload.addrLow = sge->addrLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4832
wqe->un.ElsCmd.Payload.tus.f.bdeSize = pkt->pkt_cmdlen;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4834
wqe->un.ElsCmd.RemoteId = did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4838
iocb->un.elsreq64.remoteID = (did == BCAST_DID) ? 0 : did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4847
wqe->un.ElsCmd.PayloadLength =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4876
wqe->un.ElsCmd.SP = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4892
wqe->un.ElsCmd.LocalId = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4898
wqe->un.ElsCmd.SP = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4921
wqe->un.ElsCmd.SP = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
4922
wqe->un.ElsCmd.LocalId = port->did;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
496
bcopy((char *)&mb->un.varSLIConfig.payload,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5080
wqe->un.XmitSeq.Rsvd0 = 0; /* Word3 now reserved */
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5094
wqe->un.XmitSeq.xo = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5096
wqe->un.XmitSeq.xo = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5100
wqe->un.XmitSeq.ls = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5104
wqe->un.XmitSeq.si = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5107
wqe->un.XmitSeq.DFctl = pkt->pkt_cmd_fhdr.df_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5108
wqe->un.XmitSeq.Rctl = pkt->pkt_cmd_fhdr.r_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5109
wqe->un.XmitSeq.Type = pkt->pkt_cmd_fhdr.type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5112
wqe->CmdSpecific = wqe->un.GenReq.Payload.tus.f.bdeSize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5161
wqe->un.GenReq.la = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5162
wqe->un.GenReq.DFctl = pkt->pkt_cmd_fhdr.df_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5163
wqe->un.GenReq.Rctl = pkt->pkt_cmd_fhdr.r_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5164
wqe->un.GenReq.Type = pkt->pkt_cmd_fhdr.type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
517
bcopy((char *)&mb->un.varSLIConfig.payload,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5189
iocb->un.genreq64.w5.hcsw.Rctl = pkt->pkt_cmd_fhdr.r_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5190
iocb->un.genreq64.w5.hcsw.Type = pkt->pkt_cmd_fhdr.type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5191
iocb->un.genreq64.w5.hcsw.Dfctl = pkt->pkt_cmd_fhdr.df_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5296
if (hba->link_event_tag == cqe->un.link.event_tag) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5298
} else if (hba->link_event_tag + 1 < cqe->un.link.event_tag) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5301
hba->link_event_tag = cqe->un.link.event_tag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5307
switch (cqe->un.link.link_status) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5344
cqe->un.link.link_status, HBASTATS.LinkEvent);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5349
switch (cqe->un.fcoe.evt_type) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5353
cqe->un.fcoe.ref_index, cqe->un.fcoe.fcf_count);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5356
cqe->un.fcoe.ref_index);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5361
cqe->un.fcoe.ref_index, cqe->un.fcoe.fcf_count);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5368
cqe->un.fcoe.ref_index, cqe->un.fcoe.fcf_count);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
537
if (mb->un.varRdRev4.sliLevel != 4) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5371
cqe->un.fcoe.ref_index);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5376
cqe->un.fcoe.ref_index);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5380
cqe->un.fcoe.ref_index));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5386
cqe->un.fcoe.ref_index);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5389
cqe->un.fcoe.ref_index);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5394
cqe->un.fcoe.evt_type);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
540
mb->un.varRdRev4.sliLevel);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5407
hba->qos_linkspeed = cqe->un.qos.qos_link_speed;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5448
BE_SWAP32(*(uint32_t *)cqe->un.port.link_status));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
546
switch (mb->un.varRdRev4.dcbxMode) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5461
*((uint32_t *)cqe->un.port.link_status) =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5462
BE_SWAP32(*((uint32_t *)cqe->un.port.link_status));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5464
cqe->un.port.link_status[hba->sli.sli4.link_number];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
558
mb->un.varRdRev4.dcbxMode);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5649
mb->un.varSLIConfig.be.sge_cnt,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
565
if (mb->un.varRdRev4.FCoE) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5650
mb->un.varSLIConfig.be.payload_length,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5651
mb->un.varSLIConfig.be.embedded);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
574
vpd->sli4FwRev = (mb->un.varRdRev4.ULPFwId);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
575
bcopy((char *)mb->un.varRdRev4.ULPFwName, vpd->sli4FwName, 16);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
577
vpd->opFwRev = (mb->un.varRdRev4.ULPFwId);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
578
bcopy((char *)mb->un.varRdRev4.ULPFwName, vpd->opFwName, 16);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5783
iocb->un.ulpWord[4] = cqe->Parameter;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5797
iocb->un.fcpi64.fcpi_parm =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5798
wqe->un.FcpCmd.TotalTransferCount -
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
580
vpd->postKernRev = (mb->un.varRdRev4.ARMFwId);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5806
if (wqe->un.FcpCmd.TotalTransferCount >
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5808
iocb->un.fcpi64.fcpi_parm =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5809
wqe->un.FcpCmd.TotalTransferCount -
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
581
bcopy((char *)mb->un.varRdRev4.ARMFwName, vpd->postKernName, 16);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5812
iocb->un.fcpi64.fcpi_parm = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
5819
iocb->un.elsreq64.bdl.bdeSize = cqe->CmdSpecific;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
583
vpd->biuRev = mb->un.varRdRev4.HwRev1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
584
vpd->fcphHigh = mb->un.varRdRev4.fcphHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
585
vpd->fcphLow = mb->un.varRdRev4.fcphLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
586
vpd->feaLevelHigh = mb->un.varRdRev4.feaLevelHigh;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
587
vpd->feaLevelLow = mb->un.varRdRev4.feaLevelLow;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6176
fchdr2 = (fc_frame_hdr_t *)iocbq->iocb.un.ulpWord;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
624
mb->un.varRdRev4.dcbxMode);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
645
mb->un.varDmp4.rsp_cnt, mb->mbxStatus);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
647
if (mb->un.varDmp4.rsp_cnt) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
649
0, mb->un.varDmp4.rsp_cnt, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
672
mb->un.varDmp4.rsp_cnt);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6733
wqe->un.BlsRsp.Payload0 = 0x80;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6734
wqe->un.BlsRsp.Payload1 = fchdr.seq_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6736
wqe->un.BlsRsp.OXId = fchdr.ox_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6737
wqe->un.BlsRsp.RXId = fchdr.rx_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6739
wqe->un.BlsRsp.SeqCntLow = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6740
wqe->un.BlsRsp.SeqCntHigh = 0xFFFF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6742
wqe->un.BlsRsp.XO = ((fchdr.f_ctl & F_CTL_XCHG_CONTEXT)? 1:0);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6743
wqe->un.BlsRsp.AR = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6768
wqe->un.BlsRsp.RemoteId = fchdr.s_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6769
wqe->un.BlsRsp.LocalId = fchdr.d_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6857
iocb->un.rcvels64.elsReq.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6858
iocb->un.rcvels64.elsReq.tus.f.bdeSize = seq_len;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6859
iocb->un.rcvels64.elsReq.addrLow = PADDR_LO(seq_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6860
iocb->un.rcvels64.elsReq.addrHigh = PADDR_HI(seq_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6863
iocb->un.rcvels64.remoteID = fchdr.s_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6864
iocb->un.rcvels64.parmRo = fchdr.d_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6928
iocb->un.rcvseq64.rcvBde.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6929
iocb->un.rcvseq64.rcvBde.tus.f.bdeSize = seq_len;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6930
iocb->un.rcvseq64.rcvBde.addrLow = PADDR_LO(seq_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
6931
iocb->un.rcvseq64.rcvBde.addrHigh = PADDR_HI(seq_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7001
iocb->un.rcvseq64.rcvBde.tus.f.bdeFlags = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7002
iocb->un.rcvseq64.rcvBde.tus.f.bdeSize = seq_len;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7003
iocb->un.rcvseq64.rcvBde.addrLow = PADDR_LO(seq_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7004
iocb->un.rcvseq64.rcvBde.addrHigh = PADDR_HI(seq_mp->phys);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7007
iocb->un.rcvseq64.xrsqRo = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7008
iocb->un.rcvseq64.w5.hcsw.Rctl = fchdr.r_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7009
iocb->un.rcvseq64.w5.hcsw.Type = fchdr.type;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7010
iocb->un.rcvseq64.w5.hcsw.Dfctl = fchdr.df_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
7011
iocb->un.rcvseq64.w5.hcsw.Fctl = fchdr.f_ctl;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8598
mb->un.varSLIConfig.be.embedded = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8621
mb->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8623
mb->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8625
mb->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8627
mb->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8628
mb->un.varSLIConfig.be.un_hdr.hdr_req.req_length = size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8709
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8713
mb->un.varSLIConfig.be.payload_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8715
mb->un.varSLIConfig.be.un_hdr.hdr_req.subsystem =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8717
mb->un.varSLIConfig.be.un_hdr.hdr_req.opcode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8719
mb->un.varSLIConfig.be.un_hdr.hdr_req.timeout = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8720
mb->un.varSLIConfig.be.un_hdr.hdr_req.req_length =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8725
&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8788
eq = (IOCTL_COMMON_EQ_CREATE *)&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8820
&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8869
&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8911
rq = (IOCTL_FCOE_RQ_CREATE *)&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8963
mq = (IOCTL_COMMON_MQ_CREATE *)&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
8968
mq_ext = (IOCTL_COMMON_MQ_CREATE_EXT *)&mb->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
913
mb->un.varDmp4.rsp_cnt, mb->mbxStatus);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
916
mb->un.varDmp4.rsp_cnt);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
954
if (status != mb->un.varReqFeatures.featuresEnabled) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
959
mb->un.varReqFeatures.featuresRequested);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9620
if ((cqe->un.link.link_status == ASYNC_EVENT_LOGICAL_LINK_DOWN) ||
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9621
(cqe->un.link.link_status == ASYNC_EVENT_PHYS_LINK_DOWN)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9633
switch (cqe->un.link.port_speed) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9643
cqe->un.link.port_speed);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9649
hba->qos_linkspeed = cqe->un.link.qos_link_speed;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
965
mb->un.varReqFeatures.featuresEnabled));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9671
if (cqe->un.fc.att_type == ATT_TYPE_LINK_DOWN) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9683
switch (cqe->un.fc.port_speed) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
970
!(mb->un.varReqFeatures.featuresEnabled &
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9708
cqe->un.fc.port_speed);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9714
hba->qos_linkspeed = cqe->un.fc.link_speed;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9717
hba->topology = cqe->un.fc.topology;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9757
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9772
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
980
(mb->un.varReqFeatures.featuresEnabled &
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9809
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9824
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9861
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9876
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9912
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
9927
ep = (IOCTL_COMMON_EXTENTS *)&mb4->un.varSLIConfig.payload;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
3126
els->un.lsRjt.un.b.lsRjtRsvd0 = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
3127
els->un.lsRjt.un.b.lsRjtRsnCode = LSRJT_UNABLE_TPC;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
3128
els->un.lsRjt.un.b.lsRjtRsnCodeExp = LSEXP_NOTHING_MORE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
3129
els->un.lsRjt.un.b.vendorUnique = 0x02;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4386
bp->rls_link_fail = mb->un.varRdLnk.linkFailureCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4387
bp->rls_sync_loss = mb->un.varRdLnk.lossSyncCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4388
bp->rls_sig_loss = mb->un.varRdLnk.lossSignalCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4389
bp->rls_prim_seq_err = mb->un.varRdLnk.primSeqErrCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4391
mb->un.varRdLnk.invalidXmitWord;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4392
bp->rls_invalid_crc = mb->un.varRdLnk.crcCnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4899
mb->un.varSLIConfig.be.embedded = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
4906
&mb->un.varSLIConfig.be.un_hdr.hdr_req;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
8534
mb->un.varUnregLogin.rpi = (uint16_t)ndlp->nlp_Rpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
8536
mb->un.varUnregLogin.vpi = port->vpi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9192
els_pkt->un.lsRjt.un.b.lsRjtRsvd0 = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9193
els_pkt->un.lsRjt.un.b.lsRjtRsnCode =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9195
els_pkt->un.lsRjt.un.b.lsRjtRsnCodeExp =
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9197
els_pkt->un.lsRjt.un.b.vendorUnique = 0x03;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9237
sp = (SERV_PARM *)&els_pkt->un.logi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9249
els_pkt->un.prli.ConfmComplAllowed = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9250
els_pkt->un.prli.Retry = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9251
els_pkt->un.prli.TaskRetryIdReq = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9253
els_pkt->un.prli.ConfmComplAllowed = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9254
els_pkt->un.prli.Retry = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9255
els_pkt->un.prli.TaskRetryIdReq = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9375
if (els_pkt->un.prli.estabImagePair) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9645
els_pkt->un.prli.ConfmComplAllowed = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9646
els_pkt->un.prli.Retry = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9647
els_pkt->un.prli.TaskRetryIdReq = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9649
els_pkt->un.prli.ConfmComplAllowed = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9650
els_pkt->un.prli.Retry = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9651
els_pkt->un.prli.TaskRetryIdReq = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9660
SERV_PARM *sp = (SERV_PARM *)&els_pkt->un.logi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9690
SERV_PARM *sp = (SERV_PARM *)&els_pkt->un.logi;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9912
iocb->un.genreq64.param = pkt->pkt_cmd_fhdr.d_id;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
9927
iocb->un.genreq64.param = 0;
usr/src/uts/common/io/ib/clients/iser/iser_cm.c
149
ipcm_info.src_addr.un.ip4addr, ipcm_info.src_port,
usr/src/uts/common/io/ib/clients/iser/iser_cm.c
150
ipcm_info.dst_addr.un.ip4addr);
usr/src/uts/common/io/ib/clients/iser/iser_cm.c
160
ipcm_info.src_addr.un.ip4addr, ipcm_info.src_port,
usr/src/uts/common/io/ib/clients/iser/iser_cm.c
161
ipcm_info.dst_addr.un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
1490
ibt_addr->un.ip4addr = 0;
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
1496
ibt_addr->un.ip4addr = saddr->sin4.sin_addr.s_addr;
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
1502
ibt_addr->un.ip6addr = saddr->sin6.sin6_addr;
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
342
local_ip->un.ip4addr, remote_ip->un.ip4addr);
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
345
"IP[INADDR_ANY to %x]", remote_ip->un.ip4addr);
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
413
(longlong_t)local_ip->un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
414
(longlong_t)remote_ip->un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
438
(longlong_t)local_ip->un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
439
(longlong_t)remote_ip->un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
447
(longlong_t)local_ip->un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_ib.c
448
(longlong_t)remote_ip->un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_xfer.c
121
"IP [%x to %x]", (void *)chan, chan->ic_localip.un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_xfer.c
122
chan->ic_remoteip.un.ip4addr);
usr/src/uts/common/io/ib/clients/iser/iser_xfer.c
205
"IP [%x to %x]", (void *)chan, chan->ic_localip.un.ip4addr,
usr/src/uts/common/io/ib/clients/iser/iser_xfer.c
206
chan->ic_remoteip.un.ip4addr);
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_cma.c
1600
} un;
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_cma.c
1661
bcopy(conn_param, &(event_arg->un.conn),
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_cma.c
1663
event_arg->conn_param = &(event_arg->un.conn);
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_cma.c
1670
bcopy(conn_param, &(event_arg->un.conn),
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_cma.c
1673
bcopy(ud_paramp, &(event_arg->un.param),
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_cma.c
1675
event_arg->ud_paramp = &(event_arg->un.param);
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2207
sock_in4p->sin_addr.s_addr = ibt_addrp->un.ip4addr;
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2214
bcopy(&(ibt_addrp->un.ip6addr), &(in6_addr->sin6_addr),
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2232
ibt_addrp->un.ip4addr = sock_in4p->sin_addr.s_addr;
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2239
"AF_INET addr %x, port %x, %x", ibt_addrp->un.ip4addr,
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2248
bcopy(&(in6_addr->sin6_addr), &(ibt_addrp->un.ip6addr),
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
237
remote_addr = htonl((ibchanp->chan_remote_addr).un.ip4addr);
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2409
return (addr->un.ip4addr == INADDR_ANY);
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
2411
return (IN6_IS_ADDR_UNSPECIFIED(&(addr->un.ip6addr)));
usr/src/uts/common/io/ib/clients/of/sol_ofs/sol_ib_cma.c
902
((htonl(mcast_addr.un.ip4addr) & 0xE0000000) ==
usr/src/uts/common/io/ib/clients/rds/rdsib_cm.c
90
#define SRCIP src_addr.un.ip4addr
usr/src/uts/common/io/ib/clients/rds/rdsib_cm.c
91
#define DSTIP dst_addr.un.ip4addr
usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c
1339
dstip.un.ip4addr = remip1;
usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c
1342
ipattr.ipa_src_ip.un.ip4addr = localip1;
usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c
2110
dstip.un.ip4addr = recvip1;
usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c
2113
ipattr.ipa_src_ip.un.ip4addr = sendip1;
usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c
888
dstip.un.ip4addr = remip;
usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c
891
ipattr.ipa_src_ip.un.ip4addr = myip;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp.c
129
if (bcmp(&wqnp->usrc_addr.un,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp.c
130
&wqnp->src_addr.un, len)) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp.c
71
inet_ntop(AF_INET, &ipaddr->un.ip4addr, buf, sizeof (buf)));
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp.c
74
&ipaddr->un.ip6addr, buf, sizeof (buf)));
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
136
ire = ire_route_recursive_v4(dst_addr->un.ip4addr, 0, NULL,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
156
if (ip_select_source_v4(ill, setsrcv4, dst_addr->un.ip4addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
157
INADDR_ANY, myzoneid, ipst, &wqnp->src_addr.un.ip4addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
163
wqnp->gateway.un.ip4addr = ire->ire_gateway_addr;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
164
wqnp->netmask.un.ip4addr = ire->ire_mask;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
176
ire = ire_route_recursive_v6(&dst_addr->un.ip6addr, 0, NULL,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
196
if (ip_select_source_v6(ill, &setsrcv6, &dst_addr->un.ip6addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
198
&wqnp->src_addr.un.ip6addr, NULL, NULL) != 0) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
203
wqnp->gateway.un.ip6addr = ire->ire_gateway_addr_v6;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
204
wqnp->netmask.un.ip6addr = ire->ire_mask_v6;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
217
ipif = ipif_lookup_addr(wqnp->src_addr.un.ip4addr, ill,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
220
ipif = ipif_lookup_addr_v6(&wqnp->src_addr.un.ip6addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
310
sin->sin_addr.s_addr = wqnp->dst_addr.un.ip4addr;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
314
sin6->sin6_addr = wqnp->dst_addr.un.ip6addr;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4051
(attrp->ipa_src_ip.un.ip4addr == htonl(INADDR_LOOPBACK) ||
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4052
attrp->ipa_src_ip.un.ip4addr == INADDR_ANY)) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4057
(IN6_IS_ADDR_UNSPECIFIED(&attrp->ipa_src_ip.un.ip6addr) ||
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4058
IN6_IS_ADDR_LOOPBACK(&attrp->ipa_src_ip.un.ip6addr))) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4066
(IN6_IS_ADDR_LINKLOCAL(&attrp->ipa_src_ip.un.ip6addr))) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4083
(dst_ip.un.ip4addr == htonl(INADDR_LOOPBACK) ||
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4084
dst_ip.un.ip4addr == INADDR_ANY)) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4089
(IN6_IS_ADDR_UNSPECIFIED(&dst_ip.un.ip6addr) ||
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c
4090
IN6_IS_ADDR_LOOPBACK(&dst_ip.un.ip6addr))) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6580
&s_ip[j].ip_addr.un.ip4addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6584
&s_ip[j].ip_addr.un.ip6addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6714
ip_data.ip_srcv4 = ip_cm_info->src_addr.un.ip4addr;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6715
ip_data.ip_dstv4 = ip_cm_info->dst_addr.un.ip4addr;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6718
bcopy(&ip_cm_info->src_addr.un.ip6addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6720
bcopy(&ip_cm_info->dst_addr.un.ip6addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6760
ip_cm_infop->src_addr.un.ip4addr = ip_data.ip_srcv4;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6761
ip_cm_infop->dst_addr.un.ip4addr = ip_data.ip_dstv4;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6766
bcopy(&ip_data.ip_srcv6, &ip_cm_infop->src_addr.un.ip6addr,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_ti.c
6768
bcopy(&ip_data.ip_dstv6, &ip_cm_infop->dst_addr.un.ip6addr,
usr/src/uts/common/io/kbtrans/kbtrans.c
558
kbtrans_dprintf(void *un, const char *fmt, ...)
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2537
tx->info[idx].stat.un.all = 0;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2925
s->un.all = 0;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2929
s->un.s.brdcstxmt = 1;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2931
s->un.s.multixmt = 1;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2933
s->un.s.opackets = (uint16_t)opackets;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2934
s->un.s.obytes = obytes;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
2997
tx->info[idx].stat.un.all = tx_info[0].stat.un.all;
usr/src/uts/common/io/myri10ge/drv/myri10ge.c
3619
tx_info[0].stat.un.all = 0;
usr/src/uts/common/io/myri10ge/drv/myri10ge_var.h
200
} un;
usr/src/uts/common/io/myri10ge/drv/myri10ge_var.h
203
#define ostat stat.un.s
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
15699
mpt->un.m_base_wwid);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
16021
mpt->un.m_base_wwid);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
16346
mpt->un.m_base_wwid);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
5726
topo_node->un.phymask = ptgt->m_addr.mta_phymask;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
6420
physport = topo_node->un.physport;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
6428
phymask = topo_node->un.phymask;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
6435
phymask = topo_node->un.phymask;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
6726
topo_node->un.physport, &attached_devhdl);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7187
topo_node->un.physport = physport;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7210
topo_node->un.phymask =
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7334
topo_node->un.physport = physport;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7386
topo_node->un.phymask = 0;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7419
topo_node->un.phymask =
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7635
topo_node->un.physport = 0xff;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7674
topo_node->un.phymask =
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7709
topo_node->un.phymask =
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
7739
topo_node->un.phymask = 0;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
966
mpt->un.m_base_wwid);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
2450
mpt->un.sasaddr.m_base_wwid_lo =
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
2452
mpt->un.sasaddr.m_base_wwid_hi =
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
2456
"base-wwid", mpt->un.m_base_wwid) != DDI_PROP_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
2473
mpt->m_instance, (unsigned long long)mpt->un.m_base_wwid,
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
2474
(unsigned long long)mpt->un.m_base_wwid + mpt->m_num_phys - 1);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_smhba.c
332
(longlong_t)mpt->un.m_base_wwid,
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_smhba.c
469
mpt->un.m_base_wwid + i;
usr/src/uts/common/io/scsi/adapters/smartpqi/smartpqi.h
579
int pqi_cache_constructor(void *buf, void *un, int flags);
usr/src/uts/common/io/scsi/adapters/smartpqi/smartpqi.h
580
void pqi_cache_destructor(void *buf, void *un);
usr/src/uts/common/io/scsi/adapters/smartpqi/smartpqi_hba.c
410
pqi_cache_constructor(void *buf, void *un, int flags)
usr/src/uts/common/io/scsi/adapters/smartpqi/smartpqi_hba.c
413
pqi_state_t *s = un;
usr/src/uts/common/io/scsi/adapters/smartpqi/smartpqi_hba.c
431
pqi_cache_destructor(void *buf, void *un __unused)
usr/src/uts/common/io/scsi/targets/sd.c
10002
if (un->un_f_format_in_progress == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
10003
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10005
(void) cmlb_validate(un->un_cmlbhandle, 0,
usr/src/uts/common/io/scsi/targets/sd.c
10007
if (cmlb_partinfo(un->un_cmlbhandle, part, NULL, NULL, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
1001
static int sd_validate_sense_data(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10010
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10014
if (un->un_f_pkstats_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
10015
sd_set_pstats(un);
usr/src/uts/common/io/scsi/targets/sd.c
10016
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
10018
"set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
10020
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10028
if (un->un_f_doorlock_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
10029
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
1003
static void sd_decode_sense(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10033
if ((status != 0) && ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
10035
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10042
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10046
un->un_mediastate = DKIO_INSERTED;
usr/src/uts/common/io/scsi/targets/sd.c
10047
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
10057
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
10058
stp = (struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
1006
static void sd_print_sense_msg(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10060
(un->un_f_blockcount_is_valid == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
10062
(uint64_t)((uint64_t)un->un_blockcount *
usr/src/uts/common/io/scsi/targets/sd.c
10063
un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
10067
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10086
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
1009
static void sd_sense_key_no_sense(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10091
un = ddi_get_soft_state(sd_state, instance);
usr/src/uts/common/io/scsi/targets/sd.c
10092
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
10098
if (un->un_buf_breakup_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
10102
if (bp->b_bcount > un->un_max_xfer_size) {
usr/src/uts/common/io/scsi/targets/sd.c
10103
bp->b_bcount = un->un_max_xfer_size;
usr/src/uts/common/io/scsi/targets/sd.c
1011
static void sd_sense_key_recoverable_error(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
10129
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
10134
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
10138
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
1014
static void sd_sense_key_not_ready(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
10141
if (!SD_IS_VALID_LABEL(un) && !ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
10142
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10148
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
10149
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
10150
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10152
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
10153
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10156
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
10164
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10165
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
10166
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
10167
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
1017
static void sd_sense_key_medium_or_hardware_error(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
10175
if (un->un_f_rmw_type == SD_RMW_TYPE_RETURN_ERROR &&
usr/src/uts/common/io/scsi/targets/sd.c
10176
!un->un_f_enable_rmw)
usr/src/uts/common/io/scsi/targets/sd.c
10177
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10182
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
10187
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
1020
static void sd_sense_key_illegal_request(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
1022
static void sd_sense_key_unit_attention(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
10220
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
10225
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
10229
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
10231
if (!SD_IS_VALID_LABEL(un) && !ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
10232
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10238
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
10239
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
10240
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10242
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
10243
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10246
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
1025
static void sd_sense_key_fail_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10254
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10255
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
10256
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
10257
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10265
if (un->un_f_rmw_type == SD_RMW_TYPE_RETURN_ERROR &&
usr/src/uts/common/io/scsi/targets/sd.c
10266
!un->un_f_enable_rmw)
usr/src/uts/common/io/scsi/targets/sd.c
10267
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
1027
static void sd_sense_key_blank_check(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10272
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
10277
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
1029
static void sd_sense_key_aborted_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10309
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
1031
static void sd_sense_key_default(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
10315
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
10319
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
10321
if (!SD_IS_VALID_LABEL(un) && !ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
10322
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10328
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
10329
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
10330
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10332
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
10333
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10336
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
10344
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10345
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
10346
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
10347
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
1035
static void sd_print_retry_msg(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10355
if (un->un_f_rmw_type == SD_RMW_TYPE_RETURN_ERROR &&
usr/src/uts/common/io/scsi/targets/sd.c
10356
!un->un_f_enable_rmw)
usr/src/uts/common/io/scsi/targets/sd.c
10357
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10362
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
10367
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
1038
static void sd_pkt_reason_cmd_incomplete(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10399
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
1040
static void sd_pkt_reason_cmd_tran_err(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10405
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
10409
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
10411
if (!SD_IS_VALID_LABEL(un) && !ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
10412
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10418
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
10419
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
1042
static void sd_pkt_reason_cmd_reset(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10420
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10422
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
10423
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10426
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
10434
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10435
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
10436
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
10437
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
1044
static void sd_pkt_reason_cmd_aborted(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
10445
if (un->un_f_rmw_type == SD_RMW_TYPE_RETURN_ERROR &&
usr/src/uts/common/io/scsi/targets/sd.c
10446
!un->un_f_enable_rmw)
usr/src/uts/common/io/scsi/targets/sd.c
10447
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10452
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
10457
SD_ERROR(SD_LOG_READ_WRITE, un,
usr/src/uts/common/io/scsi/targets/sd.c
1046
static void sd_pkt_reason_cmd_timeout(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
1048
static void sd_pkt_reason_cmd_unx_bus_free(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
1050
static void sd_pkt_reason_cmd_tag_reject(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
1052
static void sd_pkt_reason_default(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
1055
static void sd_reset_target(struct sd_lun *un, struct scsi_pkt *pktp);
usr/src/uts/common/io/scsi/targets/sd.c
1063
static void sd_log_dev_status_event(struct sd_lun *un, char *esc, int km_flag);
usr/src/uts/common/io/scsi/targets/sd.c
1064
static void sd_log_lun_expansion_event(struct sd_lun *un, int km_flag);
usr/src/uts/common/io/scsi/targets/sd.c
1065
static void sd_log_eject_request_event(struct sd_lun *un, int km_flag);
usr/src/uts/common/io/scsi/targets/sd.c
10676
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
10678
un = ddi_get_soft_state(sd_state, SD_GET_INSTANCE_FROM_BUF(bp));
usr/src/uts/common/io/scsi/targets/sd.c
10679
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
1068
static int sd_handle_mchange(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
10687
if (un->un_state == SD_STATE_DUMPING) {
usr/src/uts/common/io/scsi/targets/sd.c
10694
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
10702
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10707
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
10708
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
10709
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10712
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
10719
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
10720
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10722
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10724
SD_INFO(SD_LOG_IO, un, "sdstrategy: un_ncmds_in_driver = %ld\n",
usr/src/uts/common/io/scsi/targets/sd.c
10725
un->un_ncmds_in_driver);
usr/src/uts/common/io/scsi/targets/sd.c
10728
un->un_f_sync_cache_required = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
10730
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10738
return (ddi_xbuf_qstrategy(bp, un->un_xbuf_attr));
usr/src/uts/common/io/scsi/targets/sd.c
10754
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
10758
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
10759
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
10765
sd_xbuf_init(un, bp, xp, SD_CHAIN_BUFIO, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
10768
SD_BEGIN_IOSTART(((struct sd_xbuf *)xp)->xb_chain_iostart, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
10793
sd_xbuf_init(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
10798
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
10802
SD_INFO(SD_LOG_IO, un, "sd_xbuf_init: buf:0x%p chain type:0x%x\n",
usr/src/uts/common/io/scsi/targets/sd.c
10805
xp->xb_un = un;
usr/src/uts/common/io/scsi/targets/sd.c
10823
index = un->un_buf_chain_type;
usr/src/uts/common/io/scsi/targets/sd.c
10824
if ((!un->un_f_has_removable_media) &&
usr/src/uts/common/io/scsi/targets/sd.c
10825
(un->un_tgt_blocksize != 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
10826
(un->un_tgt_blocksize != DEV_BSIZE ||
usr/src/uts/common/io/scsi/targets/sd.c
10827
un->un_f_enable_rmw)) {
usr/src/uts/common/io/scsi/targets/sd.c
10829
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
1083
static int sd_send_scsi_SYNCHRONIZE_CACHE(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
10831
(un->un_phy_blocksize / DEV_BSIZE) - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10832
secmask = un->un_phy_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10835
(un->un_tgt_blocksize / DEV_BSIZE) - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10836
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
10841
if ((un->un_f_rmw_type !=
usr/src/uts/common/io/scsi/targets/sd.c
10843
un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
10844
if (un->un_f_pm_is_enabled == FALSE)
usr/src/uts/common/io/scsi/targets/sd.c
10855
index = un->un_uscsi_chain_type;
usr/src/uts/common/io/scsi/targets/sd.c
10858
index = un->un_direct_chain_type;
usr/src/uts/common/io/scsi/targets/sd.c
10861
index = un->un_priority_chain_type;
usr/src/uts/common/io/scsi/targets/sd.c
10896
SD_INFO(SD_LOG_IO, un, "sd_xbuf_init: done.\n");
usr/src/uts/common/io/scsi/targets/sd.c
10915
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
10923
un = ddi_get_soft_state(sd_state, SD_GET_INSTANCE_FROM_BUF(bp));
usr/src/uts/common/io/scsi/targets/sd.c
10924
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
10931
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
10933
SD_TRACE(SD_LOG_IO, un, "sd_uscsi_strategy: entry: buf:0x%p\n", bp);
usr/src/uts/common/io/scsi/targets/sd.c
10942
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10948
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
10949
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10951
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10953
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
10954
SD_INFO(SD_LOG_IO, un, "sd_uscsi_strategy: un_ncmds_in_driver = %ld\n",
usr/src/uts/common/io/scsi/targets/sd.c
10955
un->un_ncmds_in_driver);
usr/src/uts/common/io/scsi/targets/sd.c
10959
un->un_f_sync_cache_required = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
10961
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
10988
sd_xbuf_init(un, bp, xp, chain_type, uip->ui_cmdp);
usr/src/uts/common/io/scsi/targets/sd.c
10991
SD_BEGIN_IOSTART(xp->xb_chain_iostart, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
10993
SD_TRACE(SD_LOG_IO, un, "sd_uscsi_strategy: exit: buf:0x%p\n", bp);
usr/src/uts/common/io/scsi/targets/sd.c
11030
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
11034
un = ddi_get_soft_state(sd_state, SDUNIT(dev));
usr/src/uts/common/io/scsi/targets/sd.c
11035
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
11042
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
11114
sd_ssc_init(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
11120
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
11121
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
1114
static int sd_alloc_rqs(struct scsi_device *devp, struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
11140
ssc->ssc_un = un;
usr/src/uts/common/io/scsi/targets/sd.c
1115
static void sd_free_rqs(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
1117
static void sd_dump_memory(struct sd_lun *un, uint_t comp, char *title,
usr/src/uts/common/io/scsi/targets/sd.c
1119
static void sd_panic_for_res_conflict(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
11202
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
11209
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
11210
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
11213
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
11223
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
11245
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11246
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
11248
SD_DEVICE_IS_IN_LOW_POWER(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
11249
SD_TRACE(SD_LOG_IO, un, "sd_ssc_send:"
usr/src/uts/common/io/scsi/targets/sd.c
11250
"un:0x%p is in low power\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
11251
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
11252
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11255
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
11256
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11261
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
11262
"sd_ssc_send: entry: un:0x%p UIO_USERSPACE\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
11265
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
11266
"sd_ssc_send: entry: un:0x%p UIO_SYSSPACE\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
11269
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
11270
"sd_ssc_send: entry: un:0x%p UNEXPECTED SPACE\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
11276
SD_ADDRESS(un), &uscmd);
usr/src/uts/common/io/scsi/targets/sd.c
11278
SD_TRACE(SD_LOG_IO, un, "sd_sense_scsi_cmd: "
usr/src/uts/common/io/scsi/targets/sd.c
11279
"scsi_uscsi_alloc_and_copyin failed\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
11285
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11286
un->un_f_format_in_progress = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
11287
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11312
dev = SD_GET_DEV(un);
usr/src/uts/common/io/scsi/targets/sd.c
11323
SD_INFO(SD_LOG_IO, un, "sd_ssc_send: "
usr/src/uts/common/io/scsi/targets/sd.c
11327
SD_INFO(SD_LOG_IO, un, "sd_ssc_send: "
usr/src/uts/common/io/scsi/targets/sd.c
11331
SD_DUMP_MEMORY(un, SD_LOG_IO,
usr/src/uts/common/io/scsi/targets/sd.c
11339
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
1134
static void sd_mhd_watch_incomplete(struct sd_lun *un, struct scsi_pkt *pkt);
usr/src/uts/common/io/scsi/targets/sd.c
11340
un->un_f_format_in_progress = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
11341
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
1142
static int sd_persistent_reservation_in_read_keys(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
11430
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
11433
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
11434
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
1144
static int sd_persistent_reservation_in_read_resv(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
11448
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
11511
(un->un_f_arq_enabled == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
11521
scsi_log(SD_DEVINFO(un), sd_label, CE_CONT,
usr/src/uts/common/io/scsi/targets/sd.c
11544
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
11548
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
11549
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
11559
if (ISCD(un) || un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
11655
sd_buf_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
11659
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
11661
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
11663
SD_TRACE(SD_LOG_IO_CORE, un, "sd_buf_iodone: entry.\n");
usr/src/uts/common/io/scsi/targets/sd.c
11669
if (ddi_xbuf_done(bp, un->un_xbuf_attr)) {
usr/src/uts/common/io/scsi/targets/sd.c
11670
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11679
un->un_pm_idle_time = gethrtime();
usr/src/uts/common/io/scsi/targets/sd.c
11681
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
11682
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
11683
SD_INFO(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
11685
un->un_ncmds_in_driver);
usr/src/uts/common/io/scsi/targets/sd.c
11687
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11692
SD_TRACE(SD_LOG_IO_CORE, un, "sd_buf_iodone: exit.\n");
usr/src/uts/common/io/scsi/targets/sd.c
11705
sd_uscsi_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
11709
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
11714
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
11716
SD_INFO(SD_LOG_IO, un, "sd_uscsi_iodone: entry.\n");
usr/src/uts/common/io/scsi/targets/sd.c
11720
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11729
un->un_pm_idle_time = gethrtime();
usr/src/uts/common/io/scsi/targets/sd.c
1173
static void sr_ejected(register struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
11731
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
11732
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
11733
SD_INFO(SD_LOG_IO, un, "sd_uscsi_iodone: un_ncmds_in_driver = %ld\n",
usr/src/uts/common/io/scsi/targets/sd.c
11734
un->un_ncmds_in_driver);
usr/src/uts/common/io/scsi/targets/sd.c
11736
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11748
SD_INFO(SD_LOG_IO, un, "sd_uscsi_iodone: exit.\n");
usr/src/uts/common/io/scsi/targets/sd.c
1175
static opaque_t sd_watch_request_submit(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
11786
sd_mapblockaddr_iostart(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
11798
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
11800
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
11802
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
11816
if (!SD_IS_VALID_LABEL(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
11823
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
11835
if (!un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
11836
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
11841
SD_BEGIN_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
11850
(void) cmlb_partinfo(un->un_cmlbhandle, partition,
usr/src/uts/common/io/scsi/targets/sd.c
11853
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
11854
blknomask = (un->un_phy_blocksize / DEV_BSIZE) - 1;
usr/src/uts/common/io/scsi/targets/sd.c
11855
secmask = un->un_phy_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
11857
blknomask = (un->un_tgt_blocksize / DEV_BSIZE) - 1;
usr/src/uts/common/io/scsi/targets/sd.c
11858
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
11865
if (!(NOT_DEVBSIZE(un)) || un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
11872
xp->xb_blkno = SD_SYS2TGTBLOCK(un, xp->xb_blkno);
usr/src/uts/common/io/scsi/targets/sd.c
1188
static int sd_wm_cache_constructor(void *wm, void *un, int flags);
usr/src/uts/common/io/scsi/targets/sd.c
11880
} else if (!un->un_f_enable_rmw &&
usr/src/uts/common/io/scsi/targets/sd.c
11881
un->un_f_rmw_type == SD_RMW_TYPE_RETURN_ERROR) {
usr/src/uts/common/io/scsi/targets/sd.c
11884
} else if (un->un_f_rmw_type == SD_RMW_TYPE_DEFAULT) {
usr/src/uts/common/io/scsi/targets/sd.c
11885
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11886
if (!un->un_f_enable_rmw &&
usr/src/uts/common/io/scsi/targets/sd.c
11887
un->un_rmw_msg_timeid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
11888
scsi_log(SD_DEVINFO(un), sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
1189
static void sd_wm_cache_destructor(void *wm, void *un);
usr/src/uts/common/io/scsi/targets/sd.c
11894
un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
11895
un->un_rmw_msg_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
11897
un, SD_RMW_MSG_PRINT_TIMEOUT);
usr/src/uts/common/io/scsi/targets/sd.c
11899
un->un_rmw_incre_count ++;
usr/src/uts/common/io/scsi/targets/sd.c
1190
static struct sd_w_map *sd_range_lock(struct sd_lun *un, daddr_t startb,
usr/src/uts/common/io/scsi/targets/sd.c
11901
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
11904
nblocks = SD_TGT2SYSBLOCK(un, nblocks);
usr/src/uts/common/io/scsi/targets/sd.c
11905
partition_offset = SD_TGT2SYSBLOCK(un,
usr/src/uts/common/io/scsi/targets/sd.c
1192
static struct sd_w_map *sd_get_range(struct sd_lun *un, daddr_t startb,
usr/src/uts/common/io/scsi/targets/sd.c
11939
if ((!NOT_DEVBSIZE(un)) && is_aligned) {
usr/src/uts/common/io/scsi/targets/sd.c
1194
static void sd_free_inlist_wmap(struct sd_lun *un, struct sd_w_map *wmp);
usr/src/uts/common/io/scsi/targets/sd.c
11940
requested_nblocks = SD_BYTES2TGTBLOCKS(un, bp->b_bcount);
usr/src/uts/common/io/scsi/targets/sd.c
1195
static void sd_range_unlock(struct sd_lun *un, struct sd_w_map *wm);
usr/src/uts/common/io/scsi/targets/sd.c
11959
if ((!NOT_DEVBSIZE(un)) && is_aligned) {
usr/src/uts/common/io/scsi/targets/sd.c
11960
resid = SD_TGTBLOCKS2BYTES(un,
usr/src/uts/common/io/scsi/targets/sd.c
1198
sddump_do_read_of_rmw(struct sd_lun *un, uint64_t blkno, uint64_t nblk,
usr/src/uts/common/io/scsi/targets/sd.c
11987
SD_NEXT_IOSTART(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
11989
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
11996
SD_BEGIN_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
11997
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
12011
sd_mapblockaddr_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12014
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12016
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12018
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
1205
static void sd_failfast_flushq(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
12063
SD_NEXT_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12065
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
12092
sd_mapblocksize_iostart(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12101
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12103
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12106
SD_TRACE(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
1211
static int sd_setup_next_xfer(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
12112
if (ISCD(un) && ((bp->b_flags & B_READ) == 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
12113
(un->un_f_mmc_writable_media == FALSE)) {
usr/src/uts/common/io/scsi/targets/sd.c
12116
SD_BEGIN_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12125
if ((un->un_tgt_blocksize == DEV_BSIZE && !un->un_f_enable_rmw) ||
usr/src/uts/common/io/scsi/targets/sd.c
12132
ASSERT(!ISROD(un));
usr/src/uts/common/io/scsi/targets/sd.c
12138
SD_INFO(SD_LOG_IO_RMMEDIA, un, "sd_mapblocksize_iostart: "
usr/src/uts/common/io/scsi/targets/sd.c
12140
un->un_tgt_blocksize, DEV_BSIZE);
usr/src/uts/common/io/scsi/targets/sd.c
12141
SD_INFO(SD_LOG_IO_RMMEDIA, un, "sd_mapblocksize_iostart: "
usr/src/uts/common/io/scsi/targets/sd.c
12143
SD_INFO(SD_LOG_IO_RMMEDIA, un, "sd_mapblocksize_iostart: "
usr/src/uts/common/io/scsi/targets/sd.c
12184
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
12186
(first_byte / un->un_phy_blocksize) *
usr/src/uts/common/io/scsi/targets/sd.c
12187
(un->un_phy_blocksize / DEV_BSIZE);
usr/src/uts/common/io/scsi/targets/sd.c
12189
un->un_phy_blocksize - 1) / un->un_phy_blocksize) *
usr/src/uts/common/io/scsi/targets/sd.c
12190
(un->un_phy_blocksize / DEV_BSIZE);
usr/src/uts/common/io/scsi/targets/sd.c
12192
start_block = xp->xb_blkno = first_byte / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
12194
un->un_tgt_blocksize - 1) / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
12198
request_bytes = (end_block - start_block) * un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
12205
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
12206
if (((first_byte % un->un_phy_blocksize) == 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
12207
((bp->b_bcount % un->un_phy_blocksize) == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
12211
if (((first_byte % un->un_tgt_blocksize) == 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
12212
((bp->b_bcount % un->un_tgt_blocksize) == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
12223
bsp->mbs_wmp = sd_range_lock(un, start_block, end_block - 1,
usr/src/uts/common/io/scsi/targets/sd.c
12271
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
12273
((offset_t)xp->xb_blkno * un->un_sys_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
12275
(bsp->mbs_copy_offset < un->un_phy_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
12278
((offset_t)xp->xb_blkno * un->un_tgt_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
12280
(bsp->mbs_copy_offset < un->un_tgt_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
12299
SD_INFO(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
12301
SD_INFO(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
12304
SD_INFO(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
12308
SD_NEXT_IOSTART(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12310
SD_TRACE(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
12324
sd_mapblocksize_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12339
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12342
SD_TRACE(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
12349
if ((un->un_tgt_blocksize == DEV_BSIZE && !un->un_f_enable_rmw) ||
usr/src/uts/common/io/scsi/targets/sd.c
12369
sd_range_unlock(un, bsp->mbs_wmp);
usr/src/uts/common/io/scsi/targets/sd.c
12385
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12397
sd_range_unlock(un, bsp->mbs_wmp);
usr/src/uts/common/io/scsi/targets/sd.c
12416
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
12419
shadow_start = SD_TGTBLOCKS2BYTES(un, (offset_t)xp->xb_blkno);
usr/src/uts/common/io/scsi/targets/sd.c
12431
if (un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
12433
(copy_offset < un->un_phy_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
12436
(copy_offset < un->un_tgt_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
12578
SD_NEXT_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12592
sd_checksum_iostart(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12594
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12596
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12597
SD_NEXT_IOSTART(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12611
sd_checksum_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12613
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12615
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12616
SD_NEXT_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12630
sd_checksum_uscsi_iostart(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12632
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12634
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12635
SD_NEXT_IOSTART(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12649
sd_checksum_uscsi_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
1265
static void sd_faultinjection_ioctl(int cmd, intptr_t arg, struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
12651
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12653
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12654
SD_NEXT_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12667
sd_pm_iostart(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12669
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
1267
static void sd_injection_log(char *buf, struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
12671
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12672
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
12674
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_iostart: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
12676
if (sd_pm_entry(un) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
12684
SD_BEGIN_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12686
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_iostart: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
12690
SD_NEXT_IOSTART(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12692
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_iostart: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
12705
sd_pm_iodone(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12707
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12709
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
12711
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_iodone: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
12717
if (un->un_f_pm_is_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
12718
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
12721
SD_NEXT_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12723
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_iodone: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
12742
sd_core_iostart(int index, struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
12746
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12748
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12751
SD_TRACE(SD_LOG_IO_CORE, un, "sd_core_iostart: entry: bp:0x%p\n", bp);
usr/src/uts/common/io/scsi/targets/sd.c
12756
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
12763
(un->un_failfast_state == SD_FAILFAST_ACTIVE)) {
usr/src/uts/common/io/scsi/targets/sd.c
12764
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
12767
SD_BEGIN_IODONE(index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12779
sd_start_cmds(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12785
sd_add_buf_to_waitq(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12786
SD_UPDATE_KSTATS(un, kstat_waitq_enter, bp);
usr/src/uts/common/io/scsi/targets/sd.c
12787
sd_start_cmds(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12790
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
12792
SD_TRACE(SD_LOG_IO_CORE, un, "sd_core_iostart: exit: bp:0x%p\n", bp);
usr/src/uts/common/io/scsi/targets/sd.c
12822
sd_init_cdb_limits(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
12831
un->un_mincdb = SD_CDB_GROUP1;
usr/src/uts/common/io/scsi/targets/sd.c
12832
if (!un->un_f_is_fibre && !un->un_f_cfg_is_atapi && !ISROD(un) &&
usr/src/uts/common/io/scsi/targets/sd.c
12833
!un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
12834
un->un_mincdb = SD_CDB_GROUP0;
usr/src/uts/common/io/scsi/targets/sd.c
12840
un->un_max_hba_cdb = scsi_ifgetcap(SD_ADDRESS(un), "max-cdb-length", 1);
usr/src/uts/common/io/scsi/targets/sd.c
12841
if (0 >= un->un_max_hba_cdb) {
usr/src/uts/common/io/scsi/targets/sd.c
12842
un->un_max_hba_cdb = CDB_GROUP4;
usr/src/uts/common/io/scsi/targets/sd.c
12844
} else if (0 < un->un_max_hba_cdb &&
usr/src/uts/common/io/scsi/targets/sd.c
12845
un->un_max_hba_cdb < CDB_GROUP1) {
usr/src/uts/common/io/scsi/targets/sd.c
12847
} else if (CDB_GROUP1 <= un->un_max_hba_cdb &&
usr/src/uts/common/io/scsi/targets/sd.c
12848
un->un_max_hba_cdb < CDB_GROUP5) {
usr/src/uts/common/io/scsi/targets/sd.c
12850
} else if (CDB_GROUP5 <= un->un_max_hba_cdb &&
usr/src/uts/common/io/scsi/targets/sd.c
12851
un->un_max_hba_cdb < CDB_GROUP4) {
usr/src/uts/common/io/scsi/targets/sd.c
12861
un->un_maxcdb = (un->un_f_has_removable_media) ? SD_CDB_GROUP5 :
usr/src/uts/common/io/scsi/targets/sd.c
12864
un->un_status_len = (int)((un->un_f_arq_enabled == TRUE)
usr/src/uts/common/io/scsi/targets/sd.c
12866
if (!ISCD(un))
usr/src/uts/common/io/scsi/targets/sd.c
12867
un->un_cmd_timeout = (ushort_t)sd_io_time;
usr/src/uts/common/io/scsi/targets/sd.c
12868
un->un_uscsi_timeout = ((ISCD(un)) ? 2 : 1) * un->un_cmd_timeout;
usr/src/uts/common/io/scsi/targets/sd.c
12899
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
12909
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
12910
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
12911
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
12914
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
12917
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
12938
blockcount = SD_BYTES2TGTBLOCKS(un, bp->b_bcount);
usr/src/uts/common/io/scsi/targets/sd.c
12940
cmd_flags = un->un_pkt_flags | (xp->xb_pkt_flags & SD_XB_INITPKT_MASK);
usr/src/uts/common/io/scsi/targets/sd.c
12946
rval = sd_setup_rw_pkt(un, &pktp, bp,
usr/src/uts/common/io/scsi/targets/sd.c
12947
cmd_flags, sdrunout, (caddr_t)un,
usr/src/uts/common/io/scsi/targets/sd.c
12957
if ((un->un_pkt_flags & PKT_DMA_PARTIAL) != 0 &&
usr/src/uts/common/io/scsi/targets/sd.c
12973
pktp->pkt_flags = un->un_tagflags;
usr/src/uts/common/io/scsi/targets/sd.c
12974
pktp->pkt_time = un->un_cmd_timeout;
usr/src/uts/common/io/scsi/targets/sd.c
12980
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
12987
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
13005
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
13006
New_state(un, SD_STATE_RWAIT);
usr/src/uts/common/io/scsi/targets/sd.c
13008
SD_ERROR(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13022
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
13025
SD_ERROR(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13027
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
13074
sd_setup_rw_pkt(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
13087
for (i = un->un_mincdb; i <= un->un_maxcdb; i++) {
usr/src/uts/common/io/scsi/targets/sd.c
13109
return_pktp = scsi_init_pkt(SD_ADDRESS(un), *pktpp,
usr/src/uts/common/io/scsi/targets/sd.c
13110
bp, cp->sc_grpcode, un->un_status_len, 0,
usr/src/uts/common/io/scsi/targets/sd.c
13136
SD_BYTES2TGTBLOCKS(un,
usr/src/uts/common/io/scsi/targets/sd.c
13150
SD_FILL_SCSI1_LUN(un, return_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
13217
sd_setup_next_rw_pkt(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
13242
if (scsi_init_pkt(SD_ADDRESS(un), pktp, bp, 0, 0, 0, 0,
usr/src/uts/common/io/scsi/targets/sd.c
13247
SD_BYTES2TGTBLOCKS(un, pktp->pkt_resid);
usr/src/uts/common/io/scsi/targets/sd.c
13251
SD_FILL_SCSI1_LUN(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
13304
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
13311
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
13312
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13313
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
13319
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13341
pktp = scsi_init_pkt(SD_ADDRESS(un), NULL,
usr/src/uts/common/io/scsi/targets/sd.c
13345
(un->un_pkt_flags & ~PKT_DMA_PARTIAL) | PKT_XARQ,
usr/src/uts/common/io/scsi/targets/sd.c
13346
sdrunout, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/sd.c
13348
pktp = scsi_init_pkt(SD_ADDRESS(un), NULL,
usr/src/uts/common/io/scsi/targets/sd.c
13351
(un->un_pkt_flags & ~PKT_DMA_PARTIAL),
usr/src/uts/common/io/scsi/targets/sd.c
13352
sdrunout, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/sd.c
13362
New_state(un, SD_STATE_RWAIT);
usr/src/uts/common/io/scsi/targets/sd.c
13364
SD_ERROR(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13377
if ((un->un_pkt_flags & PKT_DMA_PARTIAL) &&
usr/src/uts/common/io/scsi/targets/sd.c
13380
SD_ERROR(SD_LOG_IO_CORE, un, "sd_initpkt_for_uscsi: "
usr/src/uts/common/io/scsi/targets/sd.c
13389
SD_FILL_SCSI1_LUN(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
13408
if (un->un_f_is_fibre == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
13437
flags |= un->un_tagflags & FLAG_TAGMASK;
usr/src/uts/common/io/scsi/targets/sd.c
13454
pktp->pkt_time = un->un_uscsi_timeout;
usr/src/uts/common/io/scsi/targets/sd.c
13468
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13491
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
13497
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
13498
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13499
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
13503
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13551
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
13579
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
13587
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
13588
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13589
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
13591
new_bp = bioclone(bp, 0, datalen, SD_GET_DEV(un), blkno, func,
usr/src/uts/common/io/scsi/targets/sd.c
13638
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
13646
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
13647
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13648
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
13662
new_bp = scsi_alloc_consistent_buf(SD_ADDRESS(un), NULL,
usr/src/uts/common/io/scsi/targets/sd.c
1371
typedef void (*sd_chain_t)(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
13792
sd_print_transport_rejected_message(struct sd_lun *un, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
13795
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13796
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
13817
(SD_FM_LOG(un) == SD_FM_LOG_NSUP)) {
usr/src/uts/common/io/scsi/targets/sd.c
13820
(un->un_tran_fatal_count == 1)) {
usr/src/uts/common/io/scsi/targets/sd.c
13823
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
13827
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
13831
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
13859
sd_add_buf_to_waitq(struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
13864
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13865
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
13868
if (un->un_waitq_headp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
13869
ASSERT(un->un_waitq_tailp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13870
un->un_waitq_headp = un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
13875
ASSERT(un->un_waitq_tailp != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
13881
if (un->un_f_disksort_disabled || un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
13882
un->un_waitq_tailp->av_forw = bp;
usr/src/uts/common/io/scsi/targets/sd.c
13883
un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
13906
ap = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
13971
if (ap == un->un_waitq_tailp) {
usr/src/uts/common/io/scsi/targets/sd.c
13972
un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
13995
sd_start_cmds(struct sd_lun *un, struct buf *immed_bp)
usr/src/uts/common/io/scsi/targets/sd.c
14006
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14007
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14008
ASSERT(un->un_ncmds_in_transport >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
14009
ASSERT(un->un_throttle >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
14011
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_start_cmds: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
14030
if ((un->un_state == SD_STATE_DUMPING) ||
usr/src/uts/common/io/scsi/targets/sd.c
14031
(ddi_in_panic() && (un->un_in_callback > 1))) {
usr/src/uts/common/io/scsi/targets/sd.c
14032
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14054
if (bp == un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14055
ASSERT((un->un_retry_statp == NULL) ||
usr/src/uts/common/io/scsi/targets/sd.c
14056
(un->un_retry_statp == kstat_waitq_enter) ||
usr/src/uts/common/io/scsi/targets/sd.c
14057
(un->un_retry_statp ==
usr/src/uts/common/io/scsi/targets/sd.c
14068
if ((un->un_retry_statp == kstat_waitq_enter) ||
usr/src/uts/common/io/scsi/targets/sd.c
14069
(un->un_retry_statp ==
usr/src/uts/common/io/scsi/targets/sd.c
14074
saved_statp = un->un_retry_statp;
usr/src/uts/common/io/scsi/targets/sd.c
14076
un->un_retry_statp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14078
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14081
un, un->un_retry_bp, un->un_throttle,
usr/src/uts/common/io/scsi/targets/sd.c
14082
un->un_ncmds_in_transport);
usr/src/uts/common/io/scsi/targets/sd.c
14084
SD_TRACE(SD_LOG_IO_CORE, un, "sd_start_cmds: "
usr/src/uts/common/io/scsi/targets/sd.c
14088
} else if ((bp = un->un_waitq_headp) != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14102
if (un->un_ncmds_in_transport >= un->un_throttle) {
usr/src/uts/common/io/scsi/targets/sd.c
14103
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14108
if (un->un_retry_bp != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14109
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14113
if (un->un_startstop_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14114
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14119
if (un->un_direct_priority_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14120
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14127
un->un_waitq_headp = bp->av_forw;
usr/src/uts/common/io/scsi/targets/sd.c
14128
if (un->un_waitq_headp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14129
un->un_waitq_tailp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14133
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
14138
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
14153
if ((un->un_state != SD_STATE_SUSPENDED) &&
usr/src/uts/common/io/scsi/targets/sd.c
14154
(un->un_state != SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
14155
New_state(un, SD_STATE_NORMAL);
usr/src/uts/common/io/scsi/targets/sd.c
14216
ASSERT(bp != un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
14222
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
14237
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14258
if (bp != un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14290
if (un->un_retry_statp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14296
un->un_retry_statp =
usr/src/uts/common/io/scsi/targets/sd.c
14300
if ((un->un_startstop_timeid == NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
14301
(un->un_retry_timeid == NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
14302
(un->un_direct_priority_timeid ==
usr/src/uts/common/io/scsi/targets/sd.c
14305
un->un_retry_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
14308
un, SD_RESTART_TIMEOUT);
usr/src/uts/common/io/scsi/targets/sd.c
14320
bp->av_forw = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
14321
un->un_waitq_headp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
14322
if (un->un_waitq_tailp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14323
un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
14332
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14343
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14353
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14373
SD_UPDATE_KSTATS(un, kstat_waitq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14375
sd_return_failed_command_no_restart(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
14388
un->un_ncmds_in_transport++;
usr/src/uts/common/io/scsi/targets/sd.c
14389
SD_UPDATE_KSTATS(un, statp, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14399
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
14403
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
14405
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
14407
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14413
un->un_tran_fatal_count = 0;
usr/src/uts/common/io/scsi/targets/sd.c
14417
un->un_ncmds_in_transport--;
usr/src/uts/common/io/scsi/targets/sd.c
14418
ASSERT(un->un_ncmds_in_transport >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
14426
if (bp == un->un_rqs_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14427
SD_UPDATE_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14428
bp = sd_mark_rqs_idle(un, xp);
usr/src/uts/common/io/scsi/targets/sd.c
14429
sd_retry_command(un, bp, SD_RETRIES_STANDARD,
usr/src/uts/common/io/scsi/targets/sd.c
14430
NULL, NULL, EIO, un->un_busy_timeout / 500,
usr/src/uts/common/io/scsi/targets/sd.c
14442
if ((un->un_f_is_fibre == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
14473
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14477
SD_UPDATE_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14478
un->un_direct_priority_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
14480
bp, un->un_busy_timeout / 500);
usr/src/uts/common/io/scsi/targets/sd.c
14489
if (bp != un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14490
sd_reduce_throttle(un, SD_THROTTLE_TRAN_BUSY);
usr/src/uts/common/io/scsi/targets/sd.c
14498
sd_set_retry_bp(un, bp, un->un_busy_timeout / 500,
usr/src/uts/common/io/scsi/targets/sd.c
14503
un->un_tran_fatal_count++;
usr/src/uts/common/io/scsi/targets/sd.c
14508
un->un_ncmds_in_transport--;
usr/src/uts/common/io/scsi/targets/sd.c
14509
ASSERT(un->un_ncmds_in_transport >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
14517
if (bp == un->un_rqs_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14518
bp = sd_mark_rqs_idle(un, xp);
usr/src/uts/common/io/scsi/targets/sd.c
14525
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
14528
SD_UPDATE_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14529
sd_print_transport_rejected_message(un, xp, rval);
usr/src/uts/common/io/scsi/targets/sd.c
14539
ASSERT(un->un_fm_private != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14540
sfip = un->un_fm_private;
usr/src/uts/common/io/scsi/targets/sd.c
14542
sd_ssc_extract_info(&sfip->fm_ssc, un,
usr/src/uts/common/io/scsi/targets/sd.c
14553
sd_return_failed_command_no_restart(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
14559
if (un->un_state == SD_STATE_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/sd.c
14560
cv_broadcast(&un->un_disk_busy_cv);
usr/src/uts/common/io/scsi/targets/sd.c
14573
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14574
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_start_cmds: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
14589
sd_return_command(struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
14596
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14597
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14598
ASSERT(bp != un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
14603
sfip = (struct sd_fm_internal *)un->un_fm_private;
usr/src/uts/common/io/scsi/targets/sd.c
14606
SD_TRACE(SD_LOG_IO_CORE, un, "sd_return_command: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
14611
if ((un->un_partial_dma_supported == 1) &&
usr/src/uts/common/io/scsi/targets/sd.c
14616
if (sd_setup_next_xfer(un, bp, pktp, xp) != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
14621
sd_retry_command(un, bp, SD_RETRIES_NOCHECK,
usr/src/uts/common/io/scsi/targets/sd.c
14623
sd_start_cmds(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14637
if (bp == un->un_failfast_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14638
ASSERT(un->un_failfast_state == SD_FAILFAST_INACTIVE);
usr/src/uts/common/io/scsi/targets/sd.c
14639
un->un_failfast_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14646
un->un_failfast_state = SD_FAILFAST_INACTIVE;
usr/src/uts/common/io/scsi/targets/sd.c
14653
sd_ssc_extract_info(&sfip->fm_ssc, un, pktp, bp, xp);
usr/src/uts/common/io/scsi/targets/sd.c
14663
sd_ssc_extract_info(&sfip->fm_ssc, un, pktp, bp, xp);
usr/src/uts/common/io/scsi/targets/sd.c
14672
if (bp == un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14673
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14675
"RETURNING retry_bp:0x%p\n", un, un->un_retry_bp);
usr/src/uts/common/io/scsi/targets/sd.c
14676
un->un_retry_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14677
un->un_retry_statp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14680
SD_UPDATE_RDWR_STATS(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14681
SD_UPDATE_PARTITION_STATS(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14683
switch (un->un_state) {
usr/src/uts/common/io/scsi/targets/sd.c
14689
cv_broadcast(&un->un_disk_busy_cv);
usr/src/uts/common/io/scsi/targets/sd.c
14692
sd_start_cmds(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14697
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
14702
SD_BEGIN_IODONE(xp->xb_chain_iodone, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14704
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14705
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
14707
SD_TRACE(SD_LOG_IO_CORE, un, "sd_return_command: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
14720
sd_return_failed_command(struct sd_lun *un, struct buf *bp, int errcode)
usr/src/uts/common/io/scsi/targets/sd.c
14723
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14724
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14726
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14735
sd_return_command(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14736
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14751
sd_return_failed_command_no_restart(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
14757
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14758
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14763
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14779
if (bp == un->un_failfast_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14780
ASSERT(un->un_failfast_state == SD_FAILFAST_INACTIVE);
usr/src/uts/common/io/scsi/targets/sd.c
14781
un->un_failfast_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14784
if (bp == un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14789
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14791
" un:0x%p: RETURNING retry_bp:0x%p\n", un, un->un_retry_bp);
usr/src/uts/common/io/scsi/targets/sd.c
14792
un->un_retry_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14793
un->un_retry_statp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14796
SD_UPDATE_RDWR_STATS(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14797
SD_UPDATE_PARTITION_STATS(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14799
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
14806
SD_BEGIN_IODONE(xp->xb_chain_iodone, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14808
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
14810
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14862
sd_retry_command(struct sd_lun *un, struct buf *bp, int retry_check_flag,
usr/src/uts/common/io/scsi/targets/sd.c
14863
void (*user_funcp)(struct sd_lun *un, struct buf *bp, void *argp, int code),
usr/src/uts/common/io/scsi/targets/sd.c
14871
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14872
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
14879
sfip = (struct sd_fm_internal *)un->un_fm_private;
usr/src/uts/common/io/scsi/targets/sd.c
14882
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
14898
scsi_log(SD_DEVINFO(un), sd_label, CE_NOTE,
usr/src/uts/common/io/scsi/targets/sd.c
14900
sd_dump_memory(un, SD_LOG_IO, "CDB",
usr/src/uts/common/io/scsi/targets/sd.c
14902
sd_dump_memory(un, SD_LOG_IO, "Sense Data",
usr/src/uts/common/io/scsi/targets/sd.c
14913
switch (un->un_state) {
usr/src/uts/common/io/scsi/targets/sd.c
14916
bp->av_forw = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
14917
un->un_waitq_headp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
14918
if (un->un_waitq_tailp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14919
un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
14921
if (bp == un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14922
un->un_retry_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14923
un->un_retry_statp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14925
SD_UPDATE_KSTATS(un, kstat_waitq_enter, bp);
usr/src/uts/common/io/scsi/targets/sd.c
14926
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_retry_command: "
usr/src/uts/common/io/scsi/targets/sd.c
14956
if (un->un_failfast_state == SD_FAILFAST_ACTIVE) {
usr/src/uts/common/io/scsi/targets/sd.c
14957
ASSERT(un->un_failfast_bp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
14976
if (un->un_failfast_bp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
14984
un->un_failfast_bp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
14986
} else if (un->un_failfast_bp == bp) {
usr/src/uts/common/io/scsi/targets/sd.c
14993
un->un_failfast_state = SD_FAILFAST_ACTIVE;
usr/src/uts/common/io/scsi/targets/sd.c
14994
un->un_failfast_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
14995
sd_failfast_flushq(un);
usr/src/uts/common/io/scsi/targets/sd.c
15037
un->un_failfast_state = SD_FAILFAST_INACTIVE;
usr/src/uts/common/io/scsi/targets/sd.c
15051
if (xp->xb_victim_retry_count < un->un_victim_retry_count) {
usr/src/uts/common/io/scsi/targets/sd.c
15060
if (xp->xb_retry_count >= un->un_retry_count) {
usr/src/uts/common/io/scsi/targets/sd.c
15062
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
15079
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15086
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
15092
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15098
if (xp->xb_retry_count >= un->un_busy_retry_count) {
usr/src/uts/common/io/scsi/targets/sd.c
15100
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
15105
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15126
sd_ssc_extract_info(&sfip->fm_ssc, un, pktp, bp, xp);
usr/src/uts/common/io/scsi/targets/sd.c
15141
if (un->un_ncmds_in_transport >= un->un_throttle) {
usr/src/uts/common/io/scsi/targets/sd.c
15146
retry_delay = un->un_busy_timeout;
usr/src/uts/common/io/scsi/targets/sd.c
15148
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15157
(*user_funcp)(un, bp, user_arg,
usr/src/uts/common/io/scsi/targets/sd.c
15160
sd_print_incomplete_msg(un, bp, user_arg,
usr/src/uts/common/io/scsi/targets/sd.c
15162
sd_print_cmd_incomplete_msg(un, bp, user_arg,
usr/src/uts/common/io/scsi/targets/sd.c
15164
sd_print_sense_failed_msg(un, bp, user_arg,
usr/src/uts/common/io/scsi/targets/sd.c
15169
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15176
sd_start_cmds(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
15178
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15189
(*user_funcp)(un, bp, user_arg, SD_DELAYED_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
15192
sd_set_retry_bp(un, bp, retry_delay, statp);
usr/src/uts/common/io/scsi/targets/sd.c
15194
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_retry_command: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
15200
(*user_funcp)(un, bp, user_arg, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
15205
SD_INFO(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15208
sd_return_failed_command(un, bp, failure_code);
usr/src/uts/common/io/scsi/targets/sd.c
15210
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_retry_command: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
15228
sd_set_retry_bp(struct sd_lun *un, struct buf *bp, clock_t retry_delay,
usr/src/uts/common/io/scsi/targets/sd.c
15231
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15232
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15235
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15236
"sd_set_retry_bp: entry: un:0x%p bp:0x%p\n", un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
15250
if (un->un_retry_bp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15251
ASSERT(un->un_retry_statp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15252
un->un_retry_bp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
15265
un->un_retry_statp = statp;
usr/src/uts/common/io/scsi/targets/sd.c
15270
if (un->un_retry_bp == bp) {
usr/src/uts/common/io/scsi/targets/sd.c
15277
un->un_retry_statp = statp;
usr/src/uts/common/io/scsi/targets/sd.c
15293
if ((retry_delay != 0) && (un->un_startstop_timeid == NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
15294
(un->un_direct_priority_timeid == NULL)) {
usr/src/uts/common/io/scsi/targets/sd.c
15295
un->un_retry_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
15296
timeout(sd_start_retry_command, un, retry_delay);
usr/src/uts/common/io/scsi/targets/sd.c
15297
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15300
un, bp, un->un_retry_timeid);
usr/src/uts/common/io/scsi/targets/sd.c
15313
if ((un->un_failfast_bp != NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
15314
(un->un_failfast_bp == un->un_waitq_headp)) {
usr/src/uts/common/io/scsi/targets/sd.c
15319
bp->av_forw = un->un_waitq_headp->av_forw;
usr/src/uts/common/io/scsi/targets/sd.c
15320
un->un_waitq_headp->av_forw = bp;
usr/src/uts/common/io/scsi/targets/sd.c
15321
if (un->un_waitq_headp == un->un_waitq_tailp) {
usr/src/uts/common/io/scsi/targets/sd.c
15322
un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
15326
bp->av_forw = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
15327
un->un_waitq_headp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
15328
if (un->un_waitq_tailp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15329
un->un_waitq_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
15336
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15337
"sd_set_retry_bp: un:0x%p already delayed retry\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
15342
SD_UPDATE_KSTATS(un, statp, bp);
usr/src/uts/common/io/scsi/targets/sd.c
15345
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15346
"sd_set_retry_bp: exit un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
15365
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
15367
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15368
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15370
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15373
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15375
un->un_retry_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
15377
if (un->un_retry_bp != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15378
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15380
un, un->un_retry_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15381
sd_start_cmds(un, un->un_retry_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15384
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15386
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15403
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
15405
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15406
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15408
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15411
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15413
if (un->un_rmw_incre_count > 0) {
usr/src/uts/common/io/scsi/targets/sd.c
15414
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
15418
un->un_rmw_incre_count, un->un_tgt_blocksize,
usr/src/uts/common/io/scsi/targets/sd.c
15420
un->un_rmw_incre_count = 0;
usr/src/uts/common/io/scsi/targets/sd.c
15421
un->un_rmw_msg_timeid = timeout(sd_rmw_msg_print_handler,
usr/src/uts/common/io/scsi/targets/sd.c
15422
un, SD_RMW_MSG_PRINT_TIMEOUT);
usr/src/uts/common/io/scsi/targets/sd.c
15424
un->un_rmw_msg_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
15427
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15429
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15450
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
15453
un = SD_GET_UN(priority_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15454
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15455
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15457
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15460
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15461
un->un_direct_priority_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
15462
sd_start_cmds(un, priority_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15463
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15465
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15479
sd_send_request_sense_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
15483
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15484
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15486
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un, "sd_send_request_sense_command: "
usr/src/uts/common/io/scsi/targets/sd.c
15494
if (ddi_in_panic() || (un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
15495
(un->un_state == SD_STATE_DUMPING)) {
usr/src/uts/common/io/scsi/targets/sd.c
15496
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
15497
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15511
if ((un->un_sense_isbusy != 0) || (un->un_ncmds_in_transport > 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
15514
sd_retry_command(un, bp, SD_RETRIES_NOCHECK,
usr/src/uts/common/io/scsi/targets/sd.c
15515
NULL, NULL, 0, un->un_busy_timeout,
usr/src/uts/common/io/scsi/targets/sd.c
15517
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15521
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
15522
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15529
sd_mark_rqs_busy(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
15530
sd_start_cmds(un, un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15532
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15547
sd_mark_rqs_busy(struct sd_lun *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/sd.c
15551
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15553
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15554
ASSERT(un->un_sense_isbusy == 0);
usr/src/uts/common/io/scsi/targets/sd.c
15556
SD_TRACE(SD_LOG_IO_CORE, un, "sd_mark_rqs_busy: entry: "
usr/src/uts/common/io/scsi/targets/sd.c
15557
"buf:0x%p xp:0x%p un:0x%p\n", bp, SD_GET_XBUF(bp), un);
usr/src/uts/common/io/scsi/targets/sd.c
15559
sense_xp = SD_GET_XBUF(un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15562
SD_INFO(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
15569
un->un_sense_isbusy = 1;
usr/src/uts/common/io/scsi/targets/sd.c
15570
un->un_rqs_bp->b_resid = 0;
usr/src/uts/common/io/scsi/targets/sd.c
15577
bzero(un->un_rqs_bp->b_un.b_addr, SENSE_LENGTH);
usr/src/uts/common/io/scsi/targets/sd.c
15603
SD_TRACE(SD_LOG_IO_CORE, un, "sd_mark_rqs_busy: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
15620
sd_mark_rqs_idle(struct sd_lun *un, struct sd_xbuf *sense_xp)
usr/src/uts/common/io/scsi/targets/sd.c
15623
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15625
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15626
ASSERT(un->un_sense_isbusy != 0);
usr/src/uts/common/io/scsi/targets/sd.c
15628
un->un_sense_isbusy = 0;
usr/src/uts/common/io/scsi/targets/sd.c
15651
sd_alloc_rqs(struct scsi_device *devp, struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
15655
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15656
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15657
ASSERT(un->un_rqs_bp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15658
ASSERT(un->un_rqs_pktp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15664
un->un_rqs_bp = scsi_alloc_consistent_buf(&devp->sd_address, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
15666
if (un->un_rqs_bp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15670
un->un_rqs_pktp = scsi_init_pkt(&devp->sd_address, NULL, un->un_rqs_bp,
usr/src/uts/common/io/scsi/targets/sd.c
15673
if (un->un_rqs_pktp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15674
sd_free_rqs(un);
usr/src/uts/common/io/scsi/targets/sd.c
15679
(void) scsi_setup_cdb((union scsi_cdb *)un->un_rqs_pktp->pkt_cdbp,
usr/src/uts/common/io/scsi/targets/sd.c
15682
SD_FILL_SCSI1_LUN(un, un->un_rqs_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
15685
un->un_rqs_pktp->pkt_comp = sdintr;
usr/src/uts/common/io/scsi/targets/sd.c
15686
un->un_rqs_pktp->pkt_time = sd_io_time;
usr/src/uts/common/io/scsi/targets/sd.c
15687
un->un_rqs_pktp->pkt_flags |=
usr/src/uts/common/io/scsi/targets/sd.c
15696
sd_xbuf_init(un, un->un_rqs_bp, xp, SD_CHAIN_NULL, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15697
xp->xb_pktp = un->un_rqs_pktp;
usr/src/uts/common/io/scsi/targets/sd.c
15698
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
15700
un, xp, un->un_rqs_pktp, un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15706
un->un_rqs_pktp->pkt_private = un->un_rqs_bp;
usr/src/uts/common/io/scsi/targets/sd.c
15707
ASSERT(un->un_rqs_bp->b_private == xp);
usr/src/uts/common/io/scsi/targets/sd.c
15726
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
15727
un->un_f_arq_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
15734
(void) scsi_ifsetcap(SD_ADDRESS(un), "auto-rqsense", 1, 1);
usr/src/uts/common/io/scsi/targets/sd.c
15736
switch (scsi_ifgetcap(SD_ADDRESS(un), "auto-rqsense", 1)) {
usr/src/uts/common/io/scsi/targets/sd.c
15738
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
15745
if (scsi_ifsetcap(SD_ADDRESS(un), "auto-rqsense", 1, 1)
usr/src/uts/common/io/scsi/targets/sd.c
15748
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
15750
un->un_f_arq_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
15753
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
15755
un->un_f_arq_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
15763
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
15765
un->un_f_arq_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
15772
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
15774
un->un_f_arq_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
15792
sd_free_rqs(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
15794
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15796
SD_TRACE(SD_LOG_IO_CORE, un, "sd_free_rqs: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
15805
if (un->un_rqs_pktp != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15806
scsi_destroy_pkt(un->un_rqs_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
15807
un->un_rqs_pktp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
15810
if (un->un_rqs_bp != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15811
struct sd_xbuf *xp = SD_GET_XBUF(un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15815
scsi_free_consistent_buf(un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
15816
un->un_rqs_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
15818
SD_TRACE(SD_LOG_IO_CORE, un, "sd_free_rqs: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
15840
sd_reduce_throttle(struct sd_lun *un, int throttle_type)
usr/src/uts/common/io/scsi/targets/sd.c
15842
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15843
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15844
ASSERT(un->un_ncmds_in_transport >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
15846
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_reduce_throttle: "
usr/src/uts/common/io/scsi/targets/sd.c
15848
un, un->un_throttle, un->un_ncmds_in_transport);
usr/src/uts/common/io/scsi/targets/sd.c
15850
if (un->un_throttle > 1) {
usr/src/uts/common/io/scsi/targets/sd.c
15851
if (un->un_f_use_adaptive_throttle == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
15854
if (un->un_busy_throttle == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
15855
un->un_busy_throttle = un->un_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
15859
un->un_busy_throttle = 0;
usr/src/uts/common/io/scsi/targets/sd.c
15865
if (un->un_ncmds_in_transport > 0) {
usr/src/uts/common/io/scsi/targets/sd.c
15866
un->un_throttle = un->un_ncmds_in_transport;
usr/src/uts/common/io/scsi/targets/sd.c
15870
if (un->un_ncmds_in_transport == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
15871
un->un_throttle = 1;
usr/src/uts/common/io/scsi/targets/sd.c
15873
un->un_throttle = un->un_ncmds_in_transport;
usr/src/uts/common/io/scsi/targets/sd.c
15879
if (un->un_reset_throttle_timeid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
15880
un->un_reset_throttle_timeid = timeout(sd_restore_throttle,
usr/src/uts/common/io/scsi/targets/sd.c
15881
un, SD_THROTTLE_RESET_INTERVAL);
usr/src/uts/common/io/scsi/targets/sd.c
15882
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15886
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_reduce_throttle: "
usr/src/uts/common/io/scsi/targets/sd.c
15887
"exit: un:0x%p un_throttle:%d\n", un, un->un_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
15906
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
15908
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15909
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
15911
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15913
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un, "sd_restore_throttle: "
usr/src/uts/common/io/scsi/targets/sd.c
15914
"entry: un:0x%p un_throttle:%d\n", un, un->un_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
15916
un->un_reset_throttle_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
15918
if (un->un_f_use_adaptive_throttle == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
15928
if (un->un_busy_throttle > 0) {
usr/src/uts/common/io/scsi/targets/sd.c
15929
un->un_throttle = un->un_busy_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
15930
un->un_busy_throttle = 0;
usr/src/uts/common/io/scsi/targets/sd.c
15939
throttle = un->un_throttle +
usr/src/uts/common/io/scsi/targets/sd.c
15940
max((un->un_throttle / 10), 1);
usr/src/uts/common/io/scsi/targets/sd.c
15941
un->un_throttle =
usr/src/uts/common/io/scsi/targets/sd.c
15942
(throttle < un->un_saved_throttle) ?
usr/src/uts/common/io/scsi/targets/sd.c
15943
throttle : un->un_saved_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
15944
if (un->un_throttle < un->un_saved_throttle) {
usr/src/uts/common/io/scsi/targets/sd.c
15945
un->un_reset_throttle_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
15947
un,
usr/src/uts/common/io/scsi/targets/sd.c
15958
if (un->un_throttle < un->un_min_throttle) {
usr/src/uts/common/io/scsi/targets/sd.c
15959
un->un_throttle = un->un_saved_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
15962
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un, "sd_restore_throttle: "
usr/src/uts/common/io/scsi/targets/sd.c
15964
un->un_throttle, un->un_saved_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
15965
un->un_throttle = un->un_saved_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
15968
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15971
sd_start_cmds(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
15973
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
15975
un, un->un_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
15977
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
15979
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un, "sd_restore_throttle: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
16011
struct sd_lun *un = (struct sd_lun *)arg;
usr/src/uts/common/io/scsi/targets/sd.c
16013
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16014
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16016
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sdrunout: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
16018
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
16019
sd_start_cmds(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16020
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
16026
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sdrunout: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
16045
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
16055
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
16056
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16057
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16061
SD_INFO(SD_LOG_IOERR, un, "sdintr: sdintr calling Fault injection\n");
usr/src/uts/common/io/scsi/targets/sd.c
16067
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sdintr: entry: buf:0x%p,"
usr/src/uts/common/io/scsi/targets/sd.c
16068
" xp:0x%p, un:0x%p\n", bp, xp, un);
usr/src/uts/common/io/scsi/targets/sd.c
16070
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
16072
ASSERT(un->un_fm_private != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16073
sscp = &((struct sd_fm_internal *)(un->un_fm_private))->fm_ssc;
usr/src/uts/common/io/scsi/targets/sd.c
16077
un->un_ncmds_in_transport--;
usr/src/uts/common/io/scsi/targets/sd.c
16078
ASSERT(un->un_ncmds_in_transport >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
16081
un->un_in_callback++;
usr/src/uts/common/io/scsi/targets/sd.c
16083
SD_UPDATE_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
16086
if (bp == un->un_retry_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
16087
SD_TRACE(SD_LOG_IO | SD_LOG_ERROR, un, "sdintr: "
usr/src/uts/common/io/scsi/targets/sd.c
16089
un, un->un_retry_bp, un->un_ncmds_in_transport);
usr/src/uts/common/io/scsi/targets/sd.c
16099
if (un->un_last_pkt_reason != CMD_DEV_GONE) {
usr/src/uts/common/io/scsi/targets/sd.c
16100
un->un_last_pkt_reason = CMD_DEV_GONE;
usr/src/uts/common/io/scsi/targets/sd.c
16101
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16104
if (un->un_mediastate != DKIO_DEV_GONE) {
usr/src/uts/common/io/scsi/targets/sd.c
16105
un->un_mediastate = DKIO_DEV_GONE;
usr/src/uts/common/io/scsi/targets/sd.c
16106
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
16112
if (bp == un->un_rqs_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
16113
bp = sd_mark_rqs_idle(un, xp);
usr/src/uts/common/io/scsi/targets/sd.c
16115
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16120
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
16130
(un->un_f_arq_enabled == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
16177
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16179
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16193
if ((un->un_f_is_fibre == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
16201
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16204
sd_handle_auto_request_sense(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16211
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16213
sd_handle_request_sense(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16241
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16246
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16250
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16255
sd_return_command(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
16261
un->un_in_callback--;
usr/src/uts/common/io/scsi/targets/sd.c
16262
ASSERT(un->un_in_callback >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
16263
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
16292
if ((un->un_f_is_fibre == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
16307
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16316
sd_send_request_sense_command(un, bp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16318
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16335
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16337
sd_pkt_status_good(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16342
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16344
sd_pkt_status_check_condition(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16348
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16350
sd_pkt_status_busy(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16354
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16356
sd_pkt_status_reservation_conflict(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16360
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16362
sd_pkt_status_qfull(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16370
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16381
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16385
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16392
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16399
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16401
sd_pkt_reason_cmd_incomplete(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16404
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16406
sd_pkt_reason_cmd_tran_err(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16409
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16411
sd_pkt_reason_cmd_reset(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16414
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16416
sd_pkt_reason_cmd_aborted(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16419
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16421
sd_pkt_reason_cmd_timeout(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16424
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16426
sd_pkt_reason_cmd_unx_bus_free(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16429
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16431
sd_pkt_reason_cmd_tag_reject(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16434
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
16443
sd_pkt_reason_default(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16448
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sdintr: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
16451
un->un_in_callback--;
usr/src/uts/common/io/scsi/targets/sd.c
16452
ASSERT(un->un_in_callback >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
16460
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
16479
sd_print_incomplete_msg(struct sd_lun *un, struct buf *bp, void *arg, int code)
usr/src/uts/common/io/scsi/targets/sd.c
16485
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16486
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16504
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16520
sd_pkt_status_good(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
16525
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16526
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16534
SD_TRACE(SD_LOG_IO_CORE, un, "sd_pkt_status_good: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
16536
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
16546
sd_return_command(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
16547
SD_TRACE(SD_LOG_IO_CORE, un, "sd_pkt_status_good: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
16556
sd_retry_command(un, bp, SD_RETRIES_STANDARD, sd_print_incomplete_msg,
usr/src/uts/common/io/scsi/targets/sd.c
16559
SD_TRACE(SD_LOG_IO_CORE, un, "sd_pkt_status_good: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
16580
sd_handle_request_sense(struct sd_lun *un, struct buf *sense_bp,
usr/src/uts/common/io/scsi/targets/sd.c
16588
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16589
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16598
ASSERT(sense_pktp == un->un_rqs_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16599
ASSERT(sense_bp == un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
16617
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
16619
cmd_bp = sd_mark_rqs_idle(un, sense_xp);
usr/src/uts/common/io/scsi/targets/sd.c
16620
sd_retry_command(un, cmd_bp, SD_RETRIES_STANDARD,
usr/src/uts/common/io/scsi/targets/sd.c
16662
(void) sd_mark_rqs_idle(un, sense_xp);
usr/src/uts/common/io/scsi/targets/sd.c
16670
if (sd_validate_sense_data(un, cmd_bp, cmd_xp, actual_len) ==
usr/src/uts/common/io/scsi/targets/sd.c
16672
sd_decode_sense(un, cmd_bp, cmd_xp, cmd_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16675
SD_DUMP_MEMORY(un, SD_LOG_IO_CORE, "Failed CDB",
usr/src/uts/common/io/scsi/targets/sd.c
16677
SD_DUMP_MEMORY(un, SD_LOG_IO_CORE, "Sense Data",
usr/src/uts/common/io/scsi/targets/sd.c
16679
sd_return_failed_command(un, cmd_bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16700
sd_handle_auto_request_sense(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
16706
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16707
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16711
ASSERT(pktp != un->un_rqs_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16712
ASSERT(bp != un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
16726
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16730
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16732
sd_retry_command(un, bp, SD_RETRIES_STANDARD,
usr/src/uts/common/io/scsi/targets/sd.c
16768
if (sd_validate_sense_data(un, bp, xp, actual_len) ==
usr/src/uts/common/io/scsi/targets/sd.c
16770
sd_decode_sense(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16790
sd_print_sense_failed_msg(struct sd_lun *un, struct buf *bp, void *arg,
usr/src/uts/common/io/scsi/targets/sd.c
16795
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16796
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16800
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN, msgp);
usr/src/uts/common/io/scsi/targets/sd.c
16819
sd_validate_sense_data(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
16827
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16828
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16830
ASSERT(bp != un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
16832
ASSERT(un->un_fm_private != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16837
sscp = &((struct sd_fm_internal *)(un->un_fm_private))->fm_ssc;
usr/src/uts/common/io/scsi/targets/sd.c
16848
sd_pkt_status_reservation_conflict(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16852
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16854
sd_retry_command(un, bp, SD_RETRIES_BUSY, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
16855
NULL, EIO, un->un_busy_timeout / 500, kstat_waitq_enter);
usr/src/uts/common/io/scsi/targets/sd.c
16859
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
16861
sd_retry_command(un, bp, SD_RETRIES_STANDARD, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
16862
NULL, EIO, un->un_busy_timeout / 500, kstat_waitq_enter);
usr/src/uts/common/io/scsi/targets/sd.c
16916
if (SD_FM_LOG(un) == SD_FM_LOG_NSUP) {
usr/src/uts/common/io/scsi/targets/sd.c
16917
scsi_log(SD_DEVINFO(un), sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
16930
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
16964
sd_retry_command(un, bp, SD_RETRIES_STANDARD,
usr/src/uts/common/io/scsi/targets/sd.c
16966
un->un_f_is_fibre ? drv_usectohz(100000) : (clock_t)0, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16980
sd_decode_sense(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
16985
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
16986
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
16988
ASSERT(bp != un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/sd.c
16996
sd_sense_key_no_sense(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
16999
sd_sense_key_recoverable_error(un, xp->xb_sense_data,
usr/src/uts/common/io/scsi/targets/sd.c
17003
sd_sense_key_not_ready(un, xp->xb_sense_data,
usr/src/uts/common/io/scsi/targets/sd.c
17008
sd_sense_key_medium_or_hardware_error(un,
usr/src/uts/common/io/scsi/targets/sd.c
17012
sd_sense_key_illegal_request(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
17015
sd_sense_key_unit_attention(un, xp->xb_sense_data,
usr/src/uts/common/io/scsi/targets/sd.c
17021
sd_sense_key_fail_command(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
17024
sd_sense_key_blank_check(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
17027
sd_sense_key_aborted_command(un, bp, xp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
17034
sd_sense_key_default(un, xp->xb_sense_data,
usr/src/uts/common/io/scsi/targets/sd.c
17067
sd_dump_memory(struct sd_lun *un, uint_t comp, char *title, uchar_t *data,
usr/src/uts/common/io/scsi/targets/sd.c
17149
scsi_log(SD_DEVINFO(un), sd_label, CE_NOTE, "%s", local_buf);
usr/src/uts/common/io/scsi/targets/sd.c
17169
sd_print_sense_msg(struct sd_lun *un, struct buf *bp, void *arg, int code)
usr/src/uts/common/io/scsi/targets/sd.c
17180
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17181
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17234
sd_dump_memory(un, SD_LOG_IO, "Failed CDB",
usr/src/uts/common/io/scsi/targets/sd.c
17236
sd_dump_memory(un, SD_LOG_IO, "Sense Data",
usr/src/uts/common/io/scsi/targets/sd.c
17252
if (SD_FM_LOG(un) == SD_FM_LOG_NSUP ||
usr/src/uts/common/io/scsi/targets/sd.c
17255
scsi_vu_errmsg(SD_SCSI_DEVP(un), pktp, sd_label, severity,
usr/src/uts/common/io/scsi/targets/sd.c
17258
un->un_additional_codes, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17271
sd_sense_key_no_sense(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
17276
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17277
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17285
SD_UPDATE_ERRSTATS(un, sd_softerrs);
usr/src/uts/common/io/scsi/targets/sd.c
17287
sd_retry_command(un, bp, SD_RETRIES_STANDARD, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
17301
sd_sense_key_recoverable_error(struct sd_lun *un, uint8_t *sense_datap,
usr/src/uts/common/io/scsi/targets/sd.c
17308
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17309
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17318
sd_return_command(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
17326
SD_UPDATE_ERRSTATS(un, sd_rq_pfa_err);
usr/src/uts/common/io/scsi/targets/sd.c
17330
SD_UPDATE_ERRSTATS(un, sd_softerrs);
usr/src/uts/common/io/scsi/targets/sd.c
17331
SD_UPDATE_ERRSTATS(un, sd_rq_recov_err);
usr/src/uts/common/io/scsi/targets/sd.c
17337
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
17338
sd_return_command(un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
17342
sd_retry_command(un, bp, SD_RETRIES_STANDARD, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
17358
sd_sense_key_not_ready(struct sd_lun *un, uint8_t *sense_datap, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
17365
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17366
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17379
if ((ISCD(un) && (asc == 0x3A)) ||
usr/src/uts/common/io/scsi/targets/sd.c
17381
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
17382
SD_UPDATE_ERRSTATS(un, sd_rq_ntrdy_err);
usr/src/uts/common/io/scsi/targets/sd.c
17388
if (xp->xb_nr_retry_count >= un->un_notready_retry_count) {
usr/src/uts/common/io/scsi/targets/sd.c
17390
if (un->un_f_has_removable_media && (asc == 0x04) &&
usr/src/uts/common/io/scsi/targets/sd.c
17409
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
17439
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
17442
(un->un_startstop_timeid == NULL)) {
usr/src/uts/common/io/scsi/targets/sd.c
17443
scsi_log(SD_DEVINFO(un), sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
17446
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
17451
un->un_reset_retry_count)) &&
usr/src/uts/common/io/scsi/targets/sd.c
17452
(un->un_startstop_timeid == NULL)) {
usr/src/uts/common/io/scsi/targets/sd.c
17453
scsi_log(SD_DEVINFO(un), sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
17456
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
17494
if (un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
17529
if (un->un_startstop_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
17530
SD_INFO(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
17532
" %s%d\n", ddi_driver_name(SD_DEVINFO(un)),
usr/src/uts/common/io/scsi/targets/sd.c
17533
ddi_get_instance(SD_DEVINFO(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17546
un->un_startstop_timeid = timeout(sd_start_stop_unit_callback,
usr/src/uts/common/io/scsi/targets/sd.c
17547
un, un->un_busy_timeout / 2);
usr/src/uts/common/io/scsi/targets/sd.c
17549
sd_set_retry_bp(un, bp, 0, kstat_waitq_enter);
usr/src/uts/common/io/scsi/targets/sd.c
17554
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
17561
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
17565
sr_ejected(un);
usr/src/uts/common/io/scsi/targets/sd.c
17566
un->un_mediastate = DKIO_EJECTED;
usr/src/uts/common/io/scsi/targets/sd.c
17568
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
17574
scsi_log(SD_DEVINFO(un), sd_label, CE_NOTE,
usr/src/uts/common/io/scsi/targets/sd.c
17589
sd_retry_command(un, bp, SD_RETRIES_NOCHECK, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
17590
&si, EIO, un->un_busy_timeout, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17595
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
17596
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
17611
sd_sense_key_medium_or_hardware_error(struct sd_lun *un, uint8_t *sense_datap,
usr/src/uts/common/io/scsi/targets/sd.c
17617
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17618
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17627
SD_UPDATE_ERRSTATS(un, sd_rq_media_err);
usr/src/uts/common/io/scsi/targets/sd.c
17630
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
17632
if ((un->un_reset_retry_count != 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
17633
(xp->xb_retry_count == un->un_reset_retry_count)) {
usr/src/uts/common/io/scsi/targets/sd.c
17634
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
17636
if (un->un_f_allow_bus_device_reset == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
17639
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
17640
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
17643
reset_retval = scsi_reset(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
17647
SD_TRACE(SD_LOG_IO_CORE, un,
usr/src/uts/common/io/scsi/targets/sd.c
17650
(void) scsi_reset(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
17654
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
17661
sd_retry_command(un, bp, SD_RETRIES_STANDARD, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
17676
sd_sense_key_illegal_request(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
17681
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17682
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17687
SD_UPDATE_ERRSTATS(un, sd_rq_illrq_err);
usr/src/uts/common/io/scsi/targets/sd.c
17693
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
17694
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
17709
sd_sense_key_unit_attention(struct sd_lun *un, uint8_t *sense_datap,
usr/src/uts/common/io/scsi/targets/sd.c
17723
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17724
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17736
SD_UPDATE_ERRSTATS(un, sd_rq_pfa_err);
usr/src/uts/common/io/scsi/targets/sd.c
17745
if ((un->un_resvd_status & SD_RESERVE) == SD_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
17746
un->un_resvd_status |=
usr/src/uts/common/io/scsi/targets/sd.c
17749
if (un->un_blockcount + 1 > SD_GROUP1_MAX_ADDRESS) {
usr/src/uts/common/io/scsi/targets/sd.c
17751
un, KM_NOSLEEP) == TASKQID_INVALID) {
usr/src/uts/common/io/scsi/targets/sd.c
17757
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
17766
if (!un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
17785
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
17786
SD_UPDATE_ERRSTATS(un, sd_rq_nodev_err);
usr/src/uts/common/io/scsi/targets/sd.c
17788
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
17789
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
17826
if (taskq_dispatch(sd_tq, sd_target_change_task, un,
usr/src/uts/common/io/scsi/targets/sd.c
17828
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
17838
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
17839
SD_UPDATE_ERRSTATS(un, sd_rq_nodev_err);
usr/src/uts/common/io/scsi/targets/sd.c
17843
sd_retry_command(un, bp, retry_check_flag, sd_print_sense_msg, &si,
usr/src/uts/common/io/scsi/targets/sd.c
17859
sd_sense_key_fail_command(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
17864
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17865
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17873
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
17874
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
17889
sd_sense_key_blank_check(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
17894
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17895
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17904
si.ssi_severity = (un->un_f_has_removable_media) ? SCSI_ERR_ALL :
usr/src/uts/common/io/scsi/targets/sd.c
17908
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
17909
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
17924
sd_sense_key_aborted_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
17929
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17930
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17938
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
17944
sd_retry_command(un, bp, SD_RETRIES_STANDARD, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
17960
sd_sense_key_default(struct sd_lun *un, uint8_t *sense_datap, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
17966
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
17967
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
17972
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
17979
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
17986
sd_retry_command(un, bp, SD_RETRIES_STANDARD, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
18007
sd_print_retry_msg(struct sd_lun *un, struct buf *bp, void *arg, int flag)
usr/src/uts/common/io/scsi/targets/sd.c
18014
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18015
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18022
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
18023
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
18024
if ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
18025
(SD_DEVICE_IS_IN_LOW_POWER(un)) ||
usr/src/uts/common/io/scsi/targets/sd.c
18027
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
18030
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
18043
if (ddi_in_panic() || (un->un_state == SD_STATE_OFFLINE) ||
usr/src/uts/common/io/scsi/targets/sd.c
18044
((pktp->pkt_reason == un->un_last_pkt_reason) &&
usr/src/uts/common/io/scsi/targets/sd.c
18057
if (SD_FM_LOG(un) == SD_FM_LOG_NSUP) {
usr/src/uts/common/io/scsi/targets/sd.c
18058
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
18071
un->un_last_pkt_reason = pktp->pkt_reason;
usr/src/uts/common/io/scsi/targets/sd.c
18091
sd_print_cmd_incomplete_msg(struct sd_lun *un, struct buf *bp, void *arg,
usr/src/uts/common/io/scsi/targets/sd.c
18096
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18097
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18103
if (un->un_state != SD_STATE_OFFLINE) {
usr/src/uts/common/io/scsi/targets/sd.c
18110
dip = un->un_sd->sd_dev;
usr/src/uts/common/io/scsi/targets/sd.c
18113
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
18116
New_state(un, SD_STATE_OFFLINE);
usr/src/uts/common/io/scsi/targets/sd.c
18124
sd_print_retry_msg(un, bp, arg, code);
usr/src/uts/common/io/scsi/targets/sd.c
18139
sd_pkt_reason_cmd_incomplete(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
18144
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18145
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18153
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
18154
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18167
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18169
sd_retry_command(un, bp, flag,
usr/src/uts/common/io/scsi/targets/sd.c
18184
sd_pkt_reason_cmd_tran_err(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
18187
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18188
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18197
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
18201
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
18202
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18205
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18207
sd_retry_command(un, bp, (SD_RETRIES_STANDARD | SD_RETRIES_ISOLATE),
usr/src/uts/common/io/scsi/targets/sd.c
18222
sd_pkt_reason_cmd_reset(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
18225
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18226
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18232
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
18233
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18235
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18244
sd_retry_command(un, bp, (SD_RETRIES_VICTIM | SD_RETRIES_ISOLATE),
usr/src/uts/common/io/scsi/targets/sd.c
18260
sd_pkt_reason_cmd_aborted(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
18263
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18264
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18270
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
18271
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18273
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18282
sd_retry_command(un, bp, (SD_RETRIES_VICTIM | SD_RETRIES_ISOLATE),
usr/src/uts/common/io/scsi/targets/sd.c
18297
sd_pkt_reason_cmd_timeout(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
18300
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18301
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18307
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
18308
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18310
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18317
sd_retry_command(un, bp,
usr/src/uts/common/io/scsi/targets/sd.c
18333
sd_pkt_reason_cmd_unx_bus_free(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
18336
void (*funcp)(struct sd_lun *un, struct buf *bp, void *arg, int code);
usr/src/uts/common/io/scsi/targets/sd.c
18338
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18339
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18344
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
18345
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18350
sd_retry_command(un, bp, (SD_RETRIES_STANDARD | SD_RETRIES_ISOLATE),
usr/src/uts/common/io/scsi/targets/sd.c
18364
sd_pkt_reason_cmd_tag_reject(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
18367
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18368
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18373
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
18375
un->un_tagflags = 0;
usr/src/uts/common/io/scsi/targets/sd.c
18376
if (un->un_f_opt_queueing == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
18377
un->un_throttle = min(un->un_throttle, 3);
usr/src/uts/common/io/scsi/targets/sd.c
18379
un->un_throttle = 1;
usr/src/uts/common/io/scsi/targets/sd.c
18381
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18382
(void) scsi_ifsetcap(SD_ADDRESS(un), "tagged-qing", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
18383
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18385
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18388
sd_retry_command(un, bp, (SD_RETRIES_NOCHECK | SD_RETRIES_ISOLATE),
usr/src/uts/common/io/scsi/targets/sd.c
18403
sd_pkt_reason_default(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
18406
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18407
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18412
SD_UPDATE_ERRSTATS(un, sd_transerrs);
usr/src/uts/common/io/scsi/targets/sd.c
18413
sd_reset_target(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18415
SD_UPDATE_RESERVATION_STATUS(un, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18417
sd_retry_command(un, bp, (SD_RETRIES_STANDARD | SD_RETRIES_ISOLATE),
usr/src/uts/common/io/scsi/targets/sd.c
18432
sd_pkt_status_check_condition(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
18435
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18436
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18441
SD_TRACE(SD_LOG_IO, un, "sd_pkt_status_check_condition: "
usr/src/uts/common/io/scsi/targets/sd.c
18450
if (un->un_f_arq_enabled == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
18451
SD_INFO(SD_LOG_IO_CORE, un, "sd_pkt_status_check_condition: "
usr/src/uts/common/io/scsi/targets/sd.c
18453
sd_send_request_sense_command(un, bp, pktp);
usr/src/uts/common/io/scsi/targets/sd.c
18455
SD_INFO(SD_LOG_IO_CORE, un, "sd_pkt_status_check_condition: "
usr/src/uts/common/io/scsi/targets/sd.c
18461
sd_retry_command(un, bp, SD_RETRIES_STANDARD, NULL, NULL, EIO,
usr/src/uts/common/io/scsi/targets/sd.c
18462
un->un_f_is_fibre?drv_usectohz(100000):(clock_t)0,
usr/src/uts/common/io/scsi/targets/sd.c
18466
SD_TRACE(SD_LOG_IO_CORE, un, "sd_pkt_status_check_condition: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
18479
sd_pkt_status_busy(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
18482
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18483
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18488
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18492
if (xp->xb_retry_count >= un->un_busy_retry_count) {
usr/src/uts/common/io/scsi/targets/sd.c
18493
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
18495
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
18496
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18510
((un->un_reset_retry_count < 2) ? 2 : un->un_reset_retry_count)) {
usr/src/uts/common/io/scsi/targets/sd.c
18512
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18513
if (un->un_f_allow_bus_device_reset == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
18518
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
18519
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18521
rval = scsi_reset(SD_ADDRESS(un), RESET_LUN);
usr/src/uts/common/io/scsi/targets/sd.c
18524
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18526
rval = scsi_reset(SD_ADDRESS(un), RESET_TARGET);
usr/src/uts/common/io/scsi/targets/sd.c
18534
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18536
rval = scsi_reset(SD_ADDRESS(un), RESET_ALL);
usr/src/uts/common/io/scsi/targets/sd.c
18538
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18544
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
18545
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18555
sd_retry_command(un, bp, SD_RETRIES_NOCHECK, NULL, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
18556
EIO, un->un_busy_timeout, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18558
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18573
sd_pkt_status_reservation_conflict(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
18576
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18577
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18587
if (un->un_reservation_type == SD_SCSI3_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
18591
sd_return_failed_command(un, bp, EACCES);
usr/src/uts/common/io/scsi/targets/sd.c
18596
un->un_resvd_status |= SD_RESERVATION_CONFLICT;
usr/src/uts/common/io/scsi/targets/sd.c
18598
if ((un->un_resvd_status & SD_FAILFAST) != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
18601
sd_panic_for_res_conflict(un);
usr/src/uts/common/io/scsi/targets/sd.c
18604
SD_ERROR(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
18606
sd_return_failed_command(un, bp, EACCES);
usr/src/uts/common/io/scsi/targets/sd.c
18620
SD_ERROR(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
18622
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
18632
sd_retry_command(un, bp, SD_RETRIES_STANDARD, NULL, NULL, EIO,
usr/src/uts/common/io/scsi/targets/sd.c
18655
sd_pkt_status_qfull(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
18658
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18659
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18664
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18671
sd_reduce_throttle(un, SD_THROTTLE_QFULL);
usr/src/uts/common/io/scsi/targets/sd.c
18672
sd_retry_command(un, bp, SD_RETRIES_NOCHECK, NULL, NULL, 0,
usr/src/uts/common/io/scsi/targets/sd.c
18675
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18690
sd_reset_target(struct sd_lun *un, struct scsi_pkt *pktp)
usr/src/uts/common/io/scsi/targets/sd.c
18694
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18695
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18698
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_reset_target: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
18705
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18710
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18712
if (un->un_f_allow_bus_device_reset == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
18713
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
18714
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18716
rval = scsi_reset(SD_ADDRESS(un), RESET_LUN);
usr/src/uts/common/io/scsi/targets/sd.c
18719
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18721
rval = scsi_reset(SD_ADDRESS(un), RESET_TARGET);
usr/src/uts/common/io/scsi/targets/sd.c
18726
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18728
(void) scsi_reset(SD_ADDRESS(un), RESET_ALL);
usr/src/uts/common/io/scsi/targets/sd.c
18731
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18733
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un, "sd_reset_target: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
18746
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
18752
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18753
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18755
if ((un->un_f_blockcount_is_valid == FALSE) ||
usr/src/uts/common/io/scsi/targets/sd.c
18756
(un->un_f_tgt_blocksize_is_valid == FALSE)) {
usr/src/uts/common/io/scsi/targets/sd.c
18760
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
18764
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18770
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18771
if (capacity <= un->un_blockcount) {
usr/src/uts/common/io/scsi/targets/sd.c
18772
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18776
sd_update_block_info(un, lbasize, capacity);
usr/src/uts/common/io/scsi/targets/sd.c
18777
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18783
if (cmlb_efi_label_capacity(un->un_cmlbhandle, &label_cap,
usr/src/uts/common/io/scsi/targets/sd.c
18785
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18786
if (un->un_f_blockcount_is_valid &&
usr/src/uts/common/io/scsi/targets/sd.c
18787
un->un_blockcount > label_cap) {
usr/src/uts/common/io/scsi/targets/sd.c
18788
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18789
sd_log_lun_expansion_event(un, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/sd.c
18791
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18808
sd_log_dev_status_event(struct sd_lun *un, char *esc, int km_flag)
usr/src/uts/common/io/scsi/targets/sd.c
18818
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18826
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18832
(void) ddi_pathname(SD_DEVINFO(un), path + n);
usr/src/uts/common/io/scsi/targets/sd.c
18848
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18853
err = ddi_log_sysevent(SD_DEVINFO(un), SUNW_VENDOR,
usr/src/uts/common/io/scsi/targets/sd.c
18856
SD_ERROR(SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
18875
sd_log_lun_expansion_event(struct sd_lun *un, int km_flag)
usr/src/uts/common/io/scsi/targets/sd.c
18877
sd_log_dev_status_event(un, ESC_DEV_DLE, km_flag);
usr/src/uts/common/io/scsi/targets/sd.c
18889
sd_log_eject_request_event(struct sd_lun *un, int km_flag)
usr/src/uts/common/io/scsi/targets/sd.c
18891
sd_log_dev_status_event(un, ESC_DEV_EJECT_REQUEST, km_flag);
usr/src/uts/common/io/scsi/targets/sd.c
18907
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
18920
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
18921
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
18922
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18923
ASSERT(un->un_f_monitor_media_state);
usr/src/uts/common/io/scsi/targets/sd.c
18937
if ((err = sd_handle_mchange(un)) == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
18954
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18956
SD_UPDATE_ERRSTATS(un, sd_harderrs);
usr/src/uts/common/io/scsi/targets/sd.c
18957
SD_UPDATE_ERRSTATS(un, sd_rq_nodev_err);
usr/src/uts/common/io/scsi/targets/sd.c
18959
sd_print_sense_msg(un, bp, &si, SD_NO_RETRY_ISSUED);
usr/src/uts/common/io/scsi/targets/sd.c
18960
sd_return_failed_command(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
18962
sd_retry_command(un, bp, SD_RETRIES_UA, sd_print_sense_msg,
usr/src/uts/common/io/scsi/targets/sd.c
18965
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
18984
sd_handle_mchange(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
18991
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
18992
ASSERT(un->un_f_monitor_media_state);
usr/src/uts/common/io/scsi/targets/sd.c
18994
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
19001
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19002
sd_update_block_info(un, lbasize, capacity);
usr/src/uts/common/io/scsi/targets/sd.c
19004
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
19006
(struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
19008
((uint64_t)un->un_blockcount *
usr/src/uts/common/io/scsi/targets/sd.c
19009
(uint64_t)un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
19015
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
19023
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19024
cmlb_invalidate(un->un_cmlbhandle, (void *)SD_PATH_DIRECT_PRIORITY);
usr/src/uts/common/io/scsi/targets/sd.c
19027
if (cmlb_validate(un->un_cmlbhandle, 0,
usr/src/uts/common/io/scsi/targets/sd.c
19032
if (un->un_f_pkstats_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
19033
sd_set_pstats(un);
usr/src/uts/common/io/scsi/targets/sd.c
19034
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
19036
"set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
19081
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
19084
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
19085
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19086
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19088
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_DOORLOCK: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
19091
if (un->un_f_doorlock_supported == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
19101
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19102
if (un->un_f_ejecting == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
19103
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19106
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19124
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
19139
un->un_f_doorlock_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
19191
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
19195
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
19196
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19197
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19201
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
19202
"sd_send_scsi_READ_CAPACITY: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
1927
#define SD_BEGIN_IOSTART(index, un, bp) \
usr/src/uts/common/io/scsi/targets/sd.c
1928
((*(sd_iostart_chain[index]))(index, un, bp))
usr/src/uts/common/io/scsi/targets/sd.c
1930
#define SD_BEGIN_IODONE(index, un, bp) \
usr/src/uts/common/io/scsi/targets/sd.c
1931
((*(sd_iodone_chain[index]))(index, un, bp))
usr/src/uts/common/io/scsi/targets/sd.c
19311
if ((un->un_f_cfg_is_atapi == TRUE) && (ISCD(un))) {
usr/src/uts/common/io/scsi/targets/sd.c
19329
if (un->un_f_has_removable_media)
usr/src/uts/common/io/scsi/targets/sd.c
1933
#define SD_NEXT_IOSTART(index, un, bp) \
usr/src/uts/common/io/scsi/targets/sd.c
19330
capacity *= (lbasize / un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
1934
((*(sd_iostart_chain[(index) + 1]))((index) + 1, un, bp))
usr/src/uts/common/io/scsi/targets/sd.c
19341
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_READ_CAPACITY: "
usr/src/uts/common/io/scsi/targets/sd.c
1936
#define SD_NEXT_IODONE(index, un, bp) \
usr/src/uts/common/io/scsi/targets/sd.c
1937
((*(sd_iodone_chain[(index) - 1]))((index) - 1, un, bp))
usr/src/uts/common/io/scsi/targets/sd.c
19410
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
19414
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
19415
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19416
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19420
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
19421
"sd_send_scsi_READ_CAPACITY: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
19495
un->un_thin_flags = 0;
usr/src/uts/common/io/scsi/targets/sd.c
19497
un->un_thin_flags |= SD_THIN_PROV_ENABLED;
usr/src/uts/common/io/scsi/targets/sd.c
19499
un->un_thin_flags |= SD_THIN_PROV_READ_ZEROS;
usr/src/uts/common/io/scsi/targets/sd.c
19551
if ((un->un_f_cfg_is_atapi == TRUE) && (ISCD(un))) {
usr/src/uts/common/io/scsi/targets/sd.c
19569
if (un->un_f_has_removable_media)
usr/src/uts/common/io/scsi/targets/sd.c
19570
capacity *= (lbasize / un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
19576
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_READ_CAPACITY_16: "
usr/src/uts/common/io/scsi/targets/sd.c
19628
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
19631
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
19632
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19633
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19635
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
19636
"sd_send_scsi_START_STOP_UNIT: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
19638
if (un->un_f_check_start_stop &&
usr/src/uts/common/io/scsi/targets/sd.c
19641
(un->un_f_start_stop_supported != TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
19651
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19652
if (un->un_f_ejecting == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
19653
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19656
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19715
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_START_STOP_UNIT: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
19735
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
19736
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19737
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19739
SD_TRACE(SD_LOG_IO, un, "sd_start_stop_unit_callback: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
19741
(void) taskq_dispatch(sd_tq, sd_start_stop_unit_task, un, KM_NOSLEEP);
usr/src/uts/common/io/scsi/targets/sd.c
19758
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
19763
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19764
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19766
SD_TRACE(SD_LOG_IO, un, "sd_start_stop_unit_task: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
19772
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19773
if (un->un_f_format_in_progress == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
19774
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19777
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19779
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
19790
if (un->un_f_power_condition_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
19791
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19792
ASSERT(SD_PM_IS_LEVEL_VALID(un, un->un_power_level));
usr/src/uts/common/io/scsi/targets/sd.c
19793
power_level = sd_pwr_pc.ran_perf[un->un_power_level]
usr/src/uts/common/io/scsi/targets/sd.c
19794
> 0 ? un->un_power_level : SD_SPINDLE_ACTIVE;
usr/src/uts/common/io/scsi/targets/sd.c
19795
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19829
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19830
SD_TRACE(SD_LOG_IO_CORE | SD_LOG_ERROR, un,
usr/src/uts/common/io/scsi/targets/sd.c
19832
un, un->un_retry_bp);
usr/src/uts/common/io/scsi/targets/sd.c
19833
un->un_startstop_timeid = NULL; /* Timeout is no longer pending */
usr/src/uts/common/io/scsi/targets/sd.c
19834
sd_start_cmds(un, un->un_retry_bp);
usr/src/uts/common/io/scsi/targets/sd.c
19835
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19837
SD_TRACE(SD_LOG_IO, un, "sd_start_stop_unit_task: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
19867
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
19870
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
19871
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19872
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19875
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_INQUIRY: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
19909
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_INQUIRY: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
19949
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
19952
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
19953
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
19954
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
19956
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
19957
"sd_send_scsi_TEST_UNIT_READY: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
19969
if (un->un_f_cfg_tur_check == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
19970
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19971
if (un->un_ncmds_in_transport != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
19972
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
19975
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20030
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_TEST_UNIT_READY: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
20060
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
20063
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20064
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
20065
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
20068
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20069
"sd_send_scsi_PERSISTENT_RESERVE_IN: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
20123
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_PERSISTENT_RESERVE_IN: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
20168
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
20171
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20172
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
20173
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
20176
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20177
"sd_send_scsi_PERSISTENT_RESERVE_OUT: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
20280
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_PERSISTENT_RESERVE_OUT: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
20322
sd_send_scsi_SYNCHRONIZE_CACHE(struct sd_lun *un, struct dk_callback *dkc)
usr/src/uts/common/io/scsi/targets/sd.c
20331
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20332
"sd_send_scsi_SYNCHRONIZE_CACHE: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
20334
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
20335
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
20343
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20345
if (un->un_f_suppress_cache_flush == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
20346
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20351
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_SYNCHRONIZE_CACHE: \
usr/src/uts/common/io/scsi/targets/sd.c
20353
un->un_f_suppress_cache_flush);
usr/src/uts/common/io/scsi/targets/sd.c
20361
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20370
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20371
if (dkc != NULL && un->un_f_sync_nv_supported &&
usr/src/uts/common/io/scsi/targets/sd.c
20379
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20423
bp->b_edev = SD_GET_DEV(un);
usr/src/uts/common/io/scsi/targets/sd.c
20429
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20430
un->un_f_sync_cache_required = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
20431
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20458
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
20471
un = ddi_get_soft_state(sd_state, SD_GET_INSTANCE_FROM_BUF(bp));
usr/src/uts/common/io/scsi/targets/sd.c
20472
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
20493
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20494
un->un_f_sync_nv_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
20495
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20497
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20503
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20504
un->un_f_sync_cache_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
20505
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20506
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20525
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20526
un->un_f_sync_cache_required = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
20527
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
20533
if (!un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
20534
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
20563
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20589
ucmd_buf.uscsi_timeout = un->un_cmd_timeout;
usr/src/uts/common/io/scsi/targets/sd.c
20598
if (un->un_unmapstats) {
usr/src/uts/common/io/scsi/targets/sd.c
20599
atomic_inc_64(&un->un_unmapstats->us_cmds.value.ui64);
usr/src/uts/common/io/scsi/targets/sd.c
20600
atomic_add_64(&un->un_unmapstats->us_extents.value.ui64,
usr/src/uts/common/io/scsi/targets/sd.c
20602
atomic_add_64(&un->un_unmapstats->us_bytes.value.ui64,
usr/src/uts/common/io/scsi/targets/sd.c
20607
if (un->un_unmapstats)
usr/src/uts/common/io/scsi/targets/sd.c
20608
atomic_inc_64(&un->un_unmapstats->us_errs.value.ui64);
usr/src/uts/common/io/scsi/targets/sd.c
20618
if (un->un_unmapstats)
usr/src/uts/common/io/scsi/targets/sd.c
20619
atomic_inc_64(&un->un_unmapstats->us_errs.value.ui64);
usr/src/uts/common/io/scsi/targets/sd.c
20648
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20650
sd_blk_limits_t *lim = &un->un_blk_lim;
usr/src/uts/common/io/scsi/targets/sd.c
20662
rval = cmlb_partinfo(un->un_cmlbhandle, partition, &part_len_sysblks,
usr/src/uts/common/io/scsi/targets/sd.c
20669
ASSERT(un->un_blk_lim.lim_max_unmap_lba_cnt != 0);
usr/src/uts/common/io/scsi/targets/sd.c
20670
ASSERT(un->un_blk_lim.lim_max_unmap_descr_cnt != 0);
usr/src/uts/common/io/scsi/targets/sd.c
20673
(uint64_t)lim->lim_max_unmap_lba_cnt * un->un_tgt_blocksize :
usr/src/uts/common/io/scsi/targets/sd.c
20691
bytes_issued), SD_TGTBLOCKS2BYTES(un, UINT32_MAX));
usr/src/uts/common/io/scsi/targets/sd.c
20708
ubd->ubd_lba = BE_64(SD_BYTES2TGTBLOCKS(un,
usr/src/uts/common/io/scsi/targets/sd.c
20710
ubd->ubd_lba_cnt = BE_32(SD_BYTES2TGTBLOCKS(un, len));
usr/src/uts/common/io/scsi/targets/sd.c
20754
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20757
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
20761
if (!(un->un_thin_flags & SD_THIN_PROV_ENABLED) ||
usr/src/uts/common/io/scsi/targets/sd.c
20762
un->un_blk_lim.lim_max_unmap_descr_cnt == 0 ||
usr/src/uts/common/io/scsi/targets/sd.c
20763
un->un_blk_lim.lim_max_unmap_lba_cnt == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
20815
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
20818
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20819
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
20820
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
20825
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20826
"sd_send_scsi_GET_CONFIGURATION: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
20869
SD_DUMP_MEMORY(un, SD_LOG_IO,
usr/src/uts/common/io/scsi/targets/sd.c
20874
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
2088
sd_log_err(uint_t comp, struct sd_lun *un, const char *fmt, ...)
usr/src/uts/common/io/scsi/targets/sd.c
20907
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
20910
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
20911
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
20912
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
20917
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
20918
"sd_send_scsi_feature_GET_CONFIGURATION: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
2093
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
2094
dev = SD_DEVINFO(un);
usr/src/uts/common/io/scsi/targets/sd.c
20962
SD_DUMP_MEMORY(un, SD_LOG_IO,
usr/src/uts/common/io/scsi/targets/sd.c
20967
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
21009
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
21012
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
21013
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21014
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
21019
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
21020
"sd_send_scsi_MODE_SENSE: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
2103
((sd_debug_un == NULL) || (sd_debug_un == un))) {
usr/src/uts/common/io/scsi/targets/sd.c
21040
SD_FILL_SCSI1_LUN_CDB(un, &cdb);
usr/src/uts/common/io/scsi/targets/sd.c
21083
SD_DUMP_MEMORY(un, SD_LOG_IO, "sd_send_scsi_MODE_SENSE: data",
usr/src/uts/common/io/scsi/targets/sd.c
21086
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_MODE_SENSE: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
21126
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
21129
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
2113
if (un->sd_injection_mask & comp) {
usr/src/uts/common/io/scsi/targets/sd.c
21130
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21131
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
21136
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
21137
"sd_send_scsi_MODE_SELECT: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
21159
SD_FILL_SCSI1_LUN_CDB(un, &cdb);
usr/src/uts/common/io/scsi/targets/sd.c
2118
sd_injection_log(sd_log_buf, un);
usr/src/uts/common/io/scsi/targets/sd.c
21191
SD_DUMP_MEMORY(un, SD_LOG_IO, "sd_send_scsi_MODE_SELECT: data",
usr/src/uts/common/io/scsi/targets/sd.c
21194
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_MODE_SELECT: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
21236
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
21239
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
21240
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21241
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
21245
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_RDWR: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
21247
if (un->un_f_tgt_blocksize_is_valid != TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
21251
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21252
block_count = SD_BYTES2TGTBLOCKS(un, buflen);
usr/src/uts/common/io/scsi/targets/sd.c
21253
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21257
SD_INFO(SD_LOG_IO, un, "sd_send_scsi_RDWR: "
usr/src/uts/common/io/scsi/targets/sd.c
21269
(un->un_f_cfg_is_atapi == TRUE))
usr/src/uts/common/io/scsi/targets/sd.c
21297
SD_FILL_SCSI1_LUN_CDB(un, &cdb);
usr/src/uts/common/io/scsi/targets/sd.c
21328
SD_DUMP_MEMORY(un, SD_LOG_IO, "sd_send_scsi_RDWR: data",
usr/src/uts/common/io/scsi/targets/sd.c
21332
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_RDWR: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
21360
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
21363
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
21364
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21365
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
21367
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_LOG_SENSE: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
2137
sd_log_info(uint_t component, struct sd_lun *un, const char *fmt, ...)
usr/src/uts/common/io/scsi/targets/sd.c
2142
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21426
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21427
un->un_start_stop_cycle_page =
usr/src/uts/common/io/scsi/targets/sd.c
2143
dev = SD_DEVINFO(un);
usr/src/uts/common/io/scsi/targets/sd.c
21431
un->un_start_stop_cycle_page;
usr/src/uts/common/io/scsi/targets/sd.c
21432
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21457
SD_DUMP_MEMORY(un, SD_LOG_IO, "sd_send_scsi_LOG_SENSE: data",
usr/src/uts/common/io/scsi/targets/sd.c
21461
SD_TRACE(SD_LOG_IO, un, "sd_send_scsi_LOG_SENSE: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
21491
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
21494
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
21495
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21496
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
21499
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
21500
"sd_send_scsi_GET_EVENT_STATUS_NOTIFICATION: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
2153
((sd_debug_un == NULL) || (sd_debug_un == un))) {
usr/src/uts/common/io/scsi/targets/sd.c
21535
SD_TRACE(SD_LOG_IO, un,
usr/src/uts/common/io/scsi/targets/sd.c
21582
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
21594
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
21598
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
21601
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
21603
is_valid = SD_IS_VALID_LABEL(un);
usr/src/uts/common/io/scsi/targets/sd.c
21611
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21612
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
21613
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
21614
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21624
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
2163
if (un->sd_injection_mask & component) {
usr/src/uts/common/io/scsi/targets/sd.c
21672
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
21673
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
21674
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
21675
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
2168
sd_injection_log(sd_log_buf, un);
usr/src/uts/common/io/scsi/targets/sd.c
21683
if (!un->un_f_eject_media_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
21684
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
21685
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
21686
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21692
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21695
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21696
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
21697
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
21698
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21702
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21730
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21732
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21746
if (un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
21756
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
21757
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
21758
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21766
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21770
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCINFO\n");
usr/src/uts/common/io/scsi/targets/sd.c
21775
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCGMEDIAINFO\n");
usr/src/uts/common/io/scsi/targets/sd.c
21780
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCGMEDIAINFOEXT\n");
usr/src/uts/common/io/scsi/targets/sd.c
21804
SD_TRACE(SD_LOG_IOCTL, un, "DKIOC %d\n", cmd);
usr/src/uts/common/io/scsi/targets/sd.c
21808
if (un->un_f_has_removable_media)
usr/src/uts/common/io/scsi/targets/sd.c
21818
err = cmlb_ioctl(un->un_cmlbhandle, dev,
usr/src/uts/common/io/scsi/targets/sd.c
21823
((un->un_f_pkstats_enabled) &&
usr/src/uts/common/io/scsi/targets/sd.c
21827
tmprval = cmlb_validate(un->un_cmlbhandle, CMLB_SILENT,
usr/src/uts/common/io/scsi/targets/sd.c
21829
if ((tmprval == 0) && un->un_f_pkstats_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
21830
sd_set_pstats(un);
usr/src/uts/common/io/scsi/targets/sd.c
21831
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
21833
"set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
21840
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21841
if (un->un_f_devid_supported &&
usr/src/uts/common/io/scsi/targets/sd.c
21842
(un->un_f_opt_fab_devid == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
21843
if (un->un_devid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
21844
sd_register_devid(ssc, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
21855
ddi_devid_free(un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
21856
un->un_devid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
21860
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
21866
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCLOCK\n");
usr/src/uts/common/io/scsi/targets/sd.c
2187
sd_log_trace(uint_t component, struct sd_lun *un, const char *fmt, ...)
usr/src/uts/common/io/scsi/targets/sd.c
21872
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCUNLOCK\n");
usr/src/uts/common/io/scsi/targets/sd.c
21879
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCSTATE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21886
if (ddi_copyout(&un->un_mediastate, (void *)arg,
usr/src/uts/common/io/scsi/targets/sd.c
21895
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCREMOVABLE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21896
i = un->un_f_has_removable_media ? 1 : 0;
usr/src/uts/common/io/scsi/targets/sd.c
21905
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCSOLIDSTATE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21906
i = un->un_f_is_solid_state ? 1 : 0;
usr/src/uts/common/io/scsi/targets/sd.c
21915
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCHOTPLUGGABLE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21916
i = un->un_f_is_hotpluggable ? 1 : 0;
usr/src/uts/common/io/scsi/targets/sd.c
2192
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
21925
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCREADONLY\n");
usr/src/uts/common/io/scsi/targets/sd.c
21927
if ((ISCD(un) && !un->un_f_mmc_writable_media) ||
usr/src/uts/common/io/scsi/targets/sd.c
2193
dev = SD_DEVINFO(un);
usr/src/uts/common/io/scsi/targets/sd.c
21939
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCGTEMPERATURE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21944
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCENFAILFAST\n");
usr/src/uts/common/io/scsi/targets/sd.c
21951
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCTKOWN\n");
usr/src/uts/common/io/scsi/targets/sd.c
21958
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCRELEASE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21965
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCSTATUS\n");
usr/src/uts/common/io/scsi/targets/sd.c
21984
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCQRESERVE\n");
usr/src/uts/common/io/scsi/targets/sd.c
21991
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCREREGISTERDEVID\n");
usr/src/uts/common/io/scsi/targets/sd.c
21994
} else if (!un->un_f_devid_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
22002
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_INKEYS\n");
usr/src/uts/common/io/scsi/targets/sd.c
22005
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
22015
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_INRESV\n");
usr/src/uts/common/io/scsi/targets/sd.c
22018
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
22027
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_REGISTER\n");
usr/src/uts/common/io/scsi/targets/sd.c
22029
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
2203
((sd_debug_un == NULL) || (sd_debug_un == un))) {
usr/src/uts/common/io/scsi/targets/sd.c
22049
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_CLEAR\n");
usr/src/uts/common/io/scsi/targets/sd.c
22051
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
22071
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_RESERVE\n");
usr/src/uts/common/io/scsi/targets/sd.c
22073
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
22093
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_PREEMPTANDABORT\n");
usr/src/uts/common/io/scsi/targets/sd.c
22095
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
22116
SD_TRACE(SD_LOG_IOCTL, un, "MHIOCGRP_REGISTERANDIGNOREKEY\n");
usr/src/uts/common/io/scsi/targets/sd.c
22118
if (un->un_reservation_type == SD_SCSI2_RESERVATION) {
usr/src/uts/common/io/scsi/targets/sd.c
2213
if (un->sd_injection_mask & component) {
usr/src/uts/common/io/scsi/targets/sd.c
22139
SD_TRACE(SD_LOG_IOCTL, un, "USCSICMD\n");
usr/src/uts/common/io/scsi/targets/sd.c
22148
if (un->un_f_format_in_progress == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
22164
SD_TRACE(SD_LOG_IOCTL, un, "USCSIMAXXFER\n");
usr/src/uts/common/io/scsi/targets/sd.c
22169
const uscsi_xfer_t xfer = un->un_max_xfer_size;
usr/src/uts/common/io/scsi/targets/sd.c
2218
sd_injection_log(sd_log_buf, un);
usr/src/uts/common/io/scsi/targets/sd.c
22182
SD_TRACE(SD_LOG_IOCTL, un, "PAUSE-RESUME\n");
usr/src/uts/common/io/scsi/targets/sd.c
22183
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22191
SD_TRACE(SD_LOG_IOCTL, un, "CDROMPLAYMSF\n");
usr/src/uts/common/io/scsi/targets/sd.c
22192
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22200
SD_TRACE(SD_LOG_IOCTL, un, "CDROMPLAYTRKIND\n");
usr/src/uts/common/io/scsi/targets/sd.c
22205
if (!ISCD(un) || (un->un_f_cfg_is_atapi == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
22207
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22216
SD_TRACE(SD_LOG_IOCTL, un, "CDROMREADTOCHDR\n");
usr/src/uts/common/io/scsi/targets/sd.c
22217
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22225
SD_TRACE(SD_LOG_IOCTL, un, "CDROMREADTOCENTRY\n");
usr/src/uts/common/io/scsi/targets/sd.c
22226
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22234
SD_TRACE(SD_LOG_IOCTL, un, "CDROMSTOP\n");
usr/src/uts/common/io/scsi/targets/sd.c
22235
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22245
SD_TRACE(SD_LOG_IOCTL, un, "CDROMSTART\n");
usr/src/uts/common/io/scsi/targets/sd.c
22246
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22256
SD_TRACE(SD_LOG_IOCTL, un, "CDROMCLOSETRAY\n");
usr/src/uts/common/io/scsi/targets/sd.c
22257
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22269
SD_TRACE(SD_LOG_IOCTL, un, "EJECT\n");
usr/src/uts/common/io/scsi/targets/sd.c
22270
if (!un->un_f_eject_media_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
22278
SD_TRACE(SD_LOG_IOCTL, un, "CDROMVOLCTRL\n");
usr/src/uts/common/io/scsi/targets/sd.c
22279
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22287
SD_TRACE(SD_LOG_IOCTL, un, "CDROMSUBCHNL\n");
usr/src/uts/common/io/scsi/targets/sd.c
22288
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22296
SD_TRACE(SD_LOG_IOCTL, un, "CDROMREADMODE2\n");
usr/src/uts/common/io/scsi/targets/sd.c
22297
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22299
} else if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
22312
SD_TRACE(SD_LOG_IOCTL, un, "CDROMREADMODE1\n");
usr/src/uts/common/io/scsi/targets/sd.c
22313
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22321
SD_TRACE(SD_LOG_IOCTL, un, "CDROMREADOFFSET\n");
usr/src/uts/common/io/scsi/targets/sd.c
22322
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22331
SD_TRACE(SD_LOG_IOCTL, un, "CDROMSBLKMODE\n");
usr/src/uts/common/io/scsi/targets/sd.c
22336
if (!ISCD(un) || (un->un_f_cfg_is_atapi == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
22338
} else if (un->un_f_mmc_cap == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
22350
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22351
if ((!(un->un_exclopen & (1<<SDPART(dev)))) ||
usr/src/uts/common/io/scsi/targets/sd.c
22352
(un->un_ncmds_in_transport > 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
22353
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22356
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22363
SD_TRACE(SD_LOG_IOCTL, un, "CDROMGBLKMODE\n");
usr/src/uts/common/io/scsi/targets/sd.c
22364
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22366
} else if ((un->un_f_cfg_is_atapi != FALSE) &&
usr/src/uts/common/io/scsi/targets/sd.c
22367
(un->un_f_blockcount_is_valid != FALSE)) {
usr/src/uts/common/io/scsi/targets/sd.c
22374
if (ddi_copyout(&un->un_tgt_blocksize, (void *)arg,
usr/src/uts/common/io/scsi/targets/sd.c
22392
SD_TRACE(SD_LOG_IOCTL, un, "CDROMXDRVSPEED\n");
usr/src/uts/common/io/scsi/targets/sd.c
22393
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22395
} else if (un->un_f_mmc_cap == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
22424
} else if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
22432
SD_TRACE(SD_LOG_IOCTL, un, "CDROMCDDA\n");
usr/src/uts/common/io/scsi/targets/sd.c
22433
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22441
SD_TRACE(SD_LOG_IOCTL, un, "CDROMCDXA\n");
usr/src/uts/common/io/scsi/targets/sd.c
22442
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22450
SD_TRACE(SD_LOG_IOCTL, un, "CDROMSUBCODE\n");
usr/src/uts/common/io/scsi/targets/sd.c
22451
if (!ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22467
SD_INFO(SD_LOG_IOCTL, un, "sdioctl: DKIOCRESET: "
usr/src/uts/common/io/scsi/targets/sd.c
22469
if (scsi_reset(SD_ADDRESS(un), reset_level)) {
usr/src/uts/common/io/scsi/targets/sd.c
22479
SD_INFO(SD_LOG_IOCTL, un, "sdioctl: DKIOCABORT:\n");
usr/src/uts/common/io/scsi/targets/sd.c
22480
if (scsi_abort(SD_ADDRESS(un), NULL)) {
usr/src/uts/common/io/scsi/targets/sd.c
22499
SD_INFO(SD_LOG_SDTEST, un, "sdioctl:"
usr/src/uts/common/io/scsi/targets/sd.c
22502
sd_faultinjection_ioctl(cmd, arg, un);
usr/src/uts/common/io/scsi/targets/sd.c
22512
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22513
if (!un->un_f_sync_cache_supported ||
usr/src/uts/common/io/scsi/targets/sd.c
22514
!un->un_f_write_cache_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
22515
err = un->un_f_sync_cache_supported ?
usr/src/uts/common/io/scsi/targets/sd.c
22517
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22531
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22536
err = sd_send_scsi_SYNCHRONIZE_CACHE(un, dkc);
usr/src/uts/common/io/scsi/targets/sd.c
22539
err = sd_send_scsi_SYNCHRONIZE_CACHE(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
22561
SD_TRACE(SD_LOG_IOCTL, un, "DKIOC_CANFREE\n");
usr/src/uts/common/io/scsi/targets/sd.c
22562
i = (un->un_thin_flags & SD_THIN_PROV_ENABLED) ? 1 : 0;
usr/src/uts/common/io/scsi/targets/sd.c
22589
if (!un->un_f_cache_mode_changeable) {
usr/src/uts/common/io/scsi/targets/sd.c
22604
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22610
if (un->un_f_opt_disable_cache && wce) {
usr/src/uts/common/io/scsi/targets/sd.c
22611
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22620
while (un->un_f_wcc_inprog)
usr/src/uts/common/io/scsi/targets/sd.c
22621
cv_wait(&un->un_wcc_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22623
un->un_f_wcc_inprog = 1;
usr/src/uts/common/io/scsi/targets/sd.c
22625
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22631
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22632
un->un_f_wcc_inprog = 0;
usr/src/uts/common/io/scsi/targets/sd.c
22633
cv_broadcast(&un->un_wcc_cv);
usr/src/uts/common/io/scsi/targets/sd.c
22634
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22638
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22639
un->un_f_write_cache_enabled = (cur_wce != 0);
usr/src/uts/common/io/scsi/targets/sd.c
22641
if (un->un_f_write_cache_enabled && wce == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
22647
sync_supported = un->un_f_sync_cache_supported;
usr/src/uts/common/io/scsi/targets/sd.c
22655
if (!un->un_f_suppress_cache_flush) {
usr/src/uts/common/io/scsi/targets/sd.c
22656
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22661
err = sd_send_scsi_SYNCHRONIZE_CACHE(un,
usr/src/uts/common/io/scsi/targets/sd.c
22665
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22668
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22670
un->un_f_write_cache_enabled = 0;
usr/src/uts/common/io/scsi/targets/sd.c
22673
} else if (!un->un_f_write_cache_enabled && wce != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
22679
un->un_f_write_cache_enabled = 1;
usr/src/uts/common/io/scsi/targets/sd.c
22687
if (!un->un_f_suppress_cache_flush) {
usr/src/uts/common/io/scsi/targets/sd.c
22688
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22692
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22695
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22698
un->un_f_write_cache_enabled = 0;
usr/src/uts/common/io/scsi/targets/sd.c
22702
un->un_f_wcc_inprog = 0;
usr/src/uts/common/io/scsi/targets/sd.c
22703
cv_broadcast(&un->un_wcc_cv);
usr/src/uts/common/io/scsi/targets/sd.c
22704
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22712
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22713
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
22714
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
22715
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22721
SD_TRACE(SD_LOG_IOCTL, un, "sdioctl: exit: %d\n", err);
usr/src/uts/common/io/scsi/targets/sd.c
22725
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22726
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
22727
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
22728
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
22736
SD_TRACE(SD_LOG_IOCTL, un, "sdioctl: exit: %d\n", err);
usr/src/uts/common/io/scsi/targets/sd.c
22761
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
22766
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
22773
switch (un->un_ctype) {
usr/src/uts/common/io/scsi/targets/sd.c
22781
pdip = ddi_get_parent(SD_DEVINFO(un));
usr/src/uts/common/io/scsi/targets/sd.c
22790
lun = ddi_prop_get_int(DDI_DEV_T_ANY, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
22792
tgt = ddi_prop_get_int(DDI_DEV_T_ANY, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
22796
info->dki_unit = ddi_get_instance(SD_DEVINFO(un));
usr/src/uts/common/io/scsi/targets/sd.c
22798
(void) strncpy(info->dki_dname, ddi_driver_name(SD_DEVINFO(un)),
usr/src/uts/common/io/scsi/targets/sd.c
22804
info->dki_maxtransfer = un->un_max_xfer_size / un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
22841
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
22854
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
22855
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
22859
SD_TRACE(SD_LOG_IOCTL_DKIO, un, "sd_get_media_info_com: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
22863
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
22874
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
22878
if (un->un_f_mmc_cap == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
22918
sinq = un->un_sd->sd_inq;
usr/src/uts/common/io/scsi/targets/sd.c
22946
if (dki_pbsize && un->un_f_descr_format_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
22954
pbsize = MAX(pbsize, un->un_phy_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
22958
!un->un_f_descr_format_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
22964
if (un->un_f_enable_rmw &&
usr/src/uts/common/io/scsi/targets/sd.c
22965
un->un_phy_blocksize != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
22966
pbsize = un->un_phy_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
22977
if (un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
22978
media_capacity *= un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
22990
if (un->un_f_enable_rmw &&
usr/src/uts/common/io/scsi/targets/sd.c
23003
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23004
if ((un->un_f_blockcount_is_valid == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
23005
(un->un_f_tgt_blocksize_is_valid == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
23006
(capacity > un->un_blockcount)) {
usr/src/uts/common/io/scsi/targets/sd.c
23007
un->un_f_expnevent = B_FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
23008
sd_update_block_info(un, lbasize, capacity);
usr/src/uts/common/io/scsi/targets/sd.c
23010
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23118
sd_watch_request_submit(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
23123
dev = sd_make_device(SD_DEVINFO(un));
usr/src/uts/common/io/scsi/targets/sd.c
23125
if (un->un_f_mmc_cap && un->un_f_mmc_gesn_polling) {
usr/src/uts/common/io/scsi/targets/sd.c
23126
return (scsi_mmc_watch_request_submit(SD_SCSI_DEVP(un),
usr/src/uts/common/io/scsi/targets/sd.c
23130
return (scsi_watch_request_submit(SD_SCSI_DEVP(un),
usr/src/uts/common/io/scsi/targets/sd.c
23163
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23169
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23173
SD_TRACE(SD_LOG_COMMON, un, "sd_check_media: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
23175
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
23177
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23179
SD_TRACE(SD_LOG_COMMON, un, "sd_check_media: "
usr/src/uts/common/io/scsi/targets/sd.c
23180
"state=%x, mediastate=%x\n", state, un->un_mediastate);
usr/src/uts/common/io/scsi/targets/sd.c
23182
prev_state = un->un_mediastate;
usr/src/uts/common/io/scsi/targets/sd.c
23185
if (state == un->un_mediastate || un->un_mediastate == DKIO_NONE) {
usr/src/uts/common/io/scsi/targets/sd.c
23190
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23199
if (sd_pm_entry(un) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
23200
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23204
token = sd_watch_request_submit(un);
usr/src/uts/common/io/scsi/targets/sd.c
23206
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
23208
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23223
un->un_ncmds_in_driver--;
usr/src/uts/common/io/scsi/targets/sd.c
23224
ASSERT(un->un_ncmds_in_driver >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
23230
un->un_swr_token = token;
usr/src/uts/common/io/scsi/targets/sd.c
23231
un->un_specified_mediastate = state;
usr/src/uts/common/io/scsi/targets/sd.c
23239
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23241
while (un->un_mediastate == state) {
usr/src/uts/common/io/scsi/targets/sd.c
23242
if (cv_wait_sig(&un->un_state_cv, SD_MUTEX(un)) == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
23243
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23246
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
23250
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23252
un->un_mediastate);
usr/src/uts/common/io/scsi/targets/sd.c
23258
un->un_ncmds_in_driver++;
usr/src/uts/common/io/scsi/targets/sd.c
23262
if (prev_state == DKIO_INSERTED && un->un_mediastate == DKIO_EJECTED) {
usr/src/uts/common/io/scsi/targets/sd.c
23263
sr_ejected(un);
usr/src/uts/common/io/scsi/targets/sd.c
23266
if (un->un_mediastate == DKIO_INSERTED && prev_state != DKIO_INSERTED) {
usr/src/uts/common/io/scsi/targets/sd.c
23270
SD_TRACE(SD_LOG_COMMON, un, "sd_check_media: media inserted\n");
usr/src/uts/common/io/scsi/targets/sd.c
23271
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23278
if (sd_pm_entry(un) == DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
23282
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
23288
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23293
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23296
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23298
sd_update_block_info(un, lbasize, capacity);
usr/src/uts/common/io/scsi/targets/sd.c
23303
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
23307
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23308
cmlb_invalidate(un->un_cmlbhandle, (void *)SD_PATH_DIRECT);
usr/src/uts/common/io/scsi/targets/sd.c
23309
if ((cmlb_validate(un->un_cmlbhandle, 0,
usr/src/uts/common/io/scsi/targets/sd.c
23310
(void *)SD_PATH_DIRECT) == 0) && un->un_f_pkstats_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
23311
sd_set_pstats(un);
usr/src/uts/common/io/scsi/targets/sd.c
23312
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
23314
"set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
23320
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
23329
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23333
un->un_f_watcht_stopped = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
23334
if (token != NULL && un->un_swr_token != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23340
token = un->un_swr_token;
usr/src/uts/common/io/scsi/targets/sd.c
23341
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23345
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23346
un->un_swr_token = (opaque_t)NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23348
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23357
if (un->un_errstats) {
usr/src/uts/common/io/scsi/targets/sd.c
23360
stp = (struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
23362
(un->un_f_blockcount_is_valid == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
23364
(uint64_t)((uint64_t)un->un_blockcount *
usr/src/uts/common/io/scsi/targets/sd.c
23365
un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
23368
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23369
SD_TRACE(SD_LOG_COMMON, un, "sd_check_media: done\n");
usr/src/uts/common/io/scsi/targets/sd.c
23386
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
23388
SD_TRACE(SD_LOG_COMMON, un, "sd_delayed_cv_broadcast\n");
usr/src/uts/common/io/scsi/targets/sd.c
23390
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23391
un->un_dcvb_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23392
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
23393
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23416
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
23424
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23429
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23430
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23435
un->un_mediastate = DKIO_DEV_GONE;
usr/src/uts/common/io/scsi/targets/sd.c
23436
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
23437
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
2344
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
23442
if (un->un_f_mmc_cap && un->un_f_mmc_gesn_polling) {
usr/src/uts/common/io/scsi/targets/sd.c
23452
sd_log_eject_request_event(un, KM_NOSLEEP);
usr/src/uts/common/io/scsi/targets/sd.c
23465
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23519
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23529
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
2353
if ((un = ddi_get_soft_state(sd_state, instance)) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23531
state, un->un_specified_mediastate);
usr/src/uts/common/io/scsi/targets/sd.c
23538
if (state != un->un_specified_mediastate) {
usr/src/uts/common/io/scsi/targets/sd.c
23539
un->un_mediastate = state;
usr/src/uts/common/io/scsi/targets/sd.c
23545
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23547
if (un->un_dcvb_timeid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23548
un->un_dcvb_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
23549
timeout(sd_delayed_cv_broadcast, un,
usr/src/uts/common/io/scsi/targets/sd.c
23553
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23555
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
23558
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
2356
*result = (void *) SD_DEVINFO(un);
usr/src/uts/common/io/scsi/targets/sd.c
23583
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23590
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23594
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
23614
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
23615
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
23616
if (SD_DEVICE_IS_IN_LOW_POWER(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
23622
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
23633
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
23634
if (sd_pm_entry(un) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
23690
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
23727
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
23730
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
23731
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
23763
SD_ERROR(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
23805
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23809
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23817
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23818
un->un_resvd_status |= SD_FAILFAST;
usr/src/uts/common/io/scsi/targets/sd.c
23819
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23829
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23830
un->un_resvd_status &= ~SD_FAILFAST;
usr/src/uts/common/io/scsi/targets/sd.c
23831
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23858
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23862
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23877
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23879
un->un_resvd_status |= SD_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
23890
if ((un->un_resvd_status & SD_FAILFAST) == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
23891
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23894
SD_TRACE(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
23898
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23900
(void) scsi_reset_notify(SD_ADDRESS(un), SCSI_RESET_NOTIFY,
usr/src/uts/common/io/scsi/targets/sd.c
23901
sd_mhd_reset_notify_cb, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/sd.c
23903
un->un_resvd_status &= ~SD_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
23904
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23931
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23936
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
23940
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23941
resvd_status_save = un->un_resvd_status;
usr/src/uts/common/io/scsi/targets/sd.c
23942
un->un_resvd_status &=
usr/src/uts/common/io/scsi/targets/sd.c
23944
if (un->un_resvd_timeid) {
usr/src/uts/common/io/scsi/targets/sd.c
23945
resvd_timeid_save = un->un_resvd_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
23946
un->un_resvd_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
23947
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23950
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23960
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23961
if ((un->un_mhd_token) &&
usr/src/uts/common/io/scsi/targets/sd.c
23962
((un->un_resvd_status & SD_FAILFAST) == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
23963
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23966
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23968
(void) scsi_reset_notify(SD_ADDRESS(un), SCSI_RESET_CANCEL,
usr/src/uts/common/io/scsi/targets/sd.c
23969
sd_mhd_reset_notify_cb, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/sd.c
2397
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
23974
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
23975
un->un_resvd_status = resvd_status_save;
usr/src/uts/common/io/scsi/targets/sd.c
23976
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
2399
if ((un = ddi_get_soft_state(sd_state, ddi_get_instance(dip))) == NULL)
usr/src/uts/common/io/scsi/targets/sd.c
24001
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
24005
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24009
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
24011
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24014
if (un->un_devid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24015
ddi_devid_unregister(SD_DEVINFO(un));
usr/src/uts/common/io/scsi/targets/sd.c
24019
ddi_devid_free(un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
24020
un->un_devid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
24024
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24025
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
24027
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
2403
return (cmlb_prop_op(un->un_cmlbhandle,
usr/src/uts/common/io/scsi/targets/sd.c
24031
sd_register_devid(ssc, SD_DEVINFO(un), SD_TARGET_IS_UNRESERVED);
usr/src/uts/common/io/scsi/targets/sd.c
24039
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24071
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
24075
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24089
if ((rval = sd_persistent_reservation_in_read_keys(un,
usr/src/uts/common/io/scsi/targets/sd.c
24105
if ((rval = sd_persistent_reservation_in_read_keys(un,
usr/src/uts/common/io/scsi/targets/sd.c
24121
rval = sd_persistent_reservation_in_read_keys(un, &inkeys, flag);
usr/src/uts/common/io/scsi/targets/sd.c
24155
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
24159
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24174
if ((rval = sd_persistent_reservation_in_read_resv(un,
usr/src/uts/common/io/scsi/targets/sd.c
24190
if ((rval = sd_persistent_reservation_in_read_resv(un,
usr/src/uts/common/io/scsi/targets/sd.c
24206
rval = sd_persistent_reservation_in_read_resv(un, &inresvs, flag);
usr/src/uts/common/io/scsi/targets/sd.c
24297
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
24300
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24306
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24308
if (un->un_mhd_token) {
usr/src/uts/common/io/scsi/targets/sd.c
24309
token = un->un_mhd_token;
usr/src/uts/common/io/scsi/targets/sd.c
24310
un->un_mhd_token = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
24311
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24314
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24316
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24330
if (un->un_resvd_status & SD_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
24334
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24337
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24352
token = scsi_watch_request_submit(SD_SCSI_DEVP(un), interval,
usr/src/uts/common/io/scsi/targets/sd.c
24361
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24362
un->un_mhd_token = token;
usr/src/uts/common/io/scsi/targets/sd.c
24363
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24392
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
24405
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24409
SD_TRACE(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24416
sd_mhd_watch_incomplete(un, pkt);
usr/src/uts/common/io/scsi/targets/sd.c
24426
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24427
if ((un->un_resvd_status & SD_FAILFAST) &&
usr/src/uts/common/io/scsi/targets/sd.c
24429
sd_panic_for_res_conflict(un);
usr/src/uts/common/io/scsi/targets/sd.c
24432
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24434
un->un_resvd_status |= SD_RESERVATION_CONFLICT;
usr/src/uts/common/io/scsi/targets/sd.c
24435
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24441
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24444
(un->un_resvd_status & SD_RESERVE)) {
usr/src/uts/common/io/scsi/targets/sd.c
24450
un->un_resvd_status |=
usr/src/uts/common/io/scsi/targets/sd.c
24452
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24459
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24462
if ((un->un_resvd_status & SD_RESERVE) &&
usr/src/uts/common/io/scsi/targets/sd.c
24463
(un->un_resvd_status & SD_LOST_RESERVE)) {
usr/src/uts/common/io/scsi/targets/sd.c
24464
if (un->un_resvd_status & SD_WANT_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
24469
if (un->un_resvd_timeid) {
usr/src/uts/common/io/scsi/targets/sd.c
24470
timeout_id_t temp_id = un->un_resvd_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
24471
un->un_resvd_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
24472
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24474
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24476
un->un_resvd_status &= ~SD_WANT_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
24478
if (un->un_resvd_timeid == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
24480
un->un_resvd_timeid = timeout(sd_mhd_resvd_recover,
usr/src/uts/common/io/scsi/targets/sd.c
24485
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24503
sd_mhd_watch_incomplete(struct sd_lun *un, struct scsi_pkt *pkt)
usr/src/uts/common/io/scsi/targets/sd.c
24509
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
24513
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24514
if (un->un_state == SD_STATE_DUMPING) {
usr/src/uts/common/io/scsi/targets/sd.c
24515
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24544
un->un_tagflags = 0;
usr/src/uts/common/io/scsi/targets/sd.c
24546
if (un->un_f_opt_queueing == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
24547
un->un_throttle = min(un->un_throttle, 3);
usr/src/uts/common/io/scsi/targets/sd.c
24549
un->un_throttle = 1;
usr/src/uts/common/io/scsi/targets/sd.c
24551
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24552
(void) scsi_ifsetcap(SD_ADDRESS(un), "tagged-qing", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
24553
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24577
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24578
if (un->un_f_allow_bus_device_reset == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
24579
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
24581
scsi_reset(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
24586
scsi_reset(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
24591
(void) scsi_reset(SD_ADDRESS(un), RESET_ALL);
usr/src/uts/common/io/scsi/targets/sd.c
24593
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24601
if ((un->un_resvd_status & SD_RESERVE) == SD_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
24602
un->un_resvd_status |=
usr/src/uts/common/io/scsi/targets/sd.c
24604
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24615
SD_INFO(SD_LOG_IOCTL_MHD, un, "sd_mhd_watch_incomplete: "
usr/src/uts/common/io/scsi/targets/sd.c
24617
if (un->un_state != SD_STATE_OFFLINE) {
usr/src/uts/common/io/scsi/targets/sd.c
24618
New_state(un, SD_STATE_OFFLINE);
usr/src/uts/common/io/scsi/targets/sd.c
24626
if (pkt->pkt_reason != un->un_last_pkt_reason) {
usr/src/uts/common/io/scsi/targets/sd.c
24627
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24633
un->un_last_pkt_reason = pkt->pkt_reason;
usr/src/uts/common/io/scsi/targets/sd.c
24634
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24699
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
24705
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24709
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24710
un->un_resvd_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
24711
if (un->un_resvd_status & SD_WANT_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
24717
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24720
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24755
SD_INFO(SD_LOG_IOCTL_MHD, un, "sd_mhd_resvd_recover: "
usr/src/uts/common/io/scsi/targets/sd.c
24790
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
24802
un = ddi_get_soft_state(sd_state,
usr/src/uts/common/io/scsi/targets/sd.c
24804
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
24826
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24827
if ((un->un_resvd_status & SD_RESERVE) == SD_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
24835
un->un_resvd_status &= ~SD_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
24836
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24840
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24841
un->un_resvd_status |= SD_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
24842
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24843
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24847
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24848
un->un_resvd_status |= SD_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
24849
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24850
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24855
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24866
SD_TRACE(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24944
struct sd_lun *un = (struct sd_lun *)arg;
usr/src/uts/common/io/scsi/targets/sd.c
24946
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24947
if ((un->un_resvd_status & SD_RESERVE) == SD_RESERVE) {
usr/src/uts/common/io/scsi/targets/sd.c
24948
un->un_resvd_status |= (SD_LOST_RESERVE | SD_WANT_RESERVE);
usr/src/uts/common/io/scsi/targets/sd.c
24949
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
24952
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
24999
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
25011
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
25020
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
25026
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25027
un->un_resvd_status |= SD_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
25028
un->un_resvd_status &=
usr/src/uts/common/io/scsi/targets/sd.c
25030
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25040
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
25054
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25055
rval = (un->un_resvd_status &
usr/src/uts/common/io/scsi/targets/sd.c
25057
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25063
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25064
if (err || (un->un_resvd_status & SD_LOST_RESERVE)) {
usr/src/uts/common/io/scsi/targets/sd.c
25071
un->un_resvd_status |= SD_RESERVE;
usr/src/uts/common/io/scsi/targets/sd.c
25072
un->un_resvd_status &= ~(SD_LOST_RESERVE | SD_WANT_RESERVE);
usr/src/uts/common/io/scsi/targets/sd.c
25073
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25075
SD_INFO(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
25090
SD_TRACE(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
25113
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
25120
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
25128
com->uscsi_timeout = un->un_reserve_release_time;
usr/src/uts/common/io/scsi/targets/sd.c
25153
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
25154
reset_retval = scsi_reset(SD_ADDRESS(un), RESET_LUN);
usr/src/uts/common/io/scsi/targets/sd.c
25158
reset_retval = scsi_reset(SD_ADDRESS(un), RESET_TARGET);
usr/src/uts/common/io/scsi/targets/sd.c
25161
(scsi_reset(SD_ADDRESS(un), RESET_ALL) == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
25203
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
25220
if (((un = ddi_get_soft_state(sd_state, instance)) == NULL) ||
usr/src/uts/common/io/scsi/targets/sd.c
25221
!SD_IS_VALID_LABEL(un) || ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
25225
_NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*un))
usr/src/uts/common/io/scsi/targets/sd.c
25227
SD_TRACE(SD_LOG_DUMP, un, "sddump: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
25230
SD_INFO(SD_LOG_DUMP, un, "sddump: partition = %d\n", partition);
usr/src/uts/common/io/scsi/targets/sd.c
25232
if (!(NOT_DEVBSIZE(un))) {
usr/src/uts/common/io/scsi/targets/sd.c
25236
blknomask = (un->un_tgt_blocksize / DEV_BSIZE) - 1;
usr/src/uts/common/io/scsi/targets/sd.c
25237
secmask = un->un_tgt_blocksize - 1;
usr/src/uts/common/io/scsi/targets/sd.c
25240
SD_TRACE(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25242
un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
25247
SD_TRACE(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25249
un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
25257
(void) cmlb_partinfo(un->un_cmlbhandle, partition,
usr/src/uts/common/io/scsi/targets/sd.c
25260
if (NOT_DEVBSIZE(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
25262
SD_TRACE(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25269
if (((blkno / (un->un_tgt_blocksize / DEV_BSIZE)) +
usr/src/uts/common/io/scsi/targets/sd.c
25270
(nblk / (un->un_tgt_blocksize / DEV_BSIZE))) > nblks) {
usr/src/uts/common/io/scsi/targets/sd.c
25271
SD_TRACE(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25279
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
25280
if (SD_DEVICE_IS_IN_LOW_POWER(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
25283
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
25288
(void) pm_raise_power(SD_DEVINFO(un), 0,
usr/src/uts/common/io/scsi/targets/sd.c
25289
SD_PM_STATE_ACTIVE(un));
usr/src/uts/common/io/scsi/targets/sd.c
25296
SD_INFO(SD_LOG_DUMP, un, "sddump: starting device\n");
usr/src/uts/common/io/scsi/targets/sd.c
25298
start_pktp = scsi_init_pkt(SD_ADDRESS(un), NULL, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
25299
CDB_GROUP0, un->un_status_len, 0, 0, NULL_FUNC, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
25310
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25311
SD_FILL_SCSI1_LUN(un, start_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
25312
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25317
if (sd_scsi_poll(un, start_pktp) != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
25322
(void) sd_pm_state_change(un, SD_PM_STATE_ACTIVE(un),
usr/src/uts/common/io/scsi/targets/sd.c
25325
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
25328
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25329
un->un_throttle = 0;
usr/src/uts/common/io/scsi/targets/sd.c
25339
if ((un->un_state != SD_STATE_SUSPENDED) &&
usr/src/uts/common/io/scsi/targets/sd.c
25340
(un->un_state != SD_STATE_DUMPING)) {
usr/src/uts/common/io/scsi/targets/sd.c
25342
New_state(un, SD_STATE_DUMPING);
usr/src/uts/common/io/scsi/targets/sd.c
25344
if (un->un_f_is_fibre == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
25345
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25359
if (scsi_reset(SD_ADDRESS(un), RESET_ALL) == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
25360
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25361
Restore_state(un);
usr/src/uts/common/io/scsi/targets/sd.c
25362
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25369
if (sd_send_polled_RQS(un) == SD_FAILURE) {
usr/src/uts/common/io/scsi/targets/sd.c
25370
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25373
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25381
if (NOT_DEVBSIZE(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
25384
blkno = blkno / (un->un_tgt_blocksize / DEV_BSIZE);
usr/src/uts/common/io/scsi/targets/sd.c
25388
SD_INFO(SD_LOG_DUMP, un, "sddump: disk blkno = 0x%x\n", blkno);
usr/src/uts/common/io/scsi/targets/sd.c
25395
if (NOT_DEVBSIZE(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
25396
tgt_byte_offset = blkno * un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
25397
tgt_byte_count = nblk * un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
25398
if ((tgt_byte_offset % un->un_tgt_blocksize) ||
usr/src/uts/common/io/scsi/targets/sd.c
25399
(tgt_byte_count % un->un_tgt_blocksize)) {
usr/src/uts/common/io/scsi/targets/sd.c
25405
tgt_blkno = tgt_byte_offset / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
25408
(un->un_tgt_blocksize - 1)) /
usr/src/uts/common/io/scsi/targets/sd.c
25409
un->un_tgt_blocksize) - tgt_blkno;
usr/src/uts/common/io/scsi/targets/sd.c
25417
err = sddump_do_read_of_rmw(un, tgt_blkno, tgt_nblk,
usr/src/uts/common/io/scsi/targets/sd.c
25420
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25429
((uint64_t)(blkno * un->un_sys_blocksize)) -
usr/src/uts/common/io/scsi/targets/sd.c
25430
((uint64_t)(tgt_blkno * un->un_tgt_blocksize));
usr/src/uts/common/io/scsi/targets/sd.c
25432
ASSERT(io_start_offset < un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
25437
(size_t)nblk * un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
25440
tgt_blkno = tgt_byte_offset / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
25441
tgt_nblk = tgt_byte_count / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
25456
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25473
if (!(NOT_DEVBSIZE(un))) {
usr/src/uts/common/io/scsi/targets/sd.c
25474
nblk = nblk / (un->un_tgt_blocksize / DEV_BSIZE);
usr/src/uts/common/io/scsi/targets/sd.c
25482
if (un->un_partial_dma_supported == 1) {
usr/src/uts/common/io/scsi/targets/sd.c
25485
un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
25486
nblk = dma_resid / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
25492
rval = sd_setup_next_rw_pkt(un, wr_pktp, wr_bp,
usr/src/uts/common/io/scsi/targets/sd.c
25496
rval = sd_setup_rw_pkt(un, &wr_pktp, wr_bp,
usr/src/uts/common/io/scsi/targets/sd.c
25497
un->un_pkt_flags, NULL_FUNC, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
25501
rval = sd_setup_rw_pkt(un, &wr_pktp, wr_bp,
usr/src/uts/common/io/scsi/targets/sd.c
25512
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
25517
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
25522
scsi_log(SD_DEVINFO(un), sd_label, CE_CONT,
usr/src/uts/common/io/scsi/targets/sd.c
25528
scsi_log(SD_DEVINFO(un), sd_label, CE_CONT,
usr/src/uts/common/io/scsi/targets/sd.c
25533
scsi_log(SD_DEVINFO(un), sd_label, CE_CONT,
usr/src/uts/common/io/scsi/targets/sd.c
25537
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25538
Restore_state(un);
usr/src/uts/common/io/scsi/targets/sd.c
25539
if (NOT_DEVBSIZE(un) && (doing_rmw == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
25540
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25543
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25550
if (un->un_partial_dma_supported == 1) {
usr/src/uts/common/io/scsi/targets/sd.c
25556
nblk -= SD_BYTES2TGTBLOCKS(un, dma_resid);
usr/src/uts/common/io/scsi/targets/sd.c
25576
SD_TRACE(SD_LOG_DUMP, un, "sddump: sending write\n");
usr/src/uts/common/io/scsi/targets/sd.c
25578
if ((sd_scsi_poll(un, wr_pktp) == 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
25588
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
25594
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25597
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
25606
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25609
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
25610
reset_retval = scsi_reset(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
25614
(void) scsi_reset(SD_ADDRESS(un), RESET_TARGET);
usr/src/uts/common/io/scsi/targets/sd.c
25616
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
25619
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
25622
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25623
sd_reset_target(un, wr_pktp);
usr/src/uts/common/io/scsi/targets/sd.c
25624
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25632
(void) scsi_reset(SD_ADDRESS(un), RESET_ALL);
usr/src/uts/common/io/scsi/targets/sd.c
25633
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
25639
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25640
if ((NOT_DEVBSIZE(un)) && (doing_rmw == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
25641
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25644
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25646
SD_TRACE(SD_LOG_DUMP, un, "sddump: exit: err = %d\n", err);
usr/src/uts/common/io/scsi/targets/sd.c
25666
sd_scsi_poll(struct sd_lun *un, struct scsi_pkt *pktp)
usr/src/uts/common/io/scsi/targets/sd.c
25670
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
25671
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
25677
pktp->pkt_flags |= un->un_tagflags;
usr/src/uts/common/io/scsi/targets/sd.c
25694
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
25712
sd_send_polled_RQS(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
25718
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
25719
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
25723
rqs_pktp = un->un_rqs_pktp;
usr/src/uts/common/io/scsi/targets/sd.c
25724
rqs_bp = un->un_rqs_bp;
usr/src/uts/common/io/scsi/targets/sd.c
25726
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25728
if (un->un_sense_isbusy) {
usr/src/uts/common/io/scsi/targets/sd.c
25730
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25738
un->un_sense_isbusy = 1;
usr/src/uts/common/io/scsi/targets/sd.c
25744
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25746
SD_INFO(SD_LOG_COMMON, un, "sd_send_polled_RQS: req sense buf at"
usr/src/uts/common/io/scsi/targets/sd.c
25754
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
25758
SD_DUMP_MEMORY(un, SD_LOG_COMMON, "sd_send_polled_RQS:",
usr/src/uts/common/io/scsi/targets/sd.c
25761
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25762
un->un_sense_isbusy = 0;
usr/src/uts/common/io/scsi/targets/sd.c
25763
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
25983
sd_persistent_reservation_in_read_keys(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
26003
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26013
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26026
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26038
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26072
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26082
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26094
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26106
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26143
sd_persistent_reservation_in_read_resv(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
26166
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26176
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26189
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26200
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26234
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26244
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26256
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26279
SD_ERROR(SD_LOG_IOCTL_MHD, un,
usr/src/uts/common/io/scsi/targets/sd.c
26325
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
26336
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
26349
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26354
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26364
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26398
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26428
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26434
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26445
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26451
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
26452
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
26453
sd_update_block_info(un, (uint32_t)data, 0);
usr/src/uts/common/io/scsi/targets/sd.c
26454
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
26459
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26511
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
26522
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
26532
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26538
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26548
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26583
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26611
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26623
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26626
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26635
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26679
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
26693
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
26699
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
26705
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26715
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26754
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26790
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
26824
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
26829
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
26844
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN, "sr_pause_resume:"
usr/src/uts/common/io/scsi/targets/sd.c
26887
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
26898
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
26909
if (un->un_f_cfg_playmsf_bcd == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
27011
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
27027
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
27037
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27048
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27057
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27069
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27081
if (un->un_f_mmc_cap == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
27139
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27151
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27152
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27203
} else if (un->un_f_cfg_readsub_bcd == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
27258
struct sd_lun *un = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
27270
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27271
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27295
if (un->un_f_cfg_read_toc_trk_bcd == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
27326
} else if (un->un_f_cfg_read_toc_addr_bcd == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
2733
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
2736
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
2737
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
27433
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27445
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27446
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27473
if (un->un_f_cfg_read_toc_trk_bcd == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
27525
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27541
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27542
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27546
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
27547
"sd_read_mode1: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
27569
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
27574
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
27575
"sd_read_mode1: exit: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
27604
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27621
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27622
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27649
if (un->un_f_cfg_read_cd_xd4 == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
27715
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27734
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27735
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27748
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
27749
if (un->un_ncmds_in_driver != 1) {
usr/src/uts/common/io/scsi/targets/sd.c
27750
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
27753
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
27755
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
27756
"sd_read_mode2: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
27780
restore_blksize = un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
2782
bcopy(bufaddr, SD_INQUIRY(un), SUN_INQSIZE);
usr/src/uts/common/io/scsi/targets/sd.c
27830
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27842
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
27843
"sd_read_mode2: exit: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
27869
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27875
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
27876
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
27883
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
27888
SD_ERROR(SD_LOG_IOCTL_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
27905
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
27910
SD_ERROR(SD_LOG_IOCTL_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
27917
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
27918
sd_update_block_info(un, blksize, 0);
usr/src/uts/common/io/scsi/targets/sd.c
27919
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
27953
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
27970
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
27980
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27990
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
27999
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
28011
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN, "sr_read_cdda: "
usr/src/uts/common/io/scsi/targets/sd.c
28032
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
28043
if (un->un_f_cfg_cdda == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
28121
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
28139
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
28177
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN, "sr_read_cdxa: "
usr/src/uts/common/io/scsi/targets/sd.c
28198
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
28207
if (un->un_f_mmc_cap == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
2823
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
2826
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
28260
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
28264
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
28265
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
2827
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
28278
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28279
if (un->un_f_ejecting == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
28280
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28283
un->un_f_ejecting = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
28284
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28286
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
28292
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28293
un->un_f_ejecting = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
28294
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28298
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
28304
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28305
sr_ejected(un);
usr/src/uts/common/io/scsi/targets/sd.c
28306
un->un_mediastate = DKIO_EJECTED;
usr/src/uts/common/io/scsi/targets/sd.c
28307
un->un_f_ejecting = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
28308
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
28309
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28311
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28312
un->un_f_ejecting = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
28313
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28330
sr_ejected(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
28334
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
28335
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
28337
un->un_f_blockcount_is_valid = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
28338
un->un_f_tgt_blocksize_is_valid = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
28339
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28340
cmlb_invalidate(un->un_cmlbhandle, (void *)SD_PATH_DIRECT_PRIORITY);
usr/src/uts/common/io/scsi/targets/sd.c
28341
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28343
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
28344
stp = (struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
28371
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
28383
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
28387
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
28394
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
2840
SD_ERROR(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
28405
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
28451
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
28467
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
28468
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
28476
if ((un->un_f_cfg_is_atapi == TRUE) || (un->un_f_mmc_cap == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
28486
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
28493
SD_ERROR(SD_LOG_IOCTL_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
28504
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
28525
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
28532
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
28541
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
28582
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
28583
if ((un->un_f_cfg_is_atapi == TRUE) || (un->un_f_mmc_cap == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
28624
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
28635
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL ||
usr/src/uts/common/io/scsi/targets/sd.c
28636
(un->un_state == SD_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/sd.c
2864
SD_ERROR(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
28672
if (un->un_tgt_blocksize == CDROM_BLK_512) {
usr/src/uts/common/io/scsi/targets/sd.c
28674
} else if (un->un_tgt_blocksize == CDROM_BLK_1024) {
usr/src/uts/common/io/scsi/targets/sd.c
28705
sd_wm_cache_constructor(void *wm, void *un, int flags)
usr/src/uts/common/io/scsi/targets/sd.c
28724
sd_wm_cache_destructor(void *wm, void *un)
usr/src/uts/common/io/scsi/targets/sd.c
28750
sd_range_lock(struct sd_lun *un, daddr_t startb, daddr_t endb, ushort_t typ)
usr/src/uts/common/io/scsi/targets/sd.c
28758
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
28759
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
28761
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28771
if (!(typ & SD_WTYPE_RMW) && !(un->un_rmw_count)) {
usr/src/uts/common/io/scsi/targets/sd.c
28779
tmp_wmp = sd_get_range(un, startb, endb);
usr/src/uts/common/io/scsi/targets/sd.c
28781
if ((wmp != NULL) && ONLIST(un, wmp)) {
usr/src/uts/common/io/scsi/targets/sd.c
28787
FREE_ONLIST_WMAP(un, wmp);
usr/src/uts/common/io/scsi/targets/sd.c
28805
ASSERT(un->un_wm_cache);
usr/src/uts/common/io/scsi/targets/sd.c
28813
wmp = kmem_cache_alloc(un->un_wm_cache,
usr/src/uts/common/io/scsi/targets/sd.c
28816
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28819
wmp = kmem_cache_alloc(un->un_wm_cache,
usr/src/uts/common/io/scsi/targets/sd.c
28821
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28838
un->un_rmw_count++;
usr/src/uts/common/io/scsi/targets/sd.c
28843
if (!ONLIST(un, wmp)) {
usr/src/uts/common/io/scsi/targets/sd.c
28844
wmp->wm_next = un->un_wm;
usr/src/uts/common/io/scsi/targets/sd.c
28848
un->un_wm = wmp;
usr/src/uts/common/io/scsi/targets/sd.c
28861
cv_wait(&sl_wmp->wm_avail, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28871
CHK_N_FREEWMP(un, wmp);
usr/src/uts/common/io/scsi/targets/sd.c
2888
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
28891
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28913
sd_get_range(struct sd_lun *un, daddr_t startb, daddr_t endb)
usr/src/uts/common/io/scsi/targets/sd.c
28917
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
28919
for (wmp = un->un_wm; wmp != NULL; wmp = wmp->wm_next) {
usr/src/uts/common/io/scsi/targets/sd.c
28945
sd_free_inlist_wmap(struct sd_lun *un, struct sd_w_map *wmp)
usr/src/uts/common/io/scsi/targets/sd.c
28947
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
28949
if (un->un_wm == wmp) {
usr/src/uts/common/io/scsi/targets/sd.c
28950
un->un_wm = wmp->wm_next;
usr/src/uts/common/io/scsi/targets/sd.c
28961
kmem_cache_free(un->un_wm_cache, wmp);
usr/src/uts/common/io/scsi/targets/sd.c
28976
sd_range_unlock(struct sd_lun *un, struct sd_w_map *wm)
usr/src/uts/common/io/scsi/targets/sd.c
28978
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
28980
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
28982
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
28985
un->un_rmw_count--;
usr/src/uts/common/io/scsi/targets/sd.c
28998
sd_free_inlist_wmap(un, wm);
usr/src/uts/common/io/scsi/targets/sd.c
29001
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29023
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
29034
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
29035
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29036
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
29038
SD_TRACE(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
29049
SD_NEXT_IOSTART(bsp->mbs_layer_index, un, bp);
usr/src/uts/common/io/scsi/targets/sd.c
29051
SD_TRACE(SD_LOG_IO_RMMEDIA, un,
usr/src/uts/common/io/scsi/targets/sd.c
29077
sddump_do_read_of_rmw(struct sd_lun *un, uint64_t blkno, uint64_t nblk,
usr/src/uts/common/io/scsi/targets/sd.c
29087
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29088
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
29090
target_blocksize = un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
29092
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29094
bp = scsi_alloc_consistent_buf(SD_ADDRESS(un), (struct buf *)NULL,
usr/src/uts/common/io/scsi/targets/sd.c
29097
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
2910
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
29103
rval = sd_setup_rw_pkt(un, &pkt, bp, 0, NULL_FUNC, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
29107
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
29126
SD_TRACE(SD_LOG_DUMP, un, "sddump: sending read\n");
usr/src/uts/common/io/scsi/targets/sd.c
29128
if ((sd_scsi_poll(un, pkt) == 0) && (pkt->pkt_resid == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
2913
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29138
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
29145
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
29148
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
2915
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
29157
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
29160
if (un->un_f_lun_reset_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
29161
reset_retval = scsi_reset(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
29165
(void) scsi_reset(SD_ADDRESS(un), RESET_TARGET);
usr/src/uts/common/io/scsi/targets/sd.c
29167
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
29170
SD_INFO(SD_LOG_DUMP, un,
usr/src/uts/common/io/scsi/targets/sd.c
29173
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29174
sd_reset_target(un, pkt);
usr/src/uts/common/io/scsi/targets/sd.c
29175
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29183
(void) scsi_reset(SD_ADDRESS(un), RESET_ALL);
usr/src/uts/common/io/scsi/targets/sd.c
29184
(void) sd_send_polled_RQS(un);
usr/src/uts/common/io/scsi/targets/sd.c
29198
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29217
sd_failfast_flushq(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
29223
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29224
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
29225
ASSERT(un->un_failfast_state == SD_FAILFAST_ACTIVE);
usr/src/uts/common/io/scsi/targets/sd.c
29226
ASSERT(un->un_failfast_bp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29228
SD_TRACE(SD_LOG_IO_FAILFAST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29229
"sd_failfast_flushq: entry: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
29240
if (un->un_failfast_headp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29241
ASSERT(un->un_failfast_tailp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29242
un->un_failfast_headp = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
29244
ASSERT(un->un_failfast_tailp != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29245
un->un_failfast_tailp->av_forw = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
29248
un->un_failfast_tailp = un->un_waitq_tailp;
usr/src/uts/common/io/scsi/targets/sd.c
29251
for (bp = un->un_waitq_headp; bp != NULL; bp = bp->av_forw) {
usr/src/uts/common/io/scsi/targets/sd.c
29252
SD_UPDATE_KSTATS(un, kstat_waitq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
29256
un->un_waitq_headp = un->un_waitq_tailp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29263
for (bp = un->un_waitq_headp; bp != NULL; bp = next_waitq_bp) {
usr/src/uts/common/io/scsi/targets/sd.c
29284
if (bp == un->un_waitq_headp) {
usr/src/uts/common/io/scsi/targets/sd.c
29286
un->un_waitq_headp = next_waitq_bp;
usr/src/uts/common/io/scsi/targets/sd.c
29287
if (un->un_waitq_headp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29289
un->un_waitq_tailp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29296
ASSERT(un->un_waitq_headp != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29300
if (bp == un->un_waitq_tailp) {
usr/src/uts/common/io/scsi/targets/sd.c
29303
un->un_waitq_tailp = prev_waitq_bp;
usr/src/uts/common/io/scsi/targets/sd.c
29313
SD_UPDATE_KSTATS(un, kstat_waitq_exit, bp);
usr/src/uts/common/io/scsi/targets/sd.c
29318
if (un->un_failfast_headp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29320
ASSERT(un->un_failfast_tailp == NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29321
un->un_failfast_headp =
usr/src/uts/common/io/scsi/targets/sd.c
29322
un->un_failfast_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
29325
ASSERT(un->un_failfast_tailp != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29326
ASSERT(un->un_failfast_tailp->b_flags &
usr/src/uts/common/io/scsi/targets/sd.c
29328
un->un_failfast_tailp->av_forw = bp;
usr/src/uts/common/io/scsi/targets/sd.c
29329
un->un_failfast_tailp = bp;
usr/src/uts/common/io/scsi/targets/sd.c
29337
while ((bp = un->un_failfast_headp) != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29339
un->un_failfast_headp = bp->av_forw;
usr/src/uts/common/io/scsi/targets/sd.c
29340
if (un->un_failfast_headp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29341
un->un_failfast_tailp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29350
sd_return_failed_command_no_restart(un, bp, EIO);
usr/src/uts/common/io/scsi/targets/sd.c
29355
ddi_xbuf_flushq(un->un_xbuf_attr, sd_failfast_flushq_callback);
usr/src/uts/common/io/scsi/targets/sd.c
29358
SD_TRACE(SD_LOG_IO_FAILFAST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29359
"sd_failfast_flushq: exit: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
29395
sd_setup_next_xfer(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
29415
num_blks_not_xfered = SD_BYTES2TGTBLOCKS(un, bytes_not_xfered);
usr/src/uts/common/io/scsi/targets/sd.c
29421
SD_BYTES2TGTBLOCKS(un, bp->b_bcount - bytes_not_xfered);
usr/src/uts/common/io/scsi/targets/sd.c
29428
rval = sd_setup_next_rw_pkt(un, pkt, bp,
usr/src/uts/common/io/scsi/targets/sd.c
29455
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
29475
sd_panic_for_res_conflict(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
2948
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
29482
ddi_pathname(SD_DEVINFO(un), path_str));
usr/src/uts/common/io/scsi/targets/sd.c
29509
sd_faultinjection_ioctl(int cmd, intptr_t arg, struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
2951
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
29514
SD_TRACE(SD_LOG_IOERR, un, "sd_faultinjection_ioctl: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
29516
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
2952
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29521
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29526
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29532
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29536
un->sd_injection_mask = 0xFFFFFFFF;
usr/src/uts/common/io/scsi/targets/sd.c
29538
un->sd_fi_fifo_pkt[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29539
un->sd_fi_fifo_xb[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29540
un->sd_fi_fifo_un[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29541
un->sd_fi_fifo_arq[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29543
un->sd_fi_fifo_start = 0;
usr/src/uts/common/io/scsi/targets/sd.c
29544
un->sd_fi_fifo_end = 0;
usr/src/uts/common/io/scsi/targets/sd.c
29546
mutex_enter(&(un->un_fi_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
29547
un->sd_fi_log[0] = '\0';
usr/src/uts/common/io/scsi/targets/sd.c
29548
un->sd_fi_buf_len = 0;
usr/src/uts/common/io/scsi/targets/sd.c
29549
mutex_exit(&(un->un_fi_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
29551
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29557
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29560
un->sd_injection_mask = 0x0;
usr/src/uts/common/io/scsi/targets/sd.c
29564
if (un->sd_fi_fifo_pkt[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29565
kmem_free(un->sd_fi_fifo_pkt[i],
usr/src/uts/common/io/scsi/targets/sd.c
29568
if (un->sd_fi_fifo_xb[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29569
kmem_free(un->sd_fi_fifo_xb[i],
usr/src/uts/common/io/scsi/targets/sd.c
29572
if (un->sd_fi_fifo_un[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29573
kmem_free(un->sd_fi_fifo_un[i],
usr/src/uts/common/io/scsi/targets/sd.c
29576
if (un->sd_fi_fifo_arq[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29577
kmem_free(un->sd_fi_fifo_arq[i],
usr/src/uts/common/io/scsi/targets/sd.c
29580
un->sd_fi_fifo_pkt[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29581
un->sd_fi_fifo_un[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29582
un->sd_fi_fifo_xb[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29583
un->sd_fi_fifo_arq[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29585
un->sd_fi_fifo_start = 0;
usr/src/uts/common/io/scsi/targets/sd.c
29586
un->sd_fi_fifo_end = 0;
usr/src/uts/common/io/scsi/targets/sd.c
29588
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
2959
un->un_f_mmc_cap = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
29594
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29597
i = un->sd_fi_fifo_end % SD_FI_MAX_ERROR;
usr/src/uts/common/io/scsi/targets/sd.c
2960
un->un_f_dvdram_writable_device = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
29602
if (un->sd_fi_fifo_pkt[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29603
kmem_free(un->sd_fi_fifo_pkt[i],
usr/src/uts/common/io/scsi/targets/sd.c
29607
un->sd_fi_fifo_pkt[i] =
usr/src/uts/common/io/scsi/targets/sd.c
29609
if (un->sd_fi_fifo_pkt[i] == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
2961
un->un_f_cfg_cdda = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
29613
rval = ddi_copyin((void *)arg, un->sd_fi_fifo_pkt[i],
usr/src/uts/common/io/scsi/targets/sd.c
29616
kmem_free(un->sd_fi_fifo_pkt[i],
usr/src/uts/common/io/scsi/targets/sd.c
29618
un->sd_fi_fifo_pkt[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29621
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29628
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29631
i = un->sd_fi_fifo_end % SD_FI_MAX_ERROR;
usr/src/uts/common/io/scsi/targets/sd.c
29635
if (un->sd_fi_fifo_xb[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29636
kmem_free(un->sd_fi_fifo_xb[i],
usr/src/uts/common/io/scsi/targets/sd.c
29638
un->sd_fi_fifo_xb[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29641
un->sd_fi_fifo_xb[i] =
usr/src/uts/common/io/scsi/targets/sd.c
29643
if (un->sd_fi_fifo_xb[i] == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29647
rval = ddi_copyin((void *)arg, un->sd_fi_fifo_xb[i],
usr/src/uts/common/io/scsi/targets/sd.c
29651
kmem_free(un->sd_fi_fifo_xb[i],
usr/src/uts/common/io/scsi/targets/sd.c
29653
un->sd_fi_fifo_xb[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29656
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29663
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29666
i = un->sd_fi_fifo_end % SD_FI_MAX_ERROR;
usr/src/uts/common/io/scsi/targets/sd.c
29670
if (un->sd_fi_fifo_un[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29671
kmem_free(un->sd_fi_fifo_un[i],
usr/src/uts/common/io/scsi/targets/sd.c
29673
un->sd_fi_fifo_un[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29676
un->sd_fi_fifo_un[i] =
usr/src/uts/common/io/scsi/targets/sd.c
29678
if (un->sd_fi_fifo_un[i] == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29682
rval = ddi_copyin((void *)arg, un->sd_fi_fifo_un[i],
usr/src/uts/common/io/scsi/targets/sd.c
29685
kmem_free(un->sd_fi_fifo_un[i],
usr/src/uts/common/io/scsi/targets/sd.c
29687
un->sd_fi_fifo_un[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29691
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29699
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29701
i = un->sd_fi_fifo_end % SD_FI_MAX_ERROR;
usr/src/uts/common/io/scsi/targets/sd.c
29705
if (un->sd_fi_fifo_arq[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29706
kmem_free(un->sd_fi_fifo_arq[i],
usr/src/uts/common/io/scsi/targets/sd.c
29708
un->sd_fi_fifo_arq[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29711
un->sd_fi_fifo_arq[i] =
usr/src/uts/common/io/scsi/targets/sd.c
29713
if (un->sd_fi_fifo_arq[i] == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29717
rval = ddi_copyin((void *)arg, un->sd_fi_fifo_arq[i],
usr/src/uts/common/io/scsi/targets/sd.c
29720
kmem_free(un->sd_fi_fifo_arq[i],
usr/src/uts/common/io/scsi/targets/sd.c
29722
un->sd_fi_fifo_arq[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29726
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29739
un->sd_fi_fifo_end + i < SD_FI_MAX_ERROR) {
usr/src/uts/common/io/scsi/targets/sd.c
29740
un->sd_fi_fifo_end += i;
usr/src/uts/common/io/scsi/targets/sd.c
29743
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29745
if (un->sd_fi_fifo_end + i < SD_FI_MAX_ERROR) {
usr/src/uts/common/io/scsi/targets/sd.c
29746
un->sd_fi_fifo_end++;
usr/src/uts/common/io/scsi/targets/sd.c
29749
SD_INFO(SD_LOG_IOERR, un,
usr/src/uts/common/io/scsi/targets/sd.c
29751
un->sd_fi_fifo_end);
usr/src/uts/common/io/scsi/targets/sd.c
29756
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29761
mutex_enter(&(un->un_fi_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
29762
rval = ddi_copyout(un->sd_fi_log, (void *)arg,
usr/src/uts/common/io/scsi/targets/sd.c
29763
un->sd_fi_buf_len+1, 0);
usr/src/uts/common/io/scsi/targets/sd.c
29764
mutex_exit(&(un->un_fi_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
29776
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29777
SD_TRACE(SD_LOG_IOERR, un, "sd_faultinjection_ioctl: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
2978
un->un_f_mmc_cap = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
29792
sd_injection_log(char *buf, struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
29796
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29799
mutex_enter(&(un->un_fi_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
29803
if (len + un->sd_fi_buf_len < SD_FI_MAX_BUF) {
usr/src/uts/common/io/scsi/targets/sd.c
29804
uint_t offset = strlen((char *)un->sd_fi_log);
usr/src/uts/common/io/scsi/targets/sd.c
29805
char *destp = (char *)un->sd_fi_log + offset;
usr/src/uts/common/io/scsi/targets/sd.c
2981
if (un->un_f_mmc_gesn_polling) {
usr/src/uts/common/io/scsi/targets/sd.c
29810
un->sd_fi_buf_len += len;
usr/src/uts/common/io/scsi/targets/sd.c
29811
un->sd_fi_log[un->sd_fi_buf_len] = '\0';
usr/src/uts/common/io/scsi/targets/sd.c
29814
mutex_exit(&(un->un_fi_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
29837
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
29844
un = SD_GET_UN(bp);
usr/src/uts/common/io/scsi/targets/sd.c
29846
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
29848
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29850
SD_TRACE(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29855
un->sd_fi_fifo_start == un->sd_fi_fifo_end) {
usr/src/uts/common/io/scsi/targets/sd.c
29856
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29860
SD_INFO(SD_LOG_SDTEST, un,
usr/src/uts/common/io/scsi/targets/sd.c
29864
i = un->sd_fi_fifo_start % SD_FI_MAX_ERROR;
usr/src/uts/common/io/scsi/targets/sd.c
29866
fi_pkt = un->sd_fi_fifo_pkt[i];
usr/src/uts/common/io/scsi/targets/sd.c
29867
fi_xb = un->sd_fi_fifo_xb[i];
usr/src/uts/common/io/scsi/targets/sd.c
29868
fi_un = un->sd_fi_fifo_un[i];
usr/src/uts/common/io/scsi/targets/sd.c
29869
fi_arq = un->sd_fi_fifo_arq[i];
usr/src/uts/common/io/scsi/targets/sd.c
2991
un->un_f_mmc_gesn_polling = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
2992
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
29921
SD_CONDSET(un->un_sd->sd_inq, un, inq_rmb, "inq_rmb");
usr/src/uts/common/io/scsi/targets/sd.c
29922
SD_CONDSET(un, un, un_ctype, "un_ctype");
usr/src/uts/common/io/scsi/targets/sd.c
29923
SD_CONDSET(un, un, un_reset_retry_count,
usr/src/uts/common/io/scsi/targets/sd.c
29925
SD_CONDSET(un, un, un_reservation_type, "un_reservation_type");
usr/src/uts/common/io/scsi/targets/sd.c
29926
SD_CONDSET(un, un, un_resvd_status, "un_resvd_status");
usr/src/uts/common/io/scsi/targets/sd.c
29927
SD_CONDSET(un, un, un_f_arq_enabled, "un_f_arq_enabled");
usr/src/uts/common/io/scsi/targets/sd.c
29928
SD_CONDSET(un, un, un_f_allow_bus_device_reset,
usr/src/uts/common/io/scsi/targets/sd.c
29930
SD_CONDSET(un, un, un_f_opt_queueing, "un_f_opt_queueing");
usr/src/uts/common/io/scsi/targets/sd.c
29940
if (un->sd_fi_fifo_pkt[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29941
kmem_free(un->sd_fi_fifo_pkt[i], sizeof (struct sd_fi_pkt));
usr/src/uts/common/io/scsi/targets/sd.c
29943
if (un->sd_fi_fifo_xb[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29944
kmem_free(un->sd_fi_fifo_xb[i], sizeof (struct sd_fi_xb));
usr/src/uts/common/io/scsi/targets/sd.c
29946
if (un->sd_fi_fifo_un[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29947
kmem_free(un->sd_fi_fifo_un[i], sizeof (struct sd_fi_un));
usr/src/uts/common/io/scsi/targets/sd.c
29949
if (un->sd_fi_fifo_arq[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
29950
kmem_free(un->sd_fi_fifo_arq[i], sizeof (struct sd_fi_arq));
usr/src/uts/common/io/scsi/targets/sd.c
29959
un->sd_fi_fifo_pkt[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29960
un->sd_fi_fifo_un[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29961
un->sd_fi_fifo_xb[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29962
un->sd_fi_fifo_arq[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
29964
un->sd_fi_fifo_start++;
usr/src/uts/common/io/scsi/targets/sd.c
29966
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
29968
SD_INFO(SD_LOG_SDTEST, un, "sd_faultinjection: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
3014
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
3024
un->un_f_cfg_cdda = (sense_page[5] & 0x01) ? TRUE : FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
30245
sd_set_unit_attributes(struct sd_lun *un, dev_info_t *devi)
usr/src/uts/common/io/scsi/targets/sd.c
30249
ASSERT(un->un_sd);
usr/src/uts/common/io/scsi/targets/sd.c
30250
ASSERT(un->un_sd->sd_inq);
usr/src/uts/common/io/scsi/targets/sd.c
30255
un->un_f_sync_cache_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30262
un->un_f_sync_cache_required = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
30264
if (un->un_sd->sd_inq->inq_rmb) {
usr/src/uts/common/io/scsi/targets/sd.c
3027
un->un_f_dvdram_writable_device = (sense_page[3] & 0x20) ? TRUE : FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
30270
un->un_f_has_removable_media = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30275
un->un_f_non_devbsize_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3028
if (un->un_f_dvdram_writable_device == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
30280
un->un_f_doorlock_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30288
un->un_f_chk_wp_open = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30294
un->un_f_monitor_media_state = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30301
un->un_f_check_start_stop = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30307
un->un_f_eject_media_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30317
un->un_f_pm_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30334
un->un_f_devid_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30339
un->un_f_attach_spinup = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30347
if (SD_INQUIRY(un)->inq_dtype == DTYPE_DIRECT) {
usr/src/uts/common/io/scsi/targets/sd.c
30348
un->un_f_descr_format_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30357
un->un_f_pkstats_enabled = (ddi_prop_get_int(DDI_DEV_T_ANY,
usr/src/uts/common/io/scsi/targets/sd.c
30358
SD_DEVINFO(un), DDI_PROP_DONTPASS,
usr/src/uts/common/io/scsi/targets/sd.c
30379
un->un_f_log_sense_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30380
if (!un->un_f_power_condition_disabled &&
usr/src/uts/common/io/scsi/targets/sd.c
30381
SD_INQUIRY(un)->inq_ansi == 6) {
usr/src/uts/common/io/scsi/targets/sd.c
30382
un->un_f_power_condition_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30394
un->un_f_log_sense_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
30397
un->un_f_pm_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30398
if (!un->un_f_power_condition_disabled &&
usr/src/uts/common/io/scsi/targets/sd.c
30400
un->un_f_power_condition_supported =
usr/src/uts/common/io/scsi/targets/sd.c
30404
un->un_f_log_sense_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30405
un->un_f_pm_log_sense_smart =
usr/src/uts/common/io/scsi/targets/sd.c
30410
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
30412
"property set to %d.\n", un, un->un_f_pm_supported);
usr/src/uts/common/io/scsi/targets/sd.c
30416
if (un->un_f_is_hotpluggable) {
usr/src/uts/common/io/scsi/targets/sd.c
30423
un->un_f_monitor_media_state = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30425
un->un_f_check_start_stop = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30440
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
30452
un = ddi_get_soft_state(sd_state, ddi_get_instance(devi));
usr/src/uts/common/io/scsi/targets/sd.c
30453
if (un == NULL)
usr/src/uts/common/io/scsi/targets/sd.c
30459
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
30460
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30461
if (un->un_f_tgt_blocksize_is_valid == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
30462
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30467
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30468
sd_update_block_info(un, lbasize, cap);
usr/src/uts/common/io/scsi/targets/sd.c
30469
if ((un->un_f_tgt_blocksize_is_valid == FALSE)) {
usr/src/uts/common/io/scsi/targets/sd.c
30470
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30476
if (NOT_DEVBSIZE(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
30482
real_addr = first_byte / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
30485
un->un_tgt_blocksize - 1) / un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
30488
buffer_size = (end_block - real_addr) * un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
30490
SD_TRACE(SD_LOG_IO_PARTITION, un, "sd_tg_rdwr",
usr/src/uts/common/io/scsi/targets/sd.c
30494
if (((first_byte % un->un_tgt_blocksize) != 0) ||
usr/src/uts/common/io/scsi/targets/sd.c
30495
(reqlength % un->un_tgt_blocksize) != 0)
usr/src/uts/common/io/scsi/targets/sd.c
30509
if (ISCD(un) && (cmd == TG_READ) &&
usr/src/uts/common/io/scsi/targets/sd.c
30510
(un->un_f_blockcount_is_valid == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
30511
((start_block == (un->un_blockcount - 1)) ||
usr/src/uts/common/io/scsi/targets/sd.c
30512
(start_block == (un->un_blockcount - 2)))) {
usr/src/uts/common/io/scsi/targets/sd.c
30516
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30521
bcopy(dkl + SD_TGTBYTEOFFSET(un, start_block,
usr/src/uts/common/io/scsi/targets/sd.c
30530
bcopy(bufaddr, dkl + SD_TGTBYTEOFFSET(un, start_block,
usr/src/uts/common/io/scsi/targets/sd.c
30557
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
30563
un = ddi_get_soft_state(sd_state, ddi_get_instance(devi));
usr/src/uts/common/io/scsi/targets/sd.c
30564
if (un == NULL)
usr/src/uts/common/io/scsi/targets/sd.c
30572
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30574
if ((un->un_f_blockcount_is_valid == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
30575
(un->un_f_tgt_blocksize_is_valid == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
30576
cap = un->un_blockcount;
usr/src/uts/common/io/scsi/targets/sd.c
30577
lbasize = un->un_tgt_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
30578
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30581
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30582
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
30596
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30597
sd_update_block_info(un, lbasize, cap);
usr/src/uts/common/io/scsi/targets/sd.c
30598
if ((un->un_f_blockcount_is_valid == FALSE) ||
usr/src/uts/common/io/scsi/targets/sd.c
30599
(un->un_f_tgt_blocksize_is_valid == FALSE)) {
usr/src/uts/common/io/scsi/targets/sd.c
30600
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30603
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30617
ret = sd_get_physical_geometry(un, (cmlb_geom_t *)arg,
usr/src/uts/common/io/scsi/targets/sd.c
30621
ret = sd_get_virtual_geometry(un,
usr/src/uts/common/io/scsi/targets/sd.c
30627
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30629
un->un_f_mmc_writable_media;
usr/src/uts/common/io/scsi/targets/sd.c
30631
un->un_f_is_solid_state;
usr/src/uts/common/io/scsi/targets/sd.c
30633
un->un_f_is_rotational;
usr/src/uts/common/io/scsi/targets/sd.c
30634
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
30665
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
30678
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
30679
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
30681
dip = un->un_sd->sd_dev;
usr/src/uts/common/io/scsi/targets/sd.c
30693
if (ddi_in_panic() || (un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
30694
(un->un_state == SD_STATE_DUMPING))
usr/src/uts/common/io/scsi/targets/sd.c
30708
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
30747
scsi_fm_ereport_post(un->un_sd, uscsi_path_instance, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
30774
scsi_fm_ereport_post(un->un_sd, uscsi_path_instance,
usr/src/uts/common/io/scsi/targets/sd.c
30803
scsi_fm_ereport_post(un->un_sd, uscsi_path_instance,
usr/src/uts/common/io/scsi/targets/sd.c
3081
un->un_f_dvdram_writable_device = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
30845
scsi_fm_ereport_post(un->un_sd, uscsi_path_instance, NULL,
usr/src/uts/common/io/scsi/targets/sd.c
30888
scsi_fm_ereport_post(un->un_sd,
usr/src/uts/common/io/scsi/targets/sd.c
30937
scsi_fm_ereport_post(un->un_sd,
usr/src/uts/common/io/scsi/targets/sd.c
30993
scsi_fm_ereport_post(un->un_sd, uscsi_path_instance,
usr/src/uts/common/io/scsi/targets/sd.c
31027
sd_ssc_extract_info(sd_ssc_t *ssc, struct sd_lun *un, struct scsi_pkt *pktp,
usr/src/uts/common/io/scsi/targets/sd.c
31038
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
31043
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
31143
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
31146
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
31147
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
31148
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
31150
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31151
un->un_f_is_rotational = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
31152
un->un_f_is_solid_state = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
31154
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
31155
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31160
un->un_vpd_page_mask & SD_VPD_DEV_CHARACTER_PG) {
usr/src/uts/common/io/scsi/targets/sd.c
31161
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31169
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
31176
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31182
un->un_f_is_rotational = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
31184
un->un_f_is_rotational = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
31185
un->un_f_is_solid_state = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
31190
un->un_f_disksort_disabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
31193
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31200
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3122
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
31223
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
31226
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
31227
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
31228
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
31230
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31231
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
31232
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31236
if (un->un_f_descr_format_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
31237
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31240
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
31243
un->un_phy_blocksize = DEV_BSIZE;
usr/src/uts/common/io/scsi/targets/sd.c
31246
un->un_phy_blocksize = DEV_BSIZE;
usr/src/uts/common/io/scsi/targets/sd.c
31247
} else if (pbsize > un->un_phy_blocksize) {
usr/src/uts/common/io/scsi/targets/sd.c
3125
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
31252
un->un_phy_blocksize = pbsize;
usr/src/uts/common/io/scsi/targets/sd.c
31259
if (sd_sdconf_id_match(un, sd_flash_dev_table[i], devid_len)
usr/src/uts/common/io/scsi/targets/sd.c
3126
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
31261
un->un_phy_blocksize = SSD_SECSIZE;
usr/src/uts/common/io/scsi/targets/sd.c
31262
if (un->un_f_is_solid_state &&
usr/src/uts/common/io/scsi/targets/sd.c
31263
un->un_phy_blocksize != un->un_tgt_blocksize)
usr/src/uts/common/io/scsi/targets/sd.c
31264
un->un_f_enable_rmw = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
31268
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3127
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
3133
un->un_f_mmc_writable_media = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
3134
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3145
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3151
un->un_f_mmc_writable_media = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3164
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3171
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3186
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
3210
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3222
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3234
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
3244
un->un_f_mmc_writable_media = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3269
sd_read_unit_properties(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
3278
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
3279
if (sd_process_sdconf_file(un) == SD_FAILURE) {
usr/src/uts/common/io/scsi/targets/sd.c
3280
sd_process_sdconf_table(un);
usr/src/uts/common/io/scsi/targets/sd.c
3349
sd_process_sdconf_file(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
3363
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
3366
if (ddi_prop_lookup_string_array(DDI_DEV_T_ANY, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
3381
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
3395
if (sd_sdconf_id_match(un, vidptr, vidlen) != SD_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
3409
sd_nvpair_str_decode(un, dnlist_ptr);
usr/src/uts/common/io/scsi/targets/sd.c
3423
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3429
SD_DEVINFO(un), 0, dataname_ptr, &data_list,
usr/src/uts/common/io/scsi/targets/sd.c
3431
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3444
if (sd_chk_vers1_data(un, data_list[1],
usr/src/uts/common/io/scsi/targets/sd.c
3447
sd_get_tunables_from_conf(un,
usr/src/uts/common/io/scsi/targets/sd.c
3450
sd_set_vers1_properties(un,
usr/src/uts/common/io/scsi/targets/sd.c
3457
scsi_log(SD_DEVINFO(un), sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
3487
sd_nvpair_str_decode(struct sd_lun *un, char *nvpair_str)
usr/src/uts/common/io/scsi/targets/sd.c
3499
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3503
sd_set_properties(un, name, value);
usr/src/uts/common/io/scsi/targets/sd.c
3519
sd_set_properties(struct sd_lun *un, char *name, char *value)
usr/src/uts/common/io/scsi/targets/sd.c
3526
un->un_f_suppress_cache_flush = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3528
un->un_f_suppress_cache_flush = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
3532
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3534
un->un_f_suppress_cache_flush);
usr/src/uts/common/io/scsi/targets/sd.c
3540
un->un_ctype = val;
usr/src/uts/common/io/scsi/targets/sd.c
3544
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3545
"ctype set to %d\n", un->un_ctype);
usr/src/uts/common/io/scsi/targets/sd.c
3551
un->un_busy_timeout = drv_usectohz(val / 1000);
usr/src/uts/common/io/scsi/targets/sd.c
3555
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3556
"busy_timeout set to %d\n", un->un_busy_timeout);
usr/src/uts/common/io/scsi/targets/sd.c
3562
un->un_f_disksort_disabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
3564
un->un_f_disksort_disabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3568
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3570
un->un_f_disksort_disabled);
usr/src/uts/common/io/scsi/targets/sd.c
3576
un->un_f_power_condition_disabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
3578
un->un_f_power_condition_disabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3582
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3584
un->un_f_power_condition_disabled);
usr/src/uts/common/io/scsi/targets/sd.c
3590
un->un_reserve_release_time = val;
usr/src/uts/common/io/scsi/targets/sd.c
3594
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3596
un->un_reserve_release_time);
usr/src/uts/common/io/scsi/targets/sd.c
3602
un->un_f_lun_reset_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3604
un->un_f_lun_reset_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
3608
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3610
un->un_f_lun_reset_enabled);
usr/src/uts/common/io/scsi/targets/sd.c
3616
un->un_busy_retry_count = val;
usr/src/uts/common/io/scsi/targets/sd.c
3620
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3621
"busy retry count set to %d\n", un->un_busy_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
3627
un->un_retry_count = val;
usr/src/uts/common/io/scsi/targets/sd.c
3631
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3632
"timeout retry count set to %d\n", un->un_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
3638
un->un_notready_retry_count = val;
usr/src/uts/common/io/scsi/targets/sd.c
3642
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3644
un->un_notready_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
3650
un->un_reset_retry_count = val;
usr/src/uts/common/io/scsi/targets/sd.c
3654
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3656
un->un_reset_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
3662
un->un_saved_throttle = un->un_throttle = val;
usr/src/uts/common/io/scsi/targets/sd.c
3666
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3667
"throttle set to %d\n", un->un_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
3672
un->un_min_throttle = val;
usr/src/uts/common/io/scsi/targets/sd.c
3676
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3677
"min throttle set to %d\n", un->un_min_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
3682
un->un_f_rmw_type = val;
usr/src/uts/common/io/scsi/targets/sd.c
3686
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3687
"RMW type set to %d\n", un->un_f_rmw_type);
usr/src/uts/common/io/scsi/targets/sd.c
3692
ISP2(val) && val >= un->un_tgt_blocksize &&
usr/src/uts/common/io/scsi/targets/sd.c
3693
val >= un->un_sys_blocksize) {
usr/src/uts/common/io/scsi/targets/sd.c
3694
un->un_phy_blocksize = val;
usr/src/uts/common/io/scsi/targets/sd.c
3698
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3699
"physical block size set to %d\n", un->un_phy_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
3704
un->un_victim_retry_count = val;
usr/src/uts/common/io/scsi/targets/sd.c
3708
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3710
un->un_victim_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
3718
if ((un->un_throttle < SD_LOWEST_VALID_THROTTLE) ||
usr/src/uts/common/io/scsi/targets/sd.c
3719
(un->un_min_throttle < SD_LOWEST_VALID_THROTTLE) ||
usr/src/uts/common/io/scsi/targets/sd.c
3720
(un->un_min_throttle > un->un_throttle)) {
usr/src/uts/common/io/scsi/targets/sd.c
3721
un->un_saved_throttle = un->un_throttle = sd_max_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
3722
un->un_min_throttle = sd_min_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
3727
un->un_f_mmc_gesn_polling = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
3729
un->un_f_mmc_gesn_polling = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
3733
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3735
un->un_f_mmc_gesn_polling);
usr/src/uts/common/io/scsi/targets/sd.c
3741
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_set_properties: "
usr/src/uts/common/io/scsi/targets/sd.c
3758
sd_get_tunables_from_conf(struct sd_lun *un, int flags, int *data_list,
usr/src/uts/common/io/scsi/targets/sd.c
3778
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3784
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3790
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3796
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3802
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3808
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3814
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3820
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3826
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3832
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3839
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3863
sd_process_sdconf_table(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
3869
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
3881
if (sd_sdconf_id_match(un, id, idlen) == SD_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
3882
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
3884
sd_set_vers1_properties(un,
usr/src/uts/common/io/scsi/targets/sd.c
3916
sd_sdconf_id_match(struct sd_lun *un, char *id, int idlen)
usr/src/uts/common/io/scsi/targets/sd.c
3921
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
3922
sd_inq = un->un_sd->sd_inq;
usr/src/uts/common/io/scsi/targets/sd.c
3937
rval = sd_blank_cmp(un, id, idlen);
usr/src/uts/common/io/scsi/targets/sd.c
3952
j = sizeof (SD_INQUIRY(un)->inq_pid) -
usr/src/uts/common/io/scsi/targets/sd.c
3959
if (bcmp(&SD_INQUIRY(un)->inq_pid[i],
usr/src/uts/common/io/scsi/targets/sd.c
3998
sd_blank_cmp(struct sd_lun *un, char *id, int idlen)
usr/src/uts/common/io/scsi/targets/sd.c
4003
cnt = sizeof (SD_INQUIRY(un)->inq_vid) +
usr/src/uts/common/io/scsi/targets/sd.c
4004
sizeof (SD_INQUIRY(un)->inq_pid);
usr/src/uts/common/io/scsi/targets/sd.c
4006
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
4007
p2 = un->un_sd->sd_inq->inq_vid;
usr/src/uts/common/io/scsi/targets/sd.c
4061
sd_chk_vers1_data(struct sd_lun *un, int flags, int *prop_list,
usr/src/uts/common/io/scsi/targets/sd.c
4068
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
4072
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
4077
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
4085
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
4104
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
4108
scsi_log(SD_DEVINFO(un), sd_label, CE_CONT, "Size expected: "
usr/src/uts/common/io/scsi/targets/sd.c
4134
sd_set_vers1_properties(struct sd_lun *un, int flags, sd_tunables *prop_list)
usr/src/uts/common/io/scsi/targets/sd.c
4136
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
4144
un->un_f_opt_disable_cache = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4145
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4151
un->un_f_cfg_playmsf_bcd = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4152
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4156
un->un_f_cfg_readsub_bcd = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4157
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4161
un->un_f_cfg_read_toc_trk_bcd = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4162
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4166
un->un_f_cfg_read_toc_addr_bcd = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4167
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4171
un->un_f_cfg_no_read_header = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4172
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4176
un->un_f_cfg_read_cd_xd4 = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4177
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4183
un->un_f_opt_fab_devid = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4184
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4191
un->un_saved_throttle = un->un_throttle =
usr/src/uts/common/io/scsi/targets/sd.c
4193
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4202
un->un_notready_retry_count =
usr/src/uts/common/io/scsi/targets/sd.c
4204
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4206
" set to %d\n", un->un_notready_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
4215
un->un_ctype = prop_list->sdt_ctype;
usr/src/uts/common/io/scsi/targets/sd.c
4216
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4221
un->un_ctype = prop_list->sdt_ctype;
usr/src/uts/common/io/scsi/targets/sd.c
4222
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4227
un->un_ctype = prop_list->sdt_ctype;
usr/src/uts/common/io/scsi/targets/sd.c
4228
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4233
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
4243
un->un_busy_retry_count =
usr/src/uts/common/io/scsi/targets/sd.c
4245
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4248
un->un_busy_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
4254
un->un_reset_retry_count =
usr/src/uts/common/io/scsi/targets/sd.c
4256
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4259
un->un_reset_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
4265
un->un_reserve_release_time =
usr/src/uts/common/io/scsi/targets/sd.c
4267
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4270
un->un_reserve_release_time);
usr/src/uts/common/io/scsi/targets/sd.c
4279
un->un_f_cfg_tur_check = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4280
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4285
un->un_min_throttle = prop_list->sdt_min_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
4286
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4288
un->un_min_throttle);
usr/src/uts/common/io/scsi/targets/sd.c
4292
un->un_f_disksort_disabled =
usr/src/uts/common/io/scsi/targets/sd.c
4295
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4302
un->un_f_lun_reset_enabled =
usr/src/uts/common/io/scsi/targets/sd.c
4305
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4312
un->un_f_suppress_cache_flush =
usr/src/uts/common/io/scsi/targets/sd.c
4315
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4322
un->un_f_power_condition_disabled =
usr/src/uts/common/io/scsi/targets/sd.c
4325
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
4335
if ((un->un_throttle < SD_LOWEST_VALID_THROTTLE) ||
usr/src/uts/common/io/scsi/targets/sd.c
4336
(un->un_min_throttle < SD_LOWEST_VALID_THROTTLE) ||
usr/src/uts/common/io/scsi/targets/sd.c
4337
(un->un_min_throttle > un->un_throttle)) {
usr/src/uts/common/io/scsi/targets/sd.c
4338
un->un_saved_throttle = un->un_throttle = sd_max_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
4339
un->un_min_throttle = sd_min_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
4374
sd_get_physical_geometry(struct sd_lun *un, cmlb_geom_t *pgeom_p,
usr/src/uts/common/io/scsi/targets/sd.c
4397
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
4400
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
4403
lbasize = un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
4423
if (ISCD(un) ||
usr/src/uts/common/io/scsi/targets/sd.c
4424
un->un_interconnect_type == SD_INTERCONNECT_SATA ||
usr/src/uts/common/io/scsi/targets/sd.c
4425
(un->un_ctype == CTYPE_CCS && SD_INQUIRY(un)->inq_ansi >= 5))
usr/src/uts/common/io/scsi/targets/sd.c
4428
cdbsize = (un->un_f_cfg_is_atapi == TRUE) ? CDB_GROUP2 : CDB_GROUP0;
usr/src/uts/common/io/scsi/targets/sd.c
4434
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
4438
SD_ERROR(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4449
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
4489
sector_size = un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
4491
sector_size &= ~(un->un_sys_blocksize - 1);
usr/src/uts/common/io/scsi/targets/sd.c
4497
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4499
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4502
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4516
SD_ERROR(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4527
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
4566
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4568
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4570
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4572
SD_INFO(SD_LOG_COMMON, un, " pgeom_p: %p; read cap: %d\n",
usr/src/uts/common/io/scsi/targets/sd.c
4582
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4602
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4604
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4607
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4610
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4612
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4616
SD_INFO(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
4670
sd_get_virtual_geometry(struct sd_lun *un, cmlb_geom_t *lgeom_p,
usr/src/uts/common/io/scsi/targets/sd.c
4676
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
4679
(void) scsi_ifsetcap(SD_ADDRESS(un), "sector-size", lbasize, 1);
usr/src/uts/common/io/scsi/targets/sd.c
4680
(void) scsi_ifsetcap(SD_ADDRESS(un), "total-sectors", capacity, 1);
usr/src/uts/common/io/scsi/targets/sd.c
4683
geombuf = (uint_t)scsi_ifgetcap(SD_ADDRESS(un), "geometry", 1);
usr/src/uts/common/io/scsi/targets/sd.c
4693
lgeom_p->g_secsize = un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
4718
SD_INFO(SD_LOG_COMMON, un, "sd_get_virtual_geometry: (cached)\n");
usr/src/uts/common/io/scsi/targets/sd.c
4736
sd_update_block_info(struct sd_lun *un, uint32_t lbasize, uint64_t capacity)
usr/src/uts/common/io/scsi/targets/sd.c
4739
un->un_tgt_blocksize = lbasize;
usr/src/uts/common/io/scsi/targets/sd.c
4740
un->un_f_tgt_blocksize_is_valid = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4741
if (!un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
4742
un->un_sys_blocksize = lbasize;
usr/src/uts/common/io/scsi/targets/sd.c
4747
un->un_blockcount = capacity;
usr/src/uts/common/io/scsi/targets/sd.c
4748
un->un_f_blockcount_is_valid = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4753
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
4756
capacity *= un->un_sys_blocksize;
usr/src/uts/common/io/scsi/targets/sd.c
4757
stp = (struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
4769
sd_parse_blk_limits_vpd(struct sd_lun *un, uchar_t *vpd_pg)
usr/src/uts/common/io/scsi/targets/sd.c
4771
sd_blk_limits_t *lim = &un->un_blk_lim;
usr/src/uts/common/io/scsi/targets/sd.c
4829
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
4834
if (un->un_vpd_page_mask & SD_VPD_BLK_LIMITS_PG) {
usr/src/uts/common/io/scsi/targets/sd.c
4876
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
4879
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
4880
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
4881
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
4882
ASSERT((SD_DEVINFO(un)) == devi);
usr/src/uts/common/io/scsi/targets/sd.c
4896
if (un->un_vpd_page_mask & SD_VPD_UNIT_SERIAL_PG) {
usr/src/uts/common/io/scsi/targets/sd.c
4898
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
4910
DDI_DEV_T_NONE, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
4933
SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
4938
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
4942
if (un->un_vpd_page_mask & SD_VPD_DEVID_WWN_PG) {
usr/src/uts/common/io/scsi/targets/sd.c
4943
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
4955
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
4968
if (ddi_devid_get(SD_DEVINFO(un), &un->un_devid) == DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
4969
ASSERT(un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
4970
un->un_f_devid_transport_defined = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
4981
if (un->un_f_opt_fab_devid == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
4997
if (un->un_devid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
4998
(void) ddi_devid_register(SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
4999
un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
5000
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
5008
(char *)ddi_driver_name(SD_DEVINFO(un)),
usr/src/uts/common/io/scsi/targets/sd.c
5009
(uchar_t *)SD_INQUIRY(un), sizeof (*SD_INQUIRY(un)),
usr/src/uts/common/io/scsi/targets/sd.c
5011
inq83_resid, &un->un_devid) == DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
5014
(void) ddi_devid_register(SD_DEVINFO(un), un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
5034
un->un_f_opt_fab_devid = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
5037
if (un->un_devid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5038
(void) ddi_devid_register(SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
5039
un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
5040
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
5085
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5088
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
5089
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5090
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
5092
SD_TRACE(SD_LOG_ATTACH_DETACH, un, "sd_get_devid: entry: un: 0x%p\n",
usr/src/uts/common/io/scsi/targets/sd.c
5093
un);
usr/src/uts/common/io/scsi/targets/sd.c
5095
if (un->un_devid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5099
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5100
if (cmlb_get_devid_block(un->un_cmlbhandle, &blk,
usr/src/uts/common/io/scsi/targets/sd.c
5102
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5112
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5113
buffer_size = SD_REQBYTES2TGTBYTES(un, sizeof (struct dk_devid));
usr/src/uts/common/io/scsi/targets/sd.c
5114
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5157
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5159
un->un_devid = tmpid;
usr/src/uts/common/io/scsi/targets/sd.c
5160
bcopy(&dkdevid->dkd_devid, un->un_devid, sz);
usr/src/uts/common/io/scsi/targets/sd.c
5164
SD_TRACE(SD_LOG_ATTACH_DETACH, un, "sd_get_devid: exit: un:0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
5168
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5190
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5193
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
5194
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5197
if (ddi_devid_init(SD_DEVINFO(un), DEVID_FAB, 0, NULL, &un->un_devid)
usr/src/uts/common/io/scsi/targets/sd.c
5204
ddi_devid_free(un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
5205
un->un_devid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5208
return (un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
5235
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5238
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
5239
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5240
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
5242
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5243
if (cmlb_get_devid_block(un->un_cmlbhandle, &blk,
usr/src/uts/common/io/scsi/targets/sd.c
5245
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5251
buf = kmem_zalloc(un->un_sys_blocksize, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/sd.c
5259
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5260
bcopy(un->un_devid, &dkdevid->dkd_devid,
usr/src/uts/common/io/scsi/targets/sd.c
5261
ddi_devid_sizeof(un->un_devid));
usr/src/uts/common/io/scsi/targets/sd.c
5262
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5276
status = sd_send_scsi_WRITE(ssc, buf, un->un_sys_blocksize, blk,
usr/src/uts/common/io/scsi/targets/sd.c
5281
kmem_free(buf, un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
5283
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5314
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5317
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
5318
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5319
ASSERT(mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
5321
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5335
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5361
un->un_vpd_page_mask |= SD_VPD_SUPPORTED_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5364
un->un_vpd_page_mask |= SD_VPD_UNIT_SERIAL_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5367
un->un_vpd_page_mask |= SD_VPD_OPERATING_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5370
un->un_vpd_page_mask |= SD_VPD_ASCII_OP_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5373
un->un_vpd_page_mask |= SD_VPD_DEVID_WWN_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5376
un->un_vpd_page_mask |= SD_VPD_EXTENDED_DATA_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5379
un->un_vpd_page_mask |= SD_VPD_BLK_LIMITS_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5382
un->un_vpd_page_mask |= SD_VPD_DEV_CHARACTER_PG;
usr/src/uts/common/io/scsi/targets/sd.c
5391
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
5416
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5419
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
5420
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5428
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
5446
if (un->un_f_pm_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
5454
un->un_f_start_stop_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
5456
if (un->un_f_power_condition_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
5461
un->un_f_power_condition_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5464
if (!un->un_f_power_condition_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
5470
un->un_f_start_stop_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5477
un->un_f_pm_is_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
5478
(void) sd_create_pm_components(devi, un);
usr/src/uts/common/io/scsi/targets/sd.c
5483
if (un->un_f_log_sense_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
5488
un->un_start_stop_cycle_page =
usr/src/uts/common/io/scsi/targets/sd.c
5498
un->un_f_log_sense_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5499
un->un_f_pm_log_sense_smart = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5510
if (!un->un_f_log_sense_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
5511
un->un_power_level = SD_SPINDLE_ON;
usr/src/uts/common/io/scsi/targets/sd.c
5512
un->un_f_pm_is_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5537
un->un_power_level = SD_SPINDLE_ON;
usr/src/uts/common/io/scsi/targets/sd.c
5538
un->un_f_pm_is_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5551
un->un_start_stop_cycle_page = START_STOP_CYCLE_VU_PAGE;
usr/src/uts/common/io/scsi/targets/sd.c
5552
un->un_f_pm_is_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
5558
un->un_power_level = SD_SPINDLE_ON;
usr/src/uts/common/io/scsi/targets/sd.c
5559
un->un_f_pm_is_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5565
un->un_start_stop_cycle_page = START_STOP_CYCLE_PAGE;
usr/src/uts/common/io/scsi/targets/sd.c
5566
un->un_f_pm_is_enabled = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
5570
if (un->un_f_pm_is_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
5575
log_page_size, un->un_start_stop_cycle_page,
usr/src/uts/common/io/scsi/targets/sd.c
5595
(void) sd_create_pm_components(devi, un);
usr/src/uts/common/io/scsi/targets/sd.c
5597
un->un_power_level = SD_SPINDLE_ON;
usr/src/uts/common/io/scsi/targets/sd.c
5598
un->un_f_pm_is_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5615
sd_create_pm_components(dev_info_t *devi, struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
5617
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
5619
if (un->un_f_power_condition_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
5623
un->un_power_level = SD_SPINDLE_ACTIVE;
usr/src/uts/common/io/scsi/targets/sd.c
5624
un->un_f_pm_is_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5631
un->un_power_level = SD_SPINDLE_ON;
usr/src/uts/common/io/scsi/targets/sd.c
5632
un->un_f_pm_is_enabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
5648
if (un->un_f_attach_spinup && (pm_raise_power(SD_DEVINFO(un), 0,
usr/src/uts/common/io/scsi/targets/sd.c
5649
SD_PM_STATE_ACTIVE(un)) == DDI_SUCCESS)) {
usr/src/uts/common/io/scsi/targets/sd.c
5650
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5651
un->un_power_level = SD_PM_STATE_ACTIVE(un);
usr/src/uts/common/io/scsi/targets/sd.c
5652
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5654
un->un_pm_count = 0;
usr/src/uts/common/io/scsi/targets/sd.c
5656
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5657
un->un_power_level = SD_PM_STATE_STOPPED(un);
usr/src/uts/common/io/scsi/targets/sd.c
5658
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5660
un->un_pm_count = -1;
usr/src/uts/common/io/scsi/targets/sd.c
5662
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5663
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5684
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5687
un = ddi_get_soft_state(sd_state, ddi_get_instance(devi));
usr/src/uts/common/io/scsi/targets/sd.c
5688
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5692
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_suspend: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
5694
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5697
if (un->un_state == SD_STATE_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/sd.c
5698
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5699
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_suspend: "
usr/src/uts/common/io/scsi/targets/sd.c
5705
if (un->un_resvd_status &
usr/src/uts/common/io/scsi/targets/sd.c
5707
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5708
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_suspend: "
usr/src/uts/common/io/scsi/targets/sd.c
5717
if ((un->un_state == SD_STATE_RWAIT) ||
usr/src/uts/common/io/scsi/targets/sd.c
5718
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
5719
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5720
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_suspend: "
usr/src/uts/common/io/scsi/targets/sd.c
5726
un->un_save_state = un->un_last_state;
usr/src/uts/common/io/scsi/targets/sd.c
5727
New_state(un, SD_STATE_SUSPENDED);
usr/src/uts/common/io/scsi/targets/sd.c
5744
while (un->un_ncmds_in_transport != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
5748
if (cv_timedwait(&un->un_disk_busy_cv, SD_MUTEX(un),
usr/src/uts/common/io/scsi/targets/sd.c
5754
Restore_state(un);
usr/src/uts/common/io/scsi/targets/sd.c
5755
un->un_last_state = un->un_save_state;
usr/src/uts/common/io/scsi/targets/sd.c
5757
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
5758
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5759
SD_ERROR(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
5761
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_suspend: exiting\n");
usr/src/uts/common/io/scsi/targets/sd.c
5770
if (SD_OK_TO_SUSPEND_SCSI_WATCHER(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
5771
opaque_t temp_token = un->un_swr_token;
usr/src/uts/common/io/scsi/targets/sd.c
5772
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5774
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5777
if (un->un_reset_throttle_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5778
timeout_id_t temp_id = un->un_reset_throttle_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
5779
un->un_reset_throttle_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5780
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5782
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5785
if (un->un_dcvb_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5786
timeout_id_t temp_id = un->un_dcvb_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
5787
un->un_dcvb_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5788
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5790
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5793
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5794
if (un->un_pm_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5795
timeout_id_t temp_id = un->un_pm_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
5796
un->un_pm_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5797
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5798
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5800
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5802
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5805
if (un->un_rmw_msg_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5806
timeout_id_t temp_id = un->un_rmw_msg_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
5807
un->un_rmw_msg_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5808
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5810
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5813
if (un->un_retry_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5814
timeout_id_t temp_id = un->un_retry_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
5815
un->un_retry_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5816
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5818
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5820
if (un->un_retry_bp != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5821
un->un_retry_bp->av_forw = un->un_waitq_headp;
usr/src/uts/common/io/scsi/targets/sd.c
5822
un->un_waitq_headp = un->un_retry_bp;
usr/src/uts/common/io/scsi/targets/sd.c
5823
if (un->un_waitq_tailp == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5824
un->un_waitq_tailp = un->un_retry_bp;
usr/src/uts/common/io/scsi/targets/sd.c
5826
un->un_retry_bp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5827
un->un_retry_statp = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5831
if (un->un_direct_priority_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5832
timeout_id_t temp_id = un->un_direct_priority_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
5833
un->un_direct_priority_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5834
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5836
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5839
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
5843
if (un->un_insert_event != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5844
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5845
(void) ddi_remove_event_handler(un->un_insert_cb_id);
usr/src/uts/common/io/scsi/targets/sd.c
5846
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5847
un->un_insert_event = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5850
if (un->un_remove_event != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5851
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5852
(void) ddi_remove_event_handler(un->un_remove_cb_id);
usr/src/uts/common/io/scsi/targets/sd.c
5853
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5854
un->un_remove_event = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
5858
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5860
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_suspend: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
5880
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
5882
un = ddi_get_soft_state(sd_state, ddi_get_instance(devi));
usr/src/uts/common/io/scsi/targets/sd.c
5883
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
5887
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_resume: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
5889
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5890
Restore_state(un);
usr/src/uts/common/io/scsi/targets/sd.c
5896
un->un_last_state = un->un_save_state;
usr/src/uts/common/io/scsi/targets/sd.c
5909
un->un_throttle = un->un_saved_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
5920
if (un->un_f_attach_spinup) {
usr/src/uts/common/io/scsi/targets/sd.c
5921
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5922
(void) pm_raise_power(SD_DEVINFO(un), 0,
usr/src/uts/common/io/scsi/targets/sd.c
5923
SD_PM_STATE_ACTIVE(un));
usr/src/uts/common/io/scsi/targets/sd.c
5924
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5931
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
5932
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
5935
if (SD_OK_TO_RESUME_SCSI_WATCHER(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
5936
scsi_watch_resume(un->un_swr_token);
usr/src/uts/common/io/scsi/targets/sd.c
5950
ddi_xbuf_dispatch(un->un_xbuf_attr);
usr/src/uts/common/io/scsi/targets/sd.c
5952
sd_start_cmds(un, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5953
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5955
SD_TRACE(SD_LOG_IO_PM, un, "sd_ddi_resume: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
5977
sd_pm_state_change(struct sd_lun *un, int level, int flag)
usr/src/uts/common/io/scsi/targets/sd.c
5979
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
5980
SD_TRACE(SD_LOG_POWER, un, "sd_pm_state_change: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
5982
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
5983
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
5985
if (flag == SD_PM_STATE_ROLLBACK || SD_PM_IS_IO_CAPABLE(un, level)) {
usr/src/uts/common/io/scsi/targets/sd.c
5986
un->un_power_level = level;
usr/src/uts/common/io/scsi/targets/sd.c
5987
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
5988
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5989
if (SD_DEVICE_IS_IN_LOW_POWER(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
5990
un->un_pm_count++;
usr/src/uts/common/io/scsi/targets/sd.c
5991
ASSERT(un->un_pm_count == 0);
usr/src/uts/common/io/scsi/targets/sd.c
5993
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
5999
if ((un->un_f_pm_is_enabled == FALSE) || (un->un_resvd_status &
usr/src/uts/common/io/scsi/targets/sd.c
6001
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6002
SD_TRACE(SD_LOG_POWER, un,
usr/src/uts/common/io/scsi/targets/sd.c
6007
SD_INFO(SD_LOG_POWER, un, "sd_pm_state_change: "
usr/src/uts/common/io/scsi/targets/sd.c
6008
"un_ncmds_in_driver=%ld\n", un->un_ncmds_in_driver);
usr/src/uts/common/io/scsi/targets/sd.c
6015
if ((un->un_ncmds_in_driver == 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
6016
(un->un_state != SD_STATE_RWAIT)) {
usr/src/uts/common/io/scsi/targets/sd.c
6022
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6023
un->un_pm_count = -1;
usr/src/uts/common/io/scsi/targets/sd.c
6024
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6025
un->un_power_level = level;
usr/src/uts/common/io/scsi/targets/sd.c
6029
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6031
SD_TRACE(SD_LOG_POWER, un, "sd_pm_state_change: exit\n");
usr/src/uts/common/io/scsi/targets/sd.c
6059
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
6065
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6066
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6068
if (un->un_pm_idle_timeid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
6069
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6070
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6073
if (((gethrtime() - un->un_pm_idle_time) > idletime) &&
usr/src/uts/common/io/scsi/targets/sd.c
6074
(un->un_ncmds_in_driver == 0) && (un->un_pm_count == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
6079
if (un->un_f_non_devbsize_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
6080
un->un_buf_chain_type = SD_CHAIN_INFO_RMMEDIA;
usr/src/uts/common/io/scsi/targets/sd.c
6082
un->un_buf_chain_type = SD_CHAIN_INFO_DISK;
usr/src/uts/common/io/scsi/targets/sd.c
6084
un->un_uscsi_chain_type = SD_CHAIN_INFO_USCSI_CMD;
usr/src/uts/common/io/scsi/targets/sd.c
6086
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6088
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
6089
un->un_pm_idle_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
6091
un->un_pm_idle_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
6092
timeout(sd_pm_idletimeout_handler, un,
usr/src/uts/common/io/scsi/targets/sd.c
6095
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6096
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6111
struct sd_lun *un = arg;
usr/src/uts/common/io/scsi/targets/sd.c
6113
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
6114
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6115
un->un_pm_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
6116
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6134
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
6151
if (((un = ddi_get_soft_state(sd_state, instance)) == NULL) ||
usr/src/uts/common/io/scsi/targets/sd.c
6152
!SD_PM_IS_LEVEL_VALID(un, level) || component != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
6156
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
6158
SD_TRACE(SD_LOG_IO_PM, un, "sdpower: entry, level = %d\n", level);
usr/src/uts/common/io/scsi/targets/sd.c
6160
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6162
SD_INFO(SD_LOG_POWER, un, "sdpower: un_ncmds_in_driver = %ld\n",
usr/src/uts/common/io/scsi/targets/sd.c
6163
un->un_ncmds_in_driver);
usr/src/uts/common/io/scsi/targets/sd.c
6172
if ((!SD_PM_IS_IO_CAPABLE(un, level)) &&
usr/src/uts/common/io/scsi/targets/sd.c
6173
(un->un_ncmds_in_driver != 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
6174
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6176
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6190
if ((un->un_state == SD_STATE_OFFLINE) ||
usr/src/uts/common/io/scsi/targets/sd.c
6191
(un->un_state == SD_STATE_SUSPENDED)) {
usr/src/uts/common/io/scsi/targets/sd.c
6192
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6194
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6206
state_before_pm = un->un_state;
usr/src/uts/common/io/scsi/targets/sd.c
6207
un->un_state = SD_STATE_PM_CHANGING;
usr/src/uts/common/io/scsi/targets/sd.c
6209
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6216
if (SD_PM_STOP_MOTOR_NEEDED(un, level) &&
usr/src/uts/common/io/scsi/targets/sd.c
6217
un->un_f_log_sense_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
6225
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6226
log_sense_page = un->un_start_stop_cycle_page;
usr/src/uts/common/io/scsi/targets/sd.c
6227
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6246
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
6257
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6258
un->un_state = state_before_pm;
usr/src/uts/common/io/scsi/targets/sd.c
6259
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
6260
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6261
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6279
if (un->un_f_pm_log_sense_smart) {
usr/src/uts/common/io/scsi/targets/sd.c
6280
sd_pm_tran_data.un.smart_count.allowed = maxcycles;
usr/src/uts/common/io/scsi/targets/sd.c
6281
sd_pm_tran_data.un.smart_count.consumed = ncycles;
usr/src/uts/common/io/scsi/targets/sd.c
6282
sd_pm_tran_data.un.smart_count.flag = 0;
usr/src/uts/common/io/scsi/targets/sd.c
6285
sd_pm_tran_data.un.scsi_cycles.lifemax = maxcycles;
usr/src/uts/common/io/scsi/targets/sd.c
6286
sd_pm_tran_data.un.scsi_cycles.ncycles = ncycles;
usr/src/uts/common/io/scsi/targets/sd.c
6288
sd_pm_tran_data.un.scsi_cycles.svc_date[i] =
usr/src/uts/common/io/scsi/targets/sd.c
6291
sd_pm_tran_data.un.scsi_cycles.flag = 0;
usr/src/uts/common/io/scsi/targets/sd.c
6334
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6335
if (un->un_pm_timeid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
6336
un->un_pm_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
6338
un, intvlp * drv_usectohz(1000000));
usr/src/uts/common/io/scsi/targets/sd.c
6339
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6340
(void) pm_busy_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
6342
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
6349
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6350
un->un_state = state_before_pm;
usr/src/uts/common/io/scsi/targets/sd.c
6351
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
6352
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6354
SD_TRACE(SD_LOG_IO_PM, un, "sdpower: exit, "
usr/src/uts/common/io/scsi/targets/sd.c
6364
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6365
un->un_state = state_before_pm;
usr/src/uts/common/io/scsi/targets/sd.c
6366
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
6367
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6368
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6375
if (!SD_PM_IS_IO_CAPABLE(un, level)) {
usr/src/uts/common/io/scsi/targets/sd.c
6380
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6381
save_state = un->un_last_state;
usr/src/uts/common/io/scsi/targets/sd.c
6382
last_power_level = un->un_power_level;
usr/src/uts/common/io/scsi/targets/sd.c
6388
ASSERT(un->un_ncmds_in_driver == 0);
usr/src/uts/common/io/scsi/targets/sd.c
6389
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6395
if ((rval = sd_pm_state_change(un, level, SD_PM_STATE_CHANGE))
usr/src/uts/common/io/scsi/targets/sd.c
6402
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6403
un->un_state = state_before_pm;
usr/src/uts/common/io/scsi/targets/sd.c
6404
un->un_power_level = last_power_level;
usr/src/uts/common/io/scsi/targets/sd.c
6405
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
6406
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6407
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6427
if (SD_PM_IS_IO_CAPABLE(un, level)) {
usr/src/uts/common/io/scsi/targets/sd.c
6434
if (un->un_f_power_condition_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
6437
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
6443
SD_TRACE(SD_LOG_IO_PM, un, "sdpower: sending \'%s\' unit\n",
usr/src/uts/common/io/scsi/targets/sd.c
6457
if ((sval == ENXIO) && un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
6470
if (!SD_PM_IS_IO_CAPABLE(un, level)) {
usr/src/uts/common/io/scsi/targets/sd.c
6480
(void) sd_pm_state_change(un, last_power_level,
usr/src/uts/common/io/scsi/targets/sd.c
6482
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6483
un->un_last_state = save_state;
usr/src/uts/common/io/scsi/targets/sd.c
6484
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6485
} else if (un->un_f_monitor_media_state) {
usr/src/uts/common/io/scsi/targets/sd.c
6494
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6495
un->un_f_watcht_stopped = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
6496
if (un->un_swr_token != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
6497
opaque_t temp_token = un->un_swr_token;
usr/src/uts/common/io/scsi/targets/sd.c
6498
un->un_f_watcht_stopped = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
6499
un->un_swr_token = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
6500
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6504
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6523
(void) sd_pm_state_change(un, level,
usr/src/uts/common/io/scsi/targets/sd.c
6530
if (un->un_f_monitor_media_state) {
usr/src/uts/common/io/scsi/targets/sd.c
6531
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6532
if (un->un_f_watcht_stopped == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
6535
un->un_f_watcht_stopped = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
6536
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6538
sd_watch_request_submit(un);
usr/src/uts/common/io/scsi/targets/sd.c
6539
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6540
un->un_swr_token = temp_token;
usr/src/uts/common/io/scsi/targets/sd.c
6542
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6552
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6553
un->un_state = state_before_pm;
usr/src/uts/common/io/scsi/targets/sd.c
6554
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
6555
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6557
SD_TRACE(SD_LOG_IO_PM, un, "sdpower: exit, status = 0x%x\n", rval);
usr/src/uts/common/io/scsi/targets/sd.c
658
#define SD_IS_PARALLEL_SCSI(un) \
usr/src/uts/common/io/scsi/targets/sd.c
659
((un)->un_interconnect_type == SD_INTERCONNECT_PARALLEL)
usr/src/uts/common/io/scsi/targets/sd.c
660
#define SD_IS_SERIAL(un) \
usr/src/uts/common/io/scsi/targets/sd.c
661
(((un)->un_interconnect_type == SD_INTERCONNECT_SATA) ||\
usr/src/uts/common/io/scsi/targets/sd.c
662
((un)->un_interconnect_type == SD_INTERCONNECT_SAS))
usr/src/uts/common/io/scsi/targets/sd.c
6640
sd_sync_with_callback(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
6642
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
6644
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6646
ASSERT(un->un_in_callback >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
6648
while (un->un_in_callback > 0) {
usr/src/uts/common/io/scsi/targets/sd.c
6649
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6651
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6654
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
6677
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
676
#define New_state(un, s) \
usr/src/uts/common/io/scsi/targets/sd.c
677
(un)->un_last_state = (un)->un_state, (un)->un_state = (s)
usr/src/uts/common/io/scsi/targets/sd.c
678
#define Restore_state(un) \
usr/src/uts/common/io/scsi/targets/sd.c
6789
if ((un = ddi_get_soft_state(sd_state, instance)) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
679
{ uchar_t tmp = (un)->un_last_state; New_state((un), tmp); }
usr/src/uts/common/io/scsi/targets/sd.c
6803
un->un_sd = devp;
usr/src/uts/common/io/scsi/targets/sd.c
6804
devp->sd_private = (opaque_t)un;
usr/src/uts/common/io/scsi/targets/sd.c
6810
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6812
ddi_driver_name(devi), un, instance);
usr/src/uts/common/io/scsi/targets/sd.c
6823
un->un_node_type = DDI_NT_CD_CHAN;
usr/src/uts/common/io/scsi/targets/sd.c
6824
un->un_ctype = CTYPE_CDROM;
usr/src/uts/common/io/scsi/targets/sd.c
6827
un->un_node_type = DDI_NT_BLOCK_CHAN;
usr/src/uts/common/io/scsi/targets/sd.c
6828
un->un_ctype = CTYPE_ROD;
usr/src/uts/common/io/scsi/targets/sd.c
6831
un->un_node_type = DDI_NT_BLOCK_CHAN;
usr/src/uts/common/io/scsi/targets/sd.c
6832
un->un_ctype = CTYPE_CCS;
usr/src/uts/common/io/scsi/targets/sd.c
6849
un->un_f_is_fibre = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
6850
switch (scsi_ifgetcap(SD_ADDRESS(un), "interconnect-type", -1)) {
usr/src/uts/common/io/scsi/targets/sd.c
6852
un->un_interconnect_type = SD_INTERCONNECT_SSA;
usr/src/uts/common/io/scsi/targets/sd.c
6853
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6854
"sd_unit_attach: un:0x%p SD_INTERCONNECT_SSA\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6857
un->un_f_is_fibre = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
6858
un->un_interconnect_type = SD_INTERCONNECT_PARALLEL;
usr/src/uts/common/io/scsi/targets/sd.c
6859
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6860
"sd_unit_attach: un:0x%p SD_INTERCONNECT_PARALLEL\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6863
un->un_f_is_fibre = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
6864
un->un_interconnect_type = SD_INTERCONNECT_SAS;
usr/src/uts/common/io/scsi/targets/sd.c
6865
un->un_node_type = DDI_NT_BLOCK_SAS;
usr/src/uts/common/io/scsi/targets/sd.c
6866
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6867
"sd_unit_attach: un:0x%p SD_INTERCONNECT_SAS\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6870
un->un_f_is_fibre = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
6871
un->un_interconnect_type = SD_INTERCONNECT_SATA;
usr/src/uts/common/io/scsi/targets/sd.c
6872
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6873
"sd_unit_attach: un:0x%p SD_INTERCONNECT_SATA\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6876
un->un_interconnect_type = SD_INTERCONNECT_FIBRE;
usr/src/uts/common/io/scsi/targets/sd.c
6877
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6878
"sd_unit_attach: un:0x%p SD_INTERCONNECT_FIBRE\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6881
un->un_interconnect_type = SD_INTERCONNECT_FABRIC;
usr/src/uts/common/io/scsi/targets/sd.c
6882
un->un_node_type = DDI_NT_BLOCK_FABRIC;
usr/src/uts/common/io/scsi/targets/sd.c
6883
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6884
"sd_unit_attach: un:0x%p SD_INTERCONNECT_FABRIC\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6899
un->un_interconnect_type = SD_DEFAULT_INTERCONNECT_TYPE;
usr/src/uts/common/io/scsi/targets/sd.c
6900
if (!SD_IS_PARALLEL_SCSI(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
6901
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6903
"INTERCONNECT_FIBRE\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6905
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
6907
"INTERCONNECT_PARALLEL\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
6908
un->un_f_is_fibre = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
6913
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
6914
if (scsi_ifgetcap(SD_ADDRESS(un), "scsi-version", 1) ==
usr/src/uts/common/io/scsi/targets/sd.c
6916
switch (un->un_interconnect_type) {
usr/src/uts/common/io/scsi/targets/sd.c
6919
un->un_node_type = DDI_NT_BLOCK_WWN;
usr/src/uts/common/io/scsi/targets/sd.c
6930
if (sd_alloc_rqs(devp, un) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
6945
un->un_retry_count = un->un_f_is_fibre ? 3 : 5;
usr/src/uts/common/io/scsi/targets/sd.c
6952
un->un_notready_retry_count =
usr/src/uts/common/io/scsi/targets/sd.c
6953
ISCD(un) ? CD_NOT_READY_RETRY_COUNT(un)
usr/src/uts/common/io/scsi/targets/sd.c
6954
: DISK_NOT_READY_RETRY_COUNT(un);
usr/src/uts/common/io/scsi/targets/sd.c
6961
un->un_busy_retry_count = un->un_retry_count;
usr/src/uts/common/io/scsi/targets/sd.c
6969
un->un_reset_retry_count = (un->un_retry_count / 2);
usr/src/uts/common/io/scsi/targets/sd.c
6974
un->un_victim_retry_count = (2 * un->un_retry_count);
usr/src/uts/common/io/scsi/targets/sd.c
6981
un->un_reserve_release_time = 5;
usr/src/uts/common/io/scsi/targets/sd.c
6988
un->un_max_xfer_size = (uint_t)SD_DEFAULT_MAX_XFER_SIZE;
usr/src/uts/common/io/scsi/targets/sd.c
6989
un->un_partial_dma_supported = 1;
usr/src/uts/common/io/scsi/targets/sd.c
6998
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
6999
un->un_f_allow_bus_device_reset = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7003
un->un_f_allow_bus_device_reset = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7004
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7006
"enabled\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7008
un->un_f_allow_bus_device_reset = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7009
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7011
"disabled\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7027
un->un_f_cfg_is_atapi = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7028
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7029
"sd_unit_attach: un:0x%p Atapi device\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7034
un->un_f_cfg_is_atapi = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7035
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7036
"sd_unit_attach: un:0x%p Atapi device\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7041
un->un_cmd_timeout = SD_IO_TIME;
usr/src/uts/common/io/scsi/targets/sd.c
7043
un->un_busy_timeout = SD_BSY_TIMEOUT;
usr/src/uts/common/io/scsi/targets/sd.c
7046
un->un_state = SD_STATE_NORMAL;
usr/src/uts/common/io/scsi/targets/sd.c
7047
un->un_last_state = SD_STATE_NORMAL;
usr/src/uts/common/io/scsi/targets/sd.c
7050
un->un_throttle = sd_max_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
7051
un->un_saved_throttle = sd_max_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
7052
un->un_min_throttle = sd_min_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
7054
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
7055
un->un_f_use_adaptive_throttle = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7057
un->un_f_use_adaptive_throttle = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7061
cv_init(&un->un_state_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
7062
un->un_mediastate = DKIO_NONE;
usr/src/uts/common/io/scsi/targets/sd.c
7063
un->un_specified_mediastate = DKIO_NONE;
usr/src/uts/common/io/scsi/targets/sd.c
7066
cv_init(&un->un_suspend_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
7067
cv_init(&un->un_disk_busy_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
7070
un->un_power_level = SD_SPINDLE_UNINIT;
usr/src/uts/common/io/scsi/targets/sd.c
7072
cv_init(&un->un_wcc_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
7073
un->un_f_wcc_inprog = 0;
usr/src/uts/common/io/scsi/targets/sd.c
7079
un->un_f_disksort_disabled = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7080
un->un_f_rmw_type = SD_RMW_TYPE_DEFAULT;
usr/src/uts/common/io/scsi/targets/sd.c
7081
un->un_f_enable_rmw = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7087
un->un_f_mmc_gesn_polling = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7094
un->un_phy_blocksize = DEV_BSIZE;
usr/src/uts/common/io/scsi/targets/sd.c
7104
sd_read_unit_properties(un);
usr/src/uts/common/io/scsi/targets/sd.c
7105
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7106
"sd_unit_attach: un:0x%p property configuration complete.\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7115
un->un_f_is_hotpluggable = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7122
sd_set_unit_attributes(un, devi);
usr/src/uts/common/io/scsi/targets/sd.c
7130
un->un_f_blockcount_is_valid = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7131
un->un_f_tgt_blocksize_is_valid = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7137
un->un_tgt_blocksize = un->un_sys_blocksize = DEV_BSIZE;
usr/src/uts/common/io/scsi/targets/sd.c
7138
un->un_blockcount = 0;
usr/src/uts/common/io/scsi/targets/sd.c
7144
sd_init_cdb_limits(un);
usr/src/uts/common/io/scsi/targets/sd.c
7149
if (un->un_f_non_devbsize_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
7150
un->un_buf_chain_type = SD_CHAIN_INFO_RMMEDIA;
usr/src/uts/common/io/scsi/targets/sd.c
7152
un->un_buf_chain_type = SD_CHAIN_INFO_DISK;
usr/src/uts/common/io/scsi/targets/sd.c
7154
un->un_uscsi_chain_type = SD_CHAIN_INFO_USCSI_CMD;
usr/src/uts/common/io/scsi/targets/sd.c
7155
un->un_direct_chain_type = SD_CHAIN_INFO_DIRECT_CMD;
usr/src/uts/common/io/scsi/targets/sd.c
7156
un->un_priority_chain_type = SD_CHAIN_INFO_PRIORITY_CMD;
usr/src/uts/common/io/scsi/targets/sd.c
7158
un->un_xbuf_attr = ddi_xbuf_attr_create(sizeof (struct sd_xbuf),
usr/src/uts/common/io/scsi/targets/sd.c
7159
sd_xbuf_strategy, un, sd_xbuf_active_limit, sd_xbuf_reserve_limit,
usr/src/uts/common/io/scsi/targets/sd.c
7161
ddi_xbuf_attr_register_devinfo(un->un_xbuf_attr, devi);
usr/src/uts/common/io/scsi/targets/sd.c
7164
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
7165
un->un_additional_codes = sd_additional_codes;
usr/src/uts/common/io/scsi/targets/sd.c
7167
un->un_additional_codes = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7185
un->un_stats = kstat_create(sd_label, instance,
usr/src/uts/common/io/scsi/targets/sd.c
7187
if (un->un_stats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7188
un->un_stats->ks_lock = SD_MUTEX(un);
usr/src/uts/common/io/scsi/targets/sd.c
7189
kstat_install(un->un_stats);
usr/src/uts/common/io/scsi/targets/sd.c
7191
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7192
"sd_unit_attach: un:0x%p un_stats created\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7194
un->un_unmapstats_ks = kstat_create(sd_label, instance, "unmapstats",
usr/src/uts/common/io/scsi/targets/sd.c
7195
"misc", KSTAT_TYPE_NAMED, sizeof (*un->un_unmapstats) /
usr/src/uts/common/io/scsi/targets/sd.c
7197
if (un->un_unmapstats_ks) {
usr/src/uts/common/io/scsi/targets/sd.c
7198
un->un_unmapstats = un->un_unmapstats_ks->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
7200
kstat_named_init(&un->un_unmapstats->us_cmds,
usr/src/uts/common/io/scsi/targets/sd.c
7202
kstat_named_init(&un->un_unmapstats->us_errs,
usr/src/uts/common/io/scsi/targets/sd.c
7204
kstat_named_init(&un->un_unmapstats->us_extents,
usr/src/uts/common/io/scsi/targets/sd.c
7206
kstat_named_init(&un->un_unmapstats->us_bytes,
usr/src/uts/common/io/scsi/targets/sd.c
7209
kstat_install(un->un_unmapstats_ks);
usr/src/uts/common/io/scsi/targets/sd.c
7215
sd_create_errstats(un, instance);
usr/src/uts/common/io/scsi/targets/sd.c
7216
if (un->un_errstats == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7219
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
722
static void sd_log_trace(uint_t comp, struct sd_lun *un, const char *fmt, ...);
usr/src/uts/common/io/scsi/targets/sd.c
7220
"sd_unit_attach: un:0x%p errstats created\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7228
if (SD_IS_PARALLEL_SCSI(un) || SD_IS_SERIAL(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
7237
un->un_tagflags = 0;
usr/src/uts/common/io/scsi/targets/sd.c
7239
(un->un_f_arq_enabled == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
724
static void sd_log_info(uint_t comp, struct sd_lun *un, const char *fmt, ...);
usr/src/uts/common/io/scsi/targets/sd.c
7240
if (scsi_ifsetcap(SD_ADDRESS(un), "tagged-qing",
usr/src/uts/common/io/scsi/targets/sd.c
7242
un->un_tagflags = FLAG_STAG;
usr/src/uts/common/io/scsi/targets/sd.c
7243
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7245
"enabled\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7246
} else if (scsi_ifgetcap(SD_ADDRESS(un),
usr/src/uts/common/io/scsi/targets/sd.c
7248
un->un_f_opt_queueing = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7249
un->un_saved_throttle = un->un_throttle =
usr/src/uts/common/io/scsi/targets/sd.c
7250
min(un->un_throttle, 3);
usr/src/uts/common/io/scsi/targets/sd.c
7252
un->un_f_opt_queueing = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7253
un->un_saved_throttle = un->un_throttle = 1;
usr/src/uts/common/io/scsi/targets/sd.c
7255
} else if ((scsi_ifgetcap(SD_ADDRESS(un), "untagged-qing", 0)
usr/src/uts/common/io/scsi/targets/sd.c
7256
== 1) && (un->un_f_arq_enabled == TRUE)) {
usr/src/uts/common/io/scsi/targets/sd.c
7258
un->un_f_opt_queueing = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
7259
un->un_saved_throttle = un->un_throttle =
usr/src/uts/common/io/scsi/targets/sd.c
726
static void sd_log_err(uint_t comp, struct sd_lun *un, const char *fmt, ...);
usr/src/uts/common/io/scsi/targets/sd.c
7260
min(un->un_throttle, 3);
usr/src/uts/common/io/scsi/targets/sd.c
7262
un->un_f_opt_queueing = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
7263
un->un_saved_throttle = un->un_throttle = 1;
usr/src/uts/common/io/scsi/targets/sd.c
7264
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7265
"sd_unit_attach: un:0x%p no tag queueing\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7271
if (SD_IS_SERIAL(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
7272
un->un_max_xfer_size =
usr/src/uts/common/io/scsi/targets/sd.c
7275
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7277
"size=0x%x\n", un, un->un_max_xfer_size);
usr/src/uts/common/io/scsi/targets/sd.c
7290
if (SD_IS_PARALLEL_SCSI(un) &&
usr/src/uts/common/io/scsi/targets/sd.c
7293
if (scsi_ifsetcap(SD_ADDRESS(un), "wide-xfer",
usr/src/uts/common/io/scsi/targets/sd.c
7295
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7297
"enabled\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7304
if (un->un_saved_throttle == sd_max_throttle) {
usr/src/uts/common/io/scsi/targets/sd.c
7305
un->un_max_xfer_size =
usr/src/uts/common/io/scsi/targets/sd.c
7308
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7310
"size=0x%x\n", un, un->un_max_xfer_size);
usr/src/uts/common/io/scsi/targets/sd.c
7313
if (scsi_ifsetcap(SD_ADDRESS(un), "wide-xfer",
usr/src/uts/common/io/scsi/targets/sd.c
7315
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7317
"Wide Transfer disabled\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7321
un->un_tagflags = FLAG_STAG;
usr/src/uts/common/io/scsi/targets/sd.c
7322
un->un_max_xfer_size = ddi_getprop(DDI_DEV_T_ANY,
usr/src/uts/common/io/scsi/targets/sd.c
7329
if (un->un_f_lun_reset_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
7330
if (scsi_ifsetcap(SD_ADDRESS(un), "lun-reset", 1, 1) == 1) {
usr/src/uts/common/io/scsi/targets/sd.c
7331
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_unit_attach: "
usr/src/uts/common/io/scsi/targets/sd.c
7332
"un:0x%p lun_reset capability set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7334
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_unit_attach: "
usr/src/uts/common/io/scsi/targets/sd.c
7335
"un:0x%p lun-reset capability not set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7347
max_xfer_size = scsi_ifgetcap(SD_ADDRESS(un), "dma-max", 1);
usr/src/uts/common/io/scsi/targets/sd.c
7348
if ((max_xfer_size > 0) && (max_xfer_size < un->un_max_xfer_size)) {
usr/src/uts/common/io/scsi/targets/sd.c
7350
un->un_max_xfer_size = max_xfer_size;
usr/src/uts/common/io/scsi/targets/sd.c
7351
if (un->un_partial_dma_supported == 0)
usr/src/uts/common/io/scsi/targets/sd.c
7352
un->un_partial_dma_supported = 1;
usr/src/uts/common/io/scsi/targets/sd.c
7354
if (ddi_prop_get_int(DDI_DEV_T_ANY, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
7356
if (ddi_xbuf_attr_setup_brk(un->un_xbuf_attr,
usr/src/uts/common/io/scsi/targets/sd.c
7357
un->un_max_xfer_size) == 1) {
usr/src/uts/common/io/scsi/targets/sd.c
7358
un->un_buf_breakup_supported = 1;
usr/src/uts/common/io/scsi/targets/sd.c
7359
SD_INFO(SD_LOG_ATTACH_DETACH, un, "sd_unit_attach: "
usr/src/uts/common/io/scsi/targets/sd.c
7360
"un:0x%p Buf breakup enabled\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7367
if (un->un_partial_dma_supported == 1) {
usr/src/uts/common/io/scsi/targets/sd.c
7368
un->un_pkt_flags = PKT_DMA_PARTIAL;
usr/src/uts/common/io/scsi/targets/sd.c
7370
un->un_pkt_flags = 0;
usr/src/uts/common/io/scsi/targets/sd.c
7374
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
7380
un->un_fm_private =
usr/src/uts/common/io/scsi/targets/sd.c
7382
sfip = (struct sd_fm_internal *)un->un_fm_private;
usr/src/uts/common/io/scsi/targets/sd.c
7385
sfip->fm_ssc.ssc_un = un;
usr/src/uts/common/io/scsi/targets/sd.c
7387
if (ISCD(un) ||
usr/src/uts/common/io/scsi/targets/sd.c
7388
un->un_f_has_removable_media ||
usr/src/uts/common/io/scsi/targets/sd.c
7404
fm_scsi_log = ddi_prop_get_int(DDI_DEV_T_ANY, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
7448
if (un->un_f_descr_format_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
7457
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7458
"sd_unit_attach: un:0x%p spin-up successful\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7496
sd_update_block_info(un, lbasize, capacity);
usr/src/uts/common/io/scsi/targets/sd.c
7498
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7500
"blocks; lbasize= %ld.\n", un,
usr/src/uts/common/io/scsi/targets/sd.c
7501
un->un_blockcount, un->un_tgt_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
7512
scsi_log(SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
7525
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7528
"returned reservation conflict\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7553
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7555
"conflict.\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7560
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7561
"sd_unit_attach: un:0x%p spin-up failed.", un);
usr/src/uts/common/io/scsi/targets/sd.c
757
static sd_ssc_t *sd_ssc_init(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
7570
if (ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
7591
mutex_init(&un->un_pm_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
7592
cv_init(&un->un_pm_busy_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/sd.c
7594
if (un->un_f_pm_is_enabled == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
7606
if (un->un_f_non_devbsize_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
7607
un->un_buf_chain_type = SD_CHAIN_INFO_RMMEDIA_NO_PM;
usr/src/uts/common/io/scsi/targets/sd.c
7609
un->un_buf_chain_type = SD_CHAIN_INFO_DISK_NO_PM;
usr/src/uts/common/io/scsi/targets/sd.c
7611
un->un_uscsi_chain_type = SD_CHAIN_INFO_USCSI_CMD_NO_PM;
usr/src/uts/common/io/scsi/targets/sd.c
7635
(void) scsi_ifsetcap(SD_ADDRESS(un), "qfull-retries",
usr/src/uts/common/io/scsi/targets/sd.c
7640
(void) scsi_ifsetcap(SD_ADDRESS(un), "qfull-retry-interval",
usr/src/uts/common/io/scsi/targets/sd.c
7652
un->un_mediastate = DKIO_NONE;
usr/src/uts/common/io/scsi/targets/sd.c
7664
cmlb_alloc_handle(&un->un_cmlbhandle);
usr/src/uts/common/io/scsi/targets/sd.c
7670
if (!un->un_f_has_removable_media && !un->un_f_is_hotpluggable &&
usr/src/uts/common/io/scsi/targets/sd.c
7671
(lbasize == un->un_sys_blocksize))
usr/src/uts/common/io/scsi/targets/sd.c
7676
VOID2BOOLEAN(un->un_f_has_removable_media != 0),
usr/src/uts/common/io/scsi/targets/sd.c
7677
VOID2BOOLEAN(un->un_f_is_hotpluggable != 0),
usr/src/uts/common/io/scsi/targets/sd.c
7678
un->un_node_type, offbyone, un->un_cmlbhandle,
usr/src/uts/common/io/scsi/targets/sd.c
7690
geom_label_valid = (cmlb_validate(un->un_cmlbhandle, 0,
usr/src/uts/common/io/scsi/targets/sd.c
7693
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7698
if (un->un_f_devid_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
7701
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7704
if (un->un_f_opt_disable_cache == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
7711
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7713
"caching", un);
usr/src/uts/common/io/scsi/targets/sd.c
7725
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7726
un->un_f_write_cache_enabled = (wc_enabled != 0);
usr/src/uts/common/io/scsi/targets/sd.c
7727
un->un_f_cache_mode_changeable = (wc_changeable != 0);
usr/src/uts/common/io/scsi/targets/sd.c
7728
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7730
if ((un->un_f_rmw_type != SD_RMW_TYPE_RETURN_ERROR &&
usr/src/uts/common/io/scsi/targets/sd.c
7731
un->un_tgt_blocksize != DEV_BSIZE) ||
usr/src/uts/common/io/scsi/targets/sd.c
7732
un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
7733
if (!(un->un_wm_cache)) {
usr/src/uts/common/io/scsi/targets/sd.c
7736
ddi_driver_name(SD_DEVINFO(un)),
usr/src/uts/common/io/scsi/targets/sd.c
7737
ddi_get_instance(SD_DEVINFO(un)));
usr/src/uts/common/io/scsi/targets/sd.c
7738
un->un_wm_cache = kmem_cache_create(
usr/src/uts/common/io/scsi/targets/sd.c
7742
(void *)un, NULL, 0);
usr/src/uts/common/io/scsi/targets/sd.c
7743
if (!(un->un_wm_cache)) {
usr/src/uts/common/io/scsi/targets/sd.c
7765
un->un_reservation_type = SD_SCSI3_RESERVATION;
usr/src/uts/common/io/scsi/targets/sd.c
7766
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7767
"sd_unit_attach: un:0x%p SCSI-3 reservations\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7774
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7775
"sd_unit_attach: un:0x%p SCSI-2 reservations\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7776
un->un_reservation_type = SD_SCSI2_RESERVATION;
usr/src/uts/common/io/scsi/targets/sd.c
7784
SD_INFO(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7785
"sd_unit_attach: un:0x%p default SCSI3 reservations\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7786
un->un_reservation_type = SD_SCSI3_RESERVATION;
usr/src/uts/common/io/scsi/targets/sd.c
7805
if (un->un_f_pkstats_enabled && geom_label_valid) {
usr/src/uts/common/io/scsi/targets/sd.c
7806
sd_set_pstats(un);
usr/src/uts/common/io/scsi/targets/sd.c
7807
SD_TRACE(SD_LOG_IO_PARTITION, un,
usr/src/uts/common/io/scsi/targets/sd.c
7808
"sd_unit_attach: un:0x%p pstats created and set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7811
sd_set_errstats(un);
usr/src/uts/common/io/scsi/targets/sd.c
7812
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7813
"sd_unit_attach: un:0x%p errstats set\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
7823
if (SD_IS_PARALLEL_SCSI(un) && (tgt >= 0) && (tgt < NTARGETS_WIDE)) {
usr/src/uts/common/io/scsi/targets/sd.c
7827
SD_TRACE(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
7828
"sd_unit_attach: un:0x%p exit success\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
783
static void sd_ssc_extract_info(sd_ssc_t *ssc, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
7846
(void) scsi_ifsetcap(SD_ADDRESS(un), "lun-reset", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
7847
(void) scsi_ifsetcap(SD_ADDRESS(un), "wide-xfer", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
7855
(void) scsi_ifsetcap(SD_ADDRESS(un), "tagged-qing", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
7858
if (un->un_f_is_fibre == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
7859
(void) scsi_ifsetcap(SD_ADDRESS(un), "auto-rqsense", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
7867
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7870
kmem_free(un->un_fm_private, sizeof (struct sd_fm_internal));
usr/src/uts/common/io/scsi/targets/sd.c
7873
if (un->un_direct_priority_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7874
timeout_id_t temp_id = un->un_direct_priority_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
7875
un->un_direct_priority_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7876
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7878
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7882
if (un->un_startstop_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7883
timeout_id_t temp_id = un->un_startstop_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
7884
un->un_startstop_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7885
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7887
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7891
if (un->un_reset_throttle_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7892
timeout_id_t temp_id = un->un_reset_throttle_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
7893
un->un_reset_throttle_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7894
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7896
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7900
if (un->un_rmw_msg_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7901
timeout_id_t temp_id = un->un_rmw_msg_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
7902
un->un_rmw_msg_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7903
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7905
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7909
if (un->un_retry_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7910
timeout_id_t temp_id = un->un_retry_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
7911
un->un_retry_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7912
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7914
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7918
if (un->un_dcvb_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7919
timeout_id_t temp_id = un->un_dcvb_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
7920
un->un_dcvb_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7921
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7923
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7926
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
7929
ASSERT(un->un_ncmds_in_transport == 0);
usr/src/uts/common/io/scsi/targets/sd.c
7930
ASSERT(un->un_ncmds_in_driver == 0);
usr/src/uts/common/io/scsi/targets/sd.c
7933
sd_sync_with_callback(un);
usr/src/uts/common/io/scsi/targets/sd.c
7939
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
794
static void sd_read_unit_properties(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
7940
kstat_delete(un->un_errstats);
usr/src/uts/common/io/scsi/targets/sd.c
7941
un->un_errstats = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
7946
if (un->un_stats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
7947
kstat_delete(un->un_stats);
usr/src/uts/common/io/scsi/targets/sd.c
7948
un->un_stats = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
795
static int sd_process_sdconf_file(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
7951
ddi_xbuf_attr_unregister_devinfo(un->un_xbuf_attr, devi);
usr/src/uts/common/io/scsi/targets/sd.c
7952
ddi_xbuf_attr_destroy(un->un_xbuf_attr);
usr/src/uts/common/io/scsi/targets/sd.c
7955
cv_destroy(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
7957
sd_free_rqs(un);
usr/src/uts/common/io/scsi/targets/sd.c
796
static void sd_nvpair_str_decode(struct sd_lun *un, char *nvpair_str);
usr/src/uts/common/io/scsi/targets/sd.c
7962
bzero(un, sizeof (struct sd_lun)); /* Clear any stale data! */
usr/src/uts/common/io/scsi/targets/sd.c
797
static void sd_set_properties(struct sd_lun *un, char *name, char *value);
usr/src/uts/common/io/scsi/targets/sd.c
798
static void sd_get_tunables_from_conf(struct sd_lun *un, int flags,
usr/src/uts/common/io/scsi/targets/sd.c
7997
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
800
static void sd_process_sdconf_table(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
801
static int sd_sdconf_id_match(struct sd_lun *un, char *id, int idlen);
usr/src/uts/common/io/scsi/targets/sd.c
8011
((un = (struct sd_lun *)devp->sd_private) == NULL) ||
usr/src/uts/common/io/scsi/targets/sd.c
8012
(un->un_ncmds_in_driver != 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
8016
SD_TRACE(SD_LOG_ATTACH_DETACH, un, "sd_unit_detach: entry 0x%p\n", un);
usr/src/uts/common/io/scsi/targets/sd.c
802
static int sd_blank_cmp(struct sd_lun *un, char *id, int idlen);
usr/src/uts/common/io/scsi/targets/sd.c
8021
dev = sd_make_device(SD_DEVINFO(un));
usr/src/uts/common/io/scsi/targets/sd.c
8027
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
803
static int sd_chk_vers1_data(struct sd_lun *un, int flags, int *prop_list,
usr/src/uts/common/io/scsi/targets/sd.c
8034
if (un->un_ocmap.lyropen[i] != 0) {
usr/src/uts/common/io/scsi/targets/sd.c
8045
if ((un->un_ncmds_in_transport != 0) || (un->un_retry_timeid != NULL) ||
usr/src/uts/common/io/scsi/targets/sd.c
8046
(un->un_direct_priority_timeid != NULL) ||
usr/src/uts/common/io/scsi/targets/sd.c
8047
(un->un_state == SD_STATE_RWAIT)) {
usr/src/uts/common/io/scsi/targets/sd.c
8048
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8049
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
805
static void sd_set_vers1_properties(struct sd_lun *un, int flags,
usr/src/uts/common/io/scsi/targets/sd.c
8057
if ((un->un_resvd_status & SD_RESERVE) &&
usr/src/uts/common/io/scsi/targets/sd.c
8058
!(un->un_resvd_status & SD_LOST_RESERVE)) {
usr/src/uts/common/io/scsi/targets/sd.c
8059
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8065
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
8069
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8077
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8078
if (un->un_resvd_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8079
timeout_id_t temp_id = un->un_resvd_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8080
un->un_resvd_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8081
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8083
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8086
if (un->un_reset_throttle_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8087
timeout_id_t temp_id = un->un_reset_throttle_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8088
un->un_reset_throttle_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8089
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8091
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8094
if (un->un_startstop_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8095
timeout_id_t temp_id = un->un_startstop_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8096
un->un_startstop_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8097
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8099
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8102
if (un->un_rmw_msg_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8103
timeout_id_t temp_id = un->un_rmw_msg_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8104
un->un_rmw_msg_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8105
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8107
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8110
if (un->un_dcvb_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8111
timeout_id_t temp_id = un->un_dcvb_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8112
un->un_dcvb_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8113
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8116
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8122
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8125
if (un->un_direct_priority_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8126
timeout_id_t temp_id = un->un_direct_priority_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8127
un->un_direct_priority_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8128
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8130
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8134
if (un->un_mhd_token != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8135
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8137
if (scsi_watch_request_terminate(un->un_mhd_token,
usr/src/uts/common/io/scsi/targets/sd.c
8139
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
8149
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8150
un->un_mhd_token = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8153
if (un->un_swr_token != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8154
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8156
if (scsi_watch_request_terminate(un->un_swr_token,
usr/src/uts/common/io/scsi/targets/sd.c
8158
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
816
static void sd_create_pm_components(dev_info_t *devi, struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
8168
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8169
un->un_swr_token = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8172
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8179
(void) scsi_reset_notify(SD_ADDRESS(un), SCSI_RESET_CANCEL,
usr/src/uts/common/io/scsi/targets/sd.c
8180
sd_mhd_reset_notify_cb, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/sd.c
8189
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8190
if (un->un_pm_idle_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8191
timeout_id_t temp_id = un->un_pm_idle_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8192
un->un_pm_idle_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8193
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
820
static int sd_pm_state_change(struct sd_lun *un, int level, int flag);
usr/src/uts/common/io/scsi/targets/sd.c
8202
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
8203
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8211
if (un->un_pm_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8212
timeout_id_t temp_id = un->un_pm_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8213
un->un_pm_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8214
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8222
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
8225
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8226
if ((un->un_f_pm_is_enabled == TRUE) &&
usr/src/uts/common/io/scsi/targets/sd.c
8227
(pm_lower_power(SD_DEVINFO(un), 0, SD_PM_STATE_STOPPED(un))
usr/src/uts/common/io/scsi/targets/sd.c
8229
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
8242
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8243
if (un->un_pm_timeid != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8244
timeout_id_t temp_id = un->un_pm_timeid;
usr/src/uts/common/io/scsi/targets/sd.c
8245
un->un_pm_timeid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8246
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8248
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
8250
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8260
(void) scsi_ifsetcap(SD_ADDRESS(un), "lun-reset", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
8261
(void) scsi_ifsetcap(SD_ADDRESS(un), "wide-xfer", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
8274
(void) scsi_ifsetcap(SD_ADDRESS(un), "tagged-qing", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
8277
if (un->un_f_is_fibre == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
8278
(void) scsi_ifsetcap(SD_ADDRESS(un), "auto-rqsense", 0, 1);
usr/src/uts/common/io/scsi/targets/sd.c
828
static void sd_set_unit_attributes(struct sd_lun *un, dev_info_t *devi);
usr/src/uts/common/io/scsi/targets/sd.c
8284
if (un->un_f_is_fibre == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
8285
if ((un->un_insert_event != NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
8286
(ddi_remove_event_handler(un->un_insert_cb_id) !=
usr/src/uts/common/io/scsi/targets/sd.c
829
static void sd_create_errstats(struct sd_lun *un, int instance);
usr/src/uts/common/io/scsi/targets/sd.c
8294
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
8298
un->un_insert_event = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
830
static void sd_set_errstats(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
8300
if ((un->un_remove_event != NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
8301
(ddi_remove_event_handler(un->un_remove_cb_id) !=
usr/src/uts/common/io/scsi/targets/sd.c
8309
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
831
static void sd_set_pstats(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
8313
un->un_remove_event = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8317
sd_sync_with_callback(un);
usr/src/uts/common/io/scsi/targets/sd.c
8319
cmlb_detach(un->un_cmlbhandle, (void *)SD_PATH_DIRECT);
usr/src/uts/common/io/scsi/targets/sd.c
8320
cmlb_free_handle(&un->un_cmlbhandle);
usr/src/uts/common/io/scsi/targets/sd.c
8333
kmem_free(un->un_fm_private, sizeof (struct sd_fm_internal));
usr/src/uts/common/io/scsi/targets/sd.c
8339
if (un->un_f_devid_transport_defined == FALSE)
usr/src/uts/common/io/scsi/targets/sd.c
834
static int sd_scsi_poll(struct sd_lun *un, struct scsi_pkt *pkt);
usr/src/uts/common/io/scsi/targets/sd.c
8346
if (un->un_devid) {
usr/src/uts/common/io/scsi/targets/sd.c
8347
ddi_devid_free(un->un_devid);
usr/src/uts/common/io/scsi/targets/sd.c
8348
un->un_devid = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
835
static int sd_send_polled_RQS(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
8354
if (un->un_wm_cache != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8355
kmem_cache_destroy(un->un_wm_cache);
usr/src/uts/common/io/scsi/targets/sd.c
8356
un->un_wm_cache = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8365
if (un->un_stats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8366
kstat_delete(un->un_stats);
usr/src/uts/common/io/scsi/targets/sd.c
8367
un->un_stats = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8369
if (un->un_unmapstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8370
kstat_delete(un->un_unmapstats_ks);
usr/src/uts/common/io/scsi/targets/sd.c
8371
un->un_unmapstats_ks = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8372
un->un_unmapstats = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8374
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8375
kstat_delete(un->un_errstats);
usr/src/uts/common/io/scsi/targets/sd.c
8376
un->un_errstats = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8380
if (un->un_f_pkstats_enabled) {
usr/src/uts/common/io/scsi/targets/sd.c
8382
if (un->un_pstats[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8383
kstat_delete(un->un_pstats[i]);
usr/src/uts/common/io/scsi/targets/sd.c
8384
un->un_pstats[i] = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
8390
ddi_xbuf_attr_unregister_devinfo(un->un_xbuf_attr, devi);
usr/src/uts/common/io/scsi/targets/sd.c
8391
ddi_xbuf_attr_destroy(un->un_xbuf_attr);
usr/src/uts/common/io/scsi/targets/sd.c
8396
mutex_destroy(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
8397
cv_destroy(&un->un_pm_busy_cv);
usr/src/uts/common/io/scsi/targets/sd.c
8399
cv_destroy(&un->un_wcc_cv);
usr/src/uts/common/io/scsi/targets/sd.c
8402
cv_destroy(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/sd.c
8405
cv_destroy(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/sd.c
8406
cv_destroy(&un->un_disk_busy_cv);
usr/src/uts/common/io/scsi/targets/sd.c
8408
sd_free_rqs(un);
usr/src/uts/common/io/scsi/targets/sd.c
8413
bzero(un, sizeof (struct sd_lun));
usr/src/uts/common/io/scsi/targets/sd.c
8437
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8443
SD_TRACE(SD_LOG_ATTACH_DETACH, un, "sd_unit_detach: exit failure\n");
usr/src/uts/common/io/scsi/targets/sd.c
8466
sd_create_errstats(struct sd_lun *un, int instance)
usr/src/uts/common/io/scsi/targets/sd.c
8473
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
8475
if (un->un_errstats != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8484
un->un_errstats = kstat_create(kstatmodule_err, instance, kstatname,
usr/src/uts/common/io/scsi/targets/sd.c
8487
if (un->un_errstats == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8488
SD_ERROR(SD_LOG_ATTACH_DETACH, un,
usr/src/uts/common/io/scsi/targets/sd.c
8493
stp = (struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
8523
un->un_errstats->ks_private = un;
usr/src/uts/common/io/scsi/targets/sd.c
8524
un->un_errstats->ks_update = nulldev;
usr/src/uts/common/io/scsi/targets/sd.c
8526
kstat_install(un->un_errstats);
usr/src/uts/common/io/scsi/targets/sd.c
853
static void sd_update_block_info(struct sd_lun *un, uint32_t lbasize,
usr/src/uts/common/io/scsi/targets/sd.c
8548
sd_set_errstats(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
8553
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
8554
ASSERT(un->un_errstats != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
8555
stp = (struct sd_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/sd.c
8557
(void) strncpy(stp->sd_vid.value.c, un->un_sd->sd_inq->inq_vid, 8);
usr/src/uts/common/io/scsi/targets/sd.c
8558
(void) strncpy(stp->sd_pid.value.c, un->un_sd->sd_inq->inq_pid, 16);
usr/src/uts/common/io/scsi/targets/sd.c
8560
un->un_sd->sd_inq->inq_revision, 4);
usr/src/uts/common/io/scsi/targets/sd.c
8568
if ((bcmp(&SD_INQUIRY(un)->inq_pid[9], "SUN", 3) != 0) ||
usr/src/uts/common/io/scsi/targets/sd.c
8569
(bcmp(&SD_INQUIRY(un)->inq_serial, stp->sd_serial.value.c,
usr/src/uts/common/io/scsi/targets/sd.c
8570
sizeof (SD_INQUIRY(un)->inq_serial)) != 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
8587
if (bcmp(&SD_INQUIRY(un)->inq_pid[9], "SUN", 3) == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
8588
bcopy(&SD_INQUIRY(un)->inq_serial, stp->sd_serial.value.c,
usr/src/uts/common/io/scsi/targets/sd.c
8589
sizeof (SD_INQUIRY(un)->inq_serial));
usr/src/uts/common/io/scsi/targets/sd.c
8594
if (ddi_prop_lookup_string(DDI_DEV_T_ANY, SD_DEVINFO(un),
usr/src/uts/common/io/scsi/targets/sd.c
8603
if (un->un_f_blockcount_is_valid != TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
8620
((uint64_t)un->un_blockcount * un->un_sys_blocksize);
usr/src/uts/common/io/scsi/targets/sd.c
8638
sd_set_pstats(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
8646
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
8648
instance = ddi_get_instance(SD_DEVINFO(un));
usr/src/uts/common/io/scsi/targets/sd.c
8653
if (cmlb_partinfo(un->un_cmlbhandle, i,
usr/src/uts/common/io/scsi/targets/sd.c
8656
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8658
if ((un->un_pstats[i] == NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
8665
un->un_pstats[i] = kstat_create(sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
8668
if (un->un_pstats[i] != NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
8669
un->un_pstats[i]->ks_lock = SD_MUTEX(un);
usr/src/uts/common/io/scsi/targets/sd.c
8670
kstat_install(un->un_pstats[i]);
usr/src/uts/common/io/scsi/targets/sd.c
8673
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
8680
#define SDC_CDB_GROUP(un) ((un->un_f_cfg_is_atapi == TRUE) ? \
usr/src/uts/common/io/scsi/targets/sd.c
8682
#define SDC_HDRLEN(un) ((un->un_f_cfg_is_atapi == TRUE) ? \
usr/src/uts/common/io/scsi/targets/sd.c
8688
#define SDC_BUFLEN(un) (SDC_HDRLEN(un) + MODE_BLK_DESC_LENGTH + \
usr/src/uts/common/io/scsi/targets/sd.c
8695
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
8697
size_t buflen = SDC_BUFLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
8698
int hdrlen = SDC_HDRLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
8715
rval = sd_send_scsi_MODE_SENSE(ssc, SDC_CDB_GROUP(un), *header, buflen,
usr/src/uts/common/io/scsi/targets/sd.c
8718
SD_ERROR(SD_LOG_IOCTL_RMMEDIA, un, "%s: Mode Sense Failed\n",
usr/src/uts/common/io/scsi/targets/sd.c
8728
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
875
static void sd_mapblockaddr_iostart(int index, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
877
static void sd_mapblocksize_iostart(int index, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
8784
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
8787
size_t buflen = SDC_BUFLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
8788
int hdrlen = SDC_HDRLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
879
static void sd_checksum_iostart(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
880
static void sd_checksum_uscsi_iostart(int index, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
882
static void sd_pm_iostart(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
883
static void sd_core_iostart(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
8839
if (un->un_f_cfg_is_atapi == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
8852
rval = sd_send_scsi_MODE_SELECT(ssc, SDC_CDB_GROUP(un),
usr/src/uts/common/io/scsi/targets/sd.c
888
static void sd_buf_iodone(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
889
static void sd_uscsi_iodone(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
890
static void sd_mapblockaddr_iodone(int index, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
8903
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
8906
size_t buflen = SDC_BUFLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
8907
int hdrlen = SDC_HDRLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
892
static void sd_mapblocksize_iodone(int index, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
894
static void sd_checksum_iodone(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
895
static void sd_checksum_uscsi_iodone(int index, struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
897
static void sd_pm_iodone(int index, struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
8972
struct sd_lun *un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
8975
size_t buflen = SDC_BUFLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
8976
int hdrlen = SDC_HDRLEN(un);
usr/src/uts/common/io/scsi/targets/sd.c
9044
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
9047
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
9048
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
905
static int sd_setup_rw_pkt(struct sd_lun *un, struct scsi_pkt **pktpp,
usr/src/uts/common/io/scsi/targets/sd.c
9050
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9057
un->un_f_sync_nv_supported = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
9064
if (un->un_f_suppress_cache_flush == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
9065
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9070
un->un_vpd_page_mask & SD_VPD_EXTENDED_DATA_PG) {
usr/src/uts/common/io/scsi/targets/sd.c
9071
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9079
SD_TRACE(SD_LOG_COMMON, un,
usr/src/uts/common/io/scsi/targets/sd.c
9085
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
909
static int sd_setup_next_rw_pkt(struct sd_lun *un, struct scsi_pkt *pktp,
usr/src/uts/common/io/scsi/targets/sd.c
9092
un->un_f_sync_nv_supported = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
9094
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9101
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9109
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9110
if (un->un_f_sync_nv_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
9111
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9114
(void) sd_send_scsi_SYNCHRONIZE_CACHE(un, dkc);
usr/src/uts/common/io/scsi/targets/sd.c
9126
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9129
SD_TRACE(SD_LOG_COMMON, un, "sd_get_nv_sup: \
usr/src/uts/common/io/scsi/targets/sd.c
9131
un->un_f_suppress_cache_flush);
usr/src/uts/common/io/scsi/targets/sd.c
9177
sd_pm_entry(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
9181
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
9182
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
9184
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_entry: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
9186
if (un->un_f_pm_is_enabled == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
9187
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
919
static void sd_xbuf_init(struct sd_lun *un, struct buf *bp, struct sd_xbuf *xp,
usr/src/uts/common/io/scsi/targets/sd.c
9208
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9209
while (un->un_pm_busy == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
9210
cv_wait(&un->un_pm_busy_cv, &un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9212
un->un_pm_busy = TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
9214
if (un->un_pm_count < 1) {
usr/src/uts/common/io/scsi/targets/sd.c
9216
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_entry: busy component\n");
usr/src/uts/common/io/scsi/targets/sd.c
922
static int sd_pm_entry(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
9224
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9225
return_status = pm_busy_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
9228
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
923
static void sd_pm_exit(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
9230
if (un->un_pm_count < 0) {
usr/src/uts/common/io/scsi/targets/sd.c
9231
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9233
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9242
return_status = pm_raise_power(SD_DEVINFO(un), 0,
usr/src/uts/common/io/scsi/targets/sd.c
9243
SD_PM_STATE_ACTIVE(un));
usr/src/uts/common/io/scsi/targets/sd.c
9245
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9254
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9258
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
9259
un->un_pm_count--;
usr/src/uts/common/io/scsi/targets/sd.c
9266
ASSERT(un->un_pm_count == 0);
usr/src/uts/common/io/scsi/targets/sd.c
9279
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9280
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9281
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9283
un->un_uscsi_chain_type);
usr/src/uts/common/io/scsi/targets/sd.c
9285
if (un->un_f_non_devbsize_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
9286
un->un_buf_chain_type =
usr/src/uts/common/io/scsi/targets/sd.c
9289
un->un_buf_chain_type =
usr/src/uts/common/io/scsi/targets/sd.c
9292
un->un_uscsi_chain_type = SD_CHAIN_INFO_USCSI_CMD_NO_PM;
usr/src/uts/common/io/scsi/targets/sd.c
9294
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9296
un->un_uscsi_chain_type);
usr/src/uts/common/io/scsi/targets/sd.c
9297
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9298
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
930
static void sd_add_buf_to_waitq(struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
9300
if (un->un_pm_idle_timeid == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
9302
un->un_pm_idle_timeid =
usr/src/uts/common/io/scsi/targets/sd.c
9303
timeout(sd_pm_idletimeout_handler, un,
usr/src/uts/common/io/scsi/targets/sd.c
9311
(void) pm_busy_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
9315
un->un_pm_busy = FALSE;
usr/src/uts/common/io/scsi/targets/sd.c
9317
cv_signal(&un->un_pm_busy_cv);
usr/src/uts/common/io/scsi/targets/sd.c
9319
un->un_pm_count++;
usr/src/uts/common/io/scsi/targets/sd.c
932
static void sd_start_cmds(struct sd_lun *un, struct buf *immed_bp);
usr/src/uts/common/io/scsi/targets/sd.c
9321
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9322
"sd_pm_entry: exiting, un_pm_count = %d\n", un->un_pm_count);
usr/src/uts/common/io/scsi/targets/sd.c
9324
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9341
sd_pm_exit(struct sd_lun *un)
usr/src/uts/common/io/scsi/targets/sd.c
9343
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
9344
ASSERT(!mutex_owned(&un->un_pm_mutex));
usr/src/uts/common/io/scsi/targets/sd.c
9346
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_exit: entry\n");
usr/src/uts/common/io/scsi/targets/sd.c
9352
if (un->un_f_pm_is_enabled == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
9354
mutex_enter(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9355
un->un_pm_count--;
usr/src/uts/common/io/scsi/targets/sd.c
9357
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9358
"sd_pm_exit: un_pm_count = %d\n", un->un_pm_count);
usr/src/uts/common/io/scsi/targets/sd.c
9360
ASSERT(un->un_pm_count >= 0);
usr/src/uts/common/io/scsi/targets/sd.c
9361
if (un->un_pm_count == 0) {
usr/src/uts/common/io/scsi/targets/sd.c
9362
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9364
SD_TRACE(SD_LOG_IO_PM, un,
usr/src/uts/common/io/scsi/targets/sd.c
9367
(void) pm_idle_component(SD_DEVINFO(un), 0);
usr/src/uts/common/io/scsi/targets/sd.c
9370
mutex_exit(&un->un_pm_mutex);
usr/src/uts/common/io/scsi/targets/sd.c
9374
SD_TRACE(SD_LOG_IO_PM, un, "sd_pm_exit: exiting\n");
usr/src/uts/common/io/scsi/targets/sd.c
9400
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
9421
if ((un = ddi_get_soft_state(sd_state, instance)) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
944
static void sd_print_transport_rejected_message(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
9440
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9450
while ((un->un_state == SD_STATE_SUSPENDED) ||
usr/src/uts/common/io/scsi/targets/sd.c
9451
(un->un_state == SD_STATE_PM_CHANGING)) {
usr/src/uts/common/io/scsi/targets/sd.c
9452
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9455
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9456
if (sd_pm_entry(un) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
9458
SD_ERROR(SD_LOG_OPEN_CLOSE, un,
usr/src/uts/common/io/scsi/targets/sd.c
946
static void sd_print_incomplete_msg(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9462
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9466
SD_TRACE(SD_LOG_OPEN_CLOSE, un, "sdopen: un=%p\n", (void *)un);
usr/src/uts/common/io/scsi/targets/sd.c
9468
SD_TRACE(SD_LOG_OPEN_CLOSE, un,
usr/src/uts/common/io/scsi/targets/sd.c
9470
un->un_exclopen, flag, un->un_ocmap.lyropen[part]);
usr/src/uts/common/io/scsi/targets/sd.c
9472
SD_TRACE(SD_LOG_OPEN_CLOSE, un,
usr/src/uts/common/io/scsi/targets/sd.c
9474
un->un_exclopen, flag, un->un_ocmap.regopen[otyp]);
usr/src/uts/common/io/scsi/targets/sd.c
9477
if (un->un_exclopen & (partmask)) {
usr/src/uts/common/io/scsi/targets/sd.c
948
static void sd_print_sense_failed_msg(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9483
if (un->un_ocmap.lyropen[part]) {
usr/src/uts/common/io/scsi/targets/sd.c
9487
if (un->un_ocmap.regopen[i] & (partmask)) {
usr/src/uts/common/io/scsi/targets/sd.c
950
static void sd_print_cmd_incomplete_msg(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9502
if (un->un_f_chk_wp_open) {
usr/src/uts/common/io/scsi/targets/sd.c
9504
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9512
if (un->un_f_dvdram_writable_device == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
9513
if (ISCD(un) || sr_check_wp(dev)) {
usr/src/uts/common/io/scsi/targets/sd.c
9515
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9516
SD_ERROR(SD_LOG_OPEN_CLOSE, un, "sdopen: "
usr/src/uts/common/io/scsi/targets/sd.c
9521
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
953
static void sd_retry_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9532
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9533
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
9536
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9544
if (rval == SD_READY_VALID && (!ISCD(un))) {
usr/src/uts/common/io/scsi/targets/sd.c
9546
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9547
(void) cmlb_partinfo(un->un_cmlbhandle, part, &nblks,
usr/src/uts/common/io/scsi/targets/sd.c
9549
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
955
void (*user_funcp)(struct sd_lun *un, struct buf *bp, void *argp, int c),
usr/src/uts/common/io/scsi/targets/sd.c
9553
(!ISCD(un) && nblks <= 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
9554
rval = un->un_f_has_removable_media ? ENXIO : EIO;
usr/src/uts/common/io/scsi/targets/sd.c
9555
SD_ERROR(SD_LOG_OPEN_CLOSE, un, "sdopen: "
usr/src/uts/common/io/scsi/targets/sd.c
9567
cp = &un->un_ocmap.chkd[0];
usr/src/uts/common/io/scsi/targets/sd.c
9568
while (cp < &un->un_ocmap.chkd[OCSIZE]) {
usr/src/uts/common/io/scsi/targets/sd.c
9574
if (cp == &un->un_ocmap.chkd[OCSIZE]) {
usr/src/uts/common/io/scsi/targets/sd.c
9575
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9576
cmlb_invalidate(un->un_cmlbhandle,
usr/src/uts/common/io/scsi/targets/sd.c
9578
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9585
un->un_ocmap.lyropen[part]++;
usr/src/uts/common/io/scsi/targets/sd.c
9587
un->un_ocmap.regopen[otyp] |= partmask;
usr/src/uts/common/io/scsi/targets/sd.c
959
static void sd_set_retry_bp(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9592
un->un_exclopen |= (partmask);
usr/src/uts/common/io/scsi/targets/sd.c
9604
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9605
if (cmlb_efi_label_capacity(un->un_cmlbhandle, &label_cap,
usr/src/uts/common/io/scsi/targets/sd.c
9607
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9608
if (un->un_f_blockcount_is_valid &&
usr/src/uts/common/io/scsi/targets/sd.c
9609
un->un_blockcount > label_cap &&
usr/src/uts/common/io/scsi/targets/sd.c
9610
un->un_f_expnevent == B_FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
9611
un->un_f_expnevent = B_TRUE;
usr/src/uts/common/io/scsi/targets/sd.c
9612
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9613
sd_log_lun_expansion_event(un,
usr/src/uts/common/io/scsi/targets/sd.c
9615
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9618
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
962
static void sd_send_request_sense_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9622
SD_TRACE(SD_LOG_OPEN_CLOSE, un, "sdopen: "
usr/src/uts/common/io/scsi/targets/sd.c
9625
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9627
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
9630
SD_TRACE(SD_LOG_OPEN_CLOSE, un, "sdopen: exit success\n");
usr/src/uts/common/io/scsi/targets/sd.c
9634
SD_ERROR(SD_LOG_OPEN_CLOSE, un, "sdopen: fail exclusive open\n");
usr/src/uts/common/io/scsi/targets/sd.c
9638
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9644
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
966
static void sd_return_failed_command(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9670
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
968
static void sd_return_failed_command_no_restart(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
9681
if ((un = ddi_get_soft_state(sd_state, SDUNIT(dev))) == NULL) {
usr/src/uts/common/io/scsi/targets/sd.c
9688
SD_TRACE(SD_LOG_OPEN_CLOSE, un,
usr/src/uts/common/io/scsi/targets/sd.c
9691
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9694
while (un->un_state == SD_STATE_PM_CHANGING) {
usr/src/uts/common/io/scsi/targets/sd.c
9695
cv_wait(&un->un_suspend_cv, SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9698
if (un->un_exclopen & (1 << part)) {
usr/src/uts/common/io/scsi/targets/sd.c
9699
un->un_exclopen &= ~(1 << part);
usr/src/uts/common/io/scsi/targets/sd.c
970
static void sd_return_command(struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
9704
un->un_ocmap.lyropen[part] -= 1;
usr/src/uts/common/io/scsi/targets/sd.c
9706
un->un_ocmap.regopen[otyp] &= ~(1 << part);
usr/src/uts/common/io/scsi/targets/sd.c
9709
cp = &un->un_ocmap.chkd[0];
usr/src/uts/common/io/scsi/targets/sd.c
971
static void sd_sync_with_callback(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
9710
while (cp < &un->un_ocmap.chkd[OCSIZE]) {
usr/src/uts/common/io/scsi/targets/sd.c
9717
if (cp == &un->un_ocmap.chkd[OCSIZE]) {
usr/src/uts/common/io/scsi/targets/sd.c
9718
SD_TRACE(SD_LOG_OPEN_CLOSE, un, "sdclose: last close\n");
usr/src/uts/common/io/scsi/targets/sd.c
9724
un->un_throttle = un->un_saved_throttle;
usr/src/uts/common/io/scsi/targets/sd.c
9726
if (un->un_state == SD_STATE_OFFLINE) {
usr/src/uts/common/io/scsi/targets/sd.c
9727
if (un->un_f_is_fibre == FALSE) {
usr/src/uts/common/io/scsi/targets/sd.c
9728
scsi_log(SD_DEVINFO(un), sd_label,
usr/src/uts/common/io/scsi/targets/sd.c
9731
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9732
cmlb_invalidate(un->un_cmlbhandle,
usr/src/uts/common/io/scsi/targets/sd.c
9734
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
974
static void sd_mark_rqs_busy(struct sd_lun *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/sd.c
975
static struct buf *sd_mark_rqs_idle(struct sd_lun *un, struct sd_xbuf *xp);
usr/src/uts/common/io/scsi/targets/sd.c
9755
if ((un->un_f_sync_cache_supported &&
usr/src/uts/common/io/scsi/targets/sd.c
9756
un->un_f_sync_cache_required) ||
usr/src/uts/common/io/scsi/targets/sd.c
9757
un->un_f_dvdram_writable_device == TRUE) {
usr/src/uts/common/io/scsi/targets/sd.c
9758
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9759
if (sd_pm_entry(un) == DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
9761
sd_send_scsi_SYNCHRONIZE_CACHE(un,
usr/src/uts/common/io/scsi/targets/sd.c
9769
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
977
static void sd_reduce_throttle(struct sd_lun *un, int throttle_type);
usr/src/uts/common/io/scsi/targets/sd.c
9773
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9782
if (un->un_f_doorlock_supported) {
usr/src/uts/common/io/scsi/targets/sd.c
9783
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9784
if (sd_pm_entry(un) == DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/sd.c
9787
ssc = sd_ssc_init(un);
usr/src/uts/common/io/scsi/targets/sd.c
9795
sd_pm_exit(un);
usr/src/uts/common/io/scsi/targets/sd.c
9796
if (ISCD(un) && (rval != 0) &&
usr/src/uts/common/io/scsi/targets/sd.c
980
static void sd_init_cdb_limits(struct sd_lun *un);
usr/src/uts/common/io/scsi/targets/sd.c
9803
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9811
if (un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
9812
sr_ejected(un);
usr/src/uts/common/io/scsi/targets/sd.c
982
static void sd_pkt_status_good(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9823
if ((un->un_wm_cache != NULL) &&
usr/src/uts/common/io/scsi/targets/sd.c
9824
(un->un_ncmds_in_driver == 0)) {
usr/src/uts/common/io/scsi/targets/sd.c
9825
kmem_cache_destroy(un->un_wm_cache);
usr/src/uts/common/io/scsi/targets/sd.c
9826
un->un_wm_cache = NULL;
usr/src/uts/common/io/scsi/targets/sd.c
9831
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9861
struct sd_lun *un;
usr/src/uts/common/io/scsi/targets/sd.c
9865
un = ssc->ssc_un;
usr/src/uts/common/io/scsi/targets/sd.c
9866
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/sd.c
9867
ASSERT(!mutex_owned(SD_MUTEX(un)));
usr/src/uts/common/io/scsi/targets/sd.c
9869
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9874
if (un->un_f_has_removable_media) {
usr/src/uts/common/io/scsi/targets/sd.c
9875
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
988
static void sd_pkt_status_check_condition(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9880
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9888
is_valid = SD_IS_VALID_LABEL(un);
usr/src/uts/common/io/scsi/targets/sd.c
9889
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9891
(un->un_f_blockcount_is_valid == FALSE) ||
usr/src/uts/common/io/scsi/targets/sd.c
9892
(un->un_f_tgt_blocksize_is_valid == FALSE)) {
usr/src/uts/common/io/scsi/targets/sd.c
9895
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
990
static void sd_pkt_status_busy(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9902
cmlb_invalidate(un->un_cmlbhandle,
usr/src/uts/common/io/scsi/targets/sd.c
9904
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9909
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9910
sd_update_block_info(un, lbasize, capacity);
usr/src/uts/common/io/scsi/targets/sd.c
9917
if (!is_valid && ISCD(un)) {
usr/src/uts/common/io/scsi/targets/sd.c
992
static void sd_pkt_status_reservation_conflict(struct sd_lun *un,
usr/src/uts/common/io/scsi/targets/sd.c
9926
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9933
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
994
static void sd_pkt_status_qfull(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9943
if (((un->un_f_rmw_type != SD_RMW_TYPE_RETURN_ERROR ||
usr/src/uts/common/io/scsi/targets/sd.c
9944
un->un_f_non_devbsize_supported) &&
usr/src/uts/common/io/scsi/targets/sd.c
9945
un->un_tgt_blocksize != DEV_BSIZE) ||
usr/src/uts/common/io/scsi/targets/sd.c
9946
un->un_f_enable_rmw) {
usr/src/uts/common/io/scsi/targets/sd.c
9947
if (!(un->un_wm_cache)) {
usr/src/uts/common/io/scsi/targets/sd.c
9950
ddi_driver_name(SD_DEVINFO(un)),
usr/src/uts/common/io/scsi/targets/sd.c
9951
ddi_get_instance(SD_DEVINFO(un)));
usr/src/uts/common/io/scsi/targets/sd.c
9952
un->un_wm_cache = kmem_cache_create(
usr/src/uts/common/io/scsi/targets/sd.c
9956
(void *)un, NULL, 0);
usr/src/uts/common/io/scsi/targets/sd.c
9957
if (!(un->un_wm_cache)) {
usr/src/uts/common/io/scsi/targets/sd.c
9964
if (un->un_state == SD_STATE_NORMAL) {
usr/src/uts/common/io/scsi/targets/sd.c
997
static void sd_handle_request_sense(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9978
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9980
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9983
mutex_exit(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9984
cmlb_invalidate(un->un_cmlbhandle,
usr/src/uts/common/io/scsi/targets/sd.c
9986
mutex_enter(SD_MUTEX(un));
usr/src/uts/common/io/scsi/targets/sd.c
9988
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/sd.c
999
static void sd_handle_auto_request_sense(struct sd_lun *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/sd.c
9993
scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
usr/src/uts/common/io/scsi/targets/st.c
10001
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
10009
if (!un->un_flush_on_errors) {
usr/src/uts/common/io/scsi/targets/st.c
10010
un->un_status = SUN_KEY_FATAL;
usr/src/uts/common/io/scsi/targets/st.c
10014
st_set_pe_errno(un);
usr/src/uts/common/io/scsi/targets/st.c
10015
bioerror(bp, un->un_errno);
usr/src/uts/common/io/scsi/targets/st.c
10016
if (un->un_errno)
usr/src/uts/common/io/scsi/targets/st.c
10022
un->un_status = SUN_KEY_TIMEOUT;
usr/src/uts/common/io/scsi/targets/st.c
10028
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
10031
un->un_rsvd_status |= ST_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
10052
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
10060
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
10068
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
10070
result = st_reset(un, RESET_LUN);
usr/src/uts/common/io/scsi/targets/st.c
10072
if ((result == 0) && (un->un_state >= ST_STATE_OPEN)) {
usr/src/uts/common/io/scsi/targets/st.c
1008
un->un_arq_enabled = 1;
usr/src/uts/common/io/scsi/targets/st.c
10082
if (un->un_pwr_mgmt == ST_PWR_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/st.c
10084
} else if (bp == un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
1010
un->un_arq_enabled =
usr/src/uts/common/io/scsi/targets/st.c
10102
if (un->un_state >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
10122
st_handle_intr_busy(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
10135
"st_handle_intr_busy(), un = 0x%p\n", (void *)un);
usr/src/uts/common/io/scsi/targets/st.c
10137
if ((bp != un->un_sbufp) && (bp != un->un_recov_buf)) {
usr/src/uts/common/io/scsi/targets/st.c
1015
(un->un_arq_enabled ? "enabled" : "disabled"));
usr/src/uts/common/io/scsi/targets/st.c
10152
((un->un_runqf != bp) && (un->un_runql != bp) && (queued))) {
usr/src/uts/common/io/scsi/targets/st.c
10159
(void) st_remove_from_queue(&un->un_runqf, &un->un_runql, bp);
usr/src/uts/common/io/scsi/targets/st.c
10160
st_add_to_queue(&un->un_quef, &un->un_quel, un->un_quef, bp);
usr/src/uts/common/io/scsi/targets/st.c
10168
un->un_throttle = 0;
usr/src/uts/common/io/scsi/targets/st.c
1017
un->un_untagged_qing =
usr/src/uts/common/io/scsi/targets/st.c
10173
st_hba_unflush(un);
usr/src/uts/common/io/scsi/targets/st.c
10179
un->un_hib_tid = timeout(st_intr_restart, un, timeout_interval);
usr/src/uts/common/io/scsi/targets/st.c
10190
st_get_error_entry(struct scsi_tape *un, intptr_t arg, int flag)
usr/src/uts/common/io/scsi/targets/st.c
10215
if (un->un_error_entry_stk == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
10225
err_link_entry_p = un->un_error_entry_stk;
usr/src/uts/common/io/scsi/targets/st.c
1024
if (un->un_arq_enabled && un->un_untagged_qing) {
usr/src/uts/common/io/scsi/targets/st.c
10359
un->un_error_entry_stk = err_link_entry_p->mtees_nextp;
usr/src/uts/common/io/scsi/targets/st.c
1038
un->un_max_throttle = un->un_throttle = un->un_last_throttle = 1;
usr/src/uts/common/io/scsi/targets/st.c
1039
un->un_flush_on_errors = 0;
usr/src/uts/common/io/scsi/targets/st.c
10397
st_update_error_stack(struct scsi_tape *un, struct scsi_pkt *pkt,
usr/src/uts/common/io/scsi/targets/st.c
1040
un->un_mkr_pkt = (struct scsi_pkt *)NULL;
usr/src/uts/common/io/scsi/targets/st.c
1044
un->un_throttle, un->un_max_throttle);
usr/src/uts/common/io/scsi/targets/st.c
10448
err_entry_tmp->mtees_nextp = un->un_error_entry_stk;
usr/src/uts/common/io/scsi/targets/st.c
10449
un->un_error_entry_stk = err_entry_tmp;
usr/src/uts/common/io/scsi/targets/st.c
10457
st_empty_error_stack(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
10468
while (un->un_error_entry_stk != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
10469
linkp = un->un_error_entry_stk;
usr/src/uts/common/io/scsi/targets/st.c
1047
un->un_persistence = 0;
usr/src/uts/common/io/scsi/targets/st.c
10470
un->un_error_entry_stk =
usr/src/uts/common/io/scsi/targets/st.c
10471
un->un_error_entry_stk->mtees_nextp;
usr/src/uts/common/io/scsi/targets/st.c
1048
un->un_persist_errors = 0;
usr/src/uts/common/io/scsi/targets/st.c
10487
st_handle_sense(struct scsi_tape *un, struct buf *bp, tapepos_t *pos)
usr/src/uts/common/io/scsi/targets/st.c
10490
struct scsi_pkt *rqpkt = un->un_rqs;
usr/src/uts/common/io/scsi/targets/st.c
1053
un->un_maxdma = scsi_ifgetcap(&devp->sd_address, "dma-max", 1);
usr/src/uts/common/io/scsi/targets/st.c
1054
if (un->un_maxdma == -1) {
usr/src/uts/common/io/scsi/targets/st.c
10552
st_update_error_stack(un, pkt, &arqstat);
usr/src/uts/common/io/scsi/targets/st.c
10553
return (st_decode_sense(un, bp, amt, &arqstat, pos));
usr/src/uts/common/io/scsi/targets/st.c
10557
st_handle_autosense(struct scsi_tape *un, struct buf *bp, tapepos_t *pos)
usr/src/uts/common/io/scsi/targets/st.c
1057
un->un_maxdma = (64 * ONE_K);
usr/src/uts/common/io/scsi/targets/st.c
10588
if (st_reset(un, RESET_LUN) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
10628
st_update_error_stack(un, pkt, arqstat);
usr/src/uts/common/io/scsi/targets/st.c
10630
return (st_decode_sense(un, bp, amt, arqstat, pos));
usr/src/uts/common/io/scsi/targets/st.c
10634
st_decode_sense(struct scsi_tape *un, struct buf *bp, int amt,
usr/src/uts/common/io/scsi/targets/st.c
10659
if (ucmd->uscsi_rqlen && un->un_srqbufp) {
usr/src/uts/common/io/scsi/targets/st.c
10662
bcopy(ST_RQSENSE, un->un_srqbufp, rqlen);
usr/src/uts/common/io/scsi/targets/st.c
10683
if (un->un_dp->type == ST_TYPE_EMULEX) {
usr/src/uts/common/io/scsi/targets/st.c
10694
if (bp != un->un_sbufp && bp != un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
10702
if (un->un_bsize) {
usr/src/uts/common/io/scsi/targets/st.c
10703
resid *= un->un_bsize;
usr/src/uts/common/io/scsi/targets/st.c
1075
un->un_maxdma_arch = scsi_ifgetcap(&devp->sd_address, "dma-max-arch",
usr/src/uts/common/io/scsi/targets/st.c
10761
if ((un->un_state >= ST_STATE_OPEN) &&
usr/src/uts/common/io/scsi/targets/st.c
10772
switch (un->un_status = sensep->es_key) {
usr/src/uts/common/io/scsi/targets/st.c
10797
if (un->un_dp->options &
usr/src/uts/common/io/scsi/targets/st.c
10802
un->un_err_pos.lgclblkno, scsi_cmds,
usr/src/uts/common/io/scsi/targets/st.c
10809
ST_DO_ERRSTATS(un, st_softerrs);
usr/src/uts/common/io/scsi/targets/st.c
10812
un->un_err_pos.lgclblkno, scsi_cmds,
usr/src/uts/common/io/scsi/targets/st.c
1082
if ((un->un_maxdma_arch == -1) ||
usr/src/uts/common/io/scsi/targets/st.c
1083
((uint_t)un->un_maxdma < (uint_t)un->un_maxdma_arch)) {
usr/src/uts/common/io/scsi/targets/st.c
10833
if (un->un_bsize == 0 && resid > 0) {
usr/src/uts/common/io/scsi/targets/st.c
1084
un->un_maxdma_arch = un->un_maxdma;
usr/src/uts/common/io/scsi/targets/st.c
10842
} else if (un->un_bsize == 0 && resid < 0) {
usr/src/uts/common/io/scsi/targets/st.c
10850
ST_DO_ERRSTATS(un, st_softerrs);
usr/src/uts/common/io/scsi/targets/st.c
10854
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
10867
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
10869
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
10881
un->un_status = SUN_KEY_BOT;
usr/src/uts/common/io/scsi/targets/st.c
10891
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
10894
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
10901
if (un->un_laststate >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
10902
ST_DO_ERRSTATS(un, st_softerrs);
usr/src/uts/common/io/scsi/targets/st.c
1091
un->un_max_cdb_sz =
usr/src/uts/common/io/scsi/targets/st.c
10910
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
10912
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
10913
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
10925
if (un->un_bsize == 0 && resid > 0) {
usr/src/uts/common/io/scsi/targets/st.c
1093
if (un->un_max_cdb_sz < CDB_GROUP0) {
usr/src/uts/common/io/scsi/targets/st.c
10930
} else if (un->un_bsize == 0 && resid < 0) {
usr/src/uts/common/io/scsi/targets/st.c
10941
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
10943
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
1095
"HBA reported max-cdb-length as %d\n", un->un_max_cdb_sz);
usr/src/uts/common/io/scsi/targets/st.c
10952
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
10954
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
1096
un->un_max_cdb_sz = CDB_GROUP4; /* optimistic default */
usr/src/uts/common/io/scsi/targets/st.c
10960
ST_DO_ERRSTATS(un, st_softerrs);
usr/src/uts/common/io/scsi/targets/st.c
10967
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
10970
if (un->un_dp->options & ST_EJECT_ON_CHANGER_FAILURE)
usr/src/uts/common/io/scsi/targets/st.c
10971
un->un_eject_tape_on_failure = st_check_asc_ascq(un);
usr/src/uts/common/io/scsi/targets/st.c
10975
ST_DO_ERRSTATS(un, st_softerrs);
usr/src/uts/common/io/scsi/targets/st.c
10982
if (bp != un->un_sbufp && (bp->b_flags & B_READ)) {
usr/src/uts/common/io/scsi/targets/st.c
10986
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
10989
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
10990
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
10992
} else if (bp != un->un_sbufp &&
usr/src/uts/common/io/scsi/targets/st.c
10999
if (un->un_laststate >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
1100
un->un_multipath = 0;
usr/src/uts/common/io/scsi/targets/st.c
11007
(un->un_dp->options & ST_KNOWS_EOD)) {
usr/src/uts/common/io/scsi/targets/st.c
11016
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
1102
un->un_multipath = 1;
usr/src/uts/common/io/scsi/targets/st.c
11020
if (st_wrongtapetype(un)) {
usr/src/uts/common/io/scsi/targets/st.c
11021
un->un_status = SUN_KEY_WRONGMEDIA;
usr/src/uts/common/io/scsi/targets/st.c
11029
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
11036
"KEY_UNIT_ATTENTION : un_state = %d\n", un->un_state);
usr/src/uts/common/io/scsi/targets/st.c
11038
un->un_unit_attention_flags |= 1;
usr/src/uts/common/io/scsi/targets/st.c
11045
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
11048
un->un_rsvd_status |= ST_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
1105
un->un_maxbsize = MAXBSIZE_UNKNOWN;
usr/src/uts/common/io/scsi/targets/st.c
11057
if (bp == un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
1107
un->un_mediastate = MTIO_NONE;
usr/src/uts/common/io/scsi/targets/st.c
11076
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
1108
un->un_HeadClean = TAPE_ALERT_SUPPORT_UNKNOWN;
usr/src/uts/common/io/scsi/targets/st.c
11099
if (un->un_state <= ST_STATE_OPENING) {
usr/src/uts/common/io/scsi/targets/st.c
11109
(un->un_restore_pos != 1)) {
usr/src/uts/common/io/scsi/targets/st.c
11110
un->un_save_fileno = pos->fileno;
usr/src/uts/common/io/scsi/targets/st.c
11111
un->un_save_blkno = pos->blkno;
usr/src/uts/common/io/scsi/targets/st.c
11112
un->un_restore_pos = 1;
usr/src/uts/common/io/scsi/targets/st.c
1113
un->un_stats = kstat_create("st", instance, NULL, "tape",
usr/src/uts/common/io/scsi/targets/st.c
1115
if (un->un_stats) {
usr/src/uts/common/io/scsi/targets/st.c
1116
un->un_stats->ks_lock = ST_MUTEX;
usr/src/uts/common/io/scsi/targets/st.c
1117
kstat_install(un->un_stats);
usr/src/uts/common/io/scsi/targets/st.c
11173
if (un->un_state >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
11174
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
1119
(void) st_create_errstats(un, instance);
usr/src/uts/common/io/scsi/targets/st.c
11197
(un->un_dp->rewind_timeout / 10)) {
usr/src/uts/common/io/scsi/targets/st.c
11229
un->un_state > ST_STATE_OPENING) {
usr/src/uts/common/io/scsi/targets/st.c
11230
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
11237
un->un_mediastate = MTIO_EJECTED;
usr/src/uts/common/io/scsi/targets/st.c
11238
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/st.c
11240
if ((un->un_dp->options & ST_EJECT_ON_CHANGER_FAILURE) &&
usr/src/uts/common/io/scsi/targets/st.c
11242
un->un_eject_tape_on_failure = st_check_asc_ascq(un);
usr/src/uts/common/io/scsi/targets/st.c
1125
un->un_dev = MTMINOR(instance);
usr/src/uts/common/io/scsi/targets/st.c
11259
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
1126
st_known_tape_type(un);
usr/src/uts/common/io/scsi/targets/st.c
1127
un->un_dev = 0;
usr/src/uts/common/io/scsi/targets/st.c
11272
sense_keys[un->un_status]);
usr/src/uts/common/io/scsi/targets/st.c
11273
ST_DO_ERRSTATS(un, st_harderrs);
usr/src/uts/common/io/scsi/targets/st.c
11280
un->un_state >= ST_STATE_OPEN) && (DEBUGGING ||
usr/src/uts/common/io/scsi/targets/st.c
11281
(un->un_laststate > ST_STATE_OPENING) &&
usr/src/uts/common/io/scsi/targets/st.c
11285
pos->lgclblkno, un->un_err_pos.lgclblkno,
usr/src/uts/common/io/scsi/targets/st.c
11304
un->un_rqs_state |= (ST_RQS_ERROR | ST_RQS_VALID);
usr/src/uts/common/io/scsi/targets/st.c
11305
bcopy(ST_RQSENSE, un->un_uscsi_rqs_buf, SENSE_LENGTH);
usr/src/uts/common/io/scsi/targets/st.c
11306
if (un->un_rqs_state & ST_RQS_READ) {
usr/src/uts/common/io/scsi/targets/st.c
11307
un->un_rqs_state &= ~(ST_RQS_READ);
usr/src/uts/common/io/scsi/targets/st.c
11309
un->un_rqs_state |= ST_RQS_OVR;
usr/src/uts/common/io/scsi/targets/st.c
11318
st_handle_intr_retry_lcmd(struct scsi_tape *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/st.c
11328
"st_handle_intr_rtr_lcmd(), un = 0x%p\n", (void *)un);
usr/src/uts/common/io/scsi/targets/st.c
11339
((un->un_runqf != bp) && (un->un_runql != bp))) {
usr/src/uts/common/io/scsi/targets/st.c
11343
if (un->un_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
11344
un->un_last_throttle = un->un_throttle;
usr/src/uts/common/io/scsi/targets/st.c
11345
un->un_throttle = 0;
usr/src/uts/common/io/scsi/targets/st.c
11356
status = st_transport(un, BP_PKT(bp));
usr/src/uts/common/io/scsi/targets/st.c
11359
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
11360
un->un_throttle = un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
11373
if (st_handle_intr_busy(un, bp, ST_TRAN_BUSY_TIMEOUT) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
11380
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
11381
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
11382
un->un_throttle = un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
11390
st_wrongtapetype(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
11402
if (un->un_dp && (un->un_dp->options & ST_QIC) && un->un_mspl) {
usr/src/uts/common/io/scsi/targets/st.c
11403
switch (un->un_dp->type) {
usr/src/uts/common/io/scsi/targets/st.c
1142
minor |= un->un_dp->default_density;
usr/src/uts/common/io/scsi/targets/st.c
11422
if (un->un_status == KEY_WRITE_PROTECT &&
usr/src/uts/common/io/scsi/targets/st.c
11423
un->un_mspl->wp == 0) {
usr/src/uts/common/io/scsi/targets/st.c
11435
st_check_error(struct scsi_tape *un, struct scsi_pkt *pkt)
usr/src/uts/common/io/scsi/targets/st.c
11456
(bp != un->un_recov_buf) &&
usr/src/uts/common/io/scsi/targets/st.c
11457
(un->un_state > ST_STATE_OPEN_PENDING_IO) &&
usr/src/uts/common/io/scsi/targets/st.c
11458
((un->un_rsvd_status & (ST_RESERVE |
usr/src/uts/common/io/scsi/targets/st.c
11461
un->un_rsvd_status |= ST_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
11464
un->un_rsvd_status |= ST_RESERVATION_CONFLICT;
usr/src/uts/common/io/scsi/targets/st.c
11471
un->un_multipath && (pkt->pkt_state == (STATE_GOT_BUS |
usr/src/uts/common/io/scsi/targets/st.c
11490
} else if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
11500
(void) st_reset(un, RESET_ALL);
usr/src/uts/common/io/scsi/targets/st.c
11512
if (un->un_arq_enabled &&
usr/src/uts/common/io/scsi/targets/st.c
11521
action = st_decode_sense(un, bp, MAX_SENSE_LENGTH -
usr/src/uts/common/io/scsi/targets/st.c
11522
pkt->pkt_resid, stat, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
1154
st_reset_notification, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/st.c
11547
st_calc_bnum(struct scsi_tape *un, struct buf *bp, struct scsi_pkt *pkt)
usr/src/uts/common/io/scsi/targets/st.c
1155
cv_destroy(&un->un_clscv);
usr/src/uts/common/io/scsi/targets/st.c
1156
cv_destroy(&un->un_sbuf_cv);
usr/src/uts/common/io/scsi/targets/st.c
1157
cv_destroy(&un->un_queue_cv);
usr/src/uts/common/io/scsi/targets/st.c
11574
ASSERT(un->un_pos.eof == ST_EOM);
usr/src/uts/common/io/scsi/targets/st.c
11578
ASSERT(un->un_pos.eof == ST_EOF_PENDING);
usr/src/uts/common/io/scsi/targets/st.c
1158
cv_destroy(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/st.c
11582
} else if (un->un_bsize == 0) {
usr/src/uts/common/io/scsi/targets/st.c
11589
un->un_kbytes_xferred += (count / ONE_K);
usr/src/uts/common/io/scsi/targets/st.c
11597
nblks = (count / un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
11598
un->un_kbytes_xferred += (nblks * un->un_bsize) / ONE_K;
usr/src/uts/common/io/scsi/targets/st.c
1160
cv_destroy(&un->un_contig_mem_cv);
usr/src/uts/common/io/scsi/targets/st.c
11608
if (un->un_pos.eof == ST_EOF_PENDING && bp->b_resid) {
usr/src/uts/common/io/scsi/targets/st.c
1162
cv_destroy(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/st.c
11620
if (un->un_persistence && un->un_persist_errors) {
usr/src/uts/common/io/scsi/targets/st.c
11621
ASSERT(un->un_pos.pmode != invalid);
usr/src/uts/common/io/scsi/targets/st.c
11625
un->un_pos.blkno += nblks;
usr/src/uts/common/io/scsi/targets/st.c
11626
un->un_pos.lgclblkno += nblks;
usr/src/uts/common/io/scsi/targets/st.c
11627
un->un_pos.lgclblkno += nfiles;
usr/src/uts/common/io/scsi/targets/st.c
11629
un->un_pos.blkno -= nblks;
usr/src/uts/common/io/scsi/targets/st.c
1163
cv_destroy(&un->un_tape_busy_cv);
usr/src/uts/common/io/scsi/targets/st.c
11630
un->un_pos.lgclblkno -= nblks;
usr/src/uts/common/io/scsi/targets/st.c
11631
un->un_pos.lgclblkno -= nfiles;
usr/src/uts/common/io/scsi/targets/st.c
11638
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1164
cv_destroy(&un->un_recov_buf_cv);
usr/src/uts/common/io/scsi/targets/st.c
11645
if (un->un_pos.eof != ST_EOF_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
1165
if (un->un_recov_taskq) {
usr/src/uts/common/io/scsi/targets/st.c
11652
((un->un_pos.blkno != ri->pos.blkno) ||
usr/src/uts/common/io/scsi/targets/st.c
11653
(un->un_pos.lgclblkno != ri->pos.lgclblkno))) {
usr/src/uts/common/io/scsi/targets/st.c
11658
"But Got", &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
1166
ddi_taskq_destroy(un->un_recov_taskq);
usr/src/uts/common/io/scsi/targets/st.c
11660
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
11664
if (un->un_running.pmode != invalid) {
usr/src/uts/common/io/scsi/targets/st.c
11671
un->un_running.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
11672
un->un_running.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11674
un->un_running.fileno--;
usr/src/uts/common/io/scsi/targets/st.c
11675
un->un_running.blkno = LASTBLK;
usr/src/uts/common/io/scsi/targets/st.c
1168
if (un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
11682
st_set_state(struct scsi_tape *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/st.c
1169
freerbuf(un->un_sbufp);
usr/src/uts/common/io/scsi/targets/st.c
11690
ASSERT(bp != un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
11694
un->un_pos.eof, un->un_fmneeded, sp->pkt_resid, sp->pkt_resid);
usr/src/uts/common/io/scsi/targets/st.c
11696
if (bp != un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
11706
st_calc_bnum(un, bp, sp);
usr/src/uts/common/io/scsi/targets/st.c
11709
un->un_lastop = ST_OP_READ;
usr/src/uts/common/io/scsi/targets/st.c
1171
if (un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
11710
un->un_fmneeded = 0;
usr/src/uts/common/io/scsi/targets/st.c
11712
un->un_lastop = ST_OP_WRITE;
usr/src/uts/common/io/scsi/targets/st.c
11713
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
11714
un->un_fmneeded = 2;
usr/src/uts/common/io/scsi/targets/st.c
11716
un->un_fmneeded = 1;
usr/src/uts/common/io/scsi/targets/st.c
1172
freerbuf(un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
11724
if (un->un_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
11725
un->un_throttle = un->un_max_throttle;
usr/src/uts/common/io/scsi/targets/st.c
11739
st_calc_bnum(un, bp, sp);
usr/src/uts/common/io/scsi/targets/st.c
1174
if (un->un_uscsi_rqs_buf) {
usr/src/uts/common/io/scsi/targets/st.c
11740
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
11741
un->un_fmneeded = 2;
usr/src/uts/common/io/scsi/targets/st.c
11743
un->un_fmneeded = 1;
usr/src/uts/common/io/scsi/targets/st.c
1175
kmem_free(un->un_uscsi_rqs_buf, SENSE_LENGTH);
usr/src/uts/common/io/scsi/targets/st.c
11750
un->un_lastop = ST_OP_READ;
usr/src/uts/common/io/scsi/targets/st.c
11754
st_calc_bnum(un, bp, sp);
usr/src/uts/common/io/scsi/targets/st.c
11755
un->un_fmneeded = 0;
usr/src/uts/common/io/scsi/targets/st.c
11762
if (un->un_pos.eof != ST_EOM) {
usr/src/uts/common/io/scsi/targets/st.c
11763
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
11767
un->un_lastop = new_lastop = ST_OP_WEOF;
usr/src/uts/common/io/scsi/targets/st.c
11768
un->un_pos.lgclblkno += fmdone;
usr/src/uts/common/io/scsi/targets/st.c
11769
un->un_pos.fileno += fmdone;
usr/src/uts/common/io/scsi/targets/st.c
1177
if (un->un_mspl) {
usr/src/uts/common/io/scsi/targets/st.c
11770
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11776
if (fmdone > un->un_fmneeded) {
usr/src/uts/common/io/scsi/targets/st.c
11777
un->un_fmneeded = 0;
usr/src/uts/common/io/scsi/targets/st.c
11779
un->un_fmneeded -= fmdone;
usr/src/uts/common/io/scsi/targets/st.c
1178
i_ddi_mem_free((caddr_t)un->un_mspl, NULL);
usr/src/uts/common/io/scsi/targets/st.c
11784
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
11785
un->un_pos.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11786
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11787
un->un_pos.lgclblkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11788
if (un->un_pos.pmode != legacy)
usr/src/uts/common/io/scsi/targets/st.c
11789
un->un_pos.pmode = legacy;
usr/src/uts/common/io/scsi/targets/st.c
11791
un->un_restore_pos = 0;
usr/src/uts/common/io/scsi/targets/st.c
1180
if (un->un_dp_size) {
usr/src/uts/common/io/scsi/targets/st.c
1181
kmem_free(un->un_dp, un->un_dp_size);
usr/src/uts/common/io/scsi/targets/st.c
11819
un->un_lastop = new_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
1183
if (un->un_state) {
usr/src/uts/common/io/scsi/targets/st.c
11835
un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
1184
kstat_delete(un->un_stats);
usr/src/uts/common/io/scsi/targets/st.c
11841
if (un->un_pos.eof <= ST_EOF) {
usr/src/uts/common/io/scsi/targets/st.c
11842
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
11844
un->un_pos.fileno += done;
usr/src/uts/common/io/scsi/targets/st.c
11845
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11849
if (done > un->un_pos.fileno) {
usr/src/uts/common/io/scsi/targets/st.c
11850
un->un_pos.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11851
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11853
un->un_pos.fileno -= done;
usr/src/uts/common/io/scsi/targets/st.c
11854
un->un_pos.blkno = LASTBLK;
usr/src/uts/common/io/scsi/targets/st.c
11855
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1186
if (un->un_errstats) {
usr/src/uts/common/io/scsi/targets/st.c
11861
un->un_pos.blkno += done;
usr/src/uts/common/io/scsi/targets/st.c
11865
if (un->un_pos.eof >= ST_EOF_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
1187
kstat_delete(un->un_errstats);
usr/src/uts/common/io/scsi/targets/st.c
11874
if (done > un->un_pos.blkno) {
usr/src/uts/common/io/scsi/targets/st.c
11875
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11877
un->un_pos.fileno--;
usr/src/uts/common/io/scsi/targets/st.c
11878
un->un_pos.blkno = LASTBLK;
usr/src/uts/common/io/scsi/targets/st.c
11879
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
11882
un->un_pos.blkno -= done;
usr/src/uts/common/io/scsi/targets/st.c
11886
un->un_pos.pmode = logical;
usr/src/uts/common/io/scsi/targets/st.c
11887
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11888
un->un_lastop = new_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
11891
un->un_pos.pmode = logical;
usr/src/uts/common/io/scsi/targets/st.c
11892
un->un_pos.eof = ST_EOM;
usr/src/uts/common/io/scsi/targets/st.c
11893
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
11896
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1190
scsi_destroy_pkt(un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
11901
un->un_lastop = new_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
11906
resid, un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
1191
scsi_free_consistent_buf(un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/st.c
11912
un->un_pos.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11913
if (un->un_pos.pmode != legacy)
usr/src/uts/common/io/scsi/targets/st.c
11914
un->un_pos.pmode = legacy;
usr/src/uts/common/io/scsi/targets/st.c
11916
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
11917
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
11924
if (un->un_media_id != bogusID && un->un_media_id_len) {
usr/src/uts/common/io/scsi/targets/st.c
11925
kmem_free(un->un_media_id, un->un_media_id_len);
usr/src/uts/common/io/scsi/targets/st.c
11926
un->un_media_id = NULL;
usr/src/uts/common/io/scsi/targets/st.c
11927
un->un_media_id_len = 0;
usr/src/uts/common/io/scsi/targets/st.c
11929
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
11930
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
11931
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11932
un->un_lastop = new_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
11935
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
11936
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11937
un->un_pos.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11938
un->un_pos.lgclblkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
11939
if (un->un_pos.pmode != legacy)
usr/src/uts/common/io/scsi/targets/st.c
11940
un->un_pos.pmode = legacy;
usr/src/uts/common/io/scsi/targets/st.c
11944
un->un_rsvd_status |= ST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
11945
un->un_rsvd_status &=
usr/src/uts/common/io/scsi/targets/st.c
11951
un->un_rsvd_status |= ST_RELEASE;
usr/src/uts/common/io/scsi/targets/st.c
11952
un->un_rsvd_status &=
usr/src/uts/common/io/scsi/targets/st.c
11967
un->un_rsvd_status |=
usr/src/uts/common/io/scsi/targets/st.c
11969
un->un_rsvd_status &= ~(ST_RELEASE |
usr/src/uts/common/io/scsi/targets/st.c
11979
un->un_rsvd_status |= ST_INIT_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
11982
un->un_rsvd_status &= ~ST_INIT_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
11985
un->un_rsvd_status &=
usr/src/uts/common/io/scsi/targets/st.c
11989
un->un_rsvd_status |= ST_RELEASE;
usr/src/uts/common/io/scsi/targets/st.c
12026
(void) st_get_read_pos(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
12032
un->un_lastop = new_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
12066
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
12067
un->un_lastop = new_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
12075
if (((un->un_lastop == ST_OP_WRITE) ||
usr/src/uts/common/io/scsi/targets/st.c
12076
(un->un_lastop == ST_OP_WEOF)) &&
usr/src/uts/common/io/scsi/targets/st.c
12078
un->un_lastop = new_lastop;
usr/src/uts/common/io/scsi/targets/st.c
12095
un->un_err_resid = bp->b_resid;
usr/src/uts/common/io/scsi/targets/st.c
12096
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
12110
if (un->un_lastop == ST_OP_READ && un->un_pos.eof == ST_EOF_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
12120
if ((un->un_dp->options & ST_REEL) &&
usr/src/uts/common/io/scsi/targets/st.c
12121
!(un->un_dp->options & ST_READ_IGNORE_EOFS) &&
usr/src/uts/common/io/scsi/targets/st.c
12122
un->un_pos.blkno == 0 && un->un_pos.fileno > 0) {
usr/src/uts/common/io/scsi/targets/st.c
12123
un->un_pos.eof = ST_EOT_PENDING;
usr/src/uts/common/io/scsi/targets/st.c
12126
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
12127
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
12136
un->un_pos.eof = ST_EOF;
usr/src/uts/common/io/scsi/targets/st.c
12139
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
12142
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
12144
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
12161
un->un_pos.eof = ST_EOF;
usr/src/uts/common/io/scsi/targets/st.c
12163
un->un_silent_skip = 1;
usr/src/uts/common/io/scsi/targets/st.c
12164
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
12165
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
12166
un->un_pos.lgclblkno++;
usr/src/uts/common/io/scsi/targets/st.c
12167
un->un_save_blkno = un->un_pos.blkno;
usr/src/uts/common/io/scsi/targets/st.c
12168
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
12172
un->un_pos.fileno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
12183
un->un_pos.eof = ST_EOF;
usr/src/uts/common/io/scsi/targets/st.c
12187
un->un_pos.fileno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
12196
st_set_pe_errno(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
12203
if (un->un_errno)
usr/src/uts/common/io/scsi/targets/st.c
12216
if (un->un_last_resid == un->un_last_count) {
usr/src/uts/common/io/scsi/targets/st.c
12217
switch (un->un_pos.eof) {
usr/src/uts/common/io/scsi/targets/st.c
12219
un->un_errno = ENOMEM;
usr/src/uts/common/io/scsi/targets/st.c
1222
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
12223
un->un_errno = EIO;
usr/src/uts/common/io/scsi/targets/st.c
12231
un->un_last_resid = un->un_last_count = 0;
usr/src/uts/common/io/scsi/targets/st.c
12241
st_hba_unflush(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
12247
if (!un->un_flush_on_errors)
usr/src/uts/common/io/scsi/targets/st.c
12252
if (!un->un_mkr_pkt) {
usr/src/uts/common/io/scsi/targets/st.c
12253
un->un_mkr_pkt = scsi_init_pkt(ROUTE, NULL, (struct buf *)NULL,
usr/src/uts/common/io/scsi/targets/st.c
12260
st_transport(un, un->un_mkr_pkt);
usr/src/uts/common/io/scsi/targets/st.c
12284
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
12287
un = ddi_get_soft_state(st_state, instance);
usr/src/uts/common/io/scsi/targets/st.c
1229
if (!(un = ddi_get_soft_state(st_state, instance))) {
usr/src/uts/common/io/scsi/targets/st.c
12294
st_dev_name(un->un_dev), st_print_scsi_cmd(*cdb));
usr/src/uts/common/io/scsi/targets/st.c
12349
st_debug_cmds(struct scsi_tape *un, int com, int count, int wait)
usr/src/uts/common/io/scsi/targets/st.c
12369
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
12378
un = ddi_get_soft_state(st_state, instance);
usr/src/uts/common/io/scsi/targets/st.c
12379
if (un) {
usr/src/uts/common/io/scsi/targets/st.c
1238
st_empty_error_stack(un);
usr/src/uts/common/io/scsi/targets/st.c
12441
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
12443
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
12453
if ((amt >= 19) && un->un_kbytes_xferred) {
usr/src/uts/common/io/scsi/targets/st.c
12461
if (un->un_kbytes_xferred < (EXABYTE_MIN_TRANSFER/ONE_K)) {
usr/src/uts/common/io/scsi/targets/st.c
12469
error_rate = (count * 100)/un->un_kbytes_xferred;
usr/src/uts/common/io/scsi/targets/st.c
12479
un->un_kbytes_xferred);
usr/src/uts/common/io/scsi/targets/st.c
1255
(void *)un);
usr/src/uts/common/io/scsi/targets/st.c
1257
if (((un->un_dp->options & ST_UNLOADABLE) == 0) ||
usr/src/uts/common/io/scsi/targets/st.c
12571
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
12572
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
1258
((un->un_rsvd_status & ST_APPLICATION_RESERVATIONS) != 0) ||
usr/src/uts/common/io/scsi/targets/st.c
12586
if ((amt >= MIN_LOG_SENSE_LENGTH) && un->un_kbytes_xferred) {
usr/src/uts/common/io/scsi/targets/st.c
1259
(un->un_ncmds != 0) || (un->un_quef != NULL) ||
usr/src/uts/common/io/scsi/targets/st.c
1260
(un->un_state != ST_STATE_CLOSED)) {
usr/src/uts/common/io/scsi/targets/st.c
1268
un->un_unit_attention_flags |= 4;
usr/src/uts/common/io/scsi/targets/st.c
12702
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
12725
switch (un->un_dp->type) {
usr/src/uts/common/io/scsi/targets/st.c
12734
un->un_dp->options &= ~ST_SOFT_ERROR_REPORTING;
usr/src/uts/common/io/scsi/targets/st.c
12748
st_turn_pe_on(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
12755
un->un_persistence = 1;
usr/src/uts/common/io/scsi/targets/st.c
12762
if (un->un_arq_enabled && un->un_untagged_qing) {
usr/src/uts/common/io/scsi/targets/st.c
12770
un->un_flush_on_errors = f_o_e;
usr/src/uts/common/io/scsi/targets/st.c
12772
un->un_flush_on_errors = 0;
usr/src/uts/common/io/scsi/targets/st.c
12775
if (un->un_flush_on_errors)
usr/src/uts/common/io/scsi/targets/st.c
12776
un->un_max_throttle = (uchar_t)st_max_throttle;
usr/src/uts/common/io/scsi/targets/st.c
12778
un->un_max_throttle = 1;
usr/src/uts/common/io/scsi/targets/st.c
12780
if (un->un_dp->options & ST_RETRY_ON_RECOVERED_DEFERRED_ERROR)
usr/src/uts/common/io/scsi/targets/st.c
12781
un->un_max_throttle = 1;
usr/src/uts/common/io/scsi/targets/st.c
12784
st_clear_pe(un);
usr/src/uts/common/io/scsi/targets/st.c
12791
st_turn_pe_off(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
12798
un->un_persistence = 0;
usr/src/uts/common/io/scsi/targets/st.c
1280
if ((un->un_dev) && /* Been opened since attach */
usr/src/uts/common/io/scsi/targets/st.c
12801
st_clear_pe(un);
usr/src/uts/common/io/scsi/targets/st.c
12804
if (un->un_flush_on_errors) {
usr/src/uts/common/io/scsi/targets/st.c
1281
((un->un_pos.pmode == legacy) &&
usr/src/uts/common/io/scsi/targets/st.c
12811
un->un_flush_on_errors = 0;
usr/src/uts/common/io/scsi/targets/st.c
12819
st_clear_pe(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1282
(un->un_pos.fileno > 0) || /* Known position not rewound */
usr/src/uts/common/io/scsi/targets/st.c
12825
un->un_persist_errors = 0;
usr/src/uts/common/io/scsi/targets/st.c
12826
un->un_throttle = un->un_last_throttle = 1;
usr/src/uts/common/io/scsi/targets/st.c
12827
un->un_errno = 0;
usr/src/uts/common/io/scsi/targets/st.c
12828
st_hba_unflush(un);
usr/src/uts/common/io/scsi/targets/st.c
1283
(un->un_pos.blkno != 0)) || /* Or within first file */
usr/src/uts/common/io/scsi/targets/st.c
12836
st_set_pe_flag(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1284
((un->un_pos.pmode == logical) &&
usr/src/uts/common/io/scsi/targets/st.c
12841
if (un->un_persistence) {
usr/src/uts/common/io/scsi/targets/st.c
12843
un->un_persist_errors = 1;
usr/src/uts/common/io/scsi/targets/st.c
12844
un->un_throttle = un->un_last_throttle = 0;
usr/src/uts/common/io/scsi/targets/st.c
12845
cv_broadcast(&un->un_sbuf_cv);
usr/src/uts/common/io/scsi/targets/st.c
1285
(un->un_pos.lgclblkno > 0))) {
usr/src/uts/common/io/scsi/targets/st.c
12850
st_do_reserve(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
12853
int was_lost = un->un_rsvd_status & ST_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
12871
rval = st_reserve_release(un, ST_RESERVE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
12873
if ((un->un_rsvd_status & ST_LOST_RESERVE_BETWEEN_OPENS) ==
usr/src/uts/common/io/scsi/targets/st.c
12875
un->un_rsvd_status &= ~(ST_LOST_RESERVE | ST_RESERVE);
usr/src/uts/common/io/scsi/targets/st.c
12876
un->un_errno = EACCES;
usr/src/uts/common/io/scsi/targets/st.c
12879
rval = st_reserve_release(un, ST_RESERVE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
12882
un->un_rsvd_status |= ST_INIT_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
12885
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
12892
st_check_cdb_for_need_to_reserve(struct scsi_tape *un, uchar_t *cdb)
usr/src/uts/common/io/scsi/targets/st.c
12903
if ((un->un_rsvd_status & (ST_APPLICATION_RESERVATIONS)) ||
usr/src/uts/common/io/scsi/targets/st.c
12904
((un->un_rsvd_status & (ST_RESERVE | ST_LOST_RESERVE)) ==
usr/src/uts/common/io/scsi/targets/st.c
12905
ST_RESERVE) || (un->un_dp->options & ST_NO_RESERVE_RELEASE)) {
usr/src/uts/common/io/scsi/targets/st.c
12937
rval = st_do_reserve(un);
usr/src/uts/common/io/scsi/targets/st.c
12944
st_check_cmd_for_need_to_reserve(struct scsi_tape *un, uchar_t cmd, int cnt)
usr/src/uts/common/io/scsi/targets/st.c
12955
if ((un->un_rsvd_status & (ST_APPLICATION_RESERVATIONS)) ||
usr/src/uts/common/io/scsi/targets/st.c
12956
((un->un_rsvd_status & (ST_RESERVE | ST_LOST_RESERVE)) ==
usr/src/uts/common/io/scsi/targets/st.c
12957
ST_RESERVE) || (un->un_dp->options & ST_NO_RESERVE_RELEASE) ||
usr/src/uts/common/io/scsi/targets/st.c
12958
((un->un_state == ST_STATE_CLOSING) && (cmd == SCMD_REWIND))) {
usr/src/uts/common/io/scsi/targets/st.c
1296
result = st_cmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
12988
rval = st_do_reserve(un);
usr/src/uts/common/io/scsi/targets/st.c
12995
st_reserve_release(struct scsi_tape *un, int cmd, ubufunc_t ubf)
usr/src/uts/common/io/scsi/targets/st.c
1301
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
13022
uscsi_cmd.uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
13026
rval = ubf(un, &uscsi_cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
13040
if (un->un_status == KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
13041
if ((un->un_dp->options & ST_NO_RESERVE_RELEASE) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13042
un->un_dp->options |= ST_NO_RESERVE_RELEASE;
usr/src/uts/common/io/scsi/targets/st.c
13054
st_take_ownership(struct scsi_tape *un, ubufunc_t ubf)
usr/src/uts/common/io/scsi/targets/st.c
1306
un->un_status, un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
13066
rval = st_reserve_release(un, ST_RESERVE, ubf);
usr/src/uts/common/io/scsi/targets/st.c
13072
if (st_reset(un, RESET_LUN) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13075
un->un_rsvd_status &=
usr/src/uts/common/io/scsi/targets/st.c
13084
(void) st_reserve_release(un, ST_RESERVE, ubf);
usr/src/uts/common/io/scsi/targets/st.c
13085
rval = st_reserve_release(un, ST_RESERVE, ubf);
usr/src/uts/common/io/scsi/targets/st.c
13087
if ((st_reserve_release(un, ST_RESERVE, ubf))
usr/src/uts/common/io/scsi/targets/st.c
13089
rval = (un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
13099
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
13100
un->un_rsvd_status |= ST_INIT_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
13106
st_create_errstats(struct scsi_tape *un, int instance)
usr/src/uts/common/io/scsi/targets/st.c
13116
if (un->un_errstats == (kstat_t *)0) {
usr/src/uts/common/io/scsi/targets/st.c
13118
un->un_errstats = kstat_create("sterr", instance, kstatname,
usr/src/uts/common/io/scsi/targets/st.c
1312
if ((un->un_dev) && /* Been opened since attach */
usr/src/uts/common/io/scsi/targets/st.c
13123
if (un->un_errstats) {
usr/src/uts/common/io/scsi/targets/st.c
13126
stp = (struct st_errstats *)un->un_errstats->ks_data;
usr/src/uts/common/io/scsi/targets/st.c
1314
((((un->un_pos.pmode == legacy) &&
usr/src/uts/common/io/scsi/targets/st.c
13141
un->un_errstats->ks_private = un;
usr/src/uts/common/io/scsi/targets/st.c
13142
un->un_errstats->ks_update = nulldev;
usr/src/uts/common/io/scsi/targets/st.c
13143
kstat_install(un->un_errstats);
usr/src/uts/common/io/scsi/targets/st.c
1315
(un->un_pos.fileno > 0) || /* Known position not rewound */
usr/src/uts/common/io/scsi/targets/st.c
1316
(un->un_pos.blkno != 0)) || /* Or within first file */
usr/src/uts/common/io/scsi/targets/st.c
13165
st_validate_tapemarks(struct scsi_tape *un, ubufunc_t ubf, tapepos_t *pos)
usr/src/uts/common/io/scsi/targets/st.c
1317
((un->un_pos.pmode == logical) &&
usr/src/uts/common/io/scsi/targets/st.c
13172
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
1318
(un->un_pos.lgclblkno > 0))) &&
usr/src/uts/common/io/scsi/targets/st.c
13189
if (pos->pmode == logical || un->un_read_pos_type != NO_POS) {
usr/src/uts/common/io/scsi/targets/st.c
1319
((un->un_state == ST_STATE_CLOSED) &&
usr/src/uts/common/io/scsi/targets/st.c
13199
if (st_logical_block_locate(un, st_uscsi_cmd, &un->un_pos,
usr/src/uts/common/io/scsi/targets/st.c
1320
(un->un_laststate == ST_STATE_CLOSING)))) {
usr/src/uts/common/io/scsi/targets/st.c
13202
if (un->un_pos.lgclblkno == pos->lgclblkno) {
usr/src/uts/common/io/scsi/targets/st.c
13203
COPY_POS(&un->un_pos, pos);
usr/src/uts/common/io/scsi/targets/st.c
13227
rval = bf(un, SCMD_REWIND, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
13232
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1324
" lgclblkno=0x%"PRIx64"\n", un->un_pos.pmode,
usr/src/uts/common/io/scsi/targets/st.c
13246
rval = st_cmd(un, SCMD_SPACE, Fmk(pos->fileno), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
1325
un->un_pos.fileno, un->un_pos.blkno,
usr/src/uts/common/io/scsi/targets/st.c
13252
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1326
un->un_pos.lgclblkno);
usr/src/uts/common/io/scsi/targets/st.c
13265
rval = bf(un, SCMD_SPACE, Fmk(-1), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
1327
un->un_unit_attention_flags |= 4;
usr/src/uts/common/io/scsi/targets/st.c
13271
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
13281
un->un_pos.eof = pos->eof;
usr/src/uts/common/io/scsi/targets/st.c
13282
un->un_pos.lgclblkno = pos->lgclblkno;
usr/src/uts/common/io/scsi/targets/st.c
13293
st_check_asc_ascq(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
13320
st_logpage_supported(struct scsi_tape *un, uchar_t page)
usr/src/uts/common/io/scsi/targets/st.c
1335
if (un->un_dev && (un->un_rsvd_status & ST_RESERVE) &&
usr/src/uts/common/io/scsi/targets/st.c
13355
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
13356
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
1338
(void) st_reserve_release(un, ST_RELEASE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
13397
st_check_clean_bit(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
13405
if (un->un_HeadClean & TAPE_ALERT_NOT_SUPPORTED) {
usr/src/uts/common/io/scsi/targets/st.c
13409
if (un->un_HeadClean == TAPE_ALERT_SUPPORT_UNKNOWN) {
usr/src/uts/common/io/scsi/targets/st.c
13411
rval = st_logpage_supported(un, TAPE_SEQUENTIAL_PAGE);
usr/src/uts/common/io/scsi/targets/st.c
13417
un->un_HeadClean |= TAPE_SEQUENTIAL_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
13420
rval = st_logpage_supported(un, TAPE_ALERT_PAGE);
usr/src/uts/common/io/scsi/targets/st.c
13426
un->un_HeadClean |= TAPE_ALERT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
13429
if (un->un_HeadClean == TAPE_ALERT_SUPPORT_UNKNOWN) {
usr/src/uts/common/io/scsi/targets/st.c
13431
un->un_HeadClean = TAPE_ALERT_NOT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
13437
if (un->un_HeadClean & TAPE_SEQUENTIAL_SUPPORTED) {
usr/src/uts/common/io/scsi/targets/st.c
13439
rval = st_check_sequential_clean_bit(un);
usr/src/uts/common/io/scsi/targets/st.c
13445
if ((rval == 0) && (un->un_HeadClean & TAPE_ALERT_SUPPORTED)) {
usr/src/uts/common/io/scsi/targets/st.c
13447
rval = st_check_alert_flags(un);
usr/src/uts/common/io/scsi/targets/st.c
13453
if ((rval == 0) && (un->un_dp->options & ST_CLN_MASK)) {
usr/src/uts/common/io/scsi/targets/st.c
13455
rval = st_check_sense_clean_bit(un);
usr/src/uts/common/io/scsi/targets/st.c
13475
if ((un->un_HeadClean & TAPE_PREVIOUSLY_DIRTY) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13480
un->un_HeadClean |= TAPE_PREVIOUSLY_DIRTY;
usr/src/uts/common/io/scsi/targets/st.c
13485
un->un_HeadClean &= ~TAPE_PREVIOUSLY_DIRTY;
usr/src/uts/common/io/scsi/targets/st.c
1349
st_reset_notification, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/st.c
13494
st_check_sequential_clean_bit(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1350
cv_destroy(&un->un_clscv);
usr/src/uts/common/io/scsi/targets/st.c
1351
cv_destroy(&un->un_sbuf_cv);
usr/src/uts/common/io/scsi/targets/st.c
1352
cv_destroy(&un->un_queue_cv);
usr/src/uts/common/io/scsi/targets/st.c
13523
cmd->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
1353
cv_destroy(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/st.c
13531
rval = st_uscsi_cmd(un, cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
1354
cv_destroy(&un->un_tape_busy_cv);
usr/src/uts/common/io/scsi/targets/st.c
1355
cv_destroy(&un->un_recov_buf_cv);
usr/src/uts/common/io/scsi/targets/st.c
1357
if (un->un_recov_taskq) {
usr/src/uts/common/io/scsi/targets/st.c
13575
st_check_alert_flags(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1358
ddi_taskq_destroy(un->un_recov_taskq);
usr/src/uts/common/io/scsi/targets/st.c
13609
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
1361
if (un->un_hib_tid) {
usr/src/uts/common/io/scsi/targets/st.c
13611
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
1362
(void) untimeout(un->un_hib_tid);
usr/src/uts/common/io/scsi/targets/st.c
1363
un->un_hib_tid = 0;
usr/src/uts/common/io/scsi/targets/st.c
13657
(un->un_dp->type == ST_TYPE_STK9840))) {
usr/src/uts/common/io/scsi/targets/st.c
1366
if (un->un_delay_tid) {
usr/src/uts/common/io/scsi/targets/st.c
13664
un->un_HeadClean |= TAPE_ALERT_STILL_DIRTY;
usr/src/uts/common/io/scsi/targets/st.c
1367
(void) untimeout(un->un_delay_tid);
usr/src/uts/common/io/scsi/targets/st.c
13671
un->un_HeadClean &= ~TAPE_ALERT_STILL_DIRTY;
usr/src/uts/common/io/scsi/targets/st.c
13679
if (un->un_HeadClean & TAPE_ALERT_STILL_DIRTY) {
usr/src/uts/common/io/scsi/targets/st.c
1368
un->un_delay_tid = 0;
usr/src/uts/common/io/scsi/targets/st.c
13694
st_check_sense_clean_bit(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1370
cv_destroy(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/st.c
13713
if ((un->un_dp->options & ST_CLN_MASK) == ST_CLN_TYPE_1) {
usr/src/uts/common/io/scsi/targets/st.c
13717
} else if ((un->un_dp->options & ST_CLN_MASK) == ST_CLN_TYPE_2) {
usr/src/uts/common/io/scsi/targets/st.c
13721
} else if ((un->un_dp->options & ST_CLN_MASK) == ST_CLN_TYPE_3) {
usr/src/uts/common/io/scsi/targets/st.c
1373
cv_destroy(&un->un_contig_mem_cv);
usr/src/uts/common/io/scsi/targets/st.c
1375
if (un->un_contig_mem_hdl != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
13750
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
13752
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
1376
ddi_dma_free_handle(&un->un_contig_mem_hdl);
usr/src/uts/common/io/scsi/targets/st.c
1379
if (un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
13791
rval = st_cmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
13797
st_calculate_timeouts(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1380
freerbuf(un->un_sbufp);
usr/src/uts/common/io/scsi/targets/st.c
13801
if (un->un_dp->non_motion_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13802
if (un->un_dp->options & ST_LONG_TIMEOUTS) {
usr/src/uts/common/io/scsi/targets/st.c
13803
un->un_dp->non_motion_timeout =
usr/src/uts/common/io/scsi/targets/st.c
13806
un->un_dp->non_motion_timeout = (ushort_t)st_io_time;
usr/src/uts/common/io/scsi/targets/st.c
13810
if (un->un_dp->io_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13811
if (un->un_dp->options & ST_LONG_TIMEOUTS) {
usr/src/uts/common/io/scsi/targets/st.c
13812
un->un_dp->io_timeout = st_io_time * st_long_timeout_x;
usr/src/uts/common/io/scsi/targets/st.c
13814
un->un_dp->io_timeout = (ushort_t)st_io_time;
usr/src/uts/common/io/scsi/targets/st.c
13818
if (un->un_dp->rewind_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13819
if (un->un_dp->options & ST_LONG_TIMEOUTS) {
usr/src/uts/common/io/scsi/targets/st.c
1382
if (un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
13820
un->un_dp->rewind_timeout =
usr/src/uts/common/io/scsi/targets/st.c
13823
un->un_dp->rewind_timeout = (ushort_t)st_space_time;
usr/src/uts/common/io/scsi/targets/st.c
13827
if (un->un_dp->space_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13828
if (un->un_dp->options & ST_LONG_TIMEOUTS) {
usr/src/uts/common/io/scsi/targets/st.c
13829
un->un_dp->space_timeout =
usr/src/uts/common/io/scsi/targets/st.c
1383
freerbuf(un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
13832
un->un_dp->space_timeout = (ushort_t)st_space_time;
usr/src/uts/common/io/scsi/targets/st.c
13836
if (un->un_dp->load_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13837
if (un->un_dp->options & ST_LONG_TIMEOUTS) {
usr/src/uts/common/io/scsi/targets/st.c
13838
un->un_dp->load_timeout =
usr/src/uts/common/io/scsi/targets/st.c
13841
un->un_dp->load_timeout = (ushort_t)st_space_time;
usr/src/uts/common/io/scsi/targets/st.c
13845
if (un->un_dp->unload_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13846
if (un->un_dp->options & ST_LONG_TIMEOUTS) {
usr/src/uts/common/io/scsi/targets/st.c
13847
un->un_dp->unload_timeout =
usr/src/uts/common/io/scsi/targets/st.c
1385
if (un->un_uscsi_rqs_buf) {
usr/src/uts/common/io/scsi/targets/st.c
13850
un->un_dp->unload_timeout = (ushort_t)st_space_time;
usr/src/uts/common/io/scsi/targets/st.c
13854
if (un->un_dp->erase_timeout == 0) {
usr/src/uts/common/io/scsi/targets/st.c
13855
if (un->un_dp->options & ST_LONG_ERASE) {
usr/src/uts/common/io/scsi/targets/st.c
13856
un->un_dp->erase_timeout =
usr/src/uts/common/io/scsi/targets/st.c
13859
un->un_dp->erase_timeout = (ushort_t)st_space_time;
usr/src/uts/common/io/scsi/targets/st.c
1386
kmem_free(un->un_uscsi_rqs_buf, SENSE_LENGTH);
usr/src/uts/common/io/scsi/targets/st.c
13866
st_is_not_wormable(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
13873
st_is_hp_dat_tape_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1388
if (un->un_mspl) {
usr/src/uts/common/io/scsi/targets/st.c
13880
if (un->un_mspl->media_type == 1) {
usr/src/uts/common/io/scsi/targets/st.c
1389
i_ddi_mem_free((caddr_t)un->un_mspl, NULL);
usr/src/uts/common/io/scsi/targets/st.c
13894
st_is_hp_dat_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
13904
result = st_get_special_inquiry(un, HP_DAT_INQUIRY, buf, 0);
usr/src/uts/common/io/scsi/targets/st.c
1391
if (un->un_rqs) {
usr/src/uts/common/io/scsi/targets/st.c
13914
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
13916
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
1392
scsi_destroy_pkt(un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
13920
un->un_wormable = st_is_hp_dat_tape_worm;
usr/src/uts/common/io/scsi/targets/st.c
13921
wrt = un->un_wormable(un);
usr/src/uts/common/io/scsi/targets/st.c
1393
scsi_free_consistent_buf(un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/st.c
13933
st_is_hp_lto_tape_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
13940
switch (un->un_mspl->media_type) {
usr/src/uts/common/io/scsi/targets/st.c
13942
switch (un->un_mspl->density) {
usr/src/uts/common/io/scsi/targets/st.c
1395
if (un->un_mkr_pkt) {
usr/src/uts/common/io/scsi/targets/st.c
1396
scsi_destroy_pkt(un->un_mkr_pkt);
usr/src/uts/common/io/scsi/targets/st.c
13962
un->un_mspl->density);
usr/src/uts/common/io/scsi/targets/st.c
13979
un->un_mspl->media_type);
usr/src/uts/common/io/scsi/targets/st.c
1398
if (un->un_arq_enabled) {
usr/src/uts/common/io/scsi/targets/st.c
13988
st_is_hp_lto_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
13998
result = st_get_special_inquiry(un, LTO_REQ_INQUIRY, buf, 0);
usr/src/uts/common/io/scsi/targets/st.c
14008
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
1401
if (un->un_dp_size) {
usr/src/uts/common/io/scsi/targets/st.c
14010
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14014
un->un_wormable = st_is_hp_lto_tape_worm;
usr/src/uts/common/io/scsi/targets/st.c
14015
wrt = un->un_wormable(un);
usr/src/uts/common/io/scsi/targets/st.c
1402
kmem_free(un->un_dp, un->un_dp_size);
usr/src/uts/common/io/scsi/targets/st.c
14027
st_is_t10_worm_device(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
14033
if (un->un_mspl->media_type == 0x3c) {
usr/src/uts/common/io/scsi/targets/st.c
1404
if (un->un_stats) {
usr/src/uts/common/io/scsi/targets/st.c
14047
st_is_t10_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1405
kstat_delete(un->un_stats);
usr/src/uts/common/io/scsi/targets/st.c
14057
result = st_get_special_inquiry(un, 6, buf, SEQ_CAP_PAGE);
usr/src/uts/common/io/scsi/targets/st.c
1406
un->un_stats = (kstat_t *)0;
usr/src/uts/common/io/scsi/targets/st.c
14069
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
14071
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14075
un->un_wormable = st_is_t10_worm_device;
usr/src/uts/common/io/scsi/targets/st.c
14076
wrt = un->un_wormable(un);
usr/src/uts/common/io/scsi/targets/st.c
1408
if (un->un_errstats) {
usr/src/uts/common/io/scsi/targets/st.c
14088
st_is_stk_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
1409
kstat_delete(un->un_errstats);
usr/src/uts/common/io/scsi/targets/st.c
1410
un->un_errstats = (kstat_t *)0;
usr/src/uts/common/io/scsi/targets/st.c
14104
cmd->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
14112
result = st_uscsi_cmd(un, cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
1412
if (un->un_media_id_len) {
usr/src/uts/common/io/scsi/targets/st.c
14123
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14128
un->un_wormable = st_is_stk_worm;
usr/src/uts/common/io/scsi/targets/st.c
1413
kmem_free(un->un_media_id, un->un_media_id_len);
usr/src/uts/common/io/scsi/targets/st.c
14133
un->un_wormable = st_is_stk_worm;
usr/src/uts/common/io/scsi/targets/st.c
14144
st_is_dlt_tape_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
14156
result = st_read_attributes(un, 0x0408, buf, 10, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
14163
if (result == EINVAL && un->un_max_cdb_sz < CDB_GROUP4) {
usr/src/uts/common/io/scsi/targets/st.c
14168
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14177
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
14197
st_is_dlt_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
14207
result = st_get_special_inquiry(un, DLT_INQ_SZ, buf, 0xC0);
usr/src/uts/common/io/scsi/targets/st.c
14220
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
14221
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14226
un->un_wormable = st_is_dlt_tape_worm;
usr/src/uts/common/io/scsi/targets/st.c
14227
wrt = un->un_wormable(un);
usr/src/uts/common/io/scsi/targets/st.c
14279
st_is_sony_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
14289
result = st_gen_mode_sense(un, st_uscsi_cmd, AIT_DEV_PAGE,
usr/src/uts/common/io/scsi/targets/st.c
14299
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14303
un->un_wormable = st_is_sony_worm;
usr/src/uts/common/io/scsi/targets/st.c
14322
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
14331
un->un_wormable = st_is_not_wormable;
usr/src/uts/common/io/scsi/targets/st.c
14339
st_is_drive_worm(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
14345
switch (un->un_dp->type) {
usr/src/uts/common/io/scsi/targets/st.c
14347
wrt = st_is_dlt_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14351
wrt = st_is_stk_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14356
wrt = st_is_sony_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14360
if (strncmp("HP ", un->un_dp->vid, 3) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
14361
wrt = st_is_hp_lto_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14363
wrt = st_is_t10_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14368
if (strncmp("HP ", un->un_dp->vid, 3) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
14369
wrt = st_is_hp_dat_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14371
wrt = st_is_t10_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14384
wrt = st_is_t10_worm(un);
usr/src/uts/common/io/scsi/targets/st.c
14394
un->un_dp->options &= ~ST_WORMABLE;
usr/src/uts/common/io/scsi/targets/st.c
14401
st_read_attributes(struct scsi_tape *un, uint16_t attribute, void *pnt,
usr/src/uts/common/io/scsi/targets/st.c
14413
if (un->un_sd->sd_inq->inq_ansi < 3) {
usr/src/uts/common/io/scsi/targets/st.c
14438
cmd->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
14446
result = bufunc(un, cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
14455
if (un->un_sd->sd_sense->es_key == KEY_ILLEGAL_REQUEST &&
usr/src/uts/common/io/scsi/targets/st.c
14456
un->un_sd->sd_sense->es_add_code == 0x20) {
usr/src/uts/common/io/scsi/targets/st.c
14483
st_get_special_inquiry(struct scsi_tape *un, uchar_t size, caddr_t dest,
usr/src/uts/common/io/scsi/targets/st.c
1449
if (un->un_dev == 0)
usr/src/uts/common/io/scsi/targets/st.c
1450
un->un_dev = MTMINOR(instance);
usr/src/uts/common/io/scsi/targets/st.c
14504
cmd->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
14512
result = st_uscsi_cmd(un, cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
14530
st_update_block_pos(struct scsi_tape *un, bufunc_t bf, int post_space)
usr/src/uts/common/io/scsi/targets/st.c
14533
uchar_t status = un->un_status;
usr/src/uts/common/io/scsi/targets/st.c
14534
posmode previous_pmode = un->un_running.pmode;
usr/src/uts/common/io/scsi/targets/st.c
14538
while (un->un_read_pos_type != NO_POS) {
usr/src/uts/common/io/scsi/targets/st.c
14539
rval = bf(un, SCMD_READ_POSITION, 32, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
14546
((rval = st_interpret_read_pos(un, &un->un_pos,
usr/src/uts/common/io/scsi/targets/st.c
14547
un->un_read_pos_type, 32, (caddr_t)un->un_read_pos_data,
usr/src/uts/common/io/scsi/targets/st.c
14556
rval = st_interpret_read_pos(un, &un->un_running,
usr/src/uts/common/io/scsi/targets/st.c
14557
un->un_read_pos_type, 32,
usr/src/uts/common/io/scsi/targets/st.c
14558
(caddr_t)un->un_read_pos_data, post_space);
usr/src/uts/common/io/scsi/targets/st.c
14559
un->un_status = status;
usr/src/uts/common/io/scsi/targets/st.c
14561
} else if (un->un_status == KEY_UNIT_ATTENTION) {
usr/src/uts/common/io/scsi/targets/st.c
14562
un->un_running.pmode = previous_pmode;
usr/src/uts/common/io/scsi/targets/st.c
14564
} else if (un->un_status != KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
14568
un->un_read_pos_type, rval, un->un_status);
usr/src/uts/common/io/scsi/targets/st.c
1457
if (un->un_pwr_mgmt == ST_PWR_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/st.c
14578
" returned %x", un->un_read_pos_type, rval);
usr/src/uts/common/io/scsi/targets/st.c
14579
un->un_running.pmode = previous_pmode;
usr/src/uts/common/io/scsi/targets/st.c
14582
switch (un->un_read_pos_type) {
usr/src/uts/common/io/scsi/targets/st.c
14584
un->un_read_pos_type = NO_POS;
usr/src/uts/common/io/scsi/targets/st.c
14588
un->un_read_pos_type = EXT_POS;
usr/src/uts/common/io/scsi/targets/st.c
14592
un->un_read_pos_type = SHORT_POS;
usr/src/uts/common/io/scsi/targets/st.c
14598
un->un_read_pos_type);
usr/src/uts/common/io/scsi/targets/st.c
14600
un->un_status = KEY_NO_SENSE;
usr/src/uts/common/io/scsi/targets/st.c
14607
st_get_read_pos(struct scsi_tape *un, buf_t *bp)
usr/src/uts/common/io/scsi/targets/st.c
1461
if (un->un_state != ST_STATE_CLOSED) {
usr/src/uts/common/io/scsi/targets/st.c
14654
result = st_interpret_read_pos(un, &un->un_pos, cmd->uscsi_cdb[1],
usr/src/uts/common/io/scsi/targets/st.c
14657
COPY_POS(&un->un_running, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
14729
st_interpret_read_pos(struct scsi_tape const *un, tapepos_t *dest,
usr/src/uts/common/io/scsi/targets/st.c
14742
if ((dest != &un->un_pos) && (post_space == 0) &&
usr/src/uts/common/io/scsi/targets/st.c
1478
while (un->un_ncmds || un->un_quef ||
usr/src/uts/common/io/scsi/targets/st.c
1479
(un->un_state == ST_STATE_RESOURCE_WAIT)) {
usr/src/uts/common/io/scsi/targets/st.c
1481
if (cv_timedwait(&un->un_tape_busy_cv, ST_MUTEX,
usr/src/uts/common/io/scsi/targets/st.c
1486
if (st_reset(un, RESET_LUN) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
1487
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
1488
un->un_throttle =
usr/src/uts/common/io/scsi/targets/st.c
1489
un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
1505
(void) st_update_block_pos(un, st_cmd, 0);
usr/src/uts/common/io/scsi/targets/st.c
1506
COPY_POS(&un->un_suspend_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
15107
st_logical_block_locate(struct scsi_tape *un, ubufunc_t ubf, tapepos_t *pos,
usr/src/uts/common/io/scsi/targets/st.c
1513
(void) st_cmd(un, SCMD_WRITE_FILE_MARK, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15141
if (un->un_read_pos_type != LONG_POS) {
usr/src/uts/common/io/scsi/targets/st.c
15168
cmd->uscsi_timeout = un->un_dp->space_timeout;
usr/src/uts/common/io/scsi/targets/st.c
15171
rval = ubf(un, cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
15183
if (un->un_status == KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
15187
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
15189
} else if ((un->un_pos.pmode == invalid) || (rval != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
15194
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
15196
} else if (st_update_block_pos(un, bf, 1)) {
usr/src/uts/common/io/scsi/targets/st.c
15201
} else if (lblk > un->un_pos.lgclblkno) {
usr/src/uts/common/io/scsi/targets/st.c
15205
PRIx64"\n", un->un_pos.lgclblkno);
usr/src/uts/common/io/scsi/targets/st.c
15206
un->un_err_resid = lblk - un->un_pos.lgclblkno;
usr/src/uts/common/io/scsi/targets/st.c
15207
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
15209
} else if (lblk == un->un_pos.lgclblkno) {
usr/src/uts/common/io/scsi/targets/st.c
15213
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15218
un->un_err_resid = lblk;
usr/src/uts/common/io/scsi/targets/st.c
1522
(void) st_cmd(un, SCMD_REWIND, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15230
un->un_err_resid = cmd->uscsi_resid;
usr/src/uts/common/io/scsi/targets/st.c
15231
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
15234
} else if (st_update_block_pos(un, bf, 1) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15236
un->un_err_resid = lblk - pos->lgclblkno;
usr/src/uts/common/io/scsi/targets/st.c
15237
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
15244
un->un_err_resid = lblk;
usr/src/uts/common/io/scsi/targets/st.c
15245
un->un_status = KEY_ILLEGAL_REQUEST;
usr/src/uts/common/io/scsi/targets/st.c
1525
un->un_pwr_mgmt = ST_PWR_SUSPENDED;
usr/src/uts/common/io/scsi/targets/st.c
15256
st_mtfsf_ioctl(struct scsi_tape *un, int64_t files)
usr/src/uts/common/io/scsi/targets/st.c
1526
un->un_throttle = 0;
usr/src/uts/common/io/scsi/targets/st.c
15264
"st_mtfsf_ioctl: count=%"PRIx64", eof=%x\n", files, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15266
if ((IN_EOF(un->un_pos)) && (files == 1)) {
usr/src/uts/common/io/scsi/targets/st.c
15267
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
15268
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
15273
if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
15282
if ((un->un_pos.eof >= ST_EOT) &&
usr/src/uts/common/io/scsi/targets/st.c
15284
((un->un_dp->options & ST_REEL) == 0)) {
usr/src/uts/common/io/scsi/targets/st.c
15286
un->un_err_resid = files;
usr/src/uts/common/io/scsi/targets/st.c
15287
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
15297
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
15298
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
15299
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
1531
if (un->un_delay_tid) {
usr/src/uts/common/io/scsi/targets/st.c
15310
if (st_check_density_or_wfm(un->un_dev, 1, B_READ, STEPBACK)) {
usr/src/uts/common/io/scsi/targets/st.c
1532
timeout_id_t temp_id = un->un_delay_tid;
usr/src/uts/common/io/scsi/targets/st.c
15323
rval = st_backward_space_files(un, -files, 0);
usr/src/uts/common/io/scsi/targets/st.c
15325
rval = st_forward_space_files(un, files);
usr/src/uts/common/io/scsi/targets/st.c
1533
un->un_delay_tid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15332
st_forward_space_files(struct scsi_tape *un, int64_t count)
usr/src/uts/common/io/scsi/targets/st.c
15339
"fspace: count=%"PRIx64", eof=%x\n", count, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
1534
un->un_tids_at_suspend |= ST_DELAY_TID;
usr/src/uts/common/io/scsi/targets/st.c
15342
ASSERT(un->un_pos.pmode != invalid);
usr/src/uts/common/io/scsi/targets/st.c
15350
if (un->un_pos.pmode == legacy && un->un_pos.blkno == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15351
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15352
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
15360
if (un->un_pos.pmode == legacy && un->un_pos.fileno == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15361
rval = st_cmd(un, SCMD_REWIND, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15367
} else if (un->un_dp->options & ST_BSF) {
usr/src/uts/common/io/scsi/targets/st.c
15368
rval = st_space_to_begining_of_file(un);
usr/src/uts/common/io/scsi/targets/st.c
15374
} else if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
15375
rval = st_scenic_route_to_begining_of_file(un,
usr/src/uts/common/io/scsi/targets/st.c
15376
un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
15383
} else if (un->un_read_pos_type == LONG_POS) {
usr/src/uts/common/io/scsi/targets/st.c
15384
rval = st_cmd(un, SCMD_READ_POSITION, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15392
rval = st_space_to_begining_of_file(un);
usr/src/uts/common/io/scsi/targets/st.c
15394
rval = st_interpret_read_pos(un, &un->un_pos, LONG_POS,
usr/src/uts/common/io/scsi/targets/st.c
15395
32, (caddr_t)un->un_read_pos_data, 0);
usr/src/uts/common/io/scsi/targets/st.c
15396
if ((rval) && (un->un_pos.pmode == invalid)) {
usr/src/uts/common/io/scsi/targets/st.c
15397
rval = st_space_to_begining_of_file(un);
usr/src/uts/common/io/scsi/targets/st.c
15399
rval = st_scenic_route_to_begining_of_file(un,
usr/src/uts/common/io/scsi/targets/st.c
1540
if (un->un_hib_tid) {
usr/src/uts/common/io/scsi/targets/st.c
15400
un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
15409
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1541
timeout_id_t temp_id = un->un_hib_tid;
usr/src/uts/common/io/scsi/targets/st.c
15417
rval = st_space_fmks(un, count);
usr/src/uts/common/io/scsi/targets/st.c
1542
un->un_hib_tid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15425
rval = st_backward_space_files(un, 1, 1);
usr/src/uts/common/io/scsi/targets/st.c
1543
un->un_tids_at_suspend |= ST_HIB_TID;
usr/src/uts/common/io/scsi/targets/st.c
15432
st_scenic_route_to_begining_of_file(struct scsi_tape *un, int32_t fileno)
usr/src/uts/common/io/scsi/targets/st.c
15438
if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15440
} else if (st_cmd(un, SCMD_SPACE, Fmk(fileno), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15448
st_space_to_begining_of_file(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
15457
rval = st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15466
if (un->un_status == SUN_KEY_BOT) {
usr/src/uts/common/io/scsi/targets/st.c
15470
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
15476
rval = st_cmd(un, SCMD_SPACE, Fmk(1), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15485
st_mtfsr_ioctl(struct scsi_tape *un, int64_t count)
usr/src/uts/common/io/scsi/targets/st.c
15496
"st_ioctl_fsr: count=%"PRIx64", eof=%x\n", count, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15498
if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
15503
if ((un->un_pos.eof >= ST_EOT) && (count > 0)) {
usr/src/uts/common/io/scsi/targets/st.c
15505
un->un_err_resid = count;
usr/src/uts/common/io/scsi/targets/st.c
15506
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
15516
un->un_err_pos.fileno = un->un_pos.fileno;
usr/src/uts/common/io/scsi/targets/st.c
15517
un->un_err_pos.blkno = un->un_pos.blkno;
usr/src/uts/common/io/scsi/targets/st.c
15518
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15519
if (IN_EOF(un->un_pos) && SVR4_BEHAVIOR) {
usr/src/uts/common/io/scsi/targets/st.c
1552
if (un->un_swr_token) {
usr/src/uts/common/io/scsi/targets/st.c
15520
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
15529
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
1553
opaque_t temp_token = un->un_swr_token;
usr/src/uts/common/io/scsi/targets/st.c
15530
daddr_t blkno = un->un_pos.blkno;
usr/src/uts/common/io/scsi/targets/st.c
15531
int fileno = un->un_pos.fileno;
usr/src/uts/common/io/scsi/targets/st.c
15533
optype lastop = un->un_lastop;
usr/src/uts/common/io/scsi/targets/st.c
15534
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD)
usr/src/uts/common/io/scsi/targets/st.c
15541
un->un_pos.blkno = blkno;
usr/src/uts/common/io/scsi/targets/st.c
15542
un->un_pos.fileno = fileno;
usr/src/uts/common/io/scsi/targets/st.c
15543
un->un_lastop = lastop;
usr/src/uts/common/io/scsi/targets/st.c
15547
if (st_check_density_or_wfm(un->un_dev, 1, B_READ, STEPBACK)) {
usr/src/uts/common/io/scsi/targets/st.c
15553
return (st_space_records(un, count));
usr/src/uts/common/io/scsi/targets/st.c
15557
st_space_records(struct scsi_tape *un, int64_t count)
usr/src/uts/common/io/scsi/targets/st.c
15566
count, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15568
if (un->un_pos.pmode == logical) {
usr/src/uts/common/io/scsi/targets/st.c
15569
rval = st_cmd(un, SCMD_SPACE, Blk(count), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
15576
dblk = count + un->un_pos.blkno;
usr/src/uts/common/io/scsi/targets/st.c
15579
if (dblk == un->un_pos.blkno) {
usr/src/uts/common/io/scsi/targets/st.c
15580
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15581
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
15589
if (un->un_pos.blkno < dblk || (un->un_dp->options & ST_BSR)) {
usr/src/uts/common/io/scsi/targets/st.c
15595
dblk -= un->un_pos.blkno;
usr/src/uts/common/io/scsi/targets/st.c
15596
if (st_cmd(un, SCMD_SPACE, Blk(dblk), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15600
} else if (un->un_pos.eof >= ST_EOF_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
15604
if (dblk < 0 && un->un_pos.eof == ST_EOM) {
usr/src/uts/common/io/scsi/targets/st.c
15605
un->un_status = SUN_KEY_BOT;
usr/src/uts/common/io/scsi/targets/st.c
15606
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
15608
un->un_pos.eof == ST_EOF_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
15609
int residue = un->un_err_resid;
usr/src/uts/common/io/scsi/targets/st.c
15614
if (st_cmd(un, SCMD_SPACE, Fmk(1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15620
un->un_err_resid = residue;
usr/src/uts/common/io/scsi/targets/st.c
15636
int dfile = un->un_pos.fileno; /* save current file */
usr/src/uts/common/io/scsi/targets/st.c
15642
if (un->un_pos.blkno != 0 &&
usr/src/uts/common/io/scsi/targets/st.c
15643
(st_cmd(un, SCMD_REWIND, 0, SYNC_CMD) ||
usr/src/uts/common/io/scsi/targets/st.c
15644
st_cmd(un, SCMD_SPACE, Fmk(dfile), SYNC_CMD))) {
usr/src/uts/common/io/scsi/targets/st.c
15645
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
15647
un->un_err_resid = -dblk;
usr/src/uts/common/io/scsi/targets/st.c
15648
if (un->un_pos.fileno == 0 && un->un_pos.blkno == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15649
un->un_status = SUN_KEY_BOT;
usr/src/uts/common/io/scsi/targets/st.c
15650
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
15651
} else if (un->un_pos.fileno > 0) {
usr/src/uts/common/io/scsi/targets/st.c
15652
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
15653
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
15655
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
15659
} else if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD) ||
usr/src/uts/common/io/scsi/targets/st.c
15660
st_cmd(un, SCMD_SPACE, Fmk(dfile), SYNC_CMD) ||
usr/src/uts/common/io/scsi/targets/st.c
15661
st_cmd(un, SCMD_SPACE, Blk(dblk), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15665
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
15674
st_mtbsf_ioctl(struct scsi_tape *un, int64_t files)
usr/src/uts/common/io/scsi/targets/st.c
15679
"st_mtbsf_ioctl: count=%"PRIx64", eof=%x\n", files, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15685
if ((un->un_dp->options & ST_BSF) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15689
if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
15697
if (un->un_pos.eof >= ST_EOT && files < 0) {
usr/src/uts/common/io/scsi/targets/st.c
15698
un->un_err_resid = files;
usr/src/uts/common/io/scsi/targets/st.c
15699
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
15708
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
15709
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
15710
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
15719
if (st_check_density_or_wfm(un->un_dev, 1, 0, STEPBACK)) {
usr/src/uts/common/io/scsi/targets/st.c
15731
return (st_forward_space_files(un, files));
usr/src/uts/common/io/scsi/targets/st.c
15733
return (st_backward_space_files(un, files, 1));
usr/src/uts/common/io/scsi/targets/st.c
15737
st_backward_space_files(struct scsi_tape *un, int64_t count, int infront)
usr/src/uts/common/io/scsi/targets/st.c
1574
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
15747
count, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15771
if (un->un_pos.pmode == logical) {
usr/src/uts/common/io/scsi/targets/st.c
15776
un->un_pos.lgclblkno);
usr/src/uts/common/io/scsi/targets/st.c
15780
if ((un->un_dp->options & ST_BSF) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15785
(st_cmd(un, SCMD_SPACE, Fmk(-count), SYNC_CMD))) {
usr/src/uts/common/io/scsi/targets/st.c
15789
(st_cmd(un, SCMD_SPACE, Fmk((-count)-1), SYNC_CMD)) &&
usr/src/uts/common/io/scsi/targets/st.c
15790
(st_cmd(un, SCMD_SPACE, Fmk(1), SYNC_CMD))) {
usr/src/uts/common/io/scsi/targets/st.c
15800
infront?MTBSF:MTNBSF, count, un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
15818
end_fileno = un->un_pos.fileno - count;
usr/src/uts/common/io/scsi/targets/st.c
15826
if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
1583
if ((un = ddi_get_soft_state(st_state, instance)) == NULL)
usr/src/uts/common/io/scsi/targets/st.c
15837
un->un_err_resid = -end_fileno;
usr/src/uts/common/io/scsi/targets/st.c
15838
un->un_status = SUN_KEY_BOT;
usr/src/uts/common/io/scsi/targets/st.c
15843
if (un->un_dp->options & ST_BSF) {
usr/src/uts/common/io/scsi/targets/st.c
15854
if (st_cmd(un, SCMD_SPACE, Fmk(end_fileno), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15860
if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15874
if (st_cmd(un, SCMD_SPACE, Fmk(skip_cnt), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
15885
if ((un->un_dp->options & ST_BSF) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
15886
un->un_pos.eof = ST_EOF_PENDING;
usr/src/uts/common/io/scsi/targets/st.c
15887
un->un_pos.fileno -= 1;
usr/src/uts/common/io/scsi/targets/st.c
15888
un->un_pos.blkno = LASTBLK;
usr/src/uts/common/io/scsi/targets/st.c
15889
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
15895
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
15902
st_mtnbsf_ioctl(struct scsi_tape *un, int64_t count)
usr/src/uts/common/io/scsi/targets/st.c
15909
"nbsf: count=%"PRIx64", eof=%x\n", count, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15911
if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
15920
if (un->un_pos.eof >= ST_EOT && count < 0) {
usr/src/uts/common/io/scsi/targets/st.c
15921
un->un_err_resid = count;
usr/src/uts/common/io/scsi/targets/st.c
15922
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
15931
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
15932
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
15933
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
15938
if (st_check_density_or_wfm(un->un_dev, 1, 0, STEPBACK)) {
usr/src/uts/common/io/scsi/targets/st.c
15945
"mtnbsf: count=%"PRIx64", eof=%x\n", count, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15948
rval = st_forward_space_files(un, -count);
usr/src/uts/common/io/scsi/targets/st.c
15950
rval = st_backward_space_files(un, count, 0);
usr/src/uts/common/io/scsi/targets/st.c
15956
st_mtbsr_ioctl(struct scsi_tape *un, int64_t num)
usr/src/uts/common/io/scsi/targets/st.c
15961
"bsr: count=%"PRIx64", eof=%x\n", num, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
15963
if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
15971
if (un->un_pos.eof >= ST_EOT && num < 0) {
usr/src/uts/common/io/scsi/targets/st.c
15972
un->un_err_resid = num;
usr/src/uts/common/io/scsi/targets/st.c
15973
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
15980
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
15981
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
15982
if (IN_EOF(un->un_pos) && SVR4_BEHAVIOR) {
usr/src/uts/common/io/scsi/targets/st.c
15983
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
15997
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
15999
optype lastop = un->un_lastop;
usr/src/uts/common/io/scsi/targets/st.c
16001
COPY_POS(&save, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
16002
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD) == -1) {
usr/src/uts/common/io/scsi/targets/st.c
16008
COPY_POS(&un->un_pos, &save);
usr/src/uts/common/io/scsi/targets/st.c
16009
un->un_lastop = lastop;
usr/src/uts/common/io/scsi/targets/st.c
16013
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
16015
if (st_check_density_or_wfm(un->un_dev, 1, 0, STEPBACK)) {
usr/src/uts/common/io/scsi/targets/st.c
16022
return (st_space_records(un, num));
usr/src/uts/common/io/scsi/targets/st.c
16026
st_mtfsfm_ioctl(struct scsi_tape *un, int64_t cnt)
usr/src/uts/common/io/scsi/targets/st.c
1603
struct scsi_tape *un = NULL;
usr/src/uts/common/io/scsi/targets/st.c
16032
rval = st_cmd(un, SCMD_SPACE, SPACE(SP_SQFLM, cnt), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
16034
un->un_pos.pmode = logical;
usr/src/uts/common/io/scsi/targets/st.c
16035
} else if ((un->un_status == KEY_ILLEGAL_REQUEST) &&
usr/src/uts/common/io/scsi/targets/st.c
16036
(un->un_sd->sd_sense->es_add_code == 0x24)) {
usr/src/uts/common/io/scsi/targets/st.c
16041
un->un_err_resid = cnt;
usr/src/uts/common/io/scsi/targets/st.c
16042
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
16045
un->un_err_resid = cnt;
usr/src/uts/common/io/scsi/targets/st.c
16046
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
16052
st_mtbsfm_ioctl(struct scsi_tape *un, int64_t cnt)
usr/src/uts/common/io/scsi/targets/st.c
16058
rval = st_cmd(un, SCMD_SPACE, SPACE(SP_SQFLM, -cnt), SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
16060
un->un_pos.pmode = logical;
usr/src/uts/common/io/scsi/targets/st.c
16061
} else if ((un->un_status == KEY_ILLEGAL_REQUEST) &&
usr/src/uts/common/io/scsi/targets/st.c
16062
(un->un_sd->sd_sense->es_add_code == 0x24)) {
usr/src/uts/common/io/scsi/targets/st.c
16067
un->un_err_resid = cnt;
usr/src/uts/common/io/scsi/targets/st.c
16068
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
16071
un->un_err_resid = cnt;
usr/src/uts/common/io/scsi/targets/st.c
16072
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
16083
st_release_contig_mem(struct scsi_tape *un, struct contig_mem *cp)
usr/src/uts/common/io/scsi/targets/st.c
16089
cp->cm_next = un->un_contig_mem;
usr/src/uts/common/io/scsi/targets/st.c
16090
un->un_contig_mem = cp;
usr/src/uts/common/io/scsi/targets/st.c
16091
un->un_contig_mem_available_num++;
usr/src/uts/common/io/scsi/targets/st.c
16092
cv_broadcast(&un->un_contig_mem_cv);
usr/src/uts/common/io/scsi/targets/st.c
16105
st_get_contig_mem(struct scsi_tape *un, size_t len, int alloc_flags)
usr/src/uts/common/io/scsi/targets/st.c
16120
if (un->un_contig_mem_available_num > 0) {
usr/src/uts/common/io/scsi/targets/st.c
16121
ST_GET_CONTIG_MEM_HEAD(un, cp, len, big_enough);
usr/src/uts/common/io/scsi/targets/st.c
16122
} else if (un->un_contig_mem_total_num < st_max_contig_mem_num) {
usr/src/uts/common/io/scsi/targets/st.c
16140
un->un_contig_mem_total_num++; /* one more available */
usr/src/uts/common/io/scsi/targets/st.c
16147
while (un->un_contig_mem_available_num <= 0) {
usr/src/uts/common/io/scsi/targets/st.c
16148
cv_wait(&un->un_contig_mem_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
16150
ST_GET_CONTIG_MEM_HEAD(un, cp, len, big_enough);
usr/src/uts/common/io/scsi/targets/st.c
16163
if (ddi_dma_mem_alloc(un->un_contig_mem_hdl, len, &st_acc_attr,
usr/src/uts/common/io/scsi/targets/st.c
16168
st_release_contig_mem(un, cp);
usr/src/uts/common/io/scsi/targets/st.c
16176
un->un_max_contig_mem_len =
usr/src/uts/common/io/scsi/targets/st.c
16177
un->un_max_contig_mem_len >= len ?
usr/src/uts/common/io/scsi/targets/st.c
16178
un->un_max_contig_mem_len : len;
usr/src/uts/common/io/scsi/targets/st.c
16195
if ((un->un_max_contig_mem_len < len) ||
usr/src/uts/common/io/scsi/targets/st.c
16208
cv_wait(&un->un_contig_mem_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
16209
ST_GET_CONTIG_MEM_HEAD(un, cp, len, big_enough);
usr/src/uts/common/io/scsi/targets/st.c
16233
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
16240
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
16241
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
16254
ASSERT(un->un_sbuf_busy);
usr/src/uts/common/io/scsi/targets/st.c
16256
un->un_sbufp = orig_bp;
usr/src/uts/common/io/scsi/targets/st.c
16270
st_release_contig_mem(un, cp);
usr/src/uts/common/io/scsi/targets/st.c
16285
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
16288
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
16289
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
16296
cp = st_get_contig_mem(un, bp->b_bcount, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
16307
if (bp == un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
16309
ASSERT(un->un_sbuf_busy);
usr/src/uts/common/io/scsi/targets/st.c
16311
un->un_sbufp = cont_bp;
usr/src/uts/common/io/scsi/targets/st.c
16391
st_check_if_media_changed(struct scsi_tape *un, caddr_t data, int size)
usr/src/uts/common/io/scsi/targets/st.c
16422
if (un->un_media_id_len == 0) {
usr/src/uts/common/io/scsi/targets/st.c
16423
un->un_media_id = kmem_zalloc(size, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
16424
un->un_media_id_len = size;
usr/src/uts/common/io/scsi/targets/st.c
16425
(void) strncpy(un->un_media_id, data, min(size, strlen(data)));
usr/src/uts/common/io/scsi/targets/st.c
16426
un->un_media_id[min(size, strlen(data))] = 0;
usr/src/uts/common/io/scsi/targets/st.c
16428
"Found Media Id %s length = %d\n", un->un_media_id, size);
usr/src/uts/common/io/scsi/targets/st.c
16429
} else if (size > un->un_media_id_len) {
usr/src/uts/common/io/scsi/targets/st.c
16430
if (strncmp(un->un_media_id, data, size) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
16435
un->un_media_id, data);
usr/src/uts/common/io/scsi/targets/st.c
16436
kmem_free(un->un_media_id, un->un_media_id_len);
usr/src/uts/common/io/scsi/targets/st.c
16437
un->un_media_id = kmem_zalloc(size, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
16438
un->un_media_id_len = size;
usr/src/uts/common/io/scsi/targets/st.c
16439
(void) strncpy(un->un_media_id, data, size);
usr/src/uts/common/io/scsi/targets/st.c
16440
un->un_media_id[size] = 0;
usr/src/uts/common/io/scsi/targets/st.c
16441
} else if (strncmp(data, un->un_media_id,
usr/src/uts/common/io/scsi/targets/st.c
16442
min(size, un->un_media_id_len)) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
16445
un->un_media_id, un->un_media_id_len, data, size);
usr/src/uts/common/io/scsi/targets/st.c
16446
bzero(un->un_media_id, un->un_media_id_len);
usr/src/uts/common/io/scsi/targets/st.c
16447
(void) strncpy(un->un_media_id, data, min(size, strlen(data)));
usr/src/uts/common/io/scsi/targets/st.c
16448
un->un_media_id[min(size, strlen(data))] = 0;
usr/src/uts/common/io/scsi/targets/st.c
16452
"Media Id still %s\n", un->un_media_id);
usr/src/uts/common/io/scsi/targets/st.c
16455
ASSERT(strlen(un->un_media_id) <= size);
usr/src/uts/common/io/scsi/targets/st.c
16487
st_handle_hex_media_id(struct scsi_tape *un, void *pnt, int size)
usr/src/uts/common/io/scsi/targets/st.c
16508
result = st_check_if_media_changed(un, buf, newsize);
usr/src/uts/common/io/scsi/targets/st.c
16517
st_get_media_id_via_read_attribute(struct scsi_tape *un, ubufunc_t bufunc)
usr/src/uts/common/io/scsi/targets/st.c
16525
size = sizeof (attribute_header) + max(un->un_media_id_len, ID_SIZE);
usr/src/uts/common/io/scsi/targets/st.c
16528
result = st_read_attributes(un, 0x0401, buffer, size, bufunc);
usr/src/uts/common/io/scsi/targets/st.c
1654
un = ddi_get_soft_state(st_state, instance);
usr/src/uts/common/io/scsi/targets/st.c
16544
un->un_media_id_method = st_get_media_id_via_read_attribute;
usr/src/uts/common/io/scsi/targets/st.c
16547
st_handle_hex_media_id(un, buffer->data, newsize);
usr/src/uts/common/io/scsi/targets/st.c
16549
result = st_check_if_media_changed(un, buffer->data,
usr/src/uts/common/io/scsi/targets/st.c
16552
} else if (result == EINVAL && un->un_max_cdb_sz < CDB_GROUP4) {
usr/src/uts/common/io/scsi/targets/st.c
1656
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
16560
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
16567
st_get_media_id_via_media_serial_cmd(struct scsi_tape *un, ubufunc_t bufunc)
usr/src/uts/common/io/scsi/targets/st.c
16573
int size = max(un->un_media_id_len, ID_SIZE);
usr/src/uts/common/io/scsi/targets/st.c
16578
if (un->un_sd->sd_inq->inq_ansi < 3) {
usr/src/uts/common/io/scsi/targets/st.c
1658
un->un_rqs_bp = scsi_alloc_consistent_buf(&devp->sd_address, NULL,
usr/src/uts/common/io/scsi/targets/st.c
1660
if (un->un_rqs_bp == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
16600
ucmd->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
16608
rval = bufunc(un, ucmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
16624
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
1663
un->un_rqs = scsi_init_pkt(&devp->sd_address, NULL, un->un_rqs_bp,
usr/src/uts/common/io/scsi/targets/st.c
1665
if (!un->un_rqs) {
usr/src/uts/common/io/scsi/targets/st.c
16653
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
16660
un->un_media_id_method =
usr/src/uts/common/io/scsi/targets/st.c
16663
st_check_if_media_changed(un, &buf[4], act_size);
usr/src/uts/common/io/scsi/targets/st.c
16676
st_bogus_media_id(struct scsi_tape *un, ubufunc_t bufunc)
usr/src/uts/common/io/scsi/targets/st.c
1668
ASSERT(un->un_rqs->pkt_resid == 0);
usr/src/uts/common/io/scsi/targets/st.c
16680
ASSERT(un->un_media_id == NULL || un->un_media_id == bogusID);
usr/src/uts/common/io/scsi/targets/st.c
16681
ASSERT(un->un_media_id_len == 0);
usr/src/uts/common/io/scsi/targets/st.c
16682
un->un_media_id = (char *)bogusID;
usr/src/uts/common/io/scsi/targets/st.c
16683
un->un_media_id_len = 0;
usr/src/uts/common/io/scsi/targets/st.c
16696
st_get_media_identification(struct scsi_tape *un, ubufunc_t bufunc)
usr/src/uts/common/io/scsi/targets/st.c
1670
(struct scsi_extended_sense *)un->un_rqs_bp->b_un.b_addr;
usr/src/uts/common/io/scsi/targets/st.c
16709
un->un_media_id_method = media_chk_functions[i];
usr/src/uts/common/io/scsi/targets/st.c
1671
ASSERT(geterror(un->un_rqs_bp) == 0);
usr/src/uts/common/io/scsi/targets/st.c
16710
} else if (un->un_media_id_method != media_chk_functions[i] &&
usr/src/uts/common/io/scsi/targets/st.c
16711
un->un_media_id_method != st_get_media_identification) {
usr/src/uts/common/io/scsi/targets/st.c
16714
result = media_chk_functions[i](un, bufunc);
usr/src/uts/common/io/scsi/targets/st.c
16728
st_command_recovery(struct scsi_tape *un, struct scsi_pkt *pkt,
usr/src/uts/common/io/scsi/targets/st.c
1673
(void) scsi_setup_cdb((union scsi_cdb *)un->un_rqs->pkt_cdbp,
usr/src/uts/common/io/scsi/targets/st.c
16738
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
16740
ASSERT(un->un_recov_buf_busy == 0);
usr/src/uts/common/io/scsi/targets/st.c
16745
if (un->un_rsvd_status & ST_INITIATED_RESET &&
usr/src/uts/common/io/scsi/targets/st.c
1675
FILL_SCSI1_LUN(devp, un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
1676
un->un_rqs->pkt_flags |= (FLAG_SENSING | FLAG_HEAD | FLAG_NODISCON);
usr/src/uts/common/io/scsi/targets/st.c
1677
un->un_rqs->pkt_time = st_io_time;
usr/src/uts/common/io/scsi/targets/st.c
16776
ret = ddi_taskq_dispatch(un->un_recov_taskq, st_recover, errinfo,
usr/src/uts/common/io/scsi/targets/st.c
1678
un->un_rqs->pkt_comp = st_intr;
usr/src/uts/common/io/scsi/targets/st.c
16788
st_recov_ret(struct scsi_tape *un, st_err_info *errinfo, errstate err)
usr/src/uts/common/io/scsi/targets/st.c
1679
ri = (recov_info *)un->un_rqs->pkt_private;
usr/src/uts/common/io/scsi/targets/st.c
16796
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
16798
_NOTE(LOCK_RELEASED_AS_SIDE_EFFECT(&un->un_sd->sd_mutex))
usr/src/uts/common/io/scsi/targets/st.c
16806
mutex_exit(&un->un_sd->sd_mutex);
usr/src/uts/common/io/scsi/targets/st.c
16820
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
16821
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
16825
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
16827
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
16833
st_done_and_mutex_exit(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
16842
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
16854
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
16856
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
1686
un->un_sbufp = getrbuf(km_flags);
usr/src/uts/common/io/scsi/targets/st.c
1687
un->un_recov_buf = getrbuf(km_flags);
usr/src/uts/common/io/scsi/targets/st.c
16872
rval = st_test_path_to_device(un);
usr/src/uts/common/io/scsi/targets/st.c
16882
rval = st_rcmd(un, SCMD_WRITE_FILE_MARK, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
16886
st_recov_ret(un, errinfo, COMMAND_DONE_ERROR);
usr/src/uts/common/io/scsi/targets/st.c
1689
un->un_uscsi_rqs_buf = kmem_alloc(SENSE_LENGTH, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
16900
st_recov_ret(un, errinfo, COMMAND_DONE_ERROR);
usr/src/uts/common/io/scsi/targets/st.c
16907
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
16915
st_recov_ret(un, errinfo, COMMAND_DONE_ERROR);
usr/src/uts/common/io/scsi/targets/st.c
16925
if ((un->un_rsvd_status & ST_RESERVE | ST_PRESERVE_RESERVE) &&
usr/src/uts/common/io/scsi/targets/st.c
16930
st_recov_ret(un, errinfo, COMMAND_DONE_EACCES);
usr/src/uts/common/io/scsi/targets/st.c
16937
if ((((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
16941
rval = st_reserve_release(un, ST_RESERVE,
usr/src/uts/common/io/scsi/targets/st.c
16944
if (st_take_ownership(un, st_uscsi_rcmd) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
16945
st_recov_ret(un, errinfo,
usr/src/uts/common/io/scsi/targets/st.c
16950
un->un_rsvd_status |= ST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
16951
un->un_rsvd_status &= ~(ST_RELEASE | ST_LOST_RESERVE |
usr/src/uts/common/io/scsi/targets/st.c
16954
rval = st_make_sure_mode_data_is_correct(un, st_uscsi_rcmd);
usr/src/uts/common/io/scsi/targets/st.c
16956
st_recov_ret(un, errinfo, COMMAND_DONE_ERROR);
usr/src/uts/common/io/scsi/targets/st.c
1697
NULL, (caddr_t *)&un->un_mspl, &rlen, NULL);
usr/src/uts/common/io/scsi/targets/st.c
16971
rval = st_make_sure_mode_data_is_correct(un,
usr/src/uts/common/io/scsi/targets/st.c
16974
st_recov_ret(un, errinfo, COMMAND_DONE_ERROR);
usr/src/uts/common/io/scsi/targets/st.c
16982
if (un->un_media_id != NULL && un->un_media_id != bogusID) {
usr/src/uts/common/io/scsi/targets/st.c
16983
rval = st_get_media_identification(un, st_uscsi_rcmd);
usr/src/uts/common/io/scsi/targets/st.c
16985
st_recov_ret(un, errinfo, COMMAND_DONE_EACCES);
usr/src/uts/common/io/scsi/targets/st.c
17009
if (rcv->cmd_attrib->retriable || un->un_rqs_bp == bp) {
usr/src/uts/common/io/scsi/targets/st.c
1701
NULL, (caddr_t *)&un->un_read_pos_data, &rlen, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17010
status = st_recover_reissue_pkt(un, &errinfo->ei_failed_pkt);
usr/src/uts/common/io/scsi/targets/st.c
17015
} else if (un->un_read_pos_type == NO_POS) {
usr/src/uts/common/io/scsi/targets/st.c
17029
rval = st_compare_expected_position(un, errinfo,
usr/src/uts/common/io/scsi/targets/st.c
1703
if (!un->un_sbufp || !un->un_mspl || !un->un_read_pos_data) {
usr/src/uts/common/io/scsi/targets/st.c
17034
status = st_recover_reissue_pkt(un,
usr/src/uts/common/io/scsi/targets/st.c
17043
st_recov_ret(un, errinfo, status);
usr/src/uts/common/io/scsi/targets/st.c
17049
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
17065
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
17066
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
17072
ASSERT(bp == un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
17077
if (un->un_arq_enabled && pkt->pkt_state & STATE_ARQ_DONE) {
usr/src/uts/common/io/scsi/targets/st.c
17078
action = st_handle_autosense(un, bp, &rcv->pos);
usr/src/uts/common/io/scsi/targets/st.c
17082
action = st_check_error(un, pkt);
usr/src/uts/common/io/scsi/targets/st.c
1709
bzero(un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
17094
if (un->un_multipath)
usr/src/uts/common/io/scsi/targets/st.c
17109
if (un->un_multipath) {
usr/src/uts/common/io/scsi/targets/st.c
1711
cv_init(&un->un_sbuf_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17111
(un->un_last_path_instance != pkt->pkt_path_instance)) {
usr/src/uts/common/io/scsi/targets/st.c
17112
if (un->un_state > ST_STATE_OPENING) {
usr/src/uts/common/io/scsi/targets/st.c
17117
un->un_last_path_instance = pkt->pkt_path_instance;
usr/src/uts/common/io/scsi/targets/st.c
1712
cv_init(&un->un_queue_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
1713
cv_init(&un->un_clscv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
1714
cv_init(&un->un_state_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
1716
cv_init(&un->un_contig_mem_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17160
if (un->un_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
17161
un->un_last_throttle = un->un_throttle;
usr/src/uts/common/io/scsi/targets/st.c
17164
if (st_handle_intr_busy(un, bp, timout) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
17168
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
17169
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
17171
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
17177
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
17178
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
17180
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
17184
st_done_and_mutex_exit(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
17188
st_rcmd(struct scsi_tape *un, int com, int64_t count, int wait)
usr/src/uts/common/io/scsi/targets/st.c
17197
(void *)un, com, count, wait);
usr/src/uts/common/io/scsi/targets/st.c
17199
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
1720
cv_init(&un->un_suspend_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17204
st_debug_cmds(un, com, count, wait);
usr/src/uts/common/io/scsi/targets/st.c
17208
while (un->un_recov_buf_busy)
usr/src/uts/common/io/scsi/targets/st.c
17209
cv_wait(&un->un_recov_buf_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
1721
cv_init(&un->un_tape_busy_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17210
un->un_recov_buf_busy = 1;
usr/src/uts/common/io/scsi/targets/st.c
17212
bp = un->un_recov_buf;
usr/src/uts/common/io/scsi/targets/st.c
17217
err = st_setup_cmd(un, bp, com, count);
usr/src/uts/common/io/scsi/targets/st.c
17219
un->un_recov_buf_busy = 0;
usr/src/uts/common/io/scsi/targets/st.c
1722
cv_init(&un->un_recov_buf_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17221
cv_signal(&un->un_recov_buf_cv);
usr/src/uts/common/io/scsi/targets/st.c
17228
st_uscsi_rcmd(struct scsi_tape *un, struct uscsi_cmd *ucmd, int flag)
usr/src/uts/common/io/scsi/targets/st.c
17239
while (un->un_recov_buf_busy)
usr/src/uts/common/io/scsi/targets/st.c
1724
un->un_recov_taskq = ddi_taskq_create(devp->sd_dev,
usr/src/uts/common/io/scsi/targets/st.c
17240
cv_wait(&un->un_recov_buf_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
17241
un->un_recov_buf_busy = 1;
usr/src/uts/common/io/scsi/targets/st.c
17243
bp = un->un_recov_buf;
usr/src/uts/common/io/scsi/targets/st.c
17250
rval = scsi_uscsi_handle_cmd(un->un_dev, UIO_SYSSPACE, ucmd,
usr/src/uts/common/io/scsi/targets/st.c
17259
un->un_recov_buf_busy = 0;
usr/src/uts/common/io/scsi/targets/st.c
17260
cv_signal(&un->un_recov_buf_cv);
usr/src/uts/common/io/scsi/targets/st.c
17269
st_add_recovery_info_to_pkt(struct scsi_tape *un, buf_t *bp,
usr/src/uts/common/io/scsi/targets/st.c
1727
ASSERT(un->un_recov_taskq != NULL);
usr/src/uts/common/io/scsi/targets/st.c
1729
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1730
un->un_sd = devp;
usr/src/uts/common/io/scsi/targets/st.c
17306
COPY_POS(&rinfo->pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
17307
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1731
un->un_swr_token = (opaque_t)NULL;
usr/src/uts/common/io/scsi/targets/st.c
17314
if (bp == un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
17315
rinfo->pos.pmode = un->un_running.pmode;
usr/src/uts/common/io/scsi/targets/st.c
1732
un->un_comp_page = ST_DEV_DATACOMP_PAGE | ST_DEV_CONFIG_PAGE;
usr/src/uts/common/io/scsi/targets/st.c
17324
if (un->un_running.pmode == invalid) {
usr/src/uts/common/io/scsi/targets/st.c
17325
COPY_POS(&un->un_running, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
17326
COPY_POS(&rinfo->pos, &un->un_running);
usr/src/uts/common/io/scsi/targets/st.c
17328
COPY_POS(&rinfo->pos, &un->un_running);
usr/src/uts/common/io/scsi/targets/st.c
1733
un->un_wormable = st_is_drive_worm;
usr/src/uts/common/io/scsi/targets/st.c
1734
un->un_media_id_method = st_get_media_identification;
usr/src/uts/common/io/scsi/targets/st.c
17356
if (bp == un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
17365
if ((lbn != un->un_running.lgclblkno) ||
usr/src/uts/common/io/scsi/targets/st.c
17366
(pkt->pkt_cdbp[3] != un->un_running.partition)) {
usr/src/uts/common/io/scsi/targets/st.c
17370
un->un_running.partition = pkt->pkt_cdbp[3];
usr/src/uts/common/io/scsi/targets/st.c
17371
un->un_running.pmode = logical;
usr/src/uts/common/io/scsi/targets/st.c
17372
un->un_running.lgclblkno = lbn;
usr/src/uts/common/io/scsi/targets/st.c
17375
uint64_t lbn = un->un_running.lgclblkno;
usr/src/uts/common/io/scsi/targets/st.c
17377
pkt->pkt_cdbp[3] = (uchar_t)un->un_running.partition;
usr/src/uts/common/io/scsi/targets/st.c
1739
un->un_read_pos_type = LONG_POS;
usr/src/uts/common/io/scsi/targets/st.c
17390
un->un_running.lgclblkno += count;
usr/src/uts/common/io/scsi/targets/st.c
17397
if (un->un_mediastate == MTIO_INSERTED) {
usr/src/uts/common/io/scsi/targets/st.c
1741
un->un_suspend_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
17429
un->un_running.fileno += count;
usr/src/uts/common/io/scsi/targets/st.c
1743
st_add_recovery_info_to_pkt(un, un->un_rqs_bp, un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
17430
un->un_running.lgclblkno += count;
usr/src/uts/common/io/scsi/targets/st.c
17431
un->un_running.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17439
un->un_running.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17440
un->un_running.lgclblkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17441
un->un_running.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17442
un->un_running.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
17443
if (un->un_running.pmode != legacy)
usr/src/uts/common/io/scsi/targets/st.c
17444
un->un_running.pmode = legacy;
usr/src/uts/common/io/scsi/targets/st.c
17458
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
17464
un->un_running.eof = ST_EOT;
usr/src/uts/common/io/scsi/targets/st.c
17465
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
1747
DDI_DMA_SLEEP, NULL, &un->un_contig_mem_hdl) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/targets/st.c
17474
un->un_running.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17475
un->un_running.lgclblkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17476
un->un_running.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17477
un->un_running.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
17496
un->un_running.lgclblkno += count;
usr/src/uts/common/io/scsi/targets/st.c
17497
un->un_running.blkno += count;
usr/src/uts/common/io/scsi/targets/st.c
1750
un->un_contig_mem_hdl = NULL;
usr/src/uts/common/io/scsi/targets/st.c
17502
un->un_running.lgclblkno -= count;
usr/src/uts/common/io/scsi/targets/st.c
17503
un->un_running.blkno -= count;
usr/src/uts/common/io/scsi/targets/st.c
17515
un->un_running.lgclblkno = count;
usr/src/uts/common/io/scsi/targets/st.c
17516
un->un_running.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17517
un->un_running.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
17518
un->un_running.pmode = logical;
usr/src/uts/common/io/scsi/targets/st.c
17533
st_make_sure_mode_data_is_correct(struct scsi_tape *un, ubufunc_t ubf)
usr/src/uts/common/io/scsi/targets/st.c
17542
rval = st_check_mode_for_change(un, ubf);
usr/src/uts/common/io/scsi/targets/st.c
17544
rval = st_gen_mode_select(un, ubf, un->un_mspl,
usr/src/uts/common/io/scsi/targets/st.c
17547
if (un->un_tlr_flag != TLR_NOT_SUPPORTED) {
usr/src/uts/common/io/scsi/targets/st.c
17548
rval |= st_set_target_TLR_mode(un, ubf);
usr/src/uts/common/io/scsi/targets/st.c
17554
st_check_mode_for_change(struct scsi_tape *un, ubufunc_t ubf)
usr/src/uts/common/io/scsi/targets/st.c
17565
if (un->un_comp_page == (ST_DEV_DATACOMP_PAGE | ST_DEV_CONFIG_PAGE)) {
usr/src/uts/common/io/scsi/targets/st.c
17573
rval = st_gen_mode_sense(un, ubf, un->un_comp_page, current,
usr/src/uts/common/io/scsi/targets/st.c
17583
that = (caddr_t)un->un_mspl;
usr/src/uts/common/io/scsi/targets/st.c
17608
st_test_path_to_device(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
17624
rval = st_rcmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
17630
if (un->un_status == KEY_NOT_READY || un->un_mediastate == MTIO_EJECTED)
usr/src/uts/common/io/scsi/targets/st.c
17641
st_recovery_read_pos(struct scsi_tape *un, read_p_types type,
usr/src/uts/common/io/scsi/targets/st.c
17664
cmd.uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
17684
rval = st_uscsi_rcmd(un, &cmd, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
17692
st_recovery_get_position(struct scsi_tape *un, tapepos_t *read,
usr/src/uts/common/io/scsi/targets/st.c
17696
read_p_types type = un->un_read_pos_type;
usr/src/uts/common/io/scsi/targets/st.c
17701
rval = st_recovery_read_pos(un, type, raw);
usr/src/uts/common/io/scsi/targets/st.c
17722
if (type != un->un_read_pos_type) {
usr/src/uts/common/io/scsi/targets/st.c
17723
un->un_read_pos_type = type;
usr/src/uts/common/io/scsi/targets/st.c
17730
rval = st_interpret_read_pos(un, read, type,
usr/src/uts/common/io/scsi/targets/st.c
17744
st_compare_expected_position(struct scsi_tape *un, st_err_info *ei,
usr/src/uts/common/io/scsi/targets/st.c
17752
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
17761
rval = st_recovery_get_position(un, read, readp_datap);
usr/src/uts/common/io/scsi/targets/st.c
1782
st_reset_notification, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/st.c
17843
rval = st_logical_block_locate(un,
usr/src/uts/common/io/scsi/targets/st.c
17860
rval = st_logical_block_locate(un,
usr/src/uts/common/io/scsi/targets/st.c
17880
rval = st_logical_block_locate(un,
usr/src/uts/common/io/scsi/targets/st.c
1791
if (un) {
usr/src/uts/common/io/scsi/targets/st.c
17918
rval = st_logical_block_locate(un,
usr/src/uts/common/io/scsi/targets/st.c
1792
if (un->un_mspl) {
usr/src/uts/common/io/scsi/targets/st.c
1793
i_ddi_mem_free((caddr_t)un->un_mspl, NULL);
usr/src/uts/common/io/scsi/targets/st.c
17931
rval = st_logical_block_locate(un,
usr/src/uts/common/io/scsi/targets/st.c
1795
if (un->un_read_pos_data) {
usr/src/uts/common/io/scsi/targets/st.c
1796
i_ddi_mem_free((caddr_t)un->un_read_pos_data, 0);
usr/src/uts/common/io/scsi/targets/st.c
1798
if (un->un_sbufp) {
usr/src/uts/common/io/scsi/targets/st.c
17982
rval = st_logical_block_locate(un, st_uscsi_rcmd, read,
usr/src/uts/common/io/scsi/targets/st.c
1799
freerbuf(un->un_sbufp);
usr/src/uts/common/io/scsi/targets/st.c
18005
st_recover_reissue_pkt(struct scsi_tape *un, struct scsi_pkt *oldpkt)
usr/src/uts/common/io/scsi/targets/st.c
1801
if (un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
18017
(un->un_arq_enabled ? sizeof (struct scsi_arq_status) : 1);
usr/src/uts/common/io/scsi/targets/st.c
1802
freerbuf(un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
1804
if (un->un_uscsi_rqs_buf) {
usr/src/uts/common/io/scsi/targets/st.c
18046
if (bp != un->un_sbufp && bp != un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
18047
ASSERT(un->un_runqf == un->un_runql);
usr/src/uts/common/io/scsi/targets/st.c
18048
ASSERT(un->un_runqf == bp);
usr/src/uts/common/io/scsi/targets/st.c
1805
kmem_free(un->un_uscsi_rqs_buf, SENSE_LENGTH);
usr/src/uts/common/io/scsi/targets/st.c
18054
if (pkt_bp == un->un_rqs_bp) {
usr/src/uts/common/io/scsi/targets/st.c
1808
if (un->un_contig_mem_hdl != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
18089
if (oldpkt == un->un_rqs) {
usr/src/uts/common/io/scsi/targets/st.c
1809
ddi_dma_free_handle(&un->un_contig_mem_hdl);
usr/src/uts/common/io/scsi/targets/st.c
18090
ASSERT(bp == un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/st.c
18091
un->un_rqs = newpkt;
usr/src/uts/common/io/scsi/targets/st.c
18098
rval = st_transport(un, newpkt);
usr/src/uts/common/io/scsi/targets/st.c
18108
rval = st_handle_start_busy(un, bp, ST_TRAN_BUSY_TIMEOUT, queued);
usr/src/uts/common/io/scsi/targets/st.c
18118
st_transport(struct scsi_tape *un, struct scsi_pkt *pkt)
usr/src/uts/common/io/scsi/targets/st.c
1812
if (un->un_rqs) {
usr/src/uts/common/io/scsi/targets/st.c
1813
scsi_destroy_pkt(un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
1816
if (un->un_rqs_bp) {
usr/src/uts/common/io/scsi/targets/st.c
1817
scsi_free_consistent_buf(un->un_rqs_bp);
usr/src/uts/common/io/scsi/targets/st.c
1846
st_known_tape_type(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
18474
st_reset(struct scsi_tape *un, int reset_type)
usr/src/uts/common/io/scsi/targets/st.c
18478
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
18481
un->un_rsvd_status |= ST_INITIATED_RESET;
usr/src/uts/common/io/scsi/targets/st.c
18484
rval = scsi_reset(&un->un_sd->sd_address, reset_type);
usr/src/uts/common/io/scsi/targets/st.c
18514
st_set_target_TLR_mode(struct scsi_tape *un, ubufunc_t ubf)
usr/src/uts/common/io/scsi/targets/st.c
18523
ret = st_gen_mode_sense(un, ubf, 0x18, mode_data, amount);
usr/src/uts/common/io/scsi/targets/st.c
18526
un->un_tlr_flag = TLR_NOT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
18534
un->un_tlr_flag = TLR_NOT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
18538
if (un->un_tlr_flag == TLR_SAS_ONE_DEVICE) {
usr/src/uts/common/io/scsi/targets/st.c
1854
reserved = (un->un_rsvd_status & ST_RESERVE) ? ST_RESERVE
usr/src/uts/common/io/scsi/targets/st.c
18547
ret = st_gen_mode_select(un, ubf, mode_data, amount);
usr/src/uts/common/io/scsi/targets/st.c
18550
un->un_tlr_flag = TLR_NOT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
18553
un->un_tlr_flag = TLR_NOT_KNOWN;
usr/src/uts/common/io/scsi/targets/st.c
18555
un->un_tlr_flag = TLR_SAS_ONE_DEVICE;
usr/src/uts/common/io/scsi/targets/st.c
18570
struct scsi_tape *un = (struct scsi_tape *)arg;
usr/src/uts/common/io/scsi/targets/st.c
18575
un->un_unit_attention_flags |= 2;
usr/src/uts/common/io/scsi/targets/st.c
18576
if ((un->un_rsvd_status & (ST_RESERVE | ST_APPLICATION_RESERVATIONS)) ==
usr/src/uts/common/io/scsi/targets/st.c
18578
un->un_rsvd_status |= ST_LOST_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
18586
if ((un->un_restore_pos == 0) &&
usr/src/uts/common/io/scsi/targets/st.c
18587
(un->un_state == ST_STATE_CLOSED) ||
usr/src/uts/common/io/scsi/targets/st.c
18588
(un->un_state == ST_STATE_OPEN_PENDING_IO) ||
usr/src/uts/common/io/scsi/targets/st.c
18589
(un->un_state == ST_STATE_CLOSING)) {
usr/src/uts/common/io/scsi/targets/st.c
18590
un->un_restore_pos = 1;
usr/src/uts/common/io/scsi/targets/st.c
18593
"reset and state was %d\n", un->un_state);
usr/src/uts/common/io/scsi/targets/st.c
1866
if (un->un_dp_size == 0) {
usr/src/uts/common/io/scsi/targets/st.c
1867
un->un_dp_size = sizeof (struct st_drivetype);
usr/src/uts/common/io/scsi/targets/st.c
1868
dp = kmem_zalloc((size_t)un->un_dp_size, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
1869
un->un_dp = dp;
usr/src/uts/common/io/scsi/targets/st.c
1871
dp = un->un_dp;
usr/src/uts/common/io/scsi/targets/st.c
1874
un->un_dp->non_motion_timeout = st_io_time;
usr/src/uts/common/io/scsi/targets/st.c
1879
if ((*config_funct)(un, ST_INQUIRY->inq_vid, dp)) {
usr/src/uts/common/io/scsi/targets/st.c
1907
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
1908
un->un_attached = 1;
usr/src/uts/common/io/scsi/targets/st.c
1909
un->un_init_options = dp->options;
usr/src/uts/common/io/scsi/targets/st.c
1912
st_calculate_timeouts(un);
usr/src/uts/common/io/scsi/targets/st.c
1915
if (un->un_dp->type != ST_TYPE_INVALID) {
usr/src/uts/common/io/scsi/targets/st.c
1919
un->un_tlr_flag = TLR_SAS_ONE_DEVICE;
usr/src/uts/common/io/scsi/targets/st.c
1920
result = st_set_target_TLR_mode(un, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
1926
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
1927
un->un_tlr_flag = TLR_NOT_KNOWN;
usr/src/uts/common/io/scsi/targets/st.c
1929
if (scsi_ifgetcap(&un->un_sd->sd_address,
usr/src/uts/common/io/scsi/targets/st.c
1931
un->un_tlr_flag = TLR_NOT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
1932
(void) st_set_target_TLR_mode(un, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
1934
un->un_tlr_flag = TLR_SAS_ONE_DEVICE;
usr/src/uts/common/io/scsi/targets/st.c
1937
un->un_tlr_flag = TLR_NOT_SUPPORTED;
usr/src/uts/common/io/scsi/targets/st.c
1946
if (reserved != ((un->un_rsvd_status & ST_RESERVE) ? ST_RESERVE
usr/src/uts/common/io/scsi/targets/st.c
1948
(void) st_reserve_release(un, reserved, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
1951
un->un_unit_attention_flags |= 1;
usr/src/uts/common/io/scsi/targets/st.c
1984
st_validate_conf_data(struct scsi_tape *un, int *list, int list_len,
usr/src/uts/common/io/scsi/targets/st.c
2073
st_get_conf_from_st_dot_conf(struct scsi_tape *un, char *vidpid,
usr/src/uts/common/io/scsi/targets/st.c
2182
if (st_validate_conf_data(un, data_ptr,
usr/src/uts/common/io/scsi/targets/st.c
2242
st_get_conf_from_st_conf_dot_c(struct scsi_tape *un, char *vidpid,
usr/src/uts/common/io/scsi/targets/st.c
2271
st_get_conf_from_tape_drive(struct scsi_tape *un, char *vidpid,
usr/src/uts/common/io/scsi/targets/st.c
2313
un->un_dp->options |= ST_MODE_SEL_COMP | ST_UNLOADABLE;
usr/src/uts/common/io/scsi/targets/st.c
2314
rval = st_modesense(un);
usr/src/uts/common/io/scsi/targets/st.c
2317
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2320
un->un_dp->options &= ~ST_MODE_SEL_COMP;
usr/src/uts/common/io/scsi/targets/st.c
2330
bsize = (un->un_mspl->high_bl << 16) |
usr/src/uts/common/io/scsi/targets/st.c
2331
(un->un_mspl->mid_bl << 8) |
usr/src/uts/common/io/scsi/targets/st.c
2332
(un->un_mspl->low_bl);
usr/src/uts/common/io/scsi/targets/st.c
2338
rval = st_change_block_size(un, 0);
usr/src/uts/common/io/scsi/targets/st.c
2341
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2354
rval = st_change_block_size(un, 0);
usr/src/uts/common/io/scsi/targets/st.c
2361
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2372
rval = st_read_block_limits(un, blklim);
usr/src/uts/common/io/scsi/targets/st.c
2392
rval = st_get_special_inquiry(un, 6, buf, 0xb0);
usr/src/uts/common/io/scsi/targets/st.c
2415
if (st_get_densities_from_tape_drive(un, tem_dp) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
2423
rval = st_get_timeout_values_from_tape_drive(un, tem_dp);
usr/src/uts/common/io/scsi/targets/st.c
2432
un->un_status = KEY_NO_SENSE;
usr/src/uts/common/io/scsi/targets/st.c
2438
st_get_densities_from_tape_drive(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
2463
if (st_report_density_support(un, den_header, buflen) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
2478
if (st_report_density_support(un, den_header, buflen) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
2591
st_get_timeout_values_from_tape_drive(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
2599
rval = st_get_timeouts_value(un, SCMD_ERASE, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2602
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2610
rval = st_get_timeouts_value(un, SCMD_READ, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2613
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2621
rval = st_get_timeouts_value(un, SCMD_WRITE, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2624
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2632
rval = st_get_timeouts_value(un, SCMD_SPACE, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2635
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2643
rval = st_get_timeouts_value(un, SCMD_LOAD, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2646
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2655
rval = st_get_timeouts_value(un, SCMD_REWIND, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2658
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2666
rval = st_get_timeouts_value(un, SCMD_INQUIRY, &timeout, 0);
usr/src/uts/common/io/scsi/targets/st.c
2669
un->un_dp->type = ST_TYPE_INVALID;
usr/src/uts/common/io/scsi/targets/st.c
2681
st_get_timeouts_value(struct scsi_tape *un, uchar_t option_code,
usr/src/uts/common/io/scsi/targets/st.c
2697
rval = st_report_supported_operation(un, oper, option_code,
usr/src/uts/common/io/scsi/targets/st.c
2747
st_get_default_conf(struct scsi_tape *un, char *vidpid, struct st_drivetype *dp)
usr/src/uts/common/io/scsi/targets/st.c
2812
if (!un->un_attached) {
usr/src/uts/common/io/scsi/targets/st.c
2813
st_known_tape_type(un);
usr/src/uts/common/io/scsi/targets/st.c
2814
if (!un->un_attached) {
usr/src/uts/common/io/scsi/targets/st.c
2829
if (!(flag & (FNDELAY | FNONBLOCK)) && IS_CLOSING(un)) {
usr/src/uts/common/io/scsi/targets/st.c
2830
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
2831
un->un_state = ST_STATE_CLOSE_PENDING_OPEN;
usr/src/uts/common/io/scsi/targets/st.c
2832
while (IS_CLOSING(un) ||
usr/src/uts/common/io/scsi/targets/st.c
2833
un->un_state == ST_STATE_CLOSE_PENDING_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
2834
if (cv_wait_sig(&un->un_clscv, ST_MUTEX) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
2836
un->un_state = un->un_laststate;
usr/src/uts/common/io/scsi/targets/st.c
2840
} else if (un->un_state != ST_STATE_CLOSED) {
usr/src/uts/common/io/scsi/targets/st.c
2848
un->un_dev = dev;
usr/src/uts/common/io/scsi/targets/st.c
2849
un->un_oflags = flag; /* save for use in st_tape_init() */
usr/src/uts/common/io/scsi/targets/st.c
2850
un->un_errno = 0; /* no errors yet */
usr/src/uts/common/io/scsi/targets/st.c
2851
un->un_restore_pos = 0;
usr/src/uts/common/io/scsi/targets/st.c
2852
un->un_rqs_state = 0;
usr/src/uts/common/io/scsi/targets/st.c
2859
switch (un->un_pos.pmode) {
usr/src/uts/common/io/scsi/targets/st.c
2862
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
2869
if (un->un_pos.fileno != 0 || un->un_pos.blkno != 0) {
usr/src/uts/common/io/scsi/targets/st.c
2882
un->un_read_only =
usr/src/uts/common/io/scsi/targets/st.c
2883
(un->un_oflags & FWRITE) ? RDWR : RDONLY;
usr/src/uts/common/io/scsi/targets/st.c
2884
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
2886
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
2890
if (un->un_pos.lgclblkno == 0) {
usr/src/uts/common/io/scsi/targets/st.c
2891
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
2893
un->un_read_only =
usr/src/uts/common/io/scsi/targets/st.c
2894
(un->un_oflags & FWRITE) ? RDWR : RDONLY;
usr/src/uts/common/io/scsi/targets/st.c
2895
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
2904
un->un_state = ST_STATE_OPENING;
usr/src/uts/common/io/scsi/targets/st.c
2909
st_empty_error_stack(un);
usr/src/uts/common/io/scsi/targets/st.c
2911
rval = st_tape_init(un);
usr/src/uts/common/io/scsi/targets/st.c
2912
if ((rval == EACCES) && (un->un_read_only & WORM)) {
usr/src/uts/common/io/scsi/targets/st.c
2913
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
2920
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
2922
(void) st_reserve_release(un, ST_RELEASE,
usr/src/uts/common/io/scsi/targets/st.c
2926
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
2938
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
2940
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
2941
un->un_retry_ct = 0;
usr/src/uts/common/io/scsi/targets/st.c
2945
"st_open: return val = %x, state = %d\n", rval, un->un_state);
usr/src/uts/common/io/scsi/targets/st.c
2952
st_tape_init(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
2962
"st_tape_init(un = 0x%p, oflags = %d)\n", (void*)un, un->un_oflags);
usr/src/uts/common/io/scsi/targets/st.c
2968
if (un->un_state != ST_STATE_INITIALIZING) {
usr/src/uts/common/io/scsi/targets/st.c
2969
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
2970
un->un_state = ST_STATE_OPENING;
usr/src/uts/common/io/scsi/targets/st.c
2973
un->un_kbytes_xferred = 0;
usr/src/uts/common/io/scsi/targets/st.c
2978
err = st_cmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
2985
if (un->un_rsvd_status & ST_RESERVATION_CONFLICT) {
usr/src/uts/common/io/scsi/targets/st.c
2986
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
2991
} else if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
2996
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3008
if (un->un_dp->type == ST_TYPE_INVALID) {
usr/src/uts/common/io/scsi/targets/st.c
3009
un->un_comp_page = ST_DEV_DATACOMP_PAGE | ST_DEV_CONFIG_PAGE;
usr/src/uts/common/io/scsi/targets/st.c
3010
st_known_tape_type(un);
usr/src/uts/common/io/scsi/targets/st.c
3017
if (un->un_dp->type == ST_TYPE_INVALID) {
usr/src/uts/common/io/scsi/targets/st.c
3018
rval = st_determine_generic(un);
usr/src/uts/common/io/scsi/targets/st.c
3023
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3035
un->un_allow_large_xfer = (uchar_t)st_allow_large_xfer;
usr/src/uts/common/io/scsi/targets/st.c
3045
un->un_allow_large_xfer = st_allow_large_xfer &&
usr/src/uts/common/io/scsi/targets/st.c
3046
(un->un_dp->options & ST_NO_RECSIZE_LIMIT);
usr/src/uts/common/io/scsi/targets/st.c
3051
if (un->un_maxbsize == MAXBSIZE_UNKNOWN) {
usr/src/uts/common/io/scsi/targets/st.c
3058
un->un_rbl = kmem_zalloc(RBLSIZE, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
3060
err = st_cmd(un, SCMD_READ_BLKLIM, RBLSIZE, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
3063
err = st_cmd(un, SCMD_READ_BLKLIM, RBLSIZE, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
3070
un->un_maxbsize = (un->un_rbl->max_hi << 16) +
usr/src/uts/common/io/scsi/targets/st.c
3071
(un->un_rbl->max_mid << 8) +
usr/src/uts/common/io/scsi/targets/st.c
3072
un->un_rbl->max_lo;
usr/src/uts/common/io/scsi/targets/st.c
3073
un->un_minbsize = (un->un_rbl->min_hi << 8) +
usr/src/uts/common/io/scsi/targets/st.c
3074
un->un_rbl->min_lo;
usr/src/uts/common/io/scsi/targets/st.c
3075
un->un_data_mod = 1 << un->un_rbl->granularity;
usr/src/uts/common/io/scsi/targets/st.c
3076
if ((un->un_maxbsize == 0) ||
usr/src/uts/common/io/scsi/targets/st.c
3077
(un->un_allow_large_xfer == 0 &&
usr/src/uts/common/io/scsi/targets/st.c
3078
un->un_maxbsize > ST_MAXRECSIZE_FIXED)) {
usr/src/uts/common/io/scsi/targets/st.c
3079
un->un_maxbsize = ST_MAXRECSIZE_FIXED;
usr/src/uts/common/io/scsi/targets/st.c
3081
} else if (un->un_dp->type == ST_TYPE_DEFAULT) {
usr/src/uts/common/io/scsi/targets/st.c
3087
if (un->un_maxbsize > ST_MAXRECSIZE_FIXED) {
usr/src/uts/common/io/scsi/targets/st.c
3088
un->un_dp->options |=
usr/src/uts/common/io/scsi/targets/st.c
3095
if (un->un_maxbsize == un->un_minbsize) {
usr/src/uts/common/io/scsi/targets/st.c
3096
un->un_dp->options &= ~ST_VARIABLE;
usr/src/uts/common/io/scsi/targets/st.c
3100
if (un->un_minbsize == 0) {
usr/src/uts/common/io/scsi/targets/st.c
3101
un->un_minbsize = 1;
usr/src/uts/common/io/scsi/targets/st.c
3109
err, un->un_rsvd_status);
usr/src/uts/common/io/scsi/targets/st.c
3116
if (un->un_rsvd_status & ST_RESERVATION_CONFLICT) {
usr/src/uts/common/io/scsi/targets/st.c
3119
un->un_allow_large_xfer = 0;
usr/src/uts/common/io/scsi/targets/st.c
3126
if (un->un_bsize) {
usr/src/uts/common/io/scsi/targets/st.c
3127
un->un_maxbsize = un->un_minbsize =
usr/src/uts/common/io/scsi/targets/st.c
3128
un->un_bsize;
usr/src/uts/common/io/scsi/targets/st.c
3130
un->un_maxbsize = ST_MAXRECSIZE_FIXED;
usr/src/uts/common/io/scsi/targets/st.c
3131
un->un_minbsize = 1;
usr/src/uts/common/io/scsi/targets/st.c
3138
un->un_data_mod = 1;
usr/src/uts/common/io/scsi/targets/st.c
3141
if (un->un_rbl) {
usr/src/uts/common/io/scsi/targets/st.c
3142
kmem_free(un->un_rbl, RBLSIZE);
usr/src/uts/common/io/scsi/targets/st.c
3143
un->un_rbl = NULL;
usr/src/uts/common/io/scsi/targets/st.c
3153
un->un_maxdma, un->un_maxbsize, un->un_minbsize,
usr/src/uts/common/io/scsi/targets/st.c
3154
(un->un_allow_large_xfer ? "ALLOW": "DON'T ALLOW"));
usr/src/uts/common/io/scsi/targets/st.c
3156
err = st_cmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
3160
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3161
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3168
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
3169
if (un->un_status != KEY_UNIT_ATTENTION) {
usr/src/uts/common/io/scsi/targets/st.c
3175
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3176
if (un->un_oflags & (FNONBLOCK|FNDELAY)) {
usr/src/uts/common/io/scsi/targets/st.c
3177
un->un_mediastate = MTIO_EJECTED;
usr/src/uts/common/io/scsi/targets/st.c
3178
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
3182
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3201
un->un_bsize = un->un_dp->bsize;
usr/src/uts/common/io/scsi/targets/st.c
3206
if (un->un_restore_pos) {
usr/src/uts/common/io/scsi/targets/st.c
3207
un->un_restore_pos = 0;
usr/src/uts/common/io/scsi/targets/st.c
3208
un->un_pos.fileno = un->un_save_fileno;
usr/src/uts/common/io/scsi/targets/st.c
3209
un->un_pos.blkno = un->un_save_blkno;
usr/src/uts/common/io/scsi/targets/st.c
3210
rval = st_validate_tapemarks(un, st_uscsi_cmd, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
3215
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3216
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3221
if (un->un_pos.pmode == invalid) {
usr/src/uts/common/io/scsi/targets/st.c
3222
rval = st_loadtape(un);
usr/src/uts/common/io/scsi/targets/st.c
3227
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3228
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3240
if (un->un_unit_attention_flags) {
usr/src/uts/common/io/scsi/targets/st.c
3241
rval = st_modesense(un);
usr/src/uts/common/io/scsi/targets/st.c
3251
if (un->un_oflags & FWRITE) {
usr/src/uts/common/io/scsi/targets/st.c
3253
if (un->un_mspl->wp) {
usr/src/uts/common/io/scsi/targets/st.c
3254
un->un_status = KEY_WRITE_PROTECT;
usr/src/uts/common/io/scsi/targets/st.c
3255
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3256
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3261
if ((un->un_dp->type == MT_ISSTK9840) &&
usr/src/uts/common/io/scsi/targets/st.c
3262
(un->un_dp->options & ST_WORMABLE)) {
usr/src/uts/common/io/scsi/targets/st.c
3263
un->un_read_only = RDONLY;
usr/src/uts/common/io/scsi/targets/st.c
3268
un->un_read_only = RDWR;
usr/src/uts/common/io/scsi/targets/st.c
3271
un->un_read_only = RDONLY;
usr/src/uts/common/io/scsi/targets/st.c
3274
if (un->un_dp->options & ST_WORMABLE &&
usr/src/uts/common/io/scsi/targets/st.c
3275
un->un_unit_attention_flags) {
usr/src/uts/common/io/scsi/targets/st.c
3276
un->un_read_only |= un->un_wormable(un);
usr/src/uts/common/io/scsi/targets/st.c
3278
if (((un->un_read_only == WORM) ||
usr/src/uts/common/io/scsi/targets/st.c
3279
(un->un_read_only == RDWORM)) &&
usr/src/uts/common/io/scsi/targets/st.c
3280
((un->un_oflags & FWRITE) == FWRITE)) {
usr/src/uts/common/io/scsi/targets/st.c
3281
un->un_status = KEY_DATA_PROTECT;
usr/src/uts/common/io/scsi/targets/st.c
3285
un->un_read_only, un->un_pos.eof, un->un_oflags);
usr/src/uts/common/io/scsi/targets/st.c
3294
if ((un->un_read_only == RDWR) ||
usr/src/uts/common/io/scsi/targets/st.c
3295
(un->un_read_only == WORM) && (un->un_oflags & FWRITE)) {
usr/src/uts/common/io/scsi/targets/st.c
3296
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
3297
un->un_fmneeded = 2;
usr/src/uts/common/io/scsi/targets/st.c
3299
un->un_fmneeded = 1;
usr/src/uts/common/io/scsi/targets/st.c
3302
un->un_fmneeded = 0;
usr/src/uts/common/io/scsi/targets/st.c
3306
"fmneeded = %x\n", un->un_fmneeded);
usr/src/uts/common/io/scsi/targets/st.c
3314
if (st_determine_density(un,
usr/src/uts/common/io/scsi/targets/st.c
3315
un->un_read_only == RDWR ? B_WRITE : B_READ)) {
usr/src/uts/common/io/scsi/targets/st.c
3316
un->un_status = KEY_ILLEGAL_REQUEST;
usr/src/uts/common/io/scsi/targets/st.c
3317
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3318
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3331
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
3339
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3340
un->un_lastop = ST_OP_NIL;
usr/src/uts/common/io/scsi/targets/st.c
3341
un->un_mediastate = MTIO_INSERTED;
usr/src/uts/common/io/scsi/targets/st.c
3342
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/st.c
3348
un->un_test_append = (un->un_oflags & FWRITE);
usr/src/uts/common/io/scsi/targets/st.c
3354
if (un->un_unit_attention_flags) {
usr/src/uts/common/io/scsi/targets/st.c
3355
rval = st_get_media_identification(un, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
3359
un->un_unit_attention_flags = 0;
usr/src/uts/common/io/scsi/targets/st.c
3363
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
3364
un->un_last_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
3365
un->un_last_count = 0;
usr/src/uts/common/io/scsi/targets/st.c
3398
st_wait_for_io(un);
usr/src/uts/common/io/scsi/targets/st.c
3401
st_turn_pe_off(un);
usr/src/uts/common/io/scsi/targets/st.c
3406
last_state = un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3407
un->un_state = ST_STATE_CLOSING;
usr/src/uts/common/io/scsi/targets/st.c
3409
ST_POS(ST_DEVINFO, "st_close1:", &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
3416
if ((minor & MT_BSD) && (un->un_pos.eof == ST_EOF)) {
usr/src/uts/common/io/scsi/targets/st.c
3417
if (un->un_pos.pmode != invalid) {
usr/src/uts/common/io/scsi/targets/st.c
3418
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
3419
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
3421
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
3434
(un->un_mediastate == MTIO_INSERTED) && /* tape loaded */
usr/src/uts/common/io/scsi/targets/st.c
3435
(un->un_pos.pmode != invalid) && /* XXX position known */
usr/src/uts/common/io/scsi/targets/st.c
3436
((un->un_pos.blkno != 0) && /* inside a file */
usr/src/uts/common/io/scsi/targets/st.c
3437
(un->un_lastop != ST_OP_WRITE) && /* Didn't just write */
usr/src/uts/common/io/scsi/targets/st.c
3438
(un->un_lastop != ST_OP_WEOF))) { /* or write filemarks */
usr/src/uts/common/io/scsi/targets/st.c
3439
switch (un->un_pos.eof) {
usr/src/uts/common/io/scsi/targets/st.c
3448
if ((un->un_dp->options & ST_REEL) &&
usr/src/uts/common/io/scsi/targets/st.c
3449
(!(un->un_dp->options & ST_READ_IGNORE_EOFS)) &&
usr/src/uts/common/io/scsi/targets/st.c
3450
(un->un_pos.blkno == 0)) {
usr/src/uts/common/io/scsi/targets/st.c
3451
if (st_cmd(un, SCMD_SPACE, Blk(1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3458
if (un->un_pos.eof >= ST_EOF_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
3459
un->un_pos.eof = ST_EOT_PENDING;
usr/src/uts/common/io/scsi/targets/st.c
3460
un->un_pos.fileno += 1;
usr/src/uts/common/io/scsi/targets/st.c
3461
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
3465
if (st_cmd(un, SCMD_SPACE, Fmk(1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3473
un->un_pos.fileno, un->un_pos.blkno,
usr/src/uts/common/io/scsi/targets/st.c
3474
un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
3475
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
3481
un->un_pos.fileno += 1;
usr/src/uts/common/io/scsi/targets/st.c
3482
un->un_pos.lgclblkno += 1;
usr/src/uts/common/io/scsi/targets/st.c
3483
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
3484
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
3494
"Undefined state 0x%x", un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
3522
flag, un->un_fmneeded, un->un_lastop, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
3524
if (un->un_pos.eof == ST_EOT_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
3526
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3532
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
3533
un->un_pos.eof = ST_EOT;
usr/src/uts/common/io/scsi/targets/st.c
3536
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
3549
} else if ((un->un_pos.pmode != invalid) &&
usr/src/uts/common/io/scsi/targets/st.c
3550
(un->un_fmneeded > 0) &&
usr/src/uts/common/io/scsi/targets/st.c
3552
((un->un_lastop == ST_OP_WRITE)||(un->un_lastop == ST_OP_WEOF))) ||
usr/src/uts/common/io/scsi/targets/st.c
3553
((flag == FWRITE) && (un->un_lastop == ST_OP_NIL)))) {
usr/src/uts/common/io/scsi/targets/st.c
3556
int was_at_eom = (un->un_pos.eof == ST_EOM) ? 1 : 0;
usr/src/uts/common/io/scsi/targets/st.c
3567
count = un->un_fmneeded;
usr/src/uts/common/io/scsi/targets/st.c
3569
if (st_cmd(un, SCMD_WRITE_FILE_MARK, count, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3575
if ((un->un_dp->options & ST_REEL) &&
usr/src/uts/common/io/scsi/targets/st.c
3577
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3584
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
3586
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
3599
un->un_pos.eof = ST_EOM;
usr/src/uts/common/io/scsi/targets/st.c
3609
(un->un_dp->options & ST_SOFT_ERROR_REPORTING) &&
usr/src/uts/common/io/scsi/targets/st.c
3622
un->un_pos.pmode != invalid && err == 0) {
usr/src/uts/common/io/scsi/targets/st.c
3653
if (un->un_sd->sd_inq->inq_ansi < 2) {
usr/src/uts/common/io/scsi/targets/st.c
3654
if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3659
if (st_cmd(un, SCMD_WRITE_FILE_MARK, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3663
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
3666
if (st_reserve_release(un, ST_RELEASE,
usr/src/uts/common/io/scsi/targets/st.c
3673
if (st_cmd(un, SCMD_REWIND, 1, ASYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3688
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
3689
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
3699
if (un->un_eject_tape_on_failure) {
usr/src/uts/common/io/scsi/targets/st.c
3700
un->un_eject_tape_on_failure = 0;
usr/src/uts/common/io/scsi/targets/st.c
3701
if (st_cmd(un, SCMD_LOAD, LD_UNLOAD, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
3709
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
3710
un->un_mediastate = MTIO_EJECTED;
usr/src/uts/common/io/scsi/targets/st.c
3717
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
3720
(void) st_reserve_release(un, ST_RELEASE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
3726
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
3727
un->un_state = ST_STATE_CLOSED;
usr/src/uts/common/io/scsi/targets/st.c
3728
un->un_lastop = ST_OP_NIL;
usr/src/uts/common/io/scsi/targets/st.c
3729
un->un_throttle = 1; /* assume one request at time, for now */
usr/src/uts/common/io/scsi/targets/st.c
3730
un->un_retry_ct = 0;
usr/src/uts/common/io/scsi/targets/st.c
3731
un->un_errno = 0;
usr/src/uts/common/io/scsi/targets/st.c
3732
un->un_swr_token = (opaque_t)NULL;
usr/src/uts/common/io/scsi/targets/st.c
3733
un->un_rsvd_status &= ~(ST_INIT_RESERVE);
usr/src/uts/common/io/scsi/targets/st.c
3736
if (un->un_init_options & ST_READ_IGNORE_ILI) {
usr/src/uts/common/io/scsi/targets/st.c
3737
un->un_dp->options |= ST_READ_IGNORE_ILI;
usr/src/uts/common/io/scsi/targets/st.c
3739
un->un_dp->options &= ~ST_READ_IGNORE_ILI;
usr/src/uts/common/io/scsi/targets/st.c
3742
if (un->un_init_options & ST_READ_IGNORE_EOFS) {
usr/src/uts/common/io/scsi/targets/st.c
3743
un->un_dp->options |= ST_READ_IGNORE_EOFS;
usr/src/uts/common/io/scsi/targets/st.c
3745
un->un_dp->options &= ~ST_READ_IGNORE_EOFS;
usr/src/uts/common/io/scsi/targets/st.c
3748
if (un->un_init_options & ST_SHORT_FILEMARKS) {
usr/src/uts/common/io/scsi/targets/st.c
3749
un->un_dp->options |= ST_SHORT_FILEMARKS;
usr/src/uts/common/io/scsi/targets/st.c
3751
un->un_dp->options &= ~ST_SHORT_FILEMARKS;
usr/src/uts/common/io/scsi/targets/st.c
3759
cv_signal(&un->un_clscv);
usr/src/uts/common/io/scsi/targets/st.c
3764
if (err && un->un_status != KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
3769
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
3776
cp = un->un_contig_mem;
usr/src/uts/common/io/scsi/targets/st.c
3786
un->un_contig_mem_total_num = 0;
usr/src/uts/common/io/scsi/targets/st.c
3787
un->un_contig_mem_available_num = 0;
usr/src/uts/common/io/scsi/targets/st.c
3788
un->un_contig_mem = NULL;
usr/src/uts/common/io/scsi/targets/st.c
3789
un->un_max_contig_mem_len = 0;
usr/src/uts/common/io/scsi/targets/st.c
3794
err, un->un_pos.fileno, un->un_pos.blkno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
3866
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
3868
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
3876
if (un->un_allow_large_xfer) {
usr/src/uts/common/io/scsi/targets/st.c
3881
if (un->un_bsize == 0 && bp->b_bcount > un->un_maxbsize) {
usr/src/uts/common/io/scsi/targets/st.c
3882
bp->b_bcount = un->un_maxbsize;
usr/src/uts/common/io/scsi/targets/st.c
3888
if (bp->b_bcount > un->un_maxdma) {
usr/src/uts/common/io/scsi/targets/st.c
3889
bp->b_bcount = un->un_maxdma;
usr/src/uts/common/io/scsi/targets/st.c
3896
if (un->un_bsize == 0) {
usr/src/uts/common/io/scsi/targets/st.c
3912
if (bp != un->un_sbufp && un->un_bsize) {
usr/src/uts/common/io/scsi/targets/st.c
3913
bp->b_bcount -= (bp->b_bcount % un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
3939
st_empty_error_stack(un);
usr/src/uts/common/io/scsi/targets/st.c
3945
if ((un->un_bsize != 0) && (len % un->un_bsize != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
3948
(flag == B_WRITE) ? wr_str : rd_str, un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
3953
if ((un->un_data_mod != 0) && (len % un->un_data_mod != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
3956
(flag == B_WRITE) ? wr_str : rd_str, un->un_data_mod);
usr/src/uts/common/io/scsi/targets/st.c
3960
if (st_recov_sz != sizeof (recov_info) && un->un_multipath) {
usr/src/uts/common/io/scsi/targets/st.c
3966
un->un_errno = rval;
usr/src/uts/common/io/scsi/targets/st.c
3974
un->un_silent_skip = 0;
usr/src/uts/common/io/scsi/targets/st.c
3988
if (un->un_pos.eof > ST_NO_EOF) {
usr/src/uts/common/io/scsi/targets/st.c
3990
"eof=%d resid=%lx\n", un->un_pos.eof, uio->uio_resid);
usr/src/uts/common/io/scsi/targets/st.c
3992
if (un->un_pos.eof >= ST_EOM && (flag == B_WRITE)) {
usr/src/uts/common/io/scsi/targets/st.c
3994
un->un_pos.eof = ST_EOM;
usr/src/uts/common/io/scsi/targets/st.c
3996
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4000
if (un->un_silent_skip && uio->uio_resid != len) {
usr/src/uts/common/io/scsi/targets/st.c
4001
un->un_pos.eof = ST_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4002
un->un_pos.blkno = un->un_save_blkno;
usr/src/uts/common/io/scsi/targets/st.c
4003
un->un_pos.fileno--;
usr/src/uts/common/io/scsi/targets/st.c
4006
un->un_errno = rval;
usr/src/uts/common/io/scsi/targets/st.c
4037
if ((un->un_bsize != 0) && (len % un->un_bsize != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
4040
(flag == B_WRITE) ? wr_str : rd_str, un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
4045
if ((un->un_data_mod != 0) && (len % un->un_data_mod != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
4048
(flag == B_WRITE) ? wr_str : rd_str, un->un_data_mod);
usr/src/uts/common/io/scsi/targets/st.c
4052
if (st_recov_sz != sizeof (recov_info) && un->un_multipath) {
usr/src/uts/common/io/scsi/targets/st.c
4058
un->un_errno = rval;
usr/src/uts/common/io/scsi/targets/st.c
4080
if (un->un_pos.eof > ST_NO_EOF) {
usr/src/uts/common/io/scsi/targets/st.c
4082
"eof=%d resid=%lx\n", un->un_pos.eof, uio->uio_resid);
usr/src/uts/common/io/scsi/targets/st.c
4084
if (un->un_pos.eof >= ST_EOM && (flag == B_WRITE)) {
usr/src/uts/common/io/scsi/targets/st.c
4086
un->un_pos.eof = ST_EOM;
usr/src/uts/common/io/scsi/targets/st.c
4088
!(un->un_persistence && un->un_persist_errors)) {
usr/src/uts/common/io/scsi/targets/st.c
4089
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4092
un->un_errno = rval;
usr/src/uts/common/io/scsi/targets/st.c
4103
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
4110
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
4111
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
4124
while (un->un_pwr_mgmt == ST_PWR_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/st.c
4125
cv_wait(&un->un_suspend_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
4130
bp->b_bcount, un->un_pos.fileno, un->un_pos.blkno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
4136
if (un->un_persistence && un->un_persist_errors) {
usr/src/uts/common/io/scsi/targets/st.c
4143
while (un->un_sbuf_busy) {
usr/src/uts/common/io/scsi/targets/st.c
4144
cv_wait(&un->un_sbuf_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
4146
if (un->un_persistence && un->un_persist_errors) {
usr/src/uts/common/io/scsi/targets/st.c
4154
ASSERT(bp != un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
4155
ASSERT(bp != un->un_sbufp);
usr/src/uts/common/io/scsi/targets/st.c
4161
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
4163
if ((un->un_dp->options & ST_NO_RESERVE_RELEASE) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
4164
if (st_reserve_release(un, ST_RESERVE, st_uscsi_cmd)) {
usr/src/uts/common/io/scsi/targets/st.c
4165
st_bioerror(bp, un->un_errno);
usr/src/uts/common/io/scsi/targets/st.c
4168
} else if (un->un_state == ST_STATE_OPEN_PENDING_IO) {
usr/src/uts/common/io/scsi/targets/st.c
4174
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
4175
(void) st_cmd(un, SCMD_TEST_UNIT_READY,
usr/src/uts/common/io/scsi/targets/st.c
4177
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
4179
un->un_rsvd_status |= ST_INIT_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
4189
if (un->un_state == ST_STATE_OFFLINE || un->un_restore_pos) {
usr/src/uts/common/io/scsi/targets/st.c
4193
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
4194
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
4195
if (st_tape_init(un)) {
usr/src/uts/common/io/scsi/targets/st.c
4198
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
4199
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
4203
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
4204
un->un_restore_pos = 0;
usr/src/uts/common/io/scsi/targets/st.c
4209
if (un->un_pos.pmode == invalid) {
usr/src/uts/common/io/scsi/targets/st.c
4227
if (un->un_pos.eof == ST_EOT_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
4228
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4229
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
4230
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
4233
un->un_pos.blkno = 0; /* fix up block number.. */
usr/src/uts/common/io/scsi/targets/st.c
4234
un->un_pos.eof = ST_EOT;
usr/src/uts/common/io/scsi/targets/st.c
4247
if ((un->un_state == ST_STATE_OPEN_PENDING_IO) ||
usr/src/uts/common/io/scsi/targets/st.c
4248
(un->un_test_append && (un->un_dp->options & ST_QIC))) {
usr/src/uts/common/io/scsi/targets/st.c
4250
if (un->un_state == ST_STATE_OPEN_PENDING_IO) {
usr/src/uts/common/io/scsi/targets/st.c
4251
if (st_determine_density(un, (int)reading)) {
usr/src/uts/common/io/scsi/targets/st.c
4258
un->un_pos.fileno, (int)reading,
usr/src/uts/common/io/scsi/targets/st.c
4259
(un->un_dp->options & ST_QIC) ? 1 : 0,
usr/src/uts/common/io/scsi/targets/st.c
4260
un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
4262
if (!reading && un->un_pos.eof != ST_EOM) {
usr/src/uts/common/io/scsi/targets/st.c
4263
if (un->un_pos.eof == ST_EOT) {
usr/src/uts/common/io/scsi/targets/st.c
4264
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4265
} else if (un->un_pos.pmode != invalid &&
usr/src/uts/common/io/scsi/targets/st.c
4266
(un->un_dp->options & ST_QIC)) {
usr/src/uts/common/io/scsi/targets/st.c
4275
if (un->un_state == ST_STATE_OPEN_PENDING_IO) {
usr/src/uts/common/io/scsi/targets/st.c
4278
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
4279
un->un_state = ST_STATE_OPEN;
usr/src/uts/common/io/scsi/targets/st.c
4289
un->un_pos.eof, wasopening);
usr/src/uts/common/io/scsi/targets/st.c
4291
switch (un->un_pos.eof) {
usr/src/uts/common/io/scsi/targets/st.c
4326
un->un_pos.eof = ST_WRITE_AFTER_EOM;
usr/src/uts/common/io/scsi/targets/st.c
4328
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
4334
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
4342
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4348
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4350
un->un_pos.eof = ST_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4356
un->un_status = SUN_KEY_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4362
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4363
un->un_pos.fileno += 1;
usr/src/uts/common/io/scsi/targets/st.c
4364
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
4370
un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
4374
"now file %d (write)\n", un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
4377
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
4402
if (bp->b_bcount > un->un_maxdma_arch &&
usr/src/uts/common/io/scsi/targets/st.c
4416
(void *)un->un_quef, (void *)bp);
usr/src/uts/common/io/scsi/targets/st.c
4418
st_add_to_queue(&un->un_quef, &un->un_quel, un->un_quel, bp);
usr/src/uts/common/io/scsi/targets/st.c
4422
st_start(un);
usr/src/uts/common/io/scsi/targets/st.c
4441
st_wait_for_io(un);
usr/src/uts/common/io/scsi/targets/st.c
4442
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
4445
if (un->un_persistence && un->un_persist_errors)
usr/src/uts/common/io/scsi/targets/st.c
4446
bioerror(bp, un->un_errno);
usr/src/uts/common/io/scsi/targets/st.c
4459
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
4464
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
4465
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
4480
while (un->un_pwr_mgmt == ST_PWR_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/st.c
4481
cv_wait(&un->un_suspend_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
4486
bp->b_bcount, un->un_pos.fileno, un->un_pos.blkno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
4488
ASSERT((bp == un->un_recov_buf) || (bp == un->un_sbufp));
usr/src/uts/common/io/scsi/targets/st.c
4504
st_start(un);
usr/src/uts/common/io/scsi/targets/st.c
4514
st_space_fmks(struct scsi_tape *un, int64_t count)
usr/src/uts/common/io/scsi/targets/st.c
4522
un->un_dev, count);
usr/src/uts/common/io/scsi/targets/st.c
4535
if ((un->un_dp->options & ST_KNOWS_EOD) &&
usr/src/uts/common/io/scsi/targets/st.c
4536
!((un->un_dp->type == ST_TYPE_EXB8500 &&
usr/src/uts/common/io/scsi/targets/st.c
4537
MT_DENSITY(un->un_dev) == 0))) {
usr/src/uts/common/io/scsi/targets/st.c
4538
if (st_cmd(un, SCMD_SPACE, Fmk(count), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4545
if (st_cmd(un, SCMD_SPACE, Fmk(1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4558
if (st_cmd(un, SCMD_SPACE, Blk(1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4566
if ((un->un_pos.eof >= ST_EOF_PENDING) &&
usr/src/uts/common/io/scsi/targets/st.c
4567
(un->un_dp->options & ST_REEL)) {
usr/src/uts/common/io/scsi/targets/st.c
4568
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
4574
} else if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
4575
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4576
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
4577
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
4579
} else if (un->un_pos.eof > ST_EOF) {
usr/src/uts/common/io/scsi/targets/st.c
4589
un->un_err_resid = count;
usr/src/uts/common/io/scsi/targets/st.c
4590
COPY_POS(&un->un_pos, &un->un_err_pos);
usr/src/uts/common/io/scsi/targets/st.c
46
#define IOSP KSTAT_IO_PTR(un->un_stats)
usr/src/uts/common/io/scsi/targets/st.c
4608
st_find_eod(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
4614
if (un == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
4621
"st_find_eod(dev = 0x%lx): fileno = %d\n", un->un_dev,
usr/src/uts/common/io/scsi/targets/st.c
4622
un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
4626
COPY_POS(&savepos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
4636
if ((un->un_dp->options & ST_KNOWS_EOD) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
4637
if ((un->un_dp->type == ST_TYPE_EXB8500) &&
usr/src/uts/common/io/scsi/targets/st.c
4638
(MT_DENSITY(un->un_dev) == 0)) {
usr/src/uts/common/io/scsi/targets/st.c
4640
} else if (un->un_pos.pmode == logical) {
usr/src/uts/common/io/scsi/targets/st.c
4650
result = st_cmd(un, SCMD_SPACE, sp_type, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
4653
COPY_POS(&savepos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
4673
return (un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
4682
SPACE_CNT(sp_type), un->un_pos.eof, un->un_status);
usr/src/uts/common/io/scsi/targets/st.c
4695
if (st_cmd(un, SCMD_SPACE, Blk((1)), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4698
if ((un->un_pos.eof >= ST_EOF_PENDING) &&
usr/src/uts/common/io/scsi/targets/st.c
4699
(un->un_dp->options & ST_REEL)) {
usr/src/uts/common/io/scsi/targets/st.c
4700
un->un_status = KEY_BLANK_CHECK;
usr/src/uts/common/io/scsi/targets/st.c
4701
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
4702
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
4705
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
4706
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4707
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
4708
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
4710
if (un->un_pos.eof > ST_EOF) {
usr/src/uts/common/io/scsi/targets/st.c
4714
if (un->un_pos.eof > ST_EOF) {
usr/src/uts/common/io/scsi/targets/st.c
4720
if (un->un_dp->options & ST_KNOWS_EOD) {
usr/src/uts/common/io/scsi/targets/st.c
4721
COPY_POS(&savepos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
4768
if (un->un_state == ST_STATE_OPEN_PENDING_IO) {
usr/src/uts/common/io/scsi/targets/st.c
4769
if (st_determine_density(un, mode)) {
usr/src/uts/common/io/scsi/targets/st.c
4773
un->un_errno = EIO;
usr/src/uts/common/io/scsi/targets/st.c
4781
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
4782
un->un_state = ST_STATE_OPEN;
usr/src/uts/common/io/scsi/targets/st.c
4784
} else if (un->un_pos.pmode != invalid && un->un_fmneeded > 0 &&
usr/src/uts/common/io/scsi/targets/st.c
4785
((un->un_lastop == ST_OP_WEOF && wfm) ||
usr/src/uts/common/io/scsi/targets/st.c
4786
(un->un_lastop == ST_OP_WRITE && wfm))) {
usr/src/uts/common/io/scsi/targets/st.c
4790
COPY_POS(&spos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
4798
if ((un->un_fmneeded > 0) || (un->un_lastop == ST_OP_WEOF)) {
usr/src/uts/common/io/scsi/targets/st.c
4799
wfm = un->un_fmneeded;
usr/src/uts/common/io/scsi/targets/st.c
4800
un->un_fmneeded = 0;
usr/src/uts/common/io/scsi/targets/st.c
4804
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
4805
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
4808
un->un_errno = EIO;
usr/src/uts/common/io/scsi/targets/st.c
4813
if (st_cmd(un, SCMD_SPACE, Fmk(-wfm), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4817
un->un_errno = EIO;
usr/src/uts/common/io/scsi/targets/st.c
4820
COPY_POS(&un->un_pos, &spos);
usr/src/uts/common/io/scsi/targets/st.c
4828
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
4834
if (un->un_read_only == RDWR) {
usr/src/uts/common/io/scsi/targets/st.c
4835
un->un_test_append = 1;
usr/src/uts/common/io/scsi/targets/st.c
4851
st_wait_for_io(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
4855
while ((un->un_ncmds) || (un->un_quef) || (un->un_runqf)) {
usr/src/uts/common/io/scsi/targets/st.c
4856
cv_wait(&un->un_queue_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
4877
ASSERT(un->un_recov_buf_busy == 0);
usr/src/uts/common/io/scsi/targets/st.c
4882
un->un_pos.fileno, un->un_pos.blkno, un->un_pos.eof, un->un_state,
usr/src/uts/common/io/scsi/targets/st.c
4883
un->un_persistence && un->un_persist_errors);
usr/src/uts/common/io/scsi/targets/st.c
4901
st_empty_error_stack(un);
usr/src/uts/common/io/scsi/targets/st.c
4909
st_wait_for_io(un);
usr/src/uts/common/io/scsi/targets/st.c
4915
if (un->un_persistence && un->un_persist_errors) {
usr/src/uts/common/io/scsi/targets/st.c
492
static void st_known_tape_type(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
4921
rval = un->un_errno;
usr/src/uts/common/io/scsi/targets/st.c
4926
ASSERT(un->un_throttle != 0);
usr/src/uts/common/io/scsi/targets/st.c
4927
un->un_throttle = 1; /* > 1 will never happen here */
usr/src/uts/common/io/scsi/targets/st.c
4928
un->un_errno = 0; /* start clean from here */
usr/src/uts/common/io/scsi/targets/st.c
4934
if (un->un_pos.eof == ST_EOT_PENDING) {
usr/src/uts/common/io/scsi/targets/st.c
4935
int resid = un->un_err_resid;
usr/src/uts/common/io/scsi/targets/st.c
4936
uchar_t status = un->un_status;
usr/src/uts/common/io/scsi/targets/st.c
4937
uchar_t lastop = un->un_lastop;
usr/src/uts/common/io/scsi/targets/st.c
4939
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
4945
un->un_lastop = lastop; /* restore last operation */
usr/src/uts/common/io/scsi/targets/st.c
4947
un->un_status = SUN_KEY_EOT;
usr/src/uts/common/io/scsi/targets/st.c
4949
un->un_status = status;
usr/src/uts/common/io/scsi/targets/st.c
4951
un->un_err_resid = resid;
usr/src/uts/common/io/scsi/targets/st.c
4953
un->un_err_pos.blkno = un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
4955
un->un_pos.eof = ST_EOT;
usr/src/uts/common/io/scsi/targets/st.c
4981
mtget->mt_erreg = un->un_status;
usr/src/uts/common/io/scsi/targets/st.c
4982
mtget->mt_resid = un->un_err_resid;
usr/src/uts/common/io/scsi/targets/st.c
4983
mtget->mt_dsreg = un->un_retry_ct;
usr/src/uts/common/io/scsi/targets/st.c
4984
if (un->un_err_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
4985
mtget->mt_fileno = un->un_err_pos.fileno;
usr/src/uts/common/io/scsi/targets/st.c
4994
if (un->un_err_pos.blkno >= 0) {
usr/src/uts/common/io/scsi/targets/st.c
4995
mtget->mt_blkno = un->un_err_pos.blkno;
usr/src/uts/common/io/scsi/targets/st.c
4997
mtget->mt_blkno = INF + 1 - (-un->un_err_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
4999
mtget->mt_type = un->un_dp->type;
usr/src/uts/common/io/scsi/targets/st.c
5001
if (un->un_read_pos_type != NO_POS) {
usr/src/uts/common/io/scsi/targets/st.c
5004
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
5024
if ((un->un_allow_large_xfer) &&
usr/src/uts/common/io/scsi/targets/st.c
5025
(un->un_dp->options & ST_NO_RECSIZE_LIMIT)) {
usr/src/uts/common/io/scsi/targets/st.c
5026
mtget->mt_bf = min(un->un_maxbsize,
usr/src/uts/common/io/scsi/targets/st.c
5027
un->un_maxdma) / SECSIZE;
usr/src/uts/common/io/scsi/targets/st.c
5030
if (un->un_read_only == WORM ||
usr/src/uts/common/io/scsi/targets/st.c
5031
un->un_read_only == RDWORM) {
usr/src/uts/common/io/scsi/targets/st.c
5040
if (un->un_persistence) {
usr/src/uts/common/io/scsi/targets/st.c
5043
rval = st_check_clean_bit(un);
usr/src/uts/common/io/scsi/targets/st.c
5050
if ((un->un_HeadClean & (TAPE_ALERT_SUPPORTED |
usr/src/uts/common/io/scsi/targets/st.c
5055
if (un->un_HeadClean & (TAPE_PREVIOUSLY_DIRTY |
usr/src/uts/common/io/scsi/targets/st.c
5064
un->un_status = 0; /* Reset status */
usr/src/uts/common/io/scsi/targets/st.c
5065
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
509
static int st_find_eod(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
511
static int st_uscsi_cmd(struct scsi_tape *un, struct uscsi_cmd *, int flag);
usr/src/uts/common/io/scsi/targets/st.c
5112
rval = st_get_error_entry(un, arg, flag);
usr/src/uts/common/io/scsi/targets/st.c
512
static int st_mtioctop(struct scsi_tape *un, intptr_t arg, int flag);
usr/src/uts/common/io/scsi/targets/st.c
513
static int st_mtiocltop(struct scsi_tape *un, intptr_t arg, int flag);
usr/src/uts/common/io/scsi/targets/st.c
5139
if (ddi_copyout(&un->un_mediastate, (void *)arg,
usr/src/uts/common/io/scsi/targets/st.c
514
static int st_do_mtioctop(struct scsi_tape *un, struct mtlop *mtop);
usr/src/uts/common/io/scsi/targets/st.c
515
static void st_start(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
516
static int st_handle_start_busy(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
5162
struct st_drivetype *stdt = un->un_dp;
usr/src/uts/common/io/scsi/targets/st.c
518
static int st_handle_intr_busy(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
520
static int st_handle_intr_retry_lcmd(struct scsi_tape *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/st.c
521
static void st_done_and_mutex_exit(struct scsi_tape *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/st.c
522
static void st_init(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
523
static void st_make_cmd(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
5262
st_turn_pe_on(un);
usr/src/uts/common/io/scsi/targets/st.c
5264
st_turn_pe_off(un);
usr/src/uts/common/io/scsi/targets/st.c
5269
un->un_persistence);
usr/src/uts/common/io/scsi/targets/st.c
5274
tmp = (int)un->un_persistence;
usr/src/uts/common/io/scsi/targets/st.c
528
static void st_set_state(struct scsi_tape *un, buf_t *bp);
usr/src/uts/common/io/scsi/targets/st.c
5281
un->un_persistence);
usr/src/uts/common/io/scsi/targets/st.c
5292
st_clear_pe(un);
usr/src/uts/common/io/scsi/targets/st.c
53
if ((bp != un->un_sbufp) && un->un_stats && IS_RW(bp)) { \
usr/src/uts/common/io/scsi/targets/st.c
531
static int st_cmd(struct scsi_tape *un, int com, int64_t count, int wait);
usr/src/uts/common/io/scsi/targets/st.c
5317
if (un->un_dp->options & ST_NO_RESERVE_RELEASE) {
usr/src/uts/common/io/scsi/targets/st.c
532
static int st_setup_cmd(struct scsi_tape *un, buf_t *bp, int com,
usr/src/uts/common/io/scsi/targets/st.c
5322
rval = st_reserve_release(un, ST_RESERVE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
5325
un->un_rsvd_status |= ST_PRESERVE_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
5338
if (un->un_dp->options & ST_NO_RESERVE_RELEASE) {
usr/src/uts/common/io/scsi/targets/st.c
534
static int st_set_compression(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5351
rval = st_reserve_release(un, ST_RELEASE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
5353
un->un_rsvd_status &= ~ST_PRESERVE_RESERVE;
usr/src/uts/common/io/scsi/targets/st.c
536
static int st_determine_generic(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5366
if (un->un_dp->options & ST_NO_RESERVE_RELEASE) {
usr/src/uts/common/io/scsi/targets/st.c
537
static int st_determine_density(struct scsi_tape *un, int rw);
usr/src/uts/common/io/scsi/targets/st.c
538
static int st_get_density(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5383
(void) st_reserve_release(un, ST_RESERVE, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
5385
rval = st_take_ownership(un, st_uscsi_cmd);
usr/src/uts/common/io/scsi/targets/st.c
539
static int st_set_density(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
540
static int st_loadtape(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5401
rval = st_uscsi_cmd(un, (struct uscsi_cmd *)arg, flag);
usr/src/uts/common/io/scsi/targets/st.c
5408
rval = st_mtioctop(un, arg, flag);
usr/src/uts/common/io/scsi/targets/st.c
541
static int st_modesense(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5414
rval = st_mtiocltop(un, arg, flag);
usr/src/uts/common/io/scsi/targets/st.c
542
static int st_modeselect(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5427
if (un->un_bsize) {
usr/src/uts/common/io/scsi/targets/st.c
543
static errstate st_handle_incomplete(struct scsi_tape *un, struct buf *bp);
usr/src/uts/common/io/scsi/targets/st.c
5434
un->un_dp->options &= ~ST_READ_IGNORE_ILI;
usr/src/uts/common/io/scsi/targets/st.c
5438
un->un_dp->options |= ST_READ_IGNORE_ILI;
usr/src/uts/common/io/scsi/targets/st.c
544
static int st_wrongtapetype(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
545
static errstate st_check_error(struct scsi_tape *un, struct scsi_pkt *pkt);
usr/src/uts/common/io/scsi/targets/st.c
5458
if (!(un->un_dp->options & ST_REEL)) {
usr/src/uts/common/io/scsi/targets/st.c
546
static errstate st_handle_sense(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
5465
un->un_dp->options &= ~ST_READ_IGNORE_EOFS;
usr/src/uts/common/io/scsi/targets/st.c
5469
un->un_dp->options |= ST_READ_IGNORE_EOFS;
usr/src/uts/common/io/scsi/targets/st.c
548
static errstate st_handle_autosense(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
5489
switch (un->un_dp->type) {
usr/src/uts/common/io/scsi/targets/st.c
5493
un->un_dp->options &= ~ST_SHORT_FILEMARKS;
usr/src/uts/common/io/scsi/targets/st.c
5495
un->un_dp->options |= ST_SHORT_FILEMARKS;
usr/src/uts/common/io/scsi/targets/st.c
550
static int st_get_error_entry(struct scsi_tape *un, intptr_t arg, int flag);
usr/src/uts/common/io/scsi/targets/st.c
5509
rval = st_update_block_pos(un, st_cmd, 0);
usr/src/uts/common/io/scsi/targets/st.c
551
static void st_update_error_stack(struct scsi_tape *un, struct scsi_pkt *pkt,
usr/src/uts/common/io/scsi/targets/st.c
5511
if (ddi_copyout((void *)&un->un_pos, (void *)arg,
usr/src/uts/common/io/scsi/targets/st.c
553
static void st_empty_error_stack(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5531
rval = st_validate_tapemarks(un, st_uscsi_cmd, &dest);
usr/src/uts/common/io/scsi/targets/st.c
554
static errstate st_decode_sense(struct scsi_tape *un, struct buf *bp, int amt,
usr/src/uts/common/io/scsi/targets/st.c
5544
if (!(un->un_persistence && un->un_persist_errors)) {
usr/src/uts/common/io/scsi/targets/st.c
5545
un->un_errno = rval;
usr/src/uts/common/io/scsi/targets/st.c
5558
st_mtioctop(struct scsi_tape *un, intptr_t arg, int flag)
usr/src/uts/common/io/scsi/targets/st.c
5605
rval = st_do_mtioctop(un, &local);
usr/src/uts/common/io/scsi/targets/st.c
562
static int st_gen_mode_sense(struct scsi_tape *un, ubufunc_t ubf, int page,
usr/src/uts/common/io/scsi/targets/st.c
564
static int st_change_block_size(struct scsi_tape *un, uint32_t nblksz);
usr/src/uts/common/io/scsi/targets/st.c
5649
"st_ioctl: fileno=%x, blkno=%x, eof=%x\n", un->un_pos.fileno,
usr/src/uts/common/io/scsi/targets/st.c
565
static int st_gen_mode_select(struct scsi_tape *un, ubufunc_t ubf,
usr/src/uts/common/io/scsi/targets/st.c
5650
un->un_pos.blkno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
5652
if (un->un_pos.pmode == invalid) {
usr/src/uts/common/io/scsi/targets/st.c
5653
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
5661
st_mtiocltop(struct scsi_tape *un, intptr_t arg, int flag)
usr/src/uts/common/io/scsi/targets/st.c
567
static int st_read_block_limits(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
5671
rval = st_do_mtioctop(un, &local);
usr/src/uts/common/io/scsi/targets/st.c
5681
st_do_mtioctop(struct scsi_tape *un, struct mtlop *mtop)
usr/src/uts/common/io/scsi/targets/st.c
5683
dev_t dev = un->un_dev;
usr/src/uts/common/io/scsi/targets/st.c
569
static int st_report_density_support(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
5693
un->un_pos.fileno, un->un_pos.blkno, un->un_pos.eof);
usr/src/uts/common/io/scsi/targets/st.c
5695
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
57
#define ST_DO_ERRSTATS(un, x) \
usr/src/uts/common/io/scsi/targets/st.c
5703
if (un->un_state == ST_STATE_OFFLINE) {
usr/src/uts/common/io/scsi/targets/st.c
571
static int st_report_supported_operation(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
5711
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
5714
un->un_state);
usr/src/uts/common/io/scsi/targets/st.c
5720
rval = st_tape_init(un);
usr/src/uts/common/io/scsi/targets/st.c
5722
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
5725
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
5726
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
573
static int st_tape_init(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5732
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
574
static void st_flush(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5742
if (un->un_pos.pmode == invalid) {
usr/src/uts/common/io/scsi/targets/st.c
575
static void st_set_pe_errno(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
576
static void st_hba_unflush(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
577
static void st_turn_pe_on(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
578
static void st_turn_pe_off(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5781
if (un->un_mspl->wp || un->un_read_only & WORM) {
usr/src/uts/common/io/scsi/targets/st.c
5782
un->un_status = KEY_WRITE_PROTECT;
usr/src/uts/common/io/scsi/targets/st.c
5783
un->un_err_resid = mtop->mt_count;
usr/src/uts/common/io/scsi/targets/st.c
5784
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
5787
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
5788
un->un_fmneeded = 2;
usr/src/uts/common/io/scsi/targets/st.c
579
static void st_set_pe_flag(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5790
un->un_fmneeded = 1;
usr/src/uts/common/io/scsi/targets/st.c
5794
st_cmd(un, SCMD_REWIND, 0, SYNC_CMD) ||
usr/src/uts/common/io/scsi/targets/st.c
5795
st_cmd(un, SCMD_ERASE, mtop->mt_count, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
5796
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
58
if (un->un_errstats) { \
usr/src/uts/common/io/scsi/targets/st.c
580
static void st_clear_pe(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5803
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
5804
(void) st_cmd(un, SCMD_REWIND, 0, ASYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
581
static void st_wait_for_io(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5813
if (un->un_mspl->wp || un->un_read_only & RDONLY) {
usr/src/uts/common/io/scsi/targets/st.c
5814
un->un_status = KEY_WRITE_PROTECT;
usr/src/uts/common/io/scsi/targets/st.c
5815
un->un_err_resid = mtop->mt_count;
usr/src/uts/common/io/scsi/targets/st.c
5816
COPY_POS(&un->un_err_pos, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
582
static int st_set_devconfig_page(struct scsi_tape *un, int compression_on);
usr/src/uts/common/io/scsi/targets/st.c
5829
if (un->un_read_only == RDWR) {
usr/src/uts/common/io/scsi/targets/st.c
583
static int st_set_datacomp_page(struct scsi_tape *un, int compression_on);
usr/src/uts/common/io/scsi/targets/st.c
5830
un->un_test_append = 1;
usr/src/uts/common/io/scsi/targets/st.c
5833
if (un->un_state == ST_STATE_OPEN_PENDING_IO) {
usr/src/uts/common/io/scsi/targets/st.c
5834
if (st_determine_density(un, B_WRITE)) {
usr/src/uts/common/io/scsi/targets/st.c
584
static int st_reserve_release(struct scsi_tape *un, int command, ubufunc_t ubf);
usr/src/uts/common/io/scsi/targets/st.c
585
static int st_check_cdb_for_need_to_reserve(struct scsi_tape *un, uchar_t *cdb);
usr/src/uts/common/io/scsi/targets/st.c
586
static int st_check_cmd_for_need_to_reserve(struct scsi_tape *un, uchar_t cmd,
usr/src/uts/common/io/scsi/targets/st.c
5860
st_cmd(un, SCMD_LOAD, LD_LOAD | LD_RETEN, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
5861
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
5878
if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
588
static int st_take_ownership(struct scsi_tape *un, ubufunc_t ubf);
usr/src/uts/common/io/scsi/targets/st.c
589
static int st_check_asc_ascq(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5896
(void) st_cmd(un, SCMD_REWIND, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
5897
if (st_cmd(un, SCMD_LOAD, LD_UNLOAD, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
590
static int st_check_clean_bit(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5902
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
5903
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
5904
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
5905
un->un_mediastate = MTIO_EJECTED;
usr/src/uts/common/io/scsi/targets/st.c
591
static int st_check_alert_flags(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
592
static int st_check_sequential_clean_bit(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5922
if (un->un_state > ST_STATE_INITIALIZING) {
usr/src/uts/common/io/scsi/targets/st.c
5925
rval = st_cmd(un, SCMD_LOAD, LD_LOAD, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
5928
((un->un_status == KEY_NOT_READY) &&
usr/src/uts/common/io/scsi/targets/st.c
593
static int st_check_sense_clean_bit(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5930
(un->un_uscsi_rqs_buf->es_add_code == 0x3a) ||
usr/src/uts/common/io/scsi/targets/st.c
5931
((un->un_status == KEY_ILLEGAL_REQUEST) &&
usr/src/uts/common/io/scsi/targets/st.c
5932
(un->un_dp->type == MT_ISSTK9840) &&
usr/src/uts/common/io/scsi/targets/st.c
5934
(un->un_uscsi_rqs_buf->es_add_code == 0x80)))) {
usr/src/uts/common/io/scsi/targets/st.c
5947
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
595
static void st_calculate_timeouts(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5955
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
5957
rval = st_tape_init(un);
usr/src/uts/common/io/scsi/targets/st.c
5958
if ((rval == EACCES) && (un->un_read_only & WORM)) {
usr/src/uts/common/io/scsi/targets/st.c
596
static writablity st_is_drive_worm(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
5968
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
597
static int st_read_attributes(struct scsi_tape *un, uint16_t attribute,
usr/src/uts/common/io/scsi/targets/st.c
5974
un->un_status = 0; /* Reset status */
usr/src/uts/common/io/scsi/targets/st.c
5975
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
5986
if ((un->un_pos.pmode == legacy && un->un_pos.eof >= ST_EOT) ||
usr/src/uts/common/io/scsi/targets/st.c
5987
(un->un_lastop == ST_OP_WRITE) ||
usr/src/uts/common/io/scsi/targets/st.c
5988
(un->un_lastop == ST_OP_WEOF)) {
usr/src/uts/common/io/scsi/targets/st.c
599
static int st_get_special_inquiry(struct scsi_tape *un, uchar_t size,
usr/src/uts/common/io/scsi/targets/st.c
60
stp = (struct st_errstats *)un->un_errstats->ks_data; \
usr/src/uts/common/io/scsi/targets/st.c
6007
if (IN_EOF(un->un_pos)) {
usr/src/uts/common/io/scsi/targets/st.c
6008
un->un_pos.fileno++;
usr/src/uts/common/io/scsi/targets/st.c
6009
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
601
static int st_update_block_pos(struct scsi_tape *un, bufunc_t bf,
usr/src/uts/common/io/scsi/targets/st.c
6022
savefile = st_find_eod(un);
usr/src/uts/common/io/scsi/targets/st.c
6024
if ((un->un_status != KEY_BLANK_CHECK) &&
usr/src/uts/common/io/scsi/targets/st.c
6025
(un->un_status != SUN_KEY_EOT)) {
usr/src/uts/common/io/scsi/targets/st.c
6026
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
603
static int st_interpret_read_pos(struct scsi_tape const *un, tapepos_t *dest,
usr/src/uts/common/io/scsi/targets/st.c
6036
if (un->un_dp->options & ST_REEL) {
usr/src/uts/common/io/scsi/targets/st.c
6037
if (st_cmd(un, SCMD_SPACE, Fmk(-1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
6038
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
6049
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
605
static int st_get_read_pos(struct scsi_tape *un, buf_t *bp);
usr/src/uts/common/io/scsi/targets/st.c
6050
un->un_err_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
6052
un->un_err_resid = 0;
usr/src/uts/common/io/scsi/targets/st.c
6053
un->un_pos.fileno = savefile;
usr/src/uts/common/io/scsi/targets/st.c
6054
un->un_pos.eof = ST_EOT;
usr/src/uts/common/io/scsi/targets/st.c
6056
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
606
static int st_logical_block_locate(struct scsi_tape *un, ubufunc_t ubf,
usr/src/uts/common/io/scsi/targets/st.c
6061
rval = st_mtfsf_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
6066
rval = st_mtfsr_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
6071
rval = st_mtbsf_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
6076
rval = st_mtnbsf_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
608
static int st_mtfsf_ioctl(struct scsi_tape *un, int64_t files);
usr/src/uts/common/io/scsi/targets/st.c
6081
rval = st_mtbsr_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
6086
rval = st_mtbsfm_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
609
static int st_mtfsr_ioctl(struct scsi_tape *un, int64_t count);
usr/src/uts/common/io/scsi/targets/st.c
6091
rval = st_mtfsfm_ioctl(un, mtop->mt_count);
usr/src/uts/common/io/scsi/targets/st.c
610
static int st_mtbsf_ioctl(struct scsi_tape *un, int64_t files);
usr/src/uts/common/io/scsi/targets/st.c
6104
((un->un_dp->options & ST_VARIABLE) == 0)) {
usr/src/uts/common/io/scsi/targets/st.c
611
static int st_mtnbsf_ioctl(struct scsi_tape *un, int64_t count);
usr/src/uts/common/io/scsi/targets/st.c
6113
(mtop->mt_count < un->un_minbsize)) {
usr/src/uts/common/io/scsi/targets/st.c
6118
if ((mtop->mt_count > min(un->un_maxbsize, un->un_maxdma)) &&
usr/src/uts/common/io/scsi/targets/st.c
6119
(un->un_maxbsize != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
612
static int st_mtbsr_ioctl(struct scsi_tape *un, int64_t num);
usr/src/uts/common/io/scsi/targets/st.c
6124
if ((mtop->mt_count % un->un_data_mod) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
6128
if (st_change_block_size(un, (uint32_t)mtop->mt_count) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
613
static int st_mtfsfm_ioctl(struct scsi_tape *un, int64_t cnt);
usr/src/uts/common/io/scsi/targets/st.c
614
static int st_mtbsfm_ioctl(struct scsi_tape *un, int64_t cnt);
usr/src/uts/common/io/scsi/targets/st.c
6140
mtop->mt_count = un->un_bsize;
usr/src/uts/common/io/scsi/targets/st.c
6145
rval = st_update_block_pos(un, st_cmd, 0);
usr/src/uts/common/io/scsi/targets/st.c
6146
mtop->mt_count = un->un_pos.lgclblkno;
usr/src/uts/common/io/scsi/targets/st.c
615
static int st_backward_space_files(struct scsi_tape *un, int64_t count,
usr/src/uts/common/io/scsi/targets/st.c
6150
rval = st_logical_block_locate(un, st_uscsi_cmd, &un->un_pos,
usr/src/uts/common/io/scsi/targets/st.c
6151
(uint64_t)mtop->mt_count, un->un_pos.partition);
usr/src/uts/common/io/scsi/targets/st.c
6158
if ((uint64_t)mtop->mt_count != un->un_pos.lgclblkno) {
usr/src/uts/common/io/scsi/targets/st.c
6160
mtop->mt_count = un->un_pos.lgclblkno;
usr/src/uts/common/io/scsi/targets/st.c
6166
if (st_cmd(un, SCMD_DOORLOCK, MR_LOCK, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
617
static int st_forward_space_files(struct scsi_tape *un, int64_t files);
usr/src/uts/common/io/scsi/targets/st.c
6174
if (st_cmd(un, SCMD_DOORLOCK, MR_UNLOCK, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
618
static int st_scenic_route_to_begining_of_file(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
6193
st_uscsi_cmd(struct scsi_tape *un, struct uscsi_cmd *ucmd, int flag)
usr/src/uts/common/io/scsi/targets/st.c
620
static int st_space_to_begining_of_file(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
6200
dev_t dev = un->un_dev;
usr/src/uts/common/io/scsi/targets/st.c
6205
"st_uscsi_cmd(dev = 0x%lx)\n", un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
621
static int st_space_records(struct scsi_tape *un, int64_t records);
usr/src/uts/common/io/scsi/targets/st.c
622
static int st_get_media_identification(struct scsi_tape *un, ubufunc_t bufunc);
usr/src/uts/common/io/scsi/targets/st.c
6224
if (un->un_state == ST_STATE_OFFLINE) {
usr/src/uts/common/io/scsi/targets/st.c
6225
un->un_laststate = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
6226
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
623
static errstate st_command_recovery(struct scsi_tape *un, struct scsi_pkt *pkt,
usr/src/uts/common/io/scsi/targets/st.c
6243
err = st_check_cdb_for_need_to_reserve(un,
usr/src/uts/common/io/scsi/targets/st.c
6254
(void) st_update_block_pos(un, st_cmd, 0);
usr/src/uts/common/io/scsi/targets/st.c
6261
ASSERT(un->un_recov_buf_busy == 0);
usr/src/uts/common/io/scsi/targets/st.c
6266
while (un->un_sbuf_busy)
usr/src/uts/common/io/scsi/targets/st.c
6267
cv_wait(&un->un_sbuf_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
6268
un->un_sbuf_busy = 1;
usr/src/uts/common/io/scsi/targets/st.c
627
static int st_rcmd(struct scsi_tape *un, int com, int64_t count, int wait);
usr/src/uts/common/io/scsi/targets/st.c
628
static int st_uscsi_rcmd(struct scsi_tape *un, struct uscsi_cmd *ucmd,
usr/src/uts/common/io/scsi/targets/st.c
6293
un->un_srqbufp = uscmd->uscsi_rqbuf;
usr/src/uts/common/io/scsi/targets/st.c
6294
bp = un->un_sbufp;
usr/src/uts/common/io/scsi/targets/st.c
630
static void st_add_recovery_info_to_pkt(struct scsi_tape *un, buf_t *bp,
usr/src/uts/common/io/scsi/targets/st.c
6310
un->un_fmneeded = 0;
usr/src/uts/common/io/scsi/targets/st.c
6317
un->un_sbuf_busy = 0;
usr/src/uts/common/io/scsi/targets/st.c
6318
un->un_srqbufp = NULL;
usr/src/uts/common/io/scsi/targets/st.c
632
static int st_check_mode_for_change(struct scsi_tape *un, ubufunc_t ubf);
usr/src/uts/common/io/scsi/targets/st.c
6329
(un->un_pos.pmode != invalid)) {
usr/src/uts/common/io/scsi/targets/st.c
633
static int st_test_path_to_device(struct scsi_tape *un);
usr/src/uts/common/io/scsi/targets/st.c
6330
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
6331
(void) st_update_block_pos(un, st_cmd, 1);
usr/src/uts/common/io/scsi/targets/st.c
6336
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
6338
cv_signal(&un->un_sbuf_cv);
usr/src/uts/common/io/scsi/targets/st.c
634
static int st_recovery_read_pos(struct scsi_tape *un, read_p_types type,
usr/src/uts/common/io/scsi/targets/st.c
6348
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
636
static int st_recovery_get_position(struct scsi_tape *un, tapepos_t *read,
usr/src/uts/common/io/scsi/targets/st.c
6373
if (un->un_pos.eof >= ST_EOT) {
usr/src/uts/common/io/scsi/targets/st.c
6375
rval = st_cmd(un, SCMD_WRITE_FILE_MARK, 1, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
638
static int st_compare_expected_position(struct scsi_tape *un, st_err_info *ei,
usr/src/uts/common/io/scsi/targets/st.c
6386
rval = st_cmd(un, SCMD_WRITE_FILE_MARK, wfm, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
6403
st_start_dump(struct scsi_tape *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/st.c
642
static int st_transport(struct scsi_tape *un, struct scsi_pkt *pkt);
usr/src/uts/common/io/scsi/targets/st.c
6420
un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
6444
st_start(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
645
static int st_reset(struct scsi_tape *un, int reset_type);
usr/src/uts/common/io/scsi/targets/st.c
6454
"st_start(): dev = 0x%lx\n", un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
6456
if (un->un_recov_buf_busy) {
usr/src/uts/common/io/scsi/targets/st.c
6458
bp = un->un_recov_buf;
usr/src/uts/common/io/scsi/targets/st.c
6460
} else if (un->un_sbuf_busy) {
usr/src/uts/common/io/scsi/targets/st.c
6462
ASSERT(un->un_quef == NULL);
usr/src/uts/common/io/scsi/targets/st.c
6463
ASSERT(un->un_runqf == NULL);
usr/src/uts/common/io/scsi/targets/st.c
6464
bp = un->un_sbufp;
usr/src/uts/common/io/scsi/targets/st.c
6466
} else if (un->un_quef != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
6467
if (un->un_persistence && un->un_persist_errors) {
usr/src/uts/common/io/scsi/targets/st.c
6470
bp = un->un_quef;
usr/src/uts/common/io/scsi/targets/st.c
6483
if ((un->un_throttle <= 0) || (un->un_ncmds >= un->un_throttle)) {
usr/src/uts/common/io/scsi/targets/st.c
6487
if (bp != un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
649
static int st_set_target_TLR_mode(struct scsi_tape *un, ubufunc_t ubf);
usr/src/uts/common/io/scsi/targets/st.c
6490
un->un_throttle, un->un_ncmds);
usr/src/uts/common/io/scsi/targets/st.c
6491
if (un->un_ncmds == 0) {
usr/src/uts/common/io/scsi/targets/st.c
6498
(void) timeout(fnc, un, drv_usectohz(1000000));
usr/src/uts/common/io/scsi/targets/st.c
650
static int st_make_sure_mode_data_is_correct(struct scsi_tape *un,
usr/src/uts/common/io/scsi/targets/st.c
6511
st_make_cmd(un, bp, st_runout);
usr/src/uts/common/io/scsi/targets/st.c
6545
if (un->un_state != ST_STATE_RESOURCE_WAIT) {
usr/src/uts/common/io/scsi/targets/st.c
6546
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
6547
un->un_state = ST_STATE_RESOURCE_WAIT;
usr/src/uts/common/io/scsi/targets/st.c
6554
if (un->un_persistence) {
usr/src/uts/common/io/scsi/targets/st.c
6555
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
6561
if (un->un_state == ST_STATE_RESOURCE_WAIT) {
usr/src/uts/common/io/scsi/targets/st.c
6562
un->un_state = un->un_laststate;
usr/src/uts/common/io/scsi/targets/st.c
657
static void st_release_contig_mem(struct scsi_tape *un, struct contig_mem *cp);
usr/src/uts/common/io/scsi/targets/st.c
6573
if (un->un_state == ST_STATE_RESOURCE_WAIT) {
usr/src/uts/common/io/scsi/targets/st.c
6574
un->un_state = un->un_laststate;
usr/src/uts/common/io/scsi/targets/st.c
658
static struct contig_mem *st_get_contig_mem(struct scsi_tape *un, size_t len,
usr/src/uts/common/io/scsi/targets/st.c
6582
(void) st_remove_from_queue(&un->un_quef, &un->un_quel, bp);
usr/src/uts/common/io/scsi/targets/st.c
6583
st_add_to_queue(&un->un_runqf, &un->un_runql, un->un_runql, bp);
usr/src/uts/common/io/scsi/targets/st.c
6588
st_start_dump(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
6592
un->un_last_throttle = un->un_throttle;
usr/src/uts/common/io/scsi/targets/st.c
6593
un->un_throttle = 0; /* so nothing else will come in here */
usr/src/uts/common/io/scsi/targets/st.c
6594
un->un_ncmds++;
usr/src/uts/common/io/scsi/targets/st.c
6598
status = st_transport(un, BP_PKT(bp));
usr/src/uts/common/io/scsi/targets/st.c
6600
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
6601
un->un_throttle = un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
6617
bp != un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
6620
if (st_command_recovery(un, BP_PKT(bp),
usr/src/uts/common/io/scsi/targets/st.c
6626
if (st_handle_start_busy(un, bp,
usr/src/uts/common/io/scsi/targets/st.c
6642
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
6643
if ((bp == un->un_recov_buf) && (status == TRAN_BUSY)) {
usr/src/uts/common/io/scsi/targets/st.c
6647
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
6649
st_done_and_mutex_exit(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
6660
st_handle_start_busy(struct scsi_tape *un, struct buf *bp,
usr/src/uts/common/io/scsi/targets/st.c
6679
((queued) && (un->un_runql != bp))) {
usr/src/uts/common/io/scsi/targets/st.c
6686
st_add_to_queue(&un->un_quef, &un->un_quel, un->un_quef, bp);
usr/src/uts/common/io/scsi/targets/st.c
6693
un->un_ncmds--;
usr/src/uts/common/io/scsi/targets/st.c
670
static int st_validate_tapemarks(struct scsi_tape *un, ubufunc_t ubf,
usr/src/uts/common/io/scsi/targets/st.c
6701
(void) st_remove_from_queue(&un->un_runqf, &un->un_runql, bp);
usr/src/uts/common/io/scsi/targets/st.c
6706
st_hba_unflush(un);
usr/src/uts/common/io/scsi/targets/st.c
6714
(void) timeout(st_start_restart, un, timeout_interval);
usr/src/uts/common/io/scsi/targets/st.c
6727
struct scsi_tape *un = (struct scsi_tape *)arg;
usr/src/uts/common/io/scsi/targets/st.c
6731
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
6739
if (un->un_recov_buf_busy != 0) {
usr/src/uts/common/io/scsi/targets/st.c
674
static void st_debug_cmds(struct scsi_tape *un, int com, int count, int wait);
usr/src/uts/common/io/scsi/targets/st.c
6740
bp = un->un_recov_buf;
usr/src/uts/common/io/scsi/targets/st.c
6742
} else if (un->un_sbuf_busy != 0) {
usr/src/uts/common/io/scsi/targets/st.c
6744
ASSERT(un->un_quef == NULL);
usr/src/uts/common/io/scsi/targets/st.c
6745
ASSERT(un->un_runqf == NULL);
usr/src/uts/common/io/scsi/targets/st.c
6746
bp = un->un_sbufp;
usr/src/uts/common/io/scsi/targets/st.c
6748
} else if (un->un_quef != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
6749
bp = un->un_quef;
usr/src/uts/common/io/scsi/targets/st.c
6750
if (un->un_persistence && un->un_persist_errors) {
usr/src/uts/common/io/scsi/targets/st.c
6774
(void) st_remove_from_queue(&un->un_quef, &un->un_quel,
usr/src/uts/common/io/scsi/targets/st.c
6790
st_start(un);
usr/src/uts/common/io/scsi/targets/st.c
6816
st_done_and_mutex_exit(struct scsi_tape *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/st.c
6822
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
6824
_NOTE(LOCK_RELEASED_AS_SIDE_EFFECT(&un->un_sd->sd_mutex))
usr/src/uts/common/io/scsi/targets/st.c
6831
(void) st_remove_from_queue(&un->un_runqf, &un->un_runql, bp);
usr/src/uts/common/io/scsi/targets/st.c
6833
un->un_ncmds--;
usr/src/uts/common/io/scsi/targets/st.c
6834
cv_signal(&un->un_queue_cv);
usr/src/uts/common/io/scsi/targets/st.c
6845
if (un->un_stats && (bp != un->un_sbufp) && IS_RW(bp)) {
usr/src/uts/common/io/scsi/targets/st.c
6862
if ((pe_flagged = (un->un_persistence && un->un_persist_errors)) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
6863
un->un_last_resid = bp->b_resid;
usr/src/uts/common/io/scsi/targets/st.c
6864
un->un_last_count = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
6867
if (un->un_pwr_mgmt == ST_PWR_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/st.c
6868
cv_broadcast(&un->un_tape_busy_cv);
usr/src/uts/common/io/scsi/targets/st.c
6869
} else if (un->un_quef && un->un_throttle && !pe_flagged &&
usr/src/uts/common/io/scsi/targets/st.c
6870
(bp != un->un_recov_buf)) {
usr/src/uts/common/io/scsi/targets/st.c
6871
st_start(un);
usr/src/uts/common/io/scsi/targets/st.c
6874
un->un_retry_ct = max(pktinfo->pkt_retry_cnt, pktinfo->str_retry_cnt);
usr/src/uts/common/io/scsi/targets/st.c
6876
if (bp == un->un_sbufp && (bp->b_flags & B_ASYNC)) {
usr/src/uts/common/io/scsi/targets/st.c
6893
un->un_sbuf_busy = 0;
usr/src/uts/common/io/scsi/targets/st.c
6894
cv_signal(&un->un_sbuf_cv);
usr/src/uts/common/io/scsi/targets/st.c
6899
if (bp == un->un_sbufp && BP_UCMD(bp)) {
usr/src/uts/common/io/scsi/targets/st.c
6910
(((un->un_pos.blkno % 100) == 0) ||
usr/src/uts/common/io/scsi/targets/st.c
6911
(un->un_persistence && un->un_persist_errors))) {
usr/src/uts/common/io/scsi/targets/st.c
6916
un->un_ncmds, un->un_throttle, un->un_errno,
usr/src/uts/common/io/scsi/targets/st.c
6917
un->un_persist_errors);
usr/src/uts/common/io/scsi/targets/st.c
6937
st_flush(un);
usr/src/uts/common/io/scsi/targets/st.c
6945
st_flush(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
6955
un->un_ncmds, (void *)un->un_quef);
usr/src/uts/common/io/scsi/targets/st.c
6961
if (un->un_ncmds || !un->un_quef)
usr/src/uts/common/io/scsi/targets/st.c
6972
while ((bp = un->un_quef) != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
6973
un->un_quef = bp->b_actf;
usr/src/uts/common/io/scsi/targets/st.c
6979
un->un_pos.blkno, un->un_errno, bp->b_bcount);
usr/src/uts/common/io/scsi/targets/st.c
6981
st_set_pe_errno(un);
usr/src/uts/common/io/scsi/targets/st.c
6983
bioerror(bp, un->un_errno);
usr/src/uts/common/io/scsi/targets/st.c
6998
un->un_quel = NULL;
usr/src/uts/common/io/scsi/targets/st.c
7002
cv_signal(&un->un_queue_cv);
usr/src/uts/common/io/scsi/targets/st.c
7011
st_determine_generic(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
7020
"st_determine_generic(un = 0x%p)\n", (void*)un);
usr/src/uts/common/io/scsi/targets/st.c
7024
if (st_modesense(un)) {
usr/src/uts/common/io/scsi/targets/st.c
7028
bsize = (un->un_mspl->high_bl << 16) |
usr/src/uts/common/io/scsi/targets/st.c
7029
(un->un_mspl->mid_bl << 8) |
usr/src/uts/common/io/scsi/targets/st.c
7030
(un->un_mspl->low_bl);
usr/src/uts/common/io/scsi/targets/st.c
7033
un->un_dp->options |= ST_VARIABLE;
usr/src/uts/common/io/scsi/targets/st.c
7034
un->un_dp->bsize = 0;
usr/src/uts/common/io/scsi/targets/st.c
7035
un->un_bsize = 0;
usr/src/uts/common/io/scsi/targets/st.c
7042
un->un_dp->options |= ST_VARIABLE;
usr/src/uts/common/io/scsi/targets/st.c
7043
if (st_change_block_size(un, 0) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
7048
un->un_dp->options &= ~ST_VARIABLE;
usr/src/uts/common/io/scsi/targets/st.c
7051
} else if (st_change_block_size(un, 0) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
7057
un->un_dp->options |= ST_VARIABLE;
usr/src/uts/common/io/scsi/targets/st.c
7058
un->un_dp->bsize = 0;
usr/src/uts/common/io/scsi/targets/st.c
7059
un->un_bsize = 0;
usr/src/uts/common/io/scsi/targets/st.c
7061
un->un_dp->bsize = bsize;
usr/src/uts/common/io/scsi/targets/st.c
7062
un->un_bsize = bsize;
usr/src/uts/common/io/scsi/targets/st.c
7066
switch (un->un_mspl->density) {
usr/src/uts/common/io/scsi/targets/st.c
7074
un->un_dp->type = ST_TYPE_DEFAULT;
usr/src/uts/common/io/scsi/targets/st.c
7075
un->un_dp->options |= (ST_AUTODEN_OVERRIDE|ST_QIC);
usr/src/uts/common/io/scsi/targets/st.c
7085
un->un_dp->type = ST_TYPE_REEL;
usr/src/uts/common/io/scsi/targets/st.c
7086
un->un_dp->options |= ST_REEL;
usr/src/uts/common/io/scsi/targets/st.c
7087
un->un_dp->densities[0] = 0x1;
usr/src/uts/common/io/scsi/targets/st.c
7088
un->un_dp->densities[1] = 0x2;
usr/src/uts/common/io/scsi/targets/st.c
7089
un->un_dp->densities[2] = 0x6;
usr/src/uts/common/io/scsi/targets/st.c
7090
un->un_dp->densities[3] = 0x3;
usr/src/uts/common/io/scsi/targets/st.c
7101
un->un_dp->type = ST_TYPE_DEFAULT;
usr/src/uts/common/io/scsi/targets/st.c
7102
un->un_dp->options |= ST_QIC;
usr/src/uts/common/io/scsi/targets/st.c
7104
un->un_dp->densities[1] = 0x4;
usr/src/uts/common/io/scsi/targets/st.c
7105
un->un_dp->densities[2] = 0x5;
usr/src/uts/common/io/scsi/targets/st.c
7106
un->un_dp->densities[3] = 0x7;
usr/src/uts/common/io/scsi/targets/st.c
7107
un->un_dp->densities[0] = 0x0b;
usr/src/uts/common/io/scsi/targets/st.c
7118
un->un_dp->type = ST_TYPE_DEFAULT;
usr/src/uts/common/io/scsi/targets/st.c
7119
un->un_dp->options |= ST_QIC;
usr/src/uts/common/io/scsi/targets/st.c
7120
un->un_dp->densities[0] = 0x0f;
usr/src/uts/common/io/scsi/targets/st.c
7121
un->un_dp->densities[1] = 0x10;
usr/src/uts/common/io/scsi/targets/st.c
7122
un->un_dp->densities[2] = 0x11;
usr/src/uts/common/io/scsi/targets/st.c
7123
un->un_dp->densities[3] = 0x12;
usr/src/uts/common/io/scsi/targets/st.c
7136
un->un_dp->type = ST_TYPE_HIC;
usr/src/uts/common/io/scsi/targets/st.c
7137
un->un_dp->densities[0] = 0x09;
usr/src/uts/common/io/scsi/targets/st.c
7138
un->un_dp->densities[1] = 0x0a;
usr/src/uts/common/io/scsi/targets/st.c
7139
un->un_dp->densities[2] = 0x0c;
usr/src/uts/common/io/scsi/targets/st.c
7140
un->un_dp->densities[3] = 0x0d;
usr/src/uts/common/io/scsi/targets/st.c
7149
un->un_dp->type = ST_TYPE_DAT;
usr/src/uts/common/io/scsi/targets/st.c
7150
un->un_dp->options |= ST_AUTODEN_OVERRIDE;
usr/src/uts/common/io/scsi/targets/st.c
7158
un->un_dp->type = ST_TYPE_EXABYTE;
usr/src/uts/common/io/scsi/targets/st.c
7159
un->un_dp->options |= ST_AUTODEN_OVERRIDE;
usr/src/uts/common/io/scsi/targets/st.c
7167
un->un_dp->options |=
usr/src/uts/common/io/scsi/targets/st.c
7173
if (un->un_mspl->bufm == 0)
usr/src/uts/common/io/scsi/targets/st.c
7174
un->un_dp->options |= ST_NOBUF;
usr/src/uts/common/io/scsi/targets/st.c
7180
un->un_dp->max_rretries = un->un_dp->max_wretries = 1000;
usr/src/uts/common/io/scsi/targets/st.c
7188
if ((un->un_dp->options & ST_REEL) && un->un_bsize != 0 &&
usr/src/uts/common/io/scsi/targets/st.c
7189
(un->un_dp->options & ST_VARIABLE)) {
usr/src/uts/common/io/scsi/targets/st.c
7190
if (st_change_block_size(un, 0) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
7191
un->un_dp->bsize = 0;
usr/src/uts/common/io/scsi/targets/st.c
7192
un->un_mspl->high_bl = un->un_mspl->mid_bl =
usr/src/uts/common/io/scsi/targets/st.c
7193
un->un_mspl->low_bl = 0;
usr/src/uts/common/io/scsi/targets/st.c
7201
"Generic Drive, Vendor=%s\n\t%s", un->un_dp->name,
usr/src/uts/common/io/scsi/targets/st.c
7203
if (un->un_dp->options & ST_VARIABLE) {
usr/src/uts/common/io/scsi/targets/st.c
7209
un->un_dp->bsize);
usr/src/uts/common/io/scsi/targets/st.c
7216
st_determine_density(struct scsi_tape *un, int rw)
usr/src/uts/common/io/scsi/targets/st.c
7224
(void*)un, (rw == B_WRITE ? wr_str: rd_str));
usr/src/uts/common/io/scsi/targets/st.c
7231
if (un->un_pos.pmode == logical) {
usr/src/uts/common/io/scsi/targets/st.c
7232
if (un->un_pos.lgclblkno != 0) {
usr/src/uts/common/io/scsi/targets/st.c
7235
} else if (un->un_pos.pmode == legacy) {
usr/src/uts/common/io/scsi/targets/st.c
7236
if ((un->un_pos.fileno != 0) || (un->un_pos.blkno != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
7246
if ((un->un_pos.pmode == logical) &&
usr/src/uts/common/io/scsi/targets/st.c
7247
(un->un_pos.lgclblkno != 0)) {
usr/src/uts/common/io/scsi/targets/st.c
7257
un->un_curdens = MT_DENSITY(un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
7258
if (st_set_density(un)) {
usr/src/uts/common/io/scsi/targets/st.c
7268
if (!un->un_density_known) {
usr/src/uts/common/io/scsi/targets/st.c
7269
if (st_get_density(un)) {
usr/src/uts/common/io/scsi/targets/st.c
7287
st_get_density(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
7296
"st_get_density(un = 0x%p)\n", (void*)un);
usr/src/uts/common/io/scsi/targets/st.c
7319
if ((un->un_dp->options & ST_AUTODEN_OVERRIDE) ||
usr/src/uts/common/io/scsi/targets/st.c
7320
(un->un_sd->sd_inq->inq_ansi > 1)) {
usr/src/uts/common/io/scsi/targets/st.c
7321
un->un_density_known = 1;
usr/src/uts/common/io/scsi/targets/st.c
7331
size = (unsigned)(un->un_dp->bsize ? un->un_dp->bsize : SECSIZE);
usr/src/uts/common/io/scsi/targets/st.c
7332
un->un_tmpbuf = kmem_alloc(size, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
7338
dens = olddens = un->un_curdens = MT_DENSITY(un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
7340
for (i = 0; i < NDENSITIES; i++, ((un->un_curdens == NDENSITIES - 1) ?
usr/src/uts/common/io/scsi/targets/st.c
7341
(un->un_curdens = 0) : (un->un_curdens += 1))) {
usr/src/uts/common/io/scsi/targets/st.c
7346
dens = un->un_dp->densities[un->un_curdens];
usr/src/uts/common/io/scsi/targets/st.c
7352
if (st_set_density(un)) {
usr/src/uts/common/io/scsi/targets/st.c
7360
succes = (st_cmd(un, SCMD_READ, (int)size, SYNC_CMD) == 0);
usr/src/uts/common/io/scsi/targets/st.c
7361
if (st_cmd(un, SCMD_REWIND, 0, SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
7365
st_init(un);
usr/src/uts/common/io/scsi/targets/st.c
7367
un->un_density_known = 1;
usr/src/uts/common/io/scsi/targets/st.c
7371
kmem_free(un->un_tmpbuf, size);
usr/src/uts/common/io/scsi/targets/st.c
7372
un->un_tmpbuf = 0;
usr/src/uts/common/io/scsi/targets/st.c
7380
st_set_density(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
7387
"st_set_density(un = 0x%p): density = 0x%x\n", (void*)un,
usr/src/uts/common/io/scsi/targets/st.c
7388
un->un_dp->densities[un->un_curdens]);
usr/src/uts/common/io/scsi/targets/st.c
7392
un->un_mspl->density = un->un_dp->densities[un->un_curdens];
usr/src/uts/common/io/scsi/targets/st.c
7394
if ((un->un_dp->options & ST_AUTODEN_OVERRIDE) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
7399
if (st_modeselect(un)) {
usr/src/uts/common/io/scsi/targets/st.c
7402
} else if ((un->un_dp->options & ST_MODE_SEL_COMP) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
7409
rval = st_set_compression(un);
usr/src/uts/common/io/scsi/targets/st.c
7419
un->un_density_known = 1;
usr/src/uts/common/io/scsi/targets/st.c
7427
st_loadtape(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
7434
"st_loadtape(un = 0x%p)\n", (void*) un);
usr/src/uts/common/io/scsi/targets/st.c
7438
rval = st_update_block_pos(un, st_cmd, 0);
usr/src/uts/common/io/scsi/targets/st.c
7446
rval = st_cmd(un, SCMD_REWIND, 1, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
7448
st_init(un);
usr/src/uts/common/io/scsi/targets/st.c
7449
un->un_density_known = 0;
usr/src/uts/common/io/scsi/targets/st.c
7475
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
7479
un = ddi_get_soft_state(st_state, MTUNIT(dev));
usr/src/uts/common/io/scsi/targets/st.c
7486
"st_test_append(): fileno %d\n", un->un_pos.fileno);
usr/src/uts/common/io/scsi/targets/st.c
7488
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
7489
un->un_state = ST_STATE_APPEND_TESTING;
usr/src/uts/common/io/scsi/targets/st.c
7490
un->un_test_append = 0;
usr/src/uts/common/io/scsi/targets/st.c
7501
un->un_tmpbuf = kmem_alloc((unsigned)bp->b_bcount, KM_SLEEP);
usr/src/uts/common/io/scsi/targets/st.c
7502
bcopy(bp->b_un.b_addr, un->un_tmpbuf, (uint_t)bp->b_bcount);
usr/src/uts/common/io/scsi/targets/st.c
7508
if (st_cmd(un, (int)SCMD_WRITE, (int)bp->b_bcount, SYNC_CMD) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
7512
bp->b_resid = un->un_sbufp->b_resid;
usr/src/uts/common/io/scsi/targets/st.c
7517
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
7518
un->un_state = ST_STATE_OPEN;
usr/src/uts/common/io/scsi/targets/st.c
7519
kmem_free(un->un_tmpbuf, bcount);
usr/src/uts/common/io/scsi/targets/st.c
7520
un->un_tmpbuf = NULL;
usr/src/uts/common/io/scsi/targets/st.c
7533
status = un->un_status;
usr/src/uts/common/io/scsi/targets/st.c
7534
un->un_status = 0;
usr/src/uts/common/io/scsi/targets/st.c
7535
(void) st_cmd(un, SCMD_READ, SECSIZE, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
7536
if (un->un_status == KEY_BLANK_CHECK) {
usr/src/uts/common/io/scsi/targets/st.c
7544
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
7545
un->un_state = ST_STATE_OPEN;
usr/src/uts/common/io/scsi/targets/st.c
7546
bcopy(bp->b_un.b_addr, un->un_tmpbuf, (uint_t)bp->b_bcount);
usr/src/uts/common/io/scsi/targets/st.c
7547
if (st_cmd(un, (int)SCMD_WRITE, (int)bp->b_bcount,
usr/src/uts/common/io/scsi/targets/st.c
7564
if (st_cmd(un, SCMD_SPACE, Blk(-1), SYNC_CMD)) {
usr/src/uts/common/io/scsi/targets/st.c
7565
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
7568
un->un_err_resid = bp->b_resid;
usr/src/uts/common/io/scsi/targets/st.c
7569
un->un_status = status;
usr/src/uts/common/io/scsi/targets/st.c
7578
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
7579
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
7580
kmem_free(un->un_tmpbuf, bcount);
usr/src/uts/common/io/scsi/targets/st.c
7581
un->un_tmpbuf = NULL;
usr/src/uts/common/io/scsi/targets/st.c
7594
st_cmd(struct scsi_tape *un, int com, int64_t count, int wait)
usr/src/uts/common/io/scsi/targets/st.c
7604
un->un_dev, com, count, wait);
usr/src/uts/common/io/scsi/targets/st.c
7606
ASSERT(MUTEX_HELD(&un->un_sd->sd_mutex));
usr/src/uts/common/io/scsi/targets/st.c
7611
st_debug_cmds(un, com, count, wait);
usr/src/uts/common/io/scsi/targets/st.c
7615
st_wait_for_io(un);
usr/src/uts/common/io/scsi/targets/st.c
7618
err = st_check_cmd_for_need_to_reserve(un, com, count);
usr/src/uts/common/io/scsi/targets/st.c
7629
(void) st_update_block_pos(un, st_cmd, 0);
usr/src/uts/common/io/scsi/targets/st.c
7635
ASSERT(un->un_recov_buf_busy == 0);
usr/src/uts/common/io/scsi/targets/st.c
7637
while (un->un_sbuf_busy)
usr/src/uts/common/io/scsi/targets/st.c
7638
cv_wait(&un->un_sbuf_cv, ST_MUTEX);
usr/src/uts/common/io/scsi/targets/st.c
7639
un->un_sbuf_busy = 1;
usr/src/uts/common/io/scsi/targets/st.c
7641
bp = un->un_sbufp;
usr/src/uts/common/io/scsi/targets/st.c
7646
err = st_setup_cmd(un, bp, com, count);
usr/src/uts/common/io/scsi/targets/st.c
7648
un->un_sbuf_busy = 0;
usr/src/uts/common/io/scsi/targets/st.c
7656
(un->un_pos.pmode != invalid)) {
usr/src/uts/common/io/scsi/targets/st.c
7657
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
7658
last_err_resid = un->un_err_resid;
usr/src/uts/common/io/scsi/targets/st.c
7659
(void) st_update_block_pos(un, st_cmd, 1);
usr/src/uts/common/io/scsi/targets/st.c
7664
un->un_running.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
7665
un->un_err_resid = last_err_resid;
usr/src/uts/common/io/scsi/targets/st.c
7668
cv_signal(&un->un_sbuf_cv);
usr/src/uts/common/io/scsi/targets/st.c
7674
st_setup_cmd(struct scsi_tape *un, buf_t *bp, int com, int64_t count)
usr/src/uts/common/io/scsi/targets/st.c
7677
dev_t dev = un->un_dev;
usr/src/uts/common/io/scsi/targets/st.c
7691
bp->b_un.b_addr = un->un_tmpbuf;
usr/src/uts/common/io/scsi/targets/st.c
7697
bp->b_un.b_addr = un->un_tmpbuf;
usr/src/uts/common/io/scsi/targets/st.c
7758
bp->b_un.b_addr = (caddr_t)(un->un_mspl);
usr/src/uts/common/io/scsi/targets/st.c
7764
bp->b_un.b_addr = (caddr_t)(un->un_mspl);
usr/src/uts/common/io/scsi/targets/st.c
7772
bp->b_un.b_addr = (caddr_t)(un->un_rbl);
usr/src/uts/common/io/scsi/targets/st.c
7791
switch (un->un_read_pos_type) {
usr/src/uts/common/io/scsi/targets/st.c
7804
"st_make_cmd()\n", un->un_read_pos_type);
usr/src/uts/common/io/scsi/targets/st.c
7808
bp->b_un.b_addr = (caddr_t)un->un_read_pos_data;
usr/src/uts/common/io/scsi/targets/st.c
7904
st_set_compression(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
7917
if ((un->un_dp->options & ST_MODE_SEL_COMP) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
7918
un->un_comp_page = 0;
usr/src/uts/common/io/scsi/targets/st.c
7923
minor = MT_DENSITY(un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
7933
(un->un_dp->densities[0] == un->un_dp->densities[1]) &&
usr/src/uts/common/io/scsi/targets/st.c
7934
(un->un_dp->densities[2] == un->un_dp->densities[3]) &&
usr/src/uts/common/io/scsi/targets/st.c
7935
(un->un_dp->densities[0] != un->un_dp->densities[2])) {
usr/src/uts/common/io/scsi/targets/st.c
7942
un->un_mspl->high_bl = (uchar_t)(un->un_bsize >> 16);
usr/src/uts/common/io/scsi/targets/st.c
7943
un->un_mspl->mid_bl = (uchar_t)(un->un_bsize >> 8);
usr/src/uts/common/io/scsi/targets/st.c
7944
un->un_mspl->low_bl = (uchar_t)(un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
7952
if ((un->un_comp_page & ST_DEV_DATACOMP_PAGE) == ST_DEV_DATACOMP_PAGE) {
usr/src/uts/common/io/scsi/targets/st.c
7953
rval = st_set_datacomp_page(un, turn_compression_on);
usr/src/uts/common/io/scsi/targets/st.c
7958
if (un->un_status == KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
7963
un->un_comp_page = ST_DEV_CONFIG_PAGE;
usr/src/uts/common/io/scsi/targets/st.c
7964
} else if (un->un_state >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
7965
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
7971
un->un_comp_page = ST_DEV_DATACOMP_PAGE;
usr/src/uts/common/io/scsi/targets/st.c
7975
if ((un->un_comp_page & ST_DEV_CONFIG_PAGE) == ST_DEV_CONFIG_PAGE) {
usr/src/uts/common/io/scsi/targets/st.c
7976
rval = st_set_devconfig_page(un, turn_compression_on);
usr/src/uts/common/io/scsi/targets/st.c
7981
if (un->un_status == KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
7987
un->un_dp->options &= ~ST_MODE_SEL_COMP;
usr/src/uts/common/io/scsi/targets/st.c
7988
un->un_comp_page = 0;
usr/src/uts/common/io/scsi/targets/st.c
7991
} else if (un->un_state >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
7992
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
8007
st_set_devconfig_page(struct scsi_tape *un, int compression_on)
usr/src/uts/common/io/scsi/targets/st.c
8020
if (un->un_mspl->page_code != ST_DEV_CONFIG_PAGE) {
usr/src/uts/common/io/scsi/targets/st.c
8021
rval = st_gen_mode_sense(un, st_uscsi_cmd, ST_DEV_CONFIG_PAGE,
usr/src/uts/common/io/scsi/targets/st.c
8022
un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
8032
if (un->un_dp->type == ST_TYPE_FUJI) {
usr/src/uts/common/io/scsi/targets/st.c
8045
if ((cflag == un->un_mspl->page.dev.comp_alg) &&
usr/src/uts/common/io/scsi/targets/st.c
8046
(un->un_comp_page == ST_DEV_CONFIG_PAGE)) {
usr/src/uts/common/io/scsi/targets/st.c
8050
un->un_mspl->page.dev.comp_alg = cflag;
usr/src/uts/common/io/scsi/targets/st.c
8060
(char *)un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
8063
rval = st_gen_mode_select(un, st_uscsi_cmd, un->un_mspl,
usr/src/uts/common/io/scsi/targets/st.c
8073
st_set_datacomp_page(struct scsi_tape *un, int compression_on)
usr/src/uts/common/io/scsi/targets/st.c
8086
if (un->un_mspl->page_code != ST_DEV_DATACOMP_PAGE) {
usr/src/uts/common/io/scsi/targets/st.c
8087
rval = st_gen_mode_sense(un, st_uscsi_cmd, ST_DEV_DATACOMP_PAGE,
usr/src/uts/common/io/scsi/targets/st.c
8088
un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
8101
if (un->un_mspl->page.comp.dcc == 0) {
usr/src/uts/common/io/scsi/targets/st.c
8106
if (un->un_mspl->page.comp.dce) {
usr/src/uts/common/io/scsi/targets/st.c
8117
(un->un_comp_page == ST_DEV_DATACOMP_PAGE)) {
usr/src/uts/common/io/scsi/targets/st.c
8127
un->un_mspl->page.comp.dce = 1;
usr/src/uts/common/io/scsi/targets/st.c
8129
un->un_mspl->page.comp.dce = 0;
usr/src/uts/common/io/scsi/targets/st.c
8137
(char *)un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
8140
rval = st_gen_mode_select(un, st_uscsi_cmd, un->un_mspl,
usr/src/uts/common/io/scsi/targets/st.c
8147
st_modesense(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
8154
page = un->un_comp_page;
usr/src/uts/common/io/scsi/targets/st.c
8159
rval = st_gen_mode_sense(un, st_uscsi_cmd, page, un->un_mspl,
usr/src/uts/common/io/scsi/targets/st.c
8164
if (un->un_dp->options & ST_MODE_SEL_COMP) {
usr/src/uts/common/io/scsi/targets/st.c
8166
rval = st_gen_mode_sense(un, st_uscsi_cmd, page,
usr/src/uts/common/io/scsi/targets/st.c
8167
un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
8168
if (rval == 0 && un->un_mspl->page_code == page) {
usr/src/uts/common/io/scsi/targets/st.c
8169
un->un_comp_page = page;
usr/src/uts/common/io/scsi/targets/st.c
8173
rval = st_gen_mode_sense(un, st_uscsi_cmd, page,
usr/src/uts/common/io/scsi/targets/st.c
8174
un->un_mspl, sizeof (struct seq_mode));
usr/src/uts/common/io/scsi/targets/st.c
8175
if (rval == 0 && un->un_mspl->page_code == page) {
usr/src/uts/common/io/scsi/targets/st.c
8176
un->un_comp_page = page;
usr/src/uts/common/io/scsi/targets/st.c
8179
un->un_dp->options &= ~ST_MODE_SEL_COMP;
usr/src/uts/common/io/scsi/targets/st.c
8180
un->un_comp_page = 0;
usr/src/uts/common/io/scsi/targets/st.c
8182
un->un_comp_page = 0;
usr/src/uts/common/io/scsi/targets/st.c
8187
rval = st_cmd(un, SCMD_MODE_SENSE, MSIZE, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
8193
st_modeselect(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
8202
un->un_dev, un->un_mspl->density);
usr/src/uts/common/io/scsi/targets/st.c
8212
rval = st_modesense(un);
usr/src/uts/common/io/scsi/targets/st.c
8216
un->un_mspl->bd_len = 8;
usr/src/uts/common/io/scsi/targets/st.c
8217
un->un_mspl->high_nb = 0;
usr/src/uts/common/io/scsi/targets/st.c
8218
un->un_mspl->mid_nb = 0;
usr/src/uts/common/io/scsi/targets/st.c
8219
un->un_mspl->low_nb = 0;
usr/src/uts/common/io/scsi/targets/st.c
8221
un->un_mspl->high_bl = (uchar_t)(un->un_bsize >> 16);
usr/src/uts/common/io/scsi/targets/st.c
8222
un->un_mspl->mid_bl = (uchar_t)(un->un_bsize >> 8);
usr/src/uts/common/io/scsi/targets/st.c
8223
un->un_mspl->low_bl = (uchar_t)(un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
8232
if (un->un_dp->options & ST_KNOWS_MEDIA) {
usr/src/uts/common/io/scsi/targets/st.c
8236
if (un->un_mspl->media_type ==
usr/src/uts/common/io/scsi/targets/st.c
8237
un->un_dp->mediatype[ix]) {
usr/src/uts/common/io/scsi/targets/st.c
8244
if (ix < un->un_curdens) {
usr/src/uts/common/io/scsi/targets/st.c
8247
un->un_curdens = ix;
usr/src/uts/common/io/scsi/targets/st.c
8255
un->un_mspl->media_type,
usr/src/uts/common/io/scsi/targets/st.c
8256
un->un_dp->densities[best]);
usr/src/uts/common/io/scsi/targets/st.c
8257
un->un_mspl->density = un->un_dp->densities[best];
usr/src/uts/common/io/scsi/targets/st.c
8260
un->un_mspl->density =
usr/src/uts/common/io/scsi/targets/st.c
8261
un->un_dp->densities[un->un_curdens];
usr/src/uts/common/io/scsi/targets/st.c
8264
un->un_mspl->density = un->un_dp->densities[un->un_curdens];
usr/src/uts/common/io/scsi/targets/st.c
8267
if (un->un_dp->options & ST_NOBUF) {
usr/src/uts/common/io/scsi/targets/st.c
8268
un->un_mspl->bufm = 0;
usr/src/uts/common/io/scsi/targets/st.c
8270
un->un_mspl->bufm = 1;
usr/src/uts/common/io/scsi/targets/st.c
8273
rval = st_set_compression(un);
usr/src/uts/common/io/scsi/targets/st.c
8283
un->un_mspl->data_len = 0;
usr/src/uts/common/io/scsi/targets/st.c
8284
un->un_mspl->media_type = 0;
usr/src/uts/common/io/scsi/targets/st.c
8285
un->un_mspl->wp = 0;
usr/src/uts/common/io/scsi/targets/st.c
8288
rval = st_cmd(un, SCMD_MODE_SELECT, MSIZE, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
8290
if (un->un_state >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
8293
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
8304
(void) st_modesense(un);
usr/src/uts/common/io/scsi/targets/st.c
8317
st_gen_mode_sense(struct scsi_tape *un, ubufunc_t ubf, int page,
usr/src/uts/common/io/scsi/targets/st.c
8341
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8344
r = ubf(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
8355
st_gen_mode_select(struct scsi_tape *un, ubufunc_t ubf,
usr/src/uts/common/io/scsi/targets/st.c
8395
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8398
r = ubf(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
84
#define ST_GET_CONTIG_MEM_HEAD(un, cp, len, big_enough) { \
usr/src/uts/common/io/scsi/targets/st.c
8405
st_read_block_limits(struct scsi_tape *un, struct read_blklim *read_blk)
usr/src/uts/common/io/scsi/targets/st.c
8425
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8428
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
8438
st_report_density_support(struct scsi_tape *un, uchar_t *density_data,
usr/src/uts/common/io/scsi/targets/st.c
8461
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8464
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
8474
st_report_supported_operation(struct scsi_tape *un, uchar_t *oper_data,
usr/src/uts/common/io/scsi/targets/st.c
8512
com->uscsi_timeout = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8515
rval = st_uscsi_cmd(un, com, FKIOCTL);
usr/src/uts/common/io/scsi/targets/st.c
8529
st_change_block_size(struct scsi_tape *un, uint32_t nblksz)
usr/src/uts/common/io/scsi/targets/st.c
8542
if (un->un_comp_page == (ST_DEV_DATACOMP_PAGE | ST_DEV_CONFIG_PAGE)) {
usr/src/uts/common/io/scsi/targets/st.c
8543
(void) st_modesense(un);
usr/src/uts/common/io/scsi/targets/st.c
8547
rval = st_gen_mode_sense(un, st_uscsi_cmd, 0, current, MSIZE);
usr/src/uts/common/io/scsi/targets/st.c
8562
un->un_bsize = nblksz;
usr/src/uts/common/io/scsi/targets/st.c
8573
rval = st_gen_mode_select(un, st_uscsi_cmd, current, MSIZE);
usr/src/uts/common/io/scsi/targets/st.c
8581
rval = st_modesense(un);
usr/src/uts/common/io/scsi/targets/st.c
8583
un->un_bsize =
usr/src/uts/common/io/scsi/targets/st.c
8584
(un->un_mspl->high_bl << 16) |
usr/src/uts/common/io/scsi/targets/st.c
8585
(un->un_mspl->mid_bl << 8) |
usr/src/uts/common/io/scsi/targets/st.c
8586
(un->un_mspl->low_bl);
usr/src/uts/common/io/scsi/targets/st.c
8588
if (un->un_bsize != nblksz) {
usr/src/uts/common/io/scsi/targets/st.c
8591
"(read: %u requested: %u)\n", nblksz, un->un_bsize);
usr/src/uts/common/io/scsi/targets/st.c
86
for ((cp) = (un)->un_contig_mem; \
usr/src/uts/common/io/scsi/targets/st.c
8602
st_init(struct scsi_tape *un)
usr/src/uts/common/io/scsi/targets/st.c
8610
un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
8612
un->un_pos.blkno = 0;
usr/src/uts/common/io/scsi/targets/st.c
8613
un->un_pos.fileno = 0;
usr/src/uts/common/io/scsi/targets/st.c
8614
un->un_lastop = ST_OP_NIL;
usr/src/uts/common/io/scsi/targets/st.c
8615
un->un_pos.eof = ST_NO_EOF;
usr/src/uts/common/io/scsi/targets/st.c
8616
un->un_pwr_mgmt = ST_PWR_NORMAL;
usr/src/uts/common/io/scsi/targets/st.c
8628
st_make_cmd(struct scsi_tape *un, struct buf *bp, int (*func)(caddr_t))
usr/src/uts/common/io/scsi/targets/st.c
8643
optype prev_op = un->un_lastop;
usr/src/uts/common/io/scsi/targets/st.c
8645
(un->un_arq_enabled ? sizeof (struct scsi_arq_status) : 1);
usr/src/uts/common/io/scsi/targets/st.c
8652
"st_make_cmd(): dev = 0x%lx\n", un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
8663
if ((bp != un->un_sbufp) && (bp != un->un_recov_buf)) {
usr/src/uts/common/io/scsi/targets/st.c
8666
(caddr_t)un);
usr/src/uts/common/io/scsi/targets/st.c
8679
if (un->un_bsize == 0) {
usr/src/uts/common/io/scsi/targets/st.c
8683
count = bp->b_bcount / un->un_bsize;
usr/src/uts/common/io/scsi/targets/st.c
8688
un->un_lastop = ST_OP_READ;
usr/src/uts/common/io/scsi/targets/st.c
8689
if ((un->un_bsize == 0) && /* Not Fixed Block */
usr/src/uts/common/io/scsi/targets/st.c
8690
(un->un_dp->options & ST_READ_IGNORE_ILI)) {
usr/src/uts/common/io/scsi/targets/st.c
8695
un->un_lastop = ST_OP_WRITE;
usr/src/uts/common/io/scsi/targets/st.c
8697
tval = un->un_dp->io_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8707
wr_str: rd_str, un->un_pos.blkno, bp->b_bcount);
usr/src/uts/common/io/scsi/targets/st.c
8713
st_make_uscsi_cmd(un, ucmd, bp, func);
usr/src/uts/common/io/scsi/targets/st.c
872
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
8725
if (un->un_bsize == 0) {
usr/src/uts/common/io/scsi/targets/st.c
8729
count /= un->un_bsize;
usr/src/uts/common/io/scsi/targets/st.c
8732
un->un_lastop = ST_OP_READ;
usr/src/uts/common/io/scsi/targets/st.c
8733
tval = un->un_dp->io_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8739
if (un->un_bsize != 0) {
usr/src/uts/common/io/scsi/targets/st.c
8741
count /= un->un_bsize;
usr/src/uts/common/io/scsi/targets/st.c
8746
un->un_lastop = ST_OP_WRITE;
usr/src/uts/common/io/scsi/targets/st.c
8747
tval = un->un_dp->io_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8753
un->un_lastop = ST_OP_WEOF;
usr/src/uts/common/io/scsi/targets/st.c
8755
tval = un->un_dp->io_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8761
if ((un->un_dp->options & ST_SHORT_FILEMARKS) &&
usr/src/uts/common/io/scsi/targets/st.c
8762
((un->un_dp->type == ST_TYPE_EXB8500) ||
usr/src/uts/common/io/scsi/targets/st.c
8763
(un->un_dp->type == ST_TYPE_EXABYTE))) {
usr/src/uts/common/io/scsi/targets/st.c
8789
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8790
tval = un->un_dp->rewind_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8803
un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
8808
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8809
tval = un->un_dp->space_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8819
un->un_pos.fileno, un->un_pos.blkno);
usr/src/uts/common/io/scsi/targets/st.c
8821
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8822
tval = un->un_dp->space_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8833
tval = un->un_dp->load_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8835
tval = un->un_dp->unload_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8839
tval += un->un_dp->rewind_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8841
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8855
tval = un->un_dp->erase_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8858
tval = un->un_dp->erase_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8861
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8870
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8871
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8879
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8880
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8887
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8888
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8895
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8896
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8904
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8905
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8912
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8913
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8920
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8921
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8927
fixbit = un->un_read_pos_type;
usr/src/uts/common/io/scsi/targets/st.c
8929
tval = un->un_dp->non_motion_timeout;
usr/src/uts/common/io/scsi/targets/st.c
8931
un->un_lastop = ST_OP_CTL;
usr/src/uts/common/io/scsi/targets/st.c
8932
switch (un->un_read_pos_type) {
usr/src/uts/common/io/scsi/targets/st.c
8945
" st_make_cmd()\n", un->un_read_pos_type);
usr/src/uts/common/io/scsi/targets/st.c
8956
st_recov_sz, 0, func, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/st.c
8979
FILL_SCSI1_LUN(un->un_sd, pkt);
usr/src/uts/common/io/scsi/targets/st.c
8989
if (bp == un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
899
if (!(un = ddi_get_soft_state(st_state, instance))) {
usr/src/uts/common/io/scsi/targets/st.c
8995
st_add_recovery_info_to_pkt(un, bp, pkt);
usr/src/uts/common/io/scsi/targets/st.c
9011
un->un_lastop = prev_op;
usr/src/uts/common/io/scsi/targets/st.c
902
dev_instance = ((un->un_dev == 0) ? MTMINOR(instance) :
usr/src/uts/common/io/scsi/targets/st.c
9024
st_make_uscsi_cmd(struct scsi_tape *un, struct uscsi_cmd *ucmd,
usr/src/uts/common/io/scsi/targets/st.c
903
un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
9037
"st_make_uscsi_cmd(): dev = 0x%lx\n", un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
9040
if (un->un_arq_enabled) {
usr/src/uts/common/io/scsi/targets/st.c
9062
cdblen, stat_size, st_recov_sz, flags, func, (caddr_t)un);
usr/src/uts/common/io/scsi/targets/st.c
907
un->un_throttle = un->un_max_throttle;
usr/src/uts/common/io/scsi/targets/st.c
908
un->un_tids_at_suspend = 0;
usr/src/uts/common/io/scsi/targets/st.c
909
un->un_pwr_mgmt = ST_PWR_NORMAL;
usr/src/uts/common/io/scsi/targets/st.c
9093
if (bp == un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
9099
st_add_recovery_info_to_pkt(un, bp, pkt);
usr/src/uts/common/io/scsi/targets/st.c
911
if (un->un_swr_token) {
usr/src/uts/common/io/scsi/targets/st.c
9116
struct scsi_tape *un = arg;
usr/src/uts/common/io/scsi/targets/st.c
912
scsi_watch_resume(un->un_swr_token);
usr/src/uts/common/io/scsi/targets/st.c
9126
"st_intr_restart(), un = 0x%p\n", (void *)un);
usr/src/uts/common/io/scsi/targets/st.c
9128
un->un_hib_tid = 0;
usr/src/uts/common/io/scsi/targets/st.c
9130
if (un->un_recov_buf_busy != 0) {
usr/src/uts/common/io/scsi/targets/st.c
9131
bp = un->un_recov_buf;
usr/src/uts/common/io/scsi/targets/st.c
9133
} else if (un->un_sbuf_busy != 0) {
usr/src/uts/common/io/scsi/targets/st.c
9134
bp = un->un_sbufp;
usr/src/uts/common/io/scsi/targets/st.c
9136
} else if (un->un_quef != NULL) {
usr/src/uts/common/io/scsi/targets/st.c
9137
bp = un->un_quef;
usr/src/uts/common/io/scsi/targets/st.c
9153
(void) st_remove_from_queue(&un->un_quef, &un->un_quef, bp);
usr/src/uts/common/io/scsi/targets/st.c
9155
if (un->un_runqf) {
usr/src/uts/common/io/scsi/targets/st.c
9162
un->un_runqf = bp;
usr/src/uts/common/io/scsi/targets/st.c
9163
un->un_runql = bp;
usr/src/uts/common/io/scsi/targets/st.c
9172
status = st_transport(un, BP_PKT(bp));
usr/src/uts/common/io/scsi/targets/st.c
918
if ((un->un_tids_at_suspend & ST_DELAY_TID) != 0) {
usr/src/uts/common/io/scsi/targets/st.c
9181
un->un_unit_attention_flags &&
usr/src/uts/common/io/scsi/targets/st.c
9182
bp != un->un_recov_buf) {
usr/src/uts/common/io/scsi/targets/st.c
9183
un->un_unit_attention_flags = 0;
usr/src/uts/common/io/scsi/targets/st.c
9186
if (st_command_recovery(un, BP_PKT(bp),
usr/src/uts/common/io/scsi/targets/st.c
9193
if (st_handle_intr_busy(un, bp,
usr/src/uts/common/io/scsi/targets/st.c
92
(un)->un_contig_mem = (cp)->cm_next; \
usr/src/uts/common/io/scsi/targets/st.c
920
un->un_delay_tid = timeout(
usr/src/uts/common/io/scsi/targets/st.c
9204
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
9205
un->un_throttle = un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
9208
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
921
st_delayed_cv_broadcast, un,
usr/src/uts/common/io/scsi/targets/st.c
9213
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
9215
st_done_and_mutex_exit(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
9217
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
9218
un->un_throttle = un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
9247
state, un->un_mediastate);
usr/src/uts/common/io/scsi/targets/st.c
9249
prev_state = un->un_mediastate;
usr/src/uts/common/io/scsi/targets/st.c
9255
if (state == un->un_mediastate || un->un_mediastate == MTIO_NONE) {
usr/src/uts/common/io/scsi/targets/st.c
927
if (un->un_tids_at_suspend & ST_HIB_TID) {
usr/src/uts/common/io/scsi/targets/st.c
9270
un->un_swr_token = token;
usr/src/uts/common/io/scsi/targets/st.c
9271
un->un_specified_mediastate = state;
usr/src/uts/common/io/scsi/targets/st.c
9282
while (un->un_mediastate == state) {
usr/src/uts/common/io/scsi/targets/st.c
9283
if (cv_wait_sig(&un->un_state_cv, ST_MUTEX) == 0) {
usr/src/uts/common/io/scsi/targets/st.c
929
un->un_hib_tid = timeout(st_intr_restart, un,
usr/src/uts/common/io/scsi/targets/st.c
9293
un->un_mediastate);
usr/src/uts/common/io/scsi/targets/st.c
9303
if ((un->un_mediastate == MTIO_INSERTED) &&
usr/src/uts/common/io/scsi/targets/st.c
9304
(un->un_state == ST_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/st.c
9314
un->un_state = ST_STATE_INITIALIZING;
usr/src/uts/common/io/scsi/targets/st.c
9320
if ((un->un_rsvd_status &
usr/src/uts/common/io/scsi/targets/st.c
9326
rval = st_cmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
usr/src/uts/common/io/scsi/targets/st.c
9336
un->un_mediastate = prev_state;
usr/src/uts/common/io/scsi/targets/st.c
9337
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
9344
rval = st_tape_init(un);
usr/src/uts/common/io/scsi/targets/st.c
9348
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
9349
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9351
un->un_state = ST_STATE_OPEN_PENDING_IO;
usr/src/uts/common/io/scsi/targets/st.c
9353
} else if ((un->un_mediastate == MTIO_EJECTED) &&
usr/src/uts/common/io/scsi/targets/st.c
9354
(un->un_state != ST_STATE_OFFLINE)) {
usr/src/uts/common/io/scsi/targets/st.c
9359
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
9360
un->un_state = ST_STATE_OFFLINE;
usr/src/uts/common/io/scsi/targets/st.c
9368
un->un_swr_token = (opaque_t)NULL;
usr/src/uts/common/io/scsi/targets/st.c
9387
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
939
if ((un->un_suspend_pos.pmode != invalid) &&
usr/src/uts/common/io/scsi/targets/st.c
9393
if ((un = ddi_get_soft_state(st_state, instance)) == NULL) {
usr/src/uts/common/io/scsi/targets/st.c
940
((un->un_suspend_pos.fileno > 0) ||
usr/src/uts/common/io/scsi/targets/st.c
941
(un->un_suspend_pos.blkno > 0)) ||
usr/src/uts/common/io/scsi/targets/st.c
9416
switch (un->un_dp->type) {
usr/src/uts/common/io/scsi/targets/st.c
942
(un->un_suspend_pos.lgclblkno > 0)) {
usr/src/uts/common/io/scsi/targets/st.c
9420
"default to ST_TYPE_HP\n", un->un_dp->type);
usr/src/uts/common/io/scsi/targets/st.c
9426
if (un->un_dp->type == ST_TYPE_FUJI) {
usr/src/uts/common/io/scsi/targets/st.c
9504
state = un->un_specified_mediastate;
usr/src/uts/common/io/scsi/targets/st.c
9519
state, un->un_specified_mediastate);
usr/src/uts/common/io/scsi/targets/st.c
9526
if (state != un->un_specified_mediastate) {
usr/src/uts/common/io/scsi/targets/st.c
9527
un->un_mediastate = state;
usr/src/uts/common/io/scsi/targets/st.c
953
(void) st_validate_tapemarks(un,
usr/src/uts/common/io/scsi/targets/st.c
9535
un->un_delay_tid = timeout(st_delayed_cv_broadcast,
usr/src/uts/common/io/scsi/targets/st.c
9536
un, drv_usectohz((clock_t)MEDIA_ACCESS_DELAY));
usr/src/uts/common/io/scsi/targets/st.c
954
st_uscsi_cmd, &un->un_suspend_pos);
usr/src/uts/common/io/scsi/targets/st.c
9540
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/st.c
9554
struct scsi_tape *un = arg;
usr/src/uts/common/io/scsi/targets/st.c
9562
cv_broadcast(&un->un_state_cv);
usr/src/uts/common/io/scsi/targets/st.c
9572
struct scsi_tape *un = arg;
usr/src/uts/common/io/scsi/targets/st.c
9576
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
9582
st_start(un);
usr/src/uts/common/io/scsi/targets/st.c
9597
struct scsi_tape *un;
usr/src/uts/common/io/scsi/targets/st.c
960
un->un_suspend_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9602
un = ddi_get_soft_state(st_state, MTUNIT(bp->b_edev));
usr/src/uts/common/io/scsi/targets/st.c
9606
ASSERT(un != NULL);
usr/src/uts/common/io/scsi/targets/st.c
9610
ASSERT(bp != un->un_recov_buf);
usr/src/uts/common/io/scsi/targets/st.c
9612
un->un_rqs_state &= ~(ST_RQS_ERROR);
usr/src/uts/common/io/scsi/targets/st.c
9624
} else if ((pkt == un->un_rqs) ||
usr/src/uts/common/io/scsi/targets/st.c
9625
(un->un_state == ST_STATE_SENSING)) {
usr/src/uts/common/io/scsi/targets/st.c
9626
ASSERT(pkt == un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
9627
ASSERT(un->un_state == ST_STATE_SENSING);
usr/src/uts/common/io/scsi/targets/st.c
9628
un->un_state = un->un_laststate;
usr/src/uts/common/io/scsi/targets/st.c
9629
rcv->cmd_bp = un->un_rqs_bp;
usr/src/uts/common/io/scsi/targets/st.c
9630
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
9633
action = st_handle_incomplete(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
9639
} else if ((pkt == un->un_rqs) || (un->un_state == ST_STATE_SENSING)) {
usr/src/uts/common/io/scsi/targets/st.c
964
if (un->un_ncmds || un->un_quef) {
usr/src/uts/common/io/scsi/targets/st.c
9644
ASSERT(pkt == un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
9645
ASSERT(un->un_state == ST_STATE_SENSING);
usr/src/uts/common/io/scsi/targets/st.c
9647
action = st_handle_sense(un, bp, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
965
st_start(un);
usr/src/uts/common/io/scsi/targets/st.c
9657
rcv->cmd_bp = un->un_rqs_bp;
usr/src/uts/common/io/scsi/targets/st.c
9662
un->un_state = un->un_laststate;
usr/src/uts/common/io/scsi/targets/st.c
9665
} else if (un->un_arq_enabled && (pkt->pkt_state & STATE_ARQ_DONE)) {
usr/src/uts/common/io/scsi/targets/st.c
9669
action = st_handle_autosense(un, bp, &un->un_pos);
usr/src/uts/common/io/scsi/targets/st.c
9679
action = st_check_error(un, pkt);
usr/src/uts/common/io/scsi/targets/st.c
968
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/common/io/scsi/targets/st.c
9682
if (un->un_pwr_mgmt == ST_PWR_SUSPENDED) {
usr/src/uts/common/io/scsi/targets/st.c
9690
st_add_to_queue(&un->un_runqf, &un->un_runql,
usr/src/uts/common/io/scsi/targets/st.c
9691
un->un_runqf, bp);
usr/src/uts/common/io/scsi/targets/st.c
97
(un)->un_contig_mem_available_num--; \
usr/src/uts/common/io/scsi/targets/st.c
9708
if (un->un_multipath) {
usr/src/uts/common/io/scsi/targets/st.c
9732
(un->un_last_path_instance != pkt->pkt_path_instance)) {
usr/src/uts/common/io/scsi/targets/st.c
9739
(un->un_state > ST_STATE_OPENING)) {
usr/src/uts/common/io/scsi/targets/st.c
9747
un->un_last_path_instance = pkt->pkt_path_instance;
usr/src/uts/common/io/scsi/targets/st.c
9754
if (un->un_state == ST_STATE_SENSING && action != QUE_SENSE) {
usr/src/uts/common/io/scsi/targets/st.c
9755
un->un_state = un->un_laststate;
usr/src/uts/common/io/scsi/targets/st.c
976
un = ddi_get_soft_state(st_state, instance);
usr/src/uts/common/io/scsi/targets/st.c
9769
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9773
if (un->un_pos.eof < ST_EOT_PENDING &&
usr/src/uts/common/io/scsi/targets/st.c
9774
un->un_state >= ST_STATE_OPEN) {
usr/src/uts/common/io/scsi/targets/st.c
9780
if (un->un_status != KEY_ILLEGAL_REQUEST) {
usr/src/uts/common/io/scsi/targets/st.c
9781
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9785
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
9794
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
9795
if (!(un->un_rqs_state & ST_RQS_ERROR) &&
usr/src/uts/common/io/scsi/targets/st.c
9796
(un->un_errno == EIO)) {
usr/src/uts/common/io/scsi/targets/st.c
9797
un->un_rqs_state &= ~(ST_RQS_VALID);
usr/src/uts/common/io/scsi/targets/st.c
9802
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
9808
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
9809
if (!(un->un_rqs_state & ST_RQS_ERROR) &&
usr/src/uts/common/io/scsi/targets/st.c
9810
(un->un_errno == EIO)) {
usr/src/uts/common/io/scsi/targets/st.c
9811
un->un_rqs_state &= ~(ST_RQS_VALID);
usr/src/uts/common/io/scsi/targets/st.c
9815
st_set_state(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
9819
if ((un->un_ncmds > 1) && !un->un_flush_on_errors)
usr/src/uts/common/io/scsi/targets/st.c
9822
if (un->un_state != ST_STATE_SENSING) {
usr/src/uts/common/io/scsi/targets/st.c
9823
un->un_laststate = un->un_state;
usr/src/uts/common/io/scsi/targets/st.c
9824
un->un_state = ST_STATE_SENSING;
usr/src/uts/common/io/scsi/targets/st.c
9830
bzero(un->un_rqs->pkt_scbp, SENSE_LENGTH);
usr/src/uts/common/io/scsi/targets/st.c
9836
if (pkt != un->un_rqs) {
usr/src/uts/common/io/scsi/targets/st.c
9837
((recov_info *)un->un_rqs->pkt_private)->cmd_bp = bp;
usr/src/uts/common/io/scsi/targets/st.c
9840
if (un->un_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
9841
un->un_last_throttle = un->un_throttle;
usr/src/uts/common/io/scsi/targets/st.c
9842
un->un_throttle = 0;
usr/src/uts/common/io/scsi/targets/st.c
9852
status = st_transport(un, un->un_rqs);
usr/src/uts/common/io/scsi/targets/st.c
9854
if (un->un_last_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
9855
un->un_throttle = un->un_last_throttle;
usr/src/uts/common/io/scsi/targets/st.c
9863
ST_DO_ERRSTATS(un, st_transerrs);
usr/src/uts/common/io/scsi/targets/st.c
9865
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9867
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
9888
if (un->un_throttle) {
usr/src/uts/common/io/scsi/targets/st.c
9889
un->un_last_throttle = un->un_throttle;
usr/src/uts/common/io/scsi/targets/st.c
9892
if (st_handle_intr_busy(un, bp, timout) == 0)
usr/src/uts/common/io/scsi/targets/st.c
9896
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9897
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
9899
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
9904
if ((un->un_ncmds > 1) && !un->un_flush_on_errors) {
usr/src/uts/common/io/scsi/targets/st.c
9906
"un_ncmds: %d can't retry cmd \n", un->un_ncmds);
usr/src/uts/common/io/scsi/targets/st.c
9910
if (st_handle_intr_retry_lcmd(un, bp) == 0)
usr/src/uts/common/io/scsi/targets/st.c
9914
un->un_err_resid = bp->b_resid = bp->b_bcount;
usr/src/uts/common/io/scsi/targets/st.c
9915
un->un_pos.pmode = invalid;
usr/src/uts/common/io/scsi/targets/st.c
9917
st_set_pe_flag(un);
usr/src/uts/common/io/scsi/targets/st.c
9928
action = st_command_recovery(un, pkt, action);
usr/src/uts/common/io/scsi/targets/st.c
9941
st_done_and_mutex_exit(un, bp);
usr/src/uts/common/io/scsi/targets/st.c
9945
st_handle_incomplete(struct scsi_tape *un, struct buf *bp)
usr/src/uts/common/io/scsi/targets/st.c
9950
struct scsi_pkt *pkt = (un->un_state == ST_STATE_SENSING) ?
usr/src/uts/common/io/scsi/targets/st.c
9951
un->un_rqs : BP_PKT(bp);
usr/src/uts/common/io/scsi/targets/st.c
9959
"st_handle_incomplete(): dev = 0x%lx\n", un->un_dev);
usr/src/uts/common/io/scsi/targets/st.c
9987
if ((un->un_ncmds > 1) || (pkt->pkt_state != STATE_GOT_BUS)) {
usr/src/uts/common/io/scsi/targets/st.c
9996
if ((un->un_laststate > ST_STATE_OPENING) &&
usr/src/uts/common/nfs/rnode.h
155
} un;
usr/src/uts/common/nfs/rnode.h
159
#define lmpl_opid un._pid
usr/src/uts/common/nfs/rnode.h
160
#define lmpl_own_len un._own.len
usr/src/uts/common/nfs/rnode.h
161
#define lmpl_owner un._own.owner
usr/src/uts/common/os/sunpm.c
6638
scp = &datap->un.scsi_cycles;
usr/src/uts/common/os/sunpm.c
6781
smart_p = &datap->un.smart_count;
usr/src/uts/common/rpc/rpcib.c
1813
ipcm_info.src_addr.un.ip4addr = rptp->srcip.un.ip4addr;
usr/src/uts/common/rpc/rpcib.c
1816
ipcm_info.src_addr.un.ip6addr = rptp->srcip.un.ip6addr;
usr/src/uts/common/rpc/rpcib.c
1823
ipcm_info.dst_addr.un.ip4addr = rptp->dstip.un.ip4addr;
usr/src/uts/common/rpc/rpcib.c
1826
ipcm_info.dst_addr.un.ip6addr = rptp->dstip.un.ip6addr;
usr/src/uts/common/rpc/rpcib.c
1948
rptp->dstip.un.ip4addr = sinp->sin_addr.s_addr;
usr/src/uts/common/rpc/rpcib.c
1954
rptp->dstip.un.ip6addr = sin6p->sin6_addr;
usr/src/uts/common/rpc/rpcib.c
1974
ipattr.ipa_src_ip.un.ip4addr =
usr/src/uts/common/rpc/rpcib.c
1977
ipattr.ipa_src_ip.un.ip6addr =
usr/src/uts/common/rpc/rpcib.c
1992
rptp->srcip.un.ip4addr =
usr/src/uts/common/rpc/rpcib.c
1993
srcip.ip_primary.un.ip4addr;
usr/src/uts/common/rpc/rpcib.c
1996
rptp->srcip.un.ip6addr =
usr/src/uts/common/rpc/rpcib.c
1997
srcip.ip_primary.un.ip6addr;
usr/src/uts/common/rpc/rpcib.c
3065
bcopy((void *)&ipinfo.src_addr.un.ip4addr,
usr/src/uts/common/rpc/rpcib.c
3074
bcopy((void *)&ipinfo.dst_addr.un.ip4addr,
usr/src/uts/common/rpc/rpcib.c
3101
bcopy((void *)&ipinfo.src_addr.un.ip6addr,
usr/src/uts/common/rpc/rpcib.c
3111
bcopy((void *)&ipinfo.dst_addr.un.ip6addr,
usr/src/uts/common/rpc/rpcib.c
4372
s_addr_len = sizeof (rpt->srcip.un.ip4addr);
usr/src/uts/common/rpc/rpcib.c
4373
s_addr_buf = (char *)&rpt->srcip.un.ip4addr;
usr/src/uts/common/rpc/rpcib.c
4375
s_addr_len = sizeof (rpt->srcip.un.ip6addr);
usr/src/uts/common/rpc/rpcib.c
4376
s_addr_buf = (char *)&rpt->srcip.un.ip6addr;
usr/src/uts/common/sys/devcache_impl.h
54
} un;
usr/src/uts/common/sys/devcache_impl.h
57
#define nvpf_magic un.nvpf.magic
usr/src/uts/common/sys/devcache_impl.h
58
#define nvpf_version un.nvpf.version
usr/src/uts/common/sys/devcache_impl.h
59
#define nvpf_size un.nvpf.size
usr/src/uts/common/sys/devcache_impl.h
60
#define nvpf_hdr_chksum un.nvpf.hdr_chksum
usr/src/uts/common/sys/devcache_impl.h
61
#define nvpf_chksum un.nvpf.chksum
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dfclib.h
222
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dfclib.h
266
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dfclib.h
503
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dfclib.h
644
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dfclib.h
676
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dfclib.h
703
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dump.h
327
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dump.h
351
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_dump.h
363
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
1508
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
1528
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
1738
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
1771
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
1801
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
2037
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_hw.h
258
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_iocb.h
626
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_iocb.h
756
#define RXFCHDR un.ulpWord
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
1040
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
1142
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
1345
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
1612
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
1857
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
1880
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
2241
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
2668
MAILVARIANTS un; /* 124 bytes */
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
281
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
4840
MAILVARIANTS4 un; /* 252 bytes */
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
487
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
5037
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
546
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
952
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_queue.h
423
} un;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_queue.h
809
} un;
usr/src/uts/common/sys/fs/pc_dir.h
74
} un;
usr/src/uts/common/sys/ib/ibtl/ibtl_types.h
1764
} un;
usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h
544
} un;
usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h
896
} un;
usr/src/uts/common/sys/scsi/targets/sddef.h
1114
SD_INFO(SD_LOG_IOERR, un, \
usr/src/uts/common/sys/scsi/targets/sddef.h
1301
#define SD_UPDATE_RESERVATION_STATUS(un, pktp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
1304
if (((un)->un_resvd_status & SD_RESERVE) == SD_RESERVE) { \
usr/src/uts/common/sys/scsi/targets/sddef.h
1305
(un)->un_resvd_status |= \
usr/src/uts/common/sys/scsi/targets/sddef.h
1656
#define SD_UPDATE_KSTATS(un, kstat_function, bp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
1660
(un)->un_pstats[SDPART((bp)->b_edev)]; \
usr/src/uts/common/sys/scsi/targets/sddef.h
1661
ASSERT(mutex_owned(SD_MUTEX(un))); \
usr/src/uts/common/sys/scsi/targets/sddef.h
1662
if ((un)->un_stats != NULL) { \
usr/src/uts/common/sys/scsi/targets/sddef.h
1663
kstat_io_t *kip = KSTAT_IO_PTR((un)->un_stats); \
usr/src/uts/common/sys/scsi/targets/sddef.h
1672
#define SD_UPDATE_ERRSTATS(un, x) \
usr/src/uts/common/sys/scsi/targets/sddef.h
1673
if ((un)->un_errstats != NULL) { \
usr/src/uts/common/sys/scsi/targets/sddef.h
1675
ASSERT(mutex_owned(SD_MUTEX(un))); \
usr/src/uts/common/sys/scsi/targets/sddef.h
1676
stp = (struct sd_errstats *)(un)->un_errstats->ks_data; \
usr/src/uts/common/sys/scsi/targets/sddef.h
1680
#define SD_UPDATE_RDWR_STATS(un, bp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
1681
if ((un)->un_stats != NULL) { \
usr/src/uts/common/sys/scsi/targets/sddef.h
1682
kstat_io_t *kip = KSTAT_IO_PTR((un)->un_stats); \
usr/src/uts/common/sys/scsi/targets/sddef.h
1693
#define SD_UPDATE_PARTITION_STATS(un, bp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
1695
struct kstat *pksp = (un)->un_pstats[SDPART((bp)->b_edev)]; \
usr/src/uts/common/sys/scsi/targets/sddef.h
1763
#define SD_VICTIM_RETRY_COUNT(un) (un->un_victim_retry_count)
usr/src/uts/common/sys/scsi/targets/sddef.h
1764
#define CD_NOT_READY_RETRY_COUNT(un) (un->un_retry_count * 2)
usr/src/uts/common/sys/scsi/targets/sddef.h
1765
#define DISK_NOT_READY_RETRY_COUNT(un) (un->un_retry_count / 2)
usr/src/uts/common/sys/scsi/targets/sddef.h
2202
#define SD_OK_TO_RESUME_SCSI_WATCHER(un) (un->un_swr_token != NULL)
usr/src/uts/common/sys/scsi/targets/sddef.h
2210
#define SD_OK_TO_SUSPEND_SCSI_WATCHER(un) (un->un_swr_token != NULL)
usr/src/uts/common/sys/scsi/targets/sddef.h
2211
#define SD_DEVICE_IS_IN_LOW_POWER(un) ((un->un_f_pm_is_enabled) && \
usr/src/uts/common/sys/scsi/targets/sddef.h
2212
(un->un_pm_count < 0))
usr/src/uts/common/sys/scsi/targets/sddef.h
2213
#define SD_PM_STATE_ACTIVE(un) \
usr/src/uts/common/sys/scsi/targets/sddef.h
2214
(un->un_f_power_condition_supported ? \
usr/src/uts/common/sys/scsi/targets/sddef.h
2216
#define SD_PM_STATE_STOPPED(un) \
usr/src/uts/common/sys/scsi/targets/sddef.h
2217
(un->un_f_power_condition_supported ? \
usr/src/uts/common/sys/scsi/targets/sddef.h
2219
#define SD_PM_IS_LEVEL_VALID(un, level) \
usr/src/uts/common/sys/scsi/targets/sddef.h
2220
((un->un_f_power_condition_supported && \
usr/src/uts/common/sys/scsi/targets/sddef.h
2223
(!un->un_f_power_condition_supported && \
usr/src/uts/common/sys/scsi/targets/sddef.h
2226
#define SD_PM_IS_IO_CAPABLE(un, level) \
usr/src/uts/common/sys/scsi/targets/sddef.h
2227
((un->un_f_power_condition_supported && \
usr/src/uts/common/sys/scsi/targets/sddef.h
2229
(!un->un_f_power_condition_supported && \
usr/src/uts/common/sys/scsi/targets/sddef.h
2231
#define SD_PM_STOP_MOTOR_NEEDED(un, level) \
usr/src/uts/common/sys/scsi/targets/sddef.h
2232
((un->un_f_power_condition_supported && \
usr/src/uts/common/sys/scsi/targets/sddef.h
2234
(!un->un_f_power_condition_supported && \
usr/src/uts/common/sys/scsi/targets/sddef.h
597
#define SD_IS_VALID_LABEL(un) (cmlb_is_valid(un->un_cmlbhandle))
usr/src/uts/common/sys/scsi/targets/sddef.h
611
#define SD_BYTES2TGTBLOCKS(un, bytecount) \
usr/src/uts/common/sys/scsi/targets/sddef.h
612
((bytecount + (un->un_tgt_blocksize - 1))/un->un_tgt_blocksize)
usr/src/uts/common/sys/scsi/targets/sddef.h
615
#define SD_BYTES2PHYBLOCKS(un, bytecount) \
usr/src/uts/common/sys/scsi/targets/sddef.h
616
((bytecount + (un->un_phy_blocksize - 1))/un->un_phy_blocksize)
usr/src/uts/common/sys/scsi/targets/sddef.h
619
#define SD_TGTBLOCKS2BYTES(un, blockcount) \
usr/src/uts/common/sys/scsi/targets/sddef.h
620
(blockcount * (un)->un_tgt_blocksize)
usr/src/uts/common/sys/scsi/targets/sddef.h
634
#define SD_REQBYTES2TGTBYTES(un, bytecount) \
usr/src/uts/common/sys/scsi/targets/sddef.h
635
(SD_BYTES2TGTBLOCKS(un, bytecount) * (un)->un_tgt_blocksize)
usr/src/uts/common/sys/scsi/targets/sddef.h
641
#define SD_TGTBYTEOFFSET(un, sysblk, tgtblk) \
usr/src/uts/common/sys/scsi/targets/sddef.h
642
(SD_SYSBLOCKS2BYTES(sysblk) - SD_TGTBLOCKS2BYTES(un, tgtblk))
usr/src/uts/common/sys/scsi/targets/sddef.h
647
#define SD_SYS2TGTBLOCK(un, blockcnt) \
usr/src/uts/common/sys/scsi/targets/sddef.h
648
(blockcnt / ((un)->un_tgt_blocksize / DEV_BSIZE))
usr/src/uts/common/sys/scsi/targets/sddef.h
653
#define SD_TGT2SYSBLOCK(un, blockcnt) \
usr/src/uts/common/sys/scsi/targets/sddef.h
654
(blockcnt * ((un)->un_tgt_blocksize / DEV_BSIZE))
usr/src/uts/common/sys/scsi/targets/sddef.h
757
#define SD_SCSI_DEVP(un) ((un)->un_sd)
usr/src/uts/common/sys/scsi/targets/sddef.h
758
#define SD_DEVINFO(un) ((un)->un_sd->sd_dev)
usr/src/uts/common/sys/scsi/targets/sddef.h
759
#define SD_INQUIRY(un) ((un)->un_sd->sd_inq)
usr/src/uts/common/sys/scsi/targets/sddef.h
760
#define SD_MUTEX(un) (&((un)->un_sd->sd_mutex))
usr/src/uts/common/sys/scsi/targets/sddef.h
761
#define SD_ADDRESS(un) (&((un)->un_sd->sd_address))
usr/src/uts/common/sys/scsi/targets/sddef.h
762
#define SD_GET_DEV(un) (sd_make_device(SD_DEVINFO(un)))
usr/src/uts/common/sys/scsi/targets/sddef.h
763
#define SD_FM_LOG(un) (((struct sd_fm_internal *)\
usr/src/uts/common/sys/scsi/targets/sddef.h
764
((un)->un_fm_private))->fm_log_level)
usr/src/uts/common/sys/scsi/targets/sddef.h
776
#define ISCD(un) ((un)->un_ctype == CTYPE_CDROM)
usr/src/uts/common/sys/scsi/targets/sddef.h
777
#define ISROD(un) ((un)->un_ctype == CTYPE_ROD)
usr/src/uts/common/sys/scsi/targets/sddef.h
778
#define ISPXRE(un) ((un)->un_ctype == CTYPE_PXRE)
usr/src/uts/common/sys/scsi/targets/sddef.h
783
#define NOT_DEVBSIZE(un) \
usr/src/uts/common/sys/scsi/targets/sddef.h
784
((un)->un_tgt_blocksize != (un)->un_sys_blocksize)
usr/src/uts/common/sys/scsi/targets/sddef.h
790
#define ONLIST(un, wmp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
791
(((un)->un_wm == (wmp)) || ((wmp)->wm_prev != NULL))
usr/src/uts/common/sys/scsi/targets/sddef.h
797
#define FREE_ONLIST_WMAP(un, wmp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
799
sd_free_inlist_wmap((un), (wmp)); \
usr/src/uts/common/sys/scsi/targets/sddef.h
803
#define CHK_N_FREEWMP(un, wmp) \
usr/src/uts/common/sys/scsi/targets/sddef.h
804
if (!ONLIST((un), (wmp))) { \
usr/src/uts/common/sys/scsi/targets/sddef.h
805
kmem_cache_free((un)->un_wm_cache, (wmp)); \
usr/src/uts/common/sys/scsi/targets/sddef.h
808
FREE_ONLIST_WMAP((un), (wmp)); \
usr/src/uts/common/sys/scsi/targets/ses.h
57
#define SES_SCSI_DEVP (un->ses_scsi_devp)
usr/src/uts/common/sys/scsi/targets/stdef.h
1040
writablity (*un_wormable) (struct scsi_tape *un); /* worm test fuct */
usr/src/uts/common/sys/scsi/targets/stdef.h
1342
#define ST_SCSI_DEVP (un->un_sd)
usr/src/uts/common/sys/scsi/targets/stdef.h
1349
#define BSD_BEHAVIOR (getminor(un->un_dev) & MT_BSD)
usr/src/uts/common/sys/scsi/targets/stdef.h
1350
#define SVR4_BEHAVIOR ((getminor(un->un_dev) & MT_BSD) == 0)
usr/src/uts/common/sys/scsi/targets/stdef.h
1358
#define USCSI_CMD(bp) (((bp) == un->un_sbufp) && (BP_UCMD(bp)))
usr/src/uts/common/sys/scsi/targets/stdef.h
1360
#define IS_CLOSING(un) ((un)->un_state == ST_STATE_CLOSING || \
usr/src/uts/common/sys/scsi/targets/stdef.h
1361
((un)->un_state == ST_STATE_SENSING && \
usr/src/uts/common/sys/scsi/targets/stdef.h
1362
(un)->un_laststate == ST_STATE_CLOSING))
usr/src/uts/common/sys/scsi/targets/stdef.h
1369
un->un_errno = error; }
usr/src/uts/common/sys/scsi/targets/stdef.h
1442
register struct scsi_tape *un; \
usr/src/uts/common/sys/scsi/targets/stdef.h
1446
if ((un = ddi_get_soft_state(st_state, instance)) == NULL) \
usr/src/uts/common/sys/sunpm.h
79
} un;
usr/src/uts/common/sys/tsol/tndb.h
208
#define tp_mask_unl un.unl.mask
usr/src/uts/common/sys/tsol/tndb.h
209
#define tp_def_label un.unl.def_label
usr/src/uts/common/sys/tsol/tndb.h
210
#define tp_gw_sl_range un.unl.gw_sl_range
usr/src/uts/common/sys/tsol/tndb.h
211
#define tp_gw_sl_set un.unl.sl_set
usr/src/uts/common/sys/tsol/tndb.h
214
#define tp_mask_cipso un.cipso.mask
usr/src/uts/common/sys/tsol/tndb.h
215
#define tp_def_cl_cipso un.cipso.def_cl
usr/src/uts/common/sys/tsol/tndb.h
216
#define tp_sl_range_cipso un.cipso.sl_range
usr/src/uts/common/sys/tsol/tndb.h
217
#define tp_sl_set_cipso un.cipso.sl_set
usr/src/uts/common/sys/tsol/tndb.h
218
} un;
usr/src/uts/common/sys/vfs.h
107
} un;
usr/src/uts/common/sys/vfs.h
114
#define fid_len un._fid.len
usr/src/uts/common/sys/vfs.h
115
#define fid_data un._fid.data
usr/src/uts/common/sys/vfs.h
92
} un;
usr/src/uts/common/syscall/lwp_sobj.c
1036
} un;
usr/src/uts/common/syscall/lwp_sobj.c
1038
un.word64 = (uint64_t)owner;
usr/src/uts/common/syscall/lwp_sobj.c
1043
suword64_noerr(&lp->mutex_owner, un.word64);
usr/src/uts/common/syscall/lwp_sobj.c
1048
suword32_noerr((uint32_t *)&lp->mutex_owner, un.word32[0]);
usr/src/uts/common/syscall/lwp_sobj.c
1049
suword32_noerr((uint32_t *)&lp->mutex_owner + 1, un.word32[1]);
usr/src/uts/common/syscall/sem.c
807
struct sem_undo *template, struct sem_undo **un)
usr/src/uts/common/syscall/sem.c
844
if (*un = avl_find(pp->p_semacct, template, &where)) {
usr/src/uts/common/syscall/sem.c
848
*un = undo;
usr/src/uts/common/xen/io/xenbus_xs.c
1000
if ((msg->un.watch.handle = find_watch(token)) != NULL) {
usr/src/uts/common/xen/io/xenbus_xs.c
1004
const char *, msg->un.watch.handle->node,
usr/src/uts/common/xen/io/xenbus_xs.c
1005
uintptr_t, msg->un.watch.handle->callback,
usr/src/uts/common/xen/io/xenbus_xs.c
1006
struct xenbus_watch *, msg->un.watch.handle,
usr/src/uts/common/xen/io/xenbus_xs.c
1007
const char *, msg->un.watch.vec[XS_WATCH_PATH]);
usr/src/uts/common/xen/io/xenbus_xs.c
1017
msg->un.reply.body = body;
usr/src/uts/common/xen/io/xenbus_xs.c
114
} un;
usr/src/uts/common/xen/io/xenbus_xs.c
272
*reply = reply_msg->un.reply.body;
usr/src/uts/common/xen/io/xenbus_xs.c
335
reply = reply_msg->un.reply.body;
usr/src/uts/common/xen/io/xenbus_xs.c
846
for (i = 0; i < msg->un.watch.vec_size; i++)
usr/src/uts/common/xen/io/xenbus_xs.c
847
len += strlen(msg->un.watch.vec[i]) + 1 + sizeof (char *);
usr/src/uts/common/xen/io/xenbus_xs.c
848
kmem_free(msg->un.watch.vec, len);
usr/src/uts/common/xen/io/xenbus_xs.c
884
if (msg->un.watch.handle == watch) {
usr/src/uts/common/xen/io/xenbus_xs.c
943
watch = msg->un.watch.handle;
usr/src/uts/common/xen/io/xenbus_xs.c
952
const char *, msg->un.watch.vec[XS_WATCH_PATH]);
usr/src/uts/common/xen/io/xenbus_xs.c
954
watch->callback(watch, (const char **)msg->un.watch.vec,
usr/src/uts/common/xen/io/xenbus_xs.c
955
msg->un.watch.vec_size);
usr/src/uts/common/xen/io/xenbus_xs.c
991
msg->un.watch.vec = split(body, msg->hdr.len + 1,
usr/src/uts/common/xen/io/xenbus_xs.c
992
&msg->un.watch.vec_size);
usr/src/uts/common/xen/io/xenbus_xs.c
993
if (msg->un.watch.vec == NULL) {
usr/src/uts/common/xen/io/xenbus_xs.c
999
token = msg->un.watch.vec[XS_WATCH_TOKEN];
usr/src/uts/i86pc/io/dr/dr.c
102
#define DR_GET_BOARD_DEVUNIT(sb, ut, un) (&((sb)->b_dev[DEVSET_NIX(ut)][un]))
usr/src/uts/intel/io/dnet/dnet.c
2096
block->un.sia.csr13,
usr/src/uts/intel/io/dnet/dnet.c
2097
block->un.sia.csr14,
usr/src/uts/intel/io/dnet/dnet.c
2098
block->un.sia.csr15);
usr/src/uts/intel/io/dnet/dnet.c
2107
block->un.sia.csr14);
usr/src/uts/intel/io/dnet/dnet.c
2113
dnetp->gprsia = (dnetp->gprsia&0xffff0000)|block->un.sia.csr15;
usr/src/uts/intel/io/dnet/dnet.c
2120
block->un.sia.csr13);
usr/src/uts/intel/io/dnet/dnet.c
4141
block->un.sia.csr13 = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4142
block->un.sia.csr13 |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4143
block->un.sia.csr14 = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4144
block->un.sia.csr14 |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4145
block->un.sia.csr15 = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4146
block->un.sia.csr15 |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4151
block->un.sia.csr13 = 0xef01;
usr/src/uts/intel/io/dnet/dnet.c
4152
block->un.sia.csr14 = 0x7f3f;
usr/src/uts/intel/io/dnet/dnet.c
4153
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4156
block->un.sia.csr13 = 0xef01;
usr/src/uts/intel/io/dnet/dnet.c
4157
block->un.sia.csr14 = 0x7f3d;
usr/src/uts/intel/io/dnet/dnet.c
4158
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4161
block->un.sia.csr13 = 0xef09;
usr/src/uts/intel/io/dnet/dnet.c
4162
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4163
block->un.sia.csr15 = 0x0006;
usr/src/uts/intel/io/dnet/dnet.c
4166
block->un.sia.csr13 = 0xef09;
usr/src/uts/intel/io/dnet/dnet.c
4167
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4168
block->un.sia.csr15 = 0x000e;
usr/src/uts/intel/io/dnet/dnet.c
4189
block->un.mii.phy_num = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4198
block->un.mii.mediacaps = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4199
block->un.mii.mediacaps |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4200
block->un.mii.nwayadvert = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4201
block->un.mii.nwayadvert |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4202
block->un.mii.fdxmask = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4203
block->un.mii.fdxmask |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4204
block->un.mii.ttmmask = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4205
block->un.mii.ttmmask |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4211
block->un.sia.csr13 = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4212
block->un.sia.csr13 |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4213
block->un.sia.csr14 = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4214
block->un.sia.csr14 |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4215
block->un.sia.csr15 = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4216
block->un.sia.csr15 |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4224
block->un.sia.csr13 = 0x0009;
usr/src/uts/intel/io/dnet/dnet.c
4225
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4226
block->un.sia.csr15 = 0x0000;
usr/src/uts/intel/io/dnet/dnet.c
4229
block->un.sia.csr13 = 0x0009;
usr/src/uts/intel/io/dnet/dnet.c
4230
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4231
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4234
block->un.sia.csr13 = 0x0001;
usr/src/uts/intel/io/dnet/dnet.c
4235
block->un.sia.csr14 = 0x7f3f;
usr/src/uts/intel/io/dnet/dnet.c
4236
block->un.sia.csr15 = 0x0000;
usr/src/uts/intel/io/dnet/dnet.c
4239
block->un.sia.csr13 = 0x0001;
usr/src/uts/intel/io/dnet/dnet.c
4240
block->un.sia.csr14 = 0x7f3d;
usr/src/uts/intel/io/dnet/dnet.c
4241
block->un.sia.csr15 = 0x0000;
usr/src/uts/intel/io/dnet/dnet.c
4244
block->un.sia.csr13 = 0x0000;
usr/src/uts/intel/io/dnet/dnet.c
4245
block->un.sia.csr14 = 0x0000;
usr/src/uts/intel/io/dnet/dnet.c
4246
block->un.sia.csr15 = 0x0000;
usr/src/uts/intel/io/dnet/dnet.c
4262
block->un.mii.phy_num = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4275
block->un.mii.mediacaps = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4276
block->un.mii.mediacaps |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4277
block->un.mii.nwayadvert = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4278
block->un.mii.nwayadvert |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4279
block->un.mii.fdxmask = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4280
block->un.mii.fdxmask |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4281
block->un.mii.ttmmask = *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4282
block->un.mii.ttmmask |= *vi++ << 8;
usr/src/uts/intel/io/dnet/dnet.c
4283
block->un.mii.miiintr |= *vi++;
usr/src/uts/intel/io/dnet/dnet.c
4443
block->un.sia.csr13 = 0xef09;
usr/src/uts/intel/io/dnet/dnet.c
4444
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4445
block->un.sia.csr15 = 0x000e;
usr/src/uts/intel/io/dnet/dnet.c
4450
block->un.sia.csr13 = 0xef01;
usr/src/uts/intel/io/dnet/dnet.c
4451
block->un.sia.csr14 = 0x7f3d;
usr/src/uts/intel/io/dnet/dnet.c
4452
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4457
block->un.sia.csr13 = 0xef09;
usr/src/uts/intel/io/dnet/dnet.c
4458
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4459
block->un.sia.csr15 = 0x0006;
usr/src/uts/intel/io/dnet/dnet.c
4464
block->un.sia.csr13 = 0xef01;
usr/src/uts/intel/io/dnet/dnet.c
4465
block->un.sia.csr14 = 0x7f3f;
usr/src/uts/intel/io/dnet/dnet.c
4466
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4475
block->un.sia.csr13 = 0x8f09;
usr/src/uts/intel/io/dnet/dnet.c
4476
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4477
block->un.sia.csr15 = 0x000e;
usr/src/uts/intel/io/dnet/dnet.c
4481
block->un.sia.csr13 = 0x0f01;
usr/src/uts/intel/io/dnet/dnet.c
4482
block->un.sia.csr14 = 0x7f3d;
usr/src/uts/intel/io/dnet/dnet.c
4483
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4487
block->un.sia.csr13 = 0xef09;
usr/src/uts/intel/io/dnet/dnet.c
4488
block->un.sia.csr14 = 0x0705;
usr/src/uts/intel/io/dnet/dnet.c
4489
block->un.sia.csr15 = 0x0006;
usr/src/uts/intel/io/dnet/dnet.c
4493
block->un.sia.csr13 = 0x8f01;
usr/src/uts/intel/io/dnet/dnet.c
4494
block->un.sia.csr14 = 0x7f3f;
usr/src/uts/intel/io/dnet/dnet.c
4495
block->un.sia.csr15 = 0x0008;
usr/src/uts/intel/io/dnet/dnet.c
4536
block->un.mii.phy_num, block->un.mii.nwayadvert,
usr/src/uts/intel/io/dnet/dnet.c
4537
block->un.mii.fdxmask, block->un.mii.ttmmask,
usr/src/uts/intel/io/dnet/dnet.c
4538
block->un.mii.mediacaps);
usr/src/uts/intel/io/dnet/dnet.c
4542
block->un.sia.csr13, block->un.sia.csr14,
usr/src/uts/intel/io/dnet/dnet.c
4543
block->un.sia.csr15);
usr/src/uts/intel/io/dnet/dnet.h
325
} un;
usr/src/uts/intel/io/ecpp.c
1450
*(int *)((char *)&stp->un + rlen_offset);
usr/src/uts/intel/io/ecpp.c
2302
ecpp_srvioc_devid(q, mp, &id, &stp->un.devid.rlen);
usr/src/uts/intel/io/ecpp.c
2335
(int *)&stp->un.prn_devid.id_rlen);
usr/src/uts/intel/io/ecpp.c
2447
(uintptr_t)rlen - (uintptr_t)&stp->un);
usr/src/uts/intel/io/ecpp.c
2511
stp->un.prn_if.if_rlen = len;
usr/src/uts/intel/sys/ecppvar.h
365
} un;
usr/src/uts/sun/io/dada/targets/dad.c
1025
un->un_dp->options |= DMA_SUPPORTTED;
usr/src/uts/sun/io/dada/targets/dad.c
1026
un->un_dp->dma_mode = (options >> 3) & 0x03;
usr/src/uts/sun/io/dada/targets/dad.c
1028
"mode %x\n", un->un_dp->dma_mode);
usr/src/uts/sun/io/dada/targets/dad.c
1030
un->un_dp->options &= ~DMA_SUPPORTTED;
usr/src/uts/sun/io/dada/targets/dad.c
1031
un->un_dp->pio_mode = options & 0x7;
usr/src/uts/sun/io/dada/targets/dad.c
1033
un->un_dp->options |= BLOCK_MODE;
usr/src/uts/sun/io/dada/targets/dad.c
1035
"mode %x\n", un->un_dp->pio_mode);
usr/src/uts/sun/io/dada/targets/dad.c
1038
"options %x,", un->un_dp->options);
usr/src/uts/sun/io/dada/targets/dad.c
1041
un->un_throttle = 2;
usr/src/uts/sun/io/dada/targets/dad.c
1046
un->un_max_xfer_size = MAX_ATA_XFER_SIZE;
usr/src/uts/sun/io/dada/targets/dad.c
1056
un->un_write_cache_enabled = (devp->dcd_ident->dcd_majvers == 0xffff) ||
usr/src/uts/sun/io/dada/targets/dad.c
106
static void dcdstart(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
1068
dcd_free_softstate(un, devi);
usr/src/uts/sun/io/dada/targets/dad.c
107
static void dcddone_and_mutex_exit(struct dcd_disk *un, struct buf *bp);
usr/src/uts/sun/io/dada/targets/dad.c
1077
dcd_set_multiple(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
108
static void make_dcd_cmd(struct dcd_disk *un, struct buf *bp, int (*f)());
usr/src/uts/sun/io/dada/targets/dad.c
1097
cdb.size = un->un_lbasize * un->un_dp->block_factor;
usr/src/uts/sun/io/dada/targets/dad.c
1121
dcd_set_features(struct dcd_disk *un, uchar_t mode)
usr/src/uts/sun/io/dada/targets/dad.c
1143
cdb.size = un->un_lbasize * mode;
usr/src/uts/sun/io/dada/targets/dad.c
115
struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
117
static int dcd_handle_incomplete(struct dcd_disk *un, struct buf *bp);
usr/src/uts/sun/io/dada/targets/dad.c
1173
dcd_validate_geometry(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
118
static void dcd_offline(struct dcd_disk *un, int bechatty);
usr/src/uts/sun/io/dada/targets/dad.c
1184
if (un->un_lbasize < 0) {
usr/src/uts/sun/io/dada/targets/dad.c
1188
if (un->un_state == DCD_STATE_PM_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
119
static int dcd_ready_and_valid(dev_t dev, struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
1198
secsize = un->un_secsize;
usr/src/uts/sun/io/dada/targets/dad.c
120
static void dcd_reset_disk(struct dcd_disk *un, struct dcd_pkt *pkt);
usr/src/uts/sun/io/dada/targets/dad.c
1205
un->un_secdiv = secdiv;
usr/src/uts/sun/io/dada/targets/dad.c
1212
devp = un->un_dcd;
usr/src/uts/sun/io/dada/targets/dad.c
1217
rval = cmlb_validate(un->un_dklbhandle, 0, 0);
usr/src/uts/sun/io/dada/targets/dad.c
1231
secsize = un->un_lbasize;
usr/src/uts/sun/io/dada/targets/dad.c
1234
un->un_lbadiv = secdiv;
usr/src/uts/sun/io/dada/targets/dad.c
1240
secsize = un->un_lbasize >> DEV_BSHIFT;
usr/src/uts/sun/io/dada/targets/dad.c
1243
un->un_blknoshift = secdiv;
usr/src/uts/sun/io/dada/targets/dad.c
1279
sema_p(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
1283
if ((un->un_state & DCD_STATE_FATAL) == DCD_STATE_FATAL) {
usr/src/uts/sun/io/dada/targets/dad.c
1288
while (un->un_state == DCD_STATE_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
1289
cv_wait(&un->un_suspend_cv, DCD_MUTEX);
usr/src/uts/sun/io/dada/targets/dad.c
1292
if ((un->un_state == DCD_STATE_PM_SUSPENDED) && (!nodelay)) {
usr/src/uts/sun/io/dada/targets/dad.c
1307
un->un_cmd_flags = 0;
usr/src/uts/sun/io/dada/targets/dad.c
1309
un->un_cmd_stat_size = 2;
usr/src/uts/sun/io/dada/targets/dad.c
1312
(void *)un);
usr/src/uts/sun/io/dada/targets/dad.c
1318
un->un_exclopen, flag, un->un_ocmap.regopen[otyp]);
usr/src/uts/sun/io/dada/targets/dad.c
1321
un->un_exclopen, partmask);
usr/src/uts/sun/io/dada/targets/dad.c
1323
if (un->un_exclopen & (partmask)) {
usr/src/uts/sun/io/dada/targets/dad.c
1333
if (un->un_ocmap.lyropen[part]) {
usr/src/uts/sun/io/dada/targets/dad.c
1337
if (un->un_ocmap.regopen[i] & (partmask)) {
usr/src/uts/sun/io/dada/targets/dad.c
1345
sema_v(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
1356
if ((rval = dcd_ready_and_valid(dev, un)) != 0) {
usr/src/uts/sun/io/dada/targets/dad.c
1364
if (rval || cmlb_partinfo(un->un_dklbhandle,
usr/src/uts/sun/io/dada/targets/dad.c
1375
un->un_ocmap.lyropen[part]++;
usr/src/uts/sun/io/dada/targets/dad.c
1377
un->un_ocmap.regopen[otyp] |= partmask;
usr/src/uts/sun/io/dada/targets/dad.c
1384
un->un_exclopen |= (partmask);
usr/src/uts/sun/io/dada/targets/dad.c
1399
if (un->un_stats == (kstat_t *)0) {
usr/src/uts/sun/io/dada/targets/dad.c
1400
un->un_stats = kstat_create("dad", instance,
usr/src/uts/sun/io/dada/targets/dad.c
1403
if (un->un_stats) {
usr/src/uts/sun/io/dada/targets/dad.c
1404
un->un_stats->ks_lock = DCD_MUTEX;
usr/src/uts/sun/io/dada/targets/dad.c
1405
kstat_install(un->un_stats);
usr/src/uts/sun/io/dada/targets/dad.c
1414
if ((un->un_pstats[i] == (kstat_t *)0) &&
usr/src/uts/sun/io/dada/targets/dad.c
1415
(cmlb_partinfo(un->un_dklbhandle,
usr/src/uts/sun/io/dada/targets/dad.c
1420
un->un_pstats[i] = kstat_create("dad",
usr/src/uts/sun/io/dada/targets/dad.c
1427
if (un->un_pstats[i]) {
usr/src/uts/sun/io/dada/targets/dad.c
1428
un->un_pstats[i]->ks_lock =
usr/src/uts/sun/io/dada/targets/dad.c
1430
kstat_install(un->un_pstats[i]);
usr/src/uts/sun/io/dada/targets/dad.c
1438
(void) dcd_create_errstats(un, instance);
usr/src/uts/sun/io/dada/targets/dad.c
1444
sema_v(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
1450
sema_v(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
1459
dcd_ready_and_valid(dev_t dev, struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
1468
if (un->un_ncmds == 0) {
usr/src/uts/sun/io/dada/targets/dad.c
1475
if (un->un_state == DCD_STATE_NORMAL) {
usr/src/uts/sun/io/dada/targets/dad.c
1478
dcd_offline(un, 1);
usr/src/uts/sun/io/dada/targets/dad.c
1483
if (un->un_format_in_progress == 0) {
usr/src/uts/sun/io/dada/targets/dad.c
1484
g_error = dcd_validate_geometry(un);
usr/src/uts/sun/io/dada/targets/dad.c
149
static int dcd_check_error(struct dcd_disk *un, struct buf *bp);
usr/src/uts/sun/io/dada/targets/dad.c
1501
un->un_mediastate = DKIO_INSERTED;
usr/src/uts/sun/io/dada/targets/dad.c
1502
cv_broadcast(&un->un_state_cv);
usr/src/uts/sun/io/dada/targets/dad.c
1527
sema_p(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
1531
if (un->un_exclopen & (1<<part)) {
usr/src/uts/sun/io/dada/targets/dad.c
1532
un->un_exclopen &= ~(1<<part);
usr/src/uts/sun/io/dada/targets/dad.c
1536
un->un_ocmap.lyropen[part] -= 1;
usr/src/uts/sun/io/dada/targets/dad.c
1538
un->un_ocmap.regopen[otyp] &= ~(1<<part);
usr/src/uts/sun/io/dada/targets/dad.c
1541
cp = &un->un_ocmap.chkd[0];
usr/src/uts/sun/io/dada/targets/dad.c
1542
while (cp < &un->un_ocmap.chkd[OCSIZE]) {
usr/src/uts/sun/io/dada/targets/dad.c
1549
if (cp == &un->un_ocmap.chkd[OCSIZE]) {
usr/src/uts/sun/io/dada/targets/dad.c
1551
if (un->un_state == DCD_STATE_OFFLINE) {
usr/src/uts/sun/io/dada/targets/dad.c
1552
dcd_offline(un, 1);
usr/src/uts/sun/io/dada/targets/dad.c
1556
(void) cmlb_close(un->un_dklbhandle, 0);
usr/src/uts/sun/io/dada/targets/dad.c
1559
if (un->un_stats) {
usr/src/uts/sun/io/dada/targets/dad.c
1560
kstat_delete(un->un_stats);
usr/src/uts/sun/io/dada/targets/dad.c
1561
un->un_stats = 0;
usr/src/uts/sun/io/dada/targets/dad.c
1564
if (un->un_pstats[i]) {
usr/src/uts/sun/io/dada/targets/dad.c
1565
kstat_delete(un->un_pstats[i]);
usr/src/uts/sun/io/dada/targets/dad.c
1566
un->un_pstats[i] = (kstat_t *)0;
usr/src/uts/sun/io/dada/targets/dad.c
1570
if (un->un_errstats) {
usr/src/uts/sun/io/dada/targets/dad.c
1571
kstat_delete(un->un_errstats);
usr/src/uts/sun/io/dada/targets/dad.c
1572
un->un_errstats = (kstat_t *)0;
usr/src/uts/sun/io/dada/targets/dad.c
1582
sema_v(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
1587
dcd_offline(struct dcd_disk *un, int bechatty)
usr/src/uts/sun/io/dada/targets/dad.c
1593
cmlb_invalidate(un->un_dklbhandle, 0);
usr/src/uts/sun/io/dada/targets/dad.c
1606
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
1614
if ((un = ddi_get_soft_state(dcd_state, instance)) == NULL)
usr/src/uts/sun/io/dada/targets/dad.c
1639
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
1641
if ((un = ddi_get_soft_state(dcd_state, ddi_get_instance(dip))) == NULL)
usr/src/uts/sun/io/dada/targets/dad.c
1645
return (cmlb_prop_op(un->un_dklbhandle,
usr/src/uts/sun/io/dada/targets/dad.c
1664
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
1668
un = ddi_get_soft_state(dcd_state, instance);
usr/src/uts/sun/io/dada/targets/dad.c
1670
if (bp->b_bcount > un->un_max_xfer_size)
usr/src/uts/sun/io/dada/targets/dad.c
1671
bp->b_bcount = un->un_max_xfer_size;
usr/src/uts/sun/io/dada/targets/dad.c
1684
secmask = un->un_secsize - 1;
usr/src/uts/sun/io/dada/targets/dad.c
1689
un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1693
"transfer length not modulo %d\n", un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1709
secmask = un->un_secsize - 1;
usr/src/uts/sun/io/dada/targets/dad.c
1714
un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1718
"transfer length not modulo %d\n", un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1733
secmask = un->un_secsize - 1;
usr/src/uts/sun/io/dada/targets/dad.c
1738
un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1742
"transfer length not modulo %d\n", un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1759
secmask = un->un_secsize - 1;
usr/src/uts/sun/io/dada/targets/dad.c
1764
un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1768
"transfer length not modulo %d\n", un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
1780
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
1788
if ((un = ddi_get_soft_state(dcd_state,
usr/src/uts/sun/io/dada/targets/dad.c
1790
un->un_state == DCD_STATE_DUMPING ||
usr/src/uts/sun/io/dada/targets/dad.c
1791
((un->un_state & DCD_STATE_FATAL) == DCD_STATE_FATAL)) {
usr/src/uts/sun/io/dada/targets/dad.c
1792
SET_BP_ERROR(bp, ((un) ? ENXIO : EIO));
usr/src/uts/sun/io/dada/targets/dad.c
1813
if (bp->b_bcount > un->un_max_xfer_size) {
usr/src/uts/sun/io/dada/targets/dad.c
1819
"dcdstrategy_start: bp 0x%p un 0x%p", bp, un);
usr/src/uts/sun/io/dada/targets/dad.c
1826
while (un->un_state == DCD_STATE_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
1827
cv_wait(&un->un_suspend_cv, DCD_MUTEX);
usr/src/uts/sun/io/dada/targets/dad.c
1830
if (un->un_state == DCD_STATE_PM_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
1856
if (bp != un->un_sbufp) {
usr/src/uts/sun/io/dada/targets/dad.c
1857
validated: if (cmlb_partinfo(un->un_dklbhandle,
usr/src/uts/sun/io/dada/targets/dad.c
1892
} else if (bp->b_bcount & (un->un_secsize-1)) {
usr/src/uts/sun/io/dada/targets/dad.c
1933
if (dcd_ready_and_valid(bp->b_edev, un) == 0) {
usr/src/uts/sun/io/dada/targets/dad.c
1974
DCD_DO_KSTATS(un, kstat_waitq_enter, bp);
usr/src/uts/sun/io/dada/targets/dad.c
1976
dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
1981
} else if ((un->un_state == DCD_STATE_SUSPENDED) &&
usr/src/uts/sun/io/dada/targets/dad.c
1982
bp == un->un_sbufp) {
usr/src/uts/sun/io/dada/targets/dad.c
1988
dp, bp, un);
usr/src/uts/sun/io/dada/targets/dad.c
1996
un->un_ncmds, un->un_throttle, (void *)dp->b_forw);
usr/src/uts/sun/io/dada/targets/dad.c
1997
ASSERT(un->un_ncmds >= 0);
usr/src/uts/sun/io/dada/targets/dad.c
1998
ASSERT(un->un_throttle >= 0);
usr/src/uts/sun/io/dada/targets/dad.c
1999
if ((un->un_ncmds < un->un_throttle) && (dp->b_forw == NULL)) {
usr/src/uts/sun/io/dada/targets/dad.c
2000
dcdstart(un);
usr/src/uts/sun/io/dada/targets/dad.c
2013
make_dcd_cmd(un, cmd_bp, NULL_FUNC);
usr/src/uts/sun/io/dada/targets/dad.c
2025
if ((un->un_ncmds < un->un_throttle) &&
usr/src/uts/sun/io/dada/targets/dad.c
2027
dcdstart(un);
usr/src/uts/sun/io/dada/targets/dad.c
2046
dcdstart(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
2051
uchar_t state = un->un_last_state;
usr/src/uts/sun/io/dada/targets/dad.c
2053
TRACE_1(TR_FAC_DADA, TR_DCDSTART_START, "dcdstart_start: un 0x%p", un);
usr/src/uts/sun/io/dada/targets/dad.c
2058
dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
2076
un->un_ncmds++;
usr/src/uts/sun/io/dada/targets/dad.c
2084
DCD_DO_KSTATS(un, kstat_waitq_to_runq, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2089
make_dcd_cmd(un, bp, dcdrunout);
usr/src/uts/sun/io/dada/targets/dad.c
2092
DCD_DO_KSTATS(un, kstat_runq_back_to_waitq, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2096
New_state(un, DCD_STATE_RWAIT);
usr/src/uts/sun/io/dada/targets/dad.c
2097
un->un_ncmds--;
usr/src/uts/sun/io/dada/targets/dad.c
2104
DCD_DO_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2106
un->un_ncmds--;
usr/src/uts/sun/io/dada/targets/dad.c
2115
un->un_state = un->un_last_state;
usr/src/uts/sun/io/dada/targets/dad.c
2116
un->un_last_state = state;
usr/src/uts/sun/io/dada/targets/dad.c
2122
if (un->un_state == DCD_STATE_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
2123
cv_broadcast(&un->un_disk_busy_cv);
usr/src/uts/sun/io/dada/targets/dad.c
2126
if ((un->un_ncmds < un->un_throttle) &&
usr/src/uts/sun/io/dada/targets/dad.c
2155
un->un_ncmds--;
usr/src/uts/sun/io/dada/targets/dad.c
2159
DCD_DO_ERRSTATS(un, dcd_transerrs);
usr/src/uts/sun/io/dada/targets/dad.c
2160
DCD_DO_KSTATS(un, kstat_runq_back_to_waitq, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2161
dcd_handle_tran_busy(bp, dp, un);
usr/src/uts/sun/io/dada/targets/dad.c
2162
if (un->un_ncmds > 0) {
usr/src/uts/sun/io/dada/targets/dad.c
2166
DCD_DO_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2174
if (bp != un->un_sbufp) {
usr/src/uts/sun/io/dada/targets/dad.c
2180
if (un->un_state == DCD_STATE_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
2181
cv_broadcast(&un->un_disk_busy_cv);
usr/src/uts/sun/io/dada/targets/dad.c
2183
if ((un->un_ncmds < un->un_throttle) &&
usr/src/uts/sun/io/dada/targets/dad.c
2203
make_dcd_cmd(un, cmd_bp, NULL_FUNC);
usr/src/uts/sun/io/dada/targets/dad.c
2214
if ((un->un_ncmds < un->un_throttle) &&
usr/src/uts/sun/io/dada/targets/dad.c
2230
make_dcd_cmd(struct dcd_disk *un, struct buf *bp, int (*func)())
usr/src/uts/sun/io/dada/targets/dad.c
2238
"make_dcd_cmd_start: un 0x%p bp 0x%p un 0x%p", un, bp, un);
usr/src/uts/sun/io/dada/targets/dad.c
2241
flags = un->un_cmd_flags;
usr/src/uts/sun/io/dada/targets/dad.c
2243
if (bp != un->un_sbufp) {
usr/src/uts/sun/io/dada/targets/dad.c
2252
if (cmlb_partinfo(un->un_dklbhandle,
usr/src/uts/sun/io/dada/targets/dad.c
2277
secnt = (bp->b_bcount + (un->un_secsize - 1)) >> un->un_secdiv;
usr/src/uts/sun/io/dada/targets/dad.c
2283
resid = (secnt - count) << un->un_secdiv;
usr/src/uts/sun/io/dada/targets/dad.c
2303
if (un->un_lbasize != un->un_secsize) {
usr/src/uts/sun/io/dada/targets/dad.c
2304
blkno >>= un->un_blknoshift;
usr/src/uts/sun/io/dada/targets/dad.c
2305
count >>= un->un_blknoshift;
usr/src/uts/sun/io/dada/targets/dad.c
2313
un->un_cmd_stat_size, PP_LEN, PKT_CONSISTENT,
usr/src/uts/sun/io/dada/targets/dad.c
2314
func, (caddr_t)un);
usr/src/uts/sun/io/dada/targets/dad.c
2326
if ((un->un_dp->options & DMA_SUPPORTTED) ==
usr/src/uts/sun/io/dada/targets/dad.c
2330
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
2337
if ((un->un_dp->options & DMA_SUPPORTTED) ==
usr/src/uts/sun/io/dada/targets/dad.c
2341
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
2377
2, PP_LEN, PKT_CONSISTENT, func, (caddr_t)un);
usr/src/uts/sun/io/dada/targets/dad.c
2414
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
2420
un = ddi_get_soft_state(dcd_state, DCDUNIT(bp->b_edev));
usr/src/uts/sun/io/dada/targets/dad.c
2422
TRACE_1(TR_FAC_DADA, TR_DCDINTR_START, "dcdintr_start: un 0x%p", un);
usr/src/uts/sun/io/dada/targets/dad.c
2426
un->un_ncmds--;
usr/src/uts/sun/io/dada/targets/dad.c
2427
DCD_DO_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2428
ASSERT(un->un_ncmds >= 0);
usr/src/uts/sun/io/dada/targets/dad.c
2439
if (un->un_state == DCD_STATE_OFFLINE) {
usr/src/uts/sun/io/dada/targets/dad.c
2440
un->un_state = un->un_last_state;
usr/src/uts/sun/io/dada/targets/dad.c
2451
DCD_DO_ERRSTATS(un, dcd_harderrs);
usr/src/uts/sun/io/dada/targets/dad.c
2482
action = dcd_handle_incomplete(un, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2502
if ((un->un_last_pkt_reason != pkt->pkt_reason) &&
usr/src/uts/sun/io/dada/targets/dad.c
2505
un->un_last_pkt_reason = pkt->pkt_reason;
usr/src/uts/sun/io/dada/targets/dad.c
252
#define IOSP KSTAT_IO_PTR(un->un_stats)
usr/src/uts/sun/io/dada/targets/dad.c
2520
un->un_flush_not_supported = 1;
usr/src/uts/sun/io/dada/targets/dad.c
2528
dcddone_and_mutex_exit(un, bp);
usr/src/uts/sun/io/dada/targets/dad.c
253
#define IO_PARTITION_STATS un->un_pstats[DCDPART(bp->b_edev)]
usr/src/uts/sun/io/dada/targets/dad.c
2535
if (un->un_ncmds >= un->un_throttle) {
usr/src/uts/sun/io/dada/targets/dad.c
2536
struct diskhd *dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
2541
DCD_DO_KSTATS(un, kstat_waitq_enter, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2547
un->un_ncmds++;
usr/src/uts/sun/io/dada/targets/dad.c
2550
DCD_DO_KSTATS(un, kstat_runq_enter, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2553
struct diskhd *dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
2556
un->un_ncmds--;
usr/src/uts/sun/io/dada/targets/dad.c
2558
DCD_DO_KSTATS(un, kstat_runq_back_to_waitq, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2559
dcd_handle_tran_busy(bp, dp, un);
usr/src/uts/sun/io/dada/targets/dad.c
256
#define DCD_DO_KSTATS(un, kstat_function, bp) \
usr/src/uts/sun/io/dada/targets/dad.c
2563
DCD_DO_ERRSTATS(un, dcd_transerrs);
usr/src/uts/sun/io/dada/targets/dad.c
2564
DCD_DO_KSTATS(un, kstat_runq_exit, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2571
dcddone_and_mutex_exit(un, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2578
DCD_DO_KSTATS(un, kstat_waitq_enter, bp);
usr/src/uts/sun/io/dada/targets/dad.c
258
if (bp != un->un_sbufp) { \
usr/src/uts/sun/io/dada/targets/dad.c
259
if (un->un_stats) { \
usr/src/uts/sun/io/dada/targets/dad.c
2592
dcddone_and_mutex_exit(struct dcd_disk *un, register struct buf *bp)
usr/src/uts/sun/io/dada/targets/dad.c
2596
TRACE_1(TR_FAC_DADA, TR_DCDONE_START, "dcddone_start: un 0x%p", un);
usr/src/uts/sun/io/dada/targets/dad.c
2598
_NOTE(LOCK_RELEASED_AS_SIDE_EFFECT(&un->un_dcd->dcd_mutex));
usr/src/uts/sun/io/dada/targets/dad.c
2600
dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
2605
if (un->un_stats) {
usr/src/uts/sun/io/dada/targets/dad.c
2629
if (un->un_state == DCD_STATE_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
2630
cv_broadcast(&un->un_disk_busy_cv);
usr/src/uts/sun/io/dada/targets/dad.c
2631
} else if (dp->b_actf && (un->un_ncmds < un->un_throttle) &&
usr/src/uts/sun/io/dada/targets/dad.c
2632
(dp->b_forw == NULL && un->un_state != DCD_STATE_SUSPENDED)) {
usr/src/uts/sun/io/dada/targets/dad.c
2633
dcdstart(un);
usr/src/uts/sun/io/dada/targets/dad.c
2638
if (bp != un->un_sbufp) {
usr/src/uts/sun/io/dada/targets/dad.c
2643
ASSERT(un->un_sbuf_busy);
usr/src/uts/sun/io/dada/targets/dad.c
2661
dcd_reset_disk(struct dcd_disk *un, struct dcd_pkt *pkt)
usr/src/uts/sun/io/dada/targets/dad.c
267
#define DCD_DO_ERRSTATS(un, x) \
usr/src/uts/sun/io/dada/targets/dad.c
2675
dcd_handle_incomplete(struct dcd_disk *un, struct buf *bp)
usr/src/uts/sun/io/dada/targets/dad.c
268
if (un->un_errstats) { \
usr/src/uts/sun/io/dada/targets/dad.c
2682
int be_chatty = (un->un_state != DCD_STATE_SUSPENDED) &&
usr/src/uts/sun/io/dada/targets/dad.c
2683
(bp != un->un_sbufp || !(pkt->pkt_flags & FLAG_SILENT));
usr/src/uts/sun/io/dada/targets/dad.c
2697
action = dcd_check_error(un, bp);
usr/src/uts/sun/io/dada/targets/dad.c
2698
DCD_DO_ERRSTATS(un, dcd_transerrs);
usr/src/uts/sun/io/dada/targets/dad.c
270
dtp = (struct dcd_errstats *)un->un_errstats->ks_data; \
usr/src/uts/sun/io/dada/targets/dad.c
2700
(void) dcd_reset_disk(un, pkt);
usr/src/uts/sun/io/dada/targets/dad.c
2718
DCD_DO_ERRSTATS(un, dcd_transerrs);
usr/src/uts/sun/io/dada/targets/dad.c
2721
(void) dcd_reset_disk(un, pkt);
usr/src/uts/sun/io/dada/targets/dad.c
2738
if (bp == un->un_sbufp && (pkt->pkt_flags & FLAG_DIAGNOSE)) {
usr/src/uts/sun/io/dada/targets/dad.c
275
struct dcd_disk *un; \
usr/src/uts/sun/io/dada/targets/dad.c
2753
if (un->un_state != DCD_STATE_OFFLINE) {
usr/src/uts/sun/io/dada/targets/dad.c
2756
New_state(un, DCD_STATE_OFFLINE);
usr/src/uts/sun/io/dada/targets/dad.c
2766
New_state(un, DCD_STATE_FATAL);
usr/src/uts/sun/io/dada/targets/dad.c
2770
if (((pkt->pkt_reason != un->un_last_pkt_reason) &&
usr/src/uts/sun/io/dada/targets/dad.c
2789
dcd_check_error(struct dcd_disk *un, struct buf *bp)
usr/src/uts/sun/io/dada/targets/dad.c
2791
struct diskhd *dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
281
if ((un = ddi_get_soft_state(dcd_state, instance)) == NULL) \
usr/src/uts/sun/io/dada/targets/dad.c
2898
_NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*un))
usr/src/uts/sun/io/dada/targets/dad.c
2900
if ((un->un_state & DCD_STATE_FATAL) == DCD_STATE_FATAL)
usr/src/uts/sun/io/dada/targets/dad.c
2903
if (cmlb_partinfo(un->un_dklbhandle, DCDPART(dev),
usr/src/uts/sun/io/dada/targets/dad.c
2912
if ((un->un_state == DCD_STATE_SUSPENDED) ||
usr/src/uts/sun/io/dada/targets/dad.c
2913
(un->un_state == DCD_STATE_PM_SUSPENDED)) {
usr/src/uts/sun/io/dada/targets/dad.c
2924
un->un_throttle = 0;
usr/src/uts/sun/io/dada/targets/dad.c
2926
if ((un->un_state != DCD_STATE_SUSPENDED) &&
usr/src/uts/sun/io/dada/targets/dad.c
2927
(un->un_state != DCD_STATE_DUMPING)) {
usr/src/uts/sun/io/dada/targets/dad.c
2929
New_state(un, DCD_STATE_DUMPING);
usr/src/uts/sun/io/dada/targets/dad.c
2998
if ((un->un_dp->options & DMA_SUPPORTTED) == DMA_SUPPORTTED) {
usr/src/uts/sun/io/dada/targets/dad.c
3001
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
3008
(int)nblk*un->un_secsize, DATA_WRITE, 0);
usr/src/uts/sun/io/dada/targets/dad.c
3024
(void) dcd_reset_disk(un, pkt);
usr/src/uts/sun/io/dada/targets/dad.c
3107
switch (un->un_dp->ctype) {
usr/src/uts/sun/io/dada/targets/dad.c
3128
info->dki_maxtransfer = un->un_max_xfer_size / DEV_BSIZE;
usr/src/uts/sun/io/dada/targets/dad.c
3152
media_info.dki_lbsize = un->un_lbasize;
usr/src/uts/sun/io/dada/targets/dad.c
3153
media_info.dki_capacity = un->un_diskcapacity;
usr/src/uts/sun/io/dada/targets/dad.c
3167
if (un->un_ncmds == 0) {
usr/src/uts/sun/io/dada/targets/dad.c
3175
err = cmlb_ioctl(un->un_dklbhandle, dev, cmd,
usr/src/uts/sun/io/dada/targets/dad.c
3189
err = cmlb_ioctl(un->un_dklbhandle, dev, cmd,
usr/src/uts/sun/io/dada/targets/dad.c
3234
if ((un->un_dp->options & DMA_SUPPORTTED) ==
usr/src/uts/sun/io/dada/targets/dad.c
3243
if ((un->un_dp->options & DMA_SUPPORTTED) ==
usr/src/uts/sun/io/dada/targets/dad.c
3410
if (un->un_flush_not_supported ||
usr/src/uts/sun/io/dada/targets/dad.c
3411
! un->un_write_cache_enabled) {
usr/src/uts/sun/io/dada/targets/dad.c
3412
i = un->un_flush_not_supported ? ENOTSUP : 0;
usr/src/uts/sun/io/dada/targets/dad.c
3437
while (un->un_sbuf_busy) {
usr/src/uts/sun/io/dada/targets/dad.c
3438
cv_wait(&un->un_sbuf_cv, DCD_MUTEX);
usr/src/uts/sun/io/dada/targets/dad.c
3440
un->un_sbuf_busy = 1;
usr/src/uts/sun/io/dada/targets/dad.c
3441
bp = un->un_sbufp;
usr/src/uts/sun/io/dada/targets/dad.c
3446
2, PP_LEN, PKT_CONSISTENT, SLEEP_FUNC, (caddr_t)un);
usr/src/uts/sun/io/dada/targets/dad.c
3449
makecommand(pkt, un->un_cmd_flags | FLAG_SILENT,
usr/src/uts/sun/io/dada/targets/dad.c
3500
struct dcd_disk *un = ddi_get_soft_state(dcd_state,
usr/src/uts/sun/io/dada/targets/dad.c
3505
ASSERT(un != NULL);
usr/src/uts/sun/io/dada/targets/dad.c
3506
ASSERT(bp == un->un_sbufp);
usr/src/uts/sun/io/dada/targets/dad.c
3524
un->un_sbuf_busy = 0;
usr/src/uts/sun/io/dada/targets/dad.c
3525
cv_signal(&un->un_sbuf_cv);
usr/src/uts/sun/io/dada/targets/dad.c
3544
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
3551
un = (struct dcd_disk *)arg;
usr/src/uts/sun/io/dada/targets/dad.c
3552
dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
3558
ASSERT(un != NULL);
usr/src/uts/sun/io/dada/targets/dad.c
3560
if ((un->un_ncmds < un->un_throttle) && (dp->b_forw == NULL)) {
usr/src/uts/sun/io/dada/targets/dad.c
3561
dcdstart(un);
usr/src/uts/sun/io/dada/targets/dad.c
3563
if (un->un_state == DCD_STATE_RWAIT) {
usr/src/uts/sun/io/dada/targets/dad.c
3669
while (un->un_sbuf_busy) {
usr/src/uts/sun/io/dada/targets/dad.c
3670
if (cv_wait_sig(&un->un_sbuf_cv, DCD_MUTEX) == 0) {
usr/src/uts/sun/io/dada/targets/dad.c
3678
un->un_sbuf_busy = 1;
usr/src/uts/sun/io/dada/targets/dad.c
3679
bp = un->un_sbufp;
usr/src/uts/sun/io/dada/targets/dad.c
3739
un->un_sbuf_busy = 0;
usr/src/uts/sun/io/dada/targets/dad.c
3740
cv_signal(&un->un_sbuf_cv);
usr/src/uts/sun/io/dada/targets/dad.c
3769
struct dcd_disk *un = (struct dcd_disk *)arg;
usr/src/uts/sun/io/dada/targets/dad.c
3776
bp = un->un_utab.b_forw;
usr/src/uts/sun/io/dada/targets/dad.c
3778
un->un_ncmds++;
usr/src/uts/sun/io/dada/targets/dad.c
3779
DCD_DO_KSTATS(un, kstat_waitq_to_runq, bp);
usr/src/uts/sun/io/dada/targets/dad.c
3792
DCD_DO_KSTATS(un, kstat_runq_back_to_waitq, bp);
usr/src/uts/sun/io/dada/targets/dad.c
3793
un->un_ncmds--;
usr/src/uts/sun/io/dada/targets/dad.c
3802
un->un_reissued_timeid =
usr/src/uts/sun/io/dada/targets/dad.c
3803
timeout(dcdrestart, (caddr_t)un,
usr/src/uts/sun/io/dada/targets/dad.c
3808
DCD_DO_ERRSTATS(un, dcd_transerrs);
usr/src/uts/sun/io/dada/targets/dad.c
3814
DCD_DO_KSTATS(un, kstat_waitq_exit, bp);
usr/src/uts/sun/io/dada/targets/dad.c
3815
un->un_reissued_timeid = 0L;
usr/src/uts/sun/io/dada/targets/dad.c
3816
dcddone_and_mutex_exit(un, bp);
usr/src/uts/sun/io/dada/targets/dad.c
3821
un->un_reissued_timeid = 0L;
usr/src/uts/sun/io/dada/targets/dad.c
3833
struct dcd_disk *un = (struct dcd_disk *)arg;
usr/src/uts/sun/io/dada/targets/dad.c
3837
dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
3842
if (dp->b_actf && (un->un_ncmds < un->un_throttle) &&
usr/src/uts/sun/io/dada/targets/dad.c
3844
dcdstart(un);
usr/src/uts/sun/io/dada/targets/dad.c
3863
dcd_handle_tran_busy(struct buf *bp, struct diskhd *dp, struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
3875
if (!un->un_reissued_timeid) {
usr/src/uts/sun/io/dada/targets/dad.c
3876
un->un_reissued_timeid =
usr/src/uts/sun/io/dada/targets/dad.c
3877
timeout(dcdrestart, (caddr_t)un, DCD_BSY_TIMEOUT/500);
usr/src/uts/sun/io/dada/targets/dad.c
3882
dcd_write_deviceid(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
3895
if (cmlb_get_devid_block(un->un_dklbhandle, &blk, 0)) {
usr/src/uts/sun/io/dada/targets/dad.c
3902
dkdevid = kmem_zalloc(un->un_secsize, KM_SLEEP);
usr/src/uts/sun/io/dada/targets/dad.c
3909
bcopy(un->un_devid, &dkdevid->dkd_devid,
usr/src/uts/sun/io/dada/targets/dad.c
3910
ddi_devid_sizeof(un->un_devid));
usr/src/uts/sun/io/dada/targets/dad.c
3915
for (i = 0; i < ((un->un_secsize - sizeof (int))/sizeof (int)); i++)
usr/src/uts/sun/io/dada/targets/dad.c
3924
if ((un->un_dp->options & DMA_SUPPORTTED) == DMA_SUPPORTTED) {
usr/src/uts/sun/io/dada/targets/dad.c
3927
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
3932
cdb.size = un->un_secsize;
usr/src/uts/sun/io/dada/targets/dad.c
3940
ucmd.udcd_buflen = un->un_secsize;
usr/src/uts/sun/io/dada/targets/dad.c
3948
kmem_free(dkdevid, un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
3953
dcd_read_deviceid(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
3966
if (cmlb_get_devid_block(un->un_dklbhandle, &blk, 0)) {
usr/src/uts/sun/io/dada/targets/dad.c
3972
dkdevid = kmem_alloc(un->un_secsize, KM_SLEEP);
usr/src/uts/sun/io/dada/targets/dad.c
3977
if ((un->un_dp->options & DMA_SUPPORTTED) == DMA_SUPPORTTED) {
usr/src/uts/sun/io/dada/targets/dad.c
3980
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
3985
cdb.size = un->un_secsize;
usr/src/uts/sun/io/dada/targets/dad.c
3993
ucmd.udcd_buflen = un->un_secsize;
usr/src/uts/sun/io/dada/targets/dad.c
4002
kmem_free((caddr_t)dkdevid, un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
4010
kmem_free((caddr_t)dkdevid, un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
4017
for (i = 0; i < ((un->un_secsize - sizeof (int))/sizeof (int)); i++)
usr/src/uts/sun/io/dada/targets/dad.c
4023
kmem_free((caddr_t)dkdevid, un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
4029
kmem_free((caddr_t)dkdevid, un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
4035
un->un_devid = (ddi_devid_t)kmem_alloc(sz, KM_SLEEP);
usr/src/uts/sun/io/dada/targets/dad.c
4036
bcopy(&dkdevid->dkd_devid, un->un_devid, sz);
usr/src/uts/sun/io/dada/targets/dad.c
4037
kmem_free((caddr_t)dkdevid, un->un_secsize);
usr/src/uts/sun/io/dada/targets/dad.c
4053
dcd_get_devid(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
4058
if (un->un_devid != NULL)
usr/src/uts/sun/io/dada/targets/dad.c
4059
return (un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4062
rc = dcd_make_devid_from_serial(un);
usr/src/uts/sun/io/dada/targets/dad.c
4066
if (dcd_read_deviceid(un))
usr/src/uts/sun/io/dada/targets/dad.c
4070
(void) ddi_devid_register(DCD_DEVINFO, un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4071
return (un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4076
dcd_create_devid(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
4079
&un->un_devid) == DDI_FAILURE)
usr/src/uts/sun/io/dada/targets/dad.c
4082
if (dcd_write_deviceid(un)) {
usr/src/uts/sun/io/dada/targets/dad.c
4083
ddi_devid_free(un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4084
un->un_devid = NULL;
usr/src/uts/sun/io/dada/targets/dad.c
4088
(void) ddi_devid_register(DCD_DEVINFO, un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4089
return (un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4097
dcd_make_devid_from_serial(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
4108
model = un->un_dcd->dcd_ident->dcd_model;
usr/src/uts/sun/io/dada/targets/dad.c
4110
serno = un->un_dcd->dcd_ident->dcd_drvser;
usr/src/uts/sun/io/dada/targets/dad.c
4138
hwid, (ddi_devid_t *)&un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
4270
dcd_create_errstats(struct dcd_disk *un, int instance)
usr/src/uts/sun/io/dada/targets/dad.c
4275
if (un->un_errstats == (kstat_t *)0) {
usr/src/uts/sun/io/dada/targets/dad.c
4277
un->un_errstats = kstat_create("daderror", instance, kstatname,
usr/src/uts/sun/io/dada/targets/dad.c
4282
if (un->un_errstats) {
usr/src/uts/sun/io/dada/targets/dad.c
4285
dtp = (struct dcd_errstats *)un->un_errstats->ks_data;
usr/src/uts/sun/io/dada/targets/dad.c
4311
un->un_errstats->ks_private = un;
usr/src/uts/sun/io/dada/targets/dad.c
4312
un->un_errstats->ks_update = nulldev;
usr/src/uts/sun/io/dada/targets/dad.c
4313
kstat_install(un->un_errstats);
usr/src/uts/sun/io/dada/targets/dad.c
4316
un->un_dcd->dcd_ident->dcd_model, 16);
usr/src/uts/sun/io/dada/targets/dad.c
4318
un->un_dcd->dcd_ident->dcd_drvser, 16);
usr/src/uts/sun/io/dada/targets/dad.c
4320
un->un_dcd->dcd_ident->dcd_fw, 8);
usr/src/uts/sun/io/dada/targets/dad.c
4322
(uint64_t)((uint64_t)un->un_diskcapacity *
usr/src/uts/sun/io/dada/targets/dad.c
4323
(uint64_t)un->un_lbasize);
usr/src/uts/sun/io/dada/targets/dad.c
4421
dcd_flush_cache(struct dcd_disk *un)
usr/src/uts/sun/io/dada/targets/dad.c
4477
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
4479
un = ddi_get_soft_state(dcd_state, ddi_get_instance(devi));
usr/src/uts/sun/io/dada/targets/dad.c
4480
if (un == NULL)
usr/src/uts/sun/io/dada/targets/dad.c
4511
if ((un->un_dp->options & DMA_SUPPORTTED) == DMA_SUPPORTTED) {
usr/src/uts/sun/io/dada/targets/dad.c
4519
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
4524
if (un->un_dp->options & BLOCK_MODE)
usr/src/uts/sun/io/dada/targets/dad.c
4669
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
4671
un = ddi_get_soft_state(dcd_state, ddi_get_instance(devi));
usr/src/uts/sun/io/dada/targets/dad.c
4673
if (un == NULL)
usr/src/uts/sun/io/dada/targets/dad.c
4686
if (un->un_diskcapacity <= 0) {
usr/src/uts/sun/io/dada/targets/dad.c
4693
*(diskaddr_t *)arg = un->un_diskcapacity;
usr/src/uts/sun/io/dada/targets/dad.c
4698
un->un_diskcapacity);
usr/src/uts/sun/io/dada/targets/dad.c
4704
*(tg_attribute_t *)arg = un->un_tgattribute;
usr/src/uts/sun/io/dada/targets/dad.c
4707
un->un_tgattribute.media_is_writable);
usr/src/uts/sun/io/dada/targets/dad.c
475
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
493
if (!(un = ddi_get_soft_state(dcd_state, instance)))
usr/src/uts/sun/io/dada/targets/dad.c
496
Restore_state(un);
usr/src/uts/sun/io/dada/targets/dad.c
501
un->un_last_state = un->un_save_state;
usr/src/uts/sun/io/dada/targets/dad.c
502
un->un_throttle = 2;
usr/src/uts/sun/io/dada/targets/dad.c
503
cv_broadcast(&un->un_suspend_cv);
usr/src/uts/sun/io/dada/targets/dad.c
523
dp = &un->un_utab;
usr/src/uts/sun/io/dada/targets/dad.c
525
dcdstart(un);
usr/src/uts/sun/io/dada/targets/dad.c
539
if (!(un = (struct dcd_disk *)
usr/src/uts/sun/io/dada/targets/dad.c
543
devp->dcd_private = (ataopaque_t)un;
usr/src/uts/sun/io/dada/targets/dad.c
584
cmlb_alloc_handle(&un->un_dklbhandle);
usr/src/uts/sun/io/dada/targets/dad.c
593
un->un_dklbhandle,
usr/src/uts/sun/io/dada/targets/dad.c
595
cmlb_free_handle(&un->un_dklbhandle);
usr/src/uts/sun/io/dada/targets/dad.c
596
dcd_free_softstate(un, devi);
usr/src/uts/sun/io/dada/targets/dad.c
601
(void) dcd_validate_geometry(un);
usr/src/uts/sun/io/dada/targets/dad.c
604
if (dcd_get_devid(un) == NULL) {
usr/src/uts/sun/io/dada/targets/dad.c
606
(void) dcd_create_devid(un);
usr/src/uts/sun/io/dada/targets/dad.c
614
dcd_free_softstate(struct dcd_disk *un, dev_info_t *devi)
usr/src/uts/sun/io/dada/targets/dad.c
621
if (un) {
usr/src/uts/sun/io/dada/targets/dad.c
622
sema_destroy(&un->un_semoclose);
usr/src/uts/sun/io/dada/targets/dad.c
623
cv_destroy(&un->un_sbuf_cv);
usr/src/uts/sun/io/dada/targets/dad.c
624
cv_destroy(&un->un_state_cv);
usr/src/uts/sun/io/dada/targets/dad.c
625
cv_destroy(&un->un_disk_busy_cv);
usr/src/uts/sun/io/dada/targets/dad.c
626
cv_destroy(&un->un_suspend_cv);
usr/src/uts/sun/io/dada/targets/dad.c
631
if (un->un_sbufp)
usr/src/uts/sun/io/dada/targets/dad.c
632
freerbuf(un->un_sbufp);
usr/src/uts/sun/io/dada/targets/dad.c
633
if (un->un_dp) {
usr/src/uts/sun/io/dada/targets/dad.c
634
kmem_free((caddr_t)un->un_dp, sizeof (*un->un_dp));
usr/src/uts/sun/io/dada/targets/dad.c
640
if (un->un_devid) {
usr/src/uts/sun/io/dada/targets/dad.c
641
ddi_devid_free(un->un_devid);
usr/src/uts/sun/io/dada/targets/dad.c
642
un->un_devid = NULL;
usr/src/uts/sun/io/dada/targets/dad.c
649
if (un->un_stats) {
usr/src/uts/sun/io/dada/targets/dad.c
650
kstat_delete(un->un_stats);
usr/src/uts/sun/io/dada/targets/dad.c
671
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
675
if (!(un = ddi_get_soft_state(dcd_state, instance)))
usr/src/uts/sun/io/dada/targets/dad.c
684
if (un->un_state == DCD_STATE_SUSPENDED) {
usr/src/uts/sun/io/dada/targets/dad.c
688
un->un_throttle = 0;
usr/src/uts/sun/io/dada/targets/dad.c
692
un->un_save_state = un->un_last_state;
usr/src/uts/sun/io/dada/targets/dad.c
694
New_state(un, DCD_STATE_SUSPENDED);
usr/src/uts/sun/io/dada/targets/dad.c
708
while (un->un_ncmds) {
usr/src/uts/sun/io/dada/targets/dad.c
709
if (cv_timedwait(&un->un_disk_busy_cv,
usr/src/uts/sun/io/dada/targets/dad.c
718
Restore_state(un);
usr/src/uts/sun/io/dada/targets/dad.c
739
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
744
if (!(un = ddi_get_soft_state(dcd_state, instance)))
usr/src/uts/sun/io/dada/targets/dad.c
747
dcd_flush_cache(un);
usr/src/uts/sun/io/dada/targets/dad.c
757
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
768
un = (struct dcd_disk *)devp->dcd_private;
usr/src/uts/sun/io/dada/targets/dad.c
780
if (un->un_ncmds) {
usr/src/uts/sun/io/dada/targets/dad.c
788
cmlb_detach(un->un_dklbhandle, 0);
usr/src/uts/sun/io/dada/targets/dad.c
789
cmlb_free_handle(&un->un_dklbhandle);
usr/src/uts/sun/io/dada/targets/dad.c
804
dcd_free_softstate(un, devi);
usr/src/uts/sun/io/dada/targets/dad.c
813
struct dcd_disk *un;
usr/src/uts/sun/io/dada/targets/dad.c
820
if (!(un = ddi_get_soft_state(dcd_state, instance)) ||
usr/src/uts/sun/io/dada/targets/dad.c
83
static void dcd_free_softstate(struct dcd_disk *un, dev_info_t *devi);
usr/src/uts/sun/io/dada/targets/dad.c
832
if ((un->un_ncmds) && (level != DCD_DEVICE_ACTIVE)) {
usr/src/uts/sun/io/dada/targets/dad.c
837
if ((un->un_state == DCD_STATE_OFFLINE) ||
usr/src/uts/sun/io/dada/targets/dad.c
838
(un->un_state == DCD_STATE_FATAL)) {
usr/src/uts/sun/io/dada/targets/dad.c
848
un->un_power_level = DCD_DEVICE_ACTIVE;
usr/src/uts/sun/io/dada/targets/dad.c
849
if (un->un_state == DCD_STATE_PM_SUSPENDED)
usr/src/uts/sun/io/dada/targets/dad.c
85
static int dcd_validate_geometry(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
850
Restore_state(un);
usr/src/uts/sun/io/dada/targets/dad.c
86
static ddi_devid_t dcd_get_devid(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
87
static ddi_devid_t dcd_create_devid(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
88
static int dcd_make_devid_from_serial(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
883
if (un->un_state != DCD_STATE_PM_SUSPENDED)
usr/src/uts/sun/io/dada/targets/dad.c
884
New_state(un, DCD_STATE_PM_SUSPENDED);
usr/src/uts/sun/io/dada/targets/dad.c
885
un->un_power_level = level;
usr/src/uts/sun/io/dada/targets/dad.c
896
struct dcd_disk *un = (struct dcd_disk *)0;
usr/src/uts/sun/io/dada/targets/dad.c
90
static int dcd_read_deviceid(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
91
static int dcd_write_deviceid(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
94
static void dcd_flush_cache(struct dcd_disk *un);
usr/src/uts/sun/io/dada/targets/dad.c
941
un = ddi_get_soft_state(dcd_state, instance);
usr/src/uts/sun/io/dada/targets/dad.c
943
un->un_sbufp = getrbuf(km_flags);
usr/src/uts/sun/io/dada/targets/dad.c
944
if (un->un_sbufp == (struct buf *)NULL) {
usr/src/uts/sun/io/dada/targets/dad.c
950
un->un_dcd = devp;
usr/src/uts/sun/io/dada/targets/dad.c
951
un->un_power_level = -1;
usr/src/uts/sun/io/dada/targets/dad.c
952
un->un_tgattribute.media_is_writable = 1;
usr/src/uts/sun/io/dada/targets/dad.c
954
sema_init(&un->un_semoclose, 1, NULL, SEMA_DRIVER, NULL);
usr/src/uts/sun/io/dada/targets/dad.c
955
cv_init(&un->un_sbuf_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/sun/io/dada/targets/dad.c
956
cv_init(&un->un_state_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/sun/io/dada/targets/dad.c
958
cv_init(&un->un_disk_busy_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/sun/io/dada/targets/dad.c
959
cv_init(&un->un_suspend_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/sun/io/dada/targets/dad.c
961
if (un->un_dp == 0) {
usr/src/uts/sun/io/dada/targets/dad.c
966
un->un_dp = (struct dcd_drivetype *)
usr/src/uts/sun/io/dada/targets/dad.c
968
if (!un->un_dp) {
usr/src/uts/sun/io/dada/targets/dad.c
974
un->un_dp->ctype = CTYPE_DISK;
usr/src/uts/sun/io/dada/targets/dad.c
980
un->un_dp->name = "CCS";
usr/src/uts/sun/io/dada/targets/dad.c
981
un->un_dp->options = 0;
usr/src/uts/sun/io/dada/targets/dad.c
987
un->un_secsize = DEV_BSIZE;
usr/src/uts/sun/io/dada/targets/dad.c
995
un->un_diskcapacity = capacity;
usr/src/uts/sun/io/dada/targets/dad.c
996
un->un_lbasize = DEV_BSIZE;
usr/src/uts/sun/io/fd.c
112
#define KIOSP KSTAT_IO_PTR(un->un_iostat)
usr/src/uts/sun/io/fd.c
1441
struct fdunit *un;
usr/src/uts/sun/io/fd.c
1460
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
1461
if ((un == NULL) || !fd_unit_is_open(fdc->c_un))
usr/src/uts/sun/io/fd.c
1466
un->un_label.dkl_map[FDPARTITION(dev)].dkl_nblk;
usr/src/uts/sun/io/fd.c
1480
struct fdunit *un;
usr/src/uts/sun/io/fd.c
1488
if ((fdc == NULL) || ((un = fdc->c_un) == NULL)) {
usr/src/uts/sun/io/fd.c
1503
dkm = &un->un_label.dkl_map[part];
usr/src/uts/sun/io/fd.c
1539
if (fd_unit_is_open(un) == 0) {
usr/src/uts/sun/io/fd.c
1562
part_is_open = (un->un_lyropen[part] != 0);
usr/src/uts/sun/io/fd.c
1564
part_is_open = fd_part_is_open(un, part);
usr/src/uts/sun/io/fd.c
1566
if ((un->un_exclmask & pbit) || ((flag & FEXCL) && part_is_open)) {
usr/src/uts/sun/io/fd.c
1588
if (fd_unit_is_open(un) == 0) {
usr/src/uts/sun/io/fd.c
1607
if (fd_unit_is_open(un) == 0)
usr/src/uts/sun/io/fd.c
1621
un->un_exclmask |= pbit;
usr/src/uts/sun/io/fd.c
1624
un->un_lyropen[part]++;
usr/src/uts/sun/io/fd.c
1626
un->un_regopen[otyp] |= pbit;
usr/src/uts/sun/io/fd.c
1639
fd_part_is_open(struct fdunit *un, int part)
usr/src/uts/sun/io/fd.c
1643
if (un->un_regopen[i] & (1 << part))
usr/src/uts/sun/io/fd.c
1655
register struct fdunit *un;
usr/src/uts/sun/io/fd.c
1658
if (!fdc || !(un = fdc->c_un))
usr/src/uts/sun/io/fd.c
1670
un->un_lyropen[part]--;
usr/src/uts/sun/io/fd.c
1671
part_is_closed = (un->un_lyropen[part] == 0);
usr/src/uts/sun/io/fd.c
1673
un->un_regopen[otyp] &= ~(1<<part);
usr/src/uts/sun/io/fd.c
1677
un->un_exclmask &= ~(1<<part);
usr/src/uts/sun/io/fd.c
1679
if (fd_unit_is_open(un) == 0) {
usr/src/uts/sun/io/fd.c
1682
un->un_flags &= ~FDUNIT_CHANGED;
usr/src/uts/sun/io/fd.c
1700
struct fdunit *un;
usr/src/uts/sun/io/fd.c
1711
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
1712
dkm = &un->un_label.dkl_map[FDPARTITION(bp->b_edev)];
usr/src/uts/sun/io/fd.c
1718
if (un->un_chars->fdc_medium) {
usr/src/uts/sun/io/fd.c
1768
if (bp->b_bcount % un->un_chars->fdc_sec_size) {
usr/src/uts/sun/io/fd.c
1772
bp->b_bcount, un->un_chars->fdc_sec_size));
usr/src/uts/sun/io/fd.c
1811
if (un->un_iostat) {
usr/src/uts/sun/io/fd.c
1887
struct fdunit *un;
usr/src/uts/sun/io/fd.c
1904
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
1905
sec_size = un->un_chars->fdc_sec_size;
usr/src/uts/sun/io/fd.c
1958
cpy.dkg.dkg_ncyl = un->un_chars->fdc_ncyl;
usr/src/uts/sun/io/fd.c
1959
cpy.dkg.dkg_nhead = un->un_chars->fdc_nhead;
usr/src/uts/sun/io/fd.c
1960
cpy.dkg.dkg_nsect = un->un_chars->fdc_secptrack;
usr/src/uts/sun/io/fd.c
1961
cpy.dkg.dkg_intrlv = un->un_label.dkl_intrlv;
usr/src/uts/sun/io/fd.c
1962
cpy.dkg.dkg_rpm = un->un_label.dkl_rpm;
usr/src/uts/sun/io/fd.c
1963
cpy.dkg.dkg_pcyl = un->un_chars->fdc_ncyl;
usr/src/uts/sun/io/fd.c
1987
if (ddi_copyout(&un->un_label.dkl_map,
usr/src/uts/sun/io/fd.c
1998
un->un_label.dkl_map[dkunit].dkl_cylno;
usr/src/uts/sun/io/fd.c
2000
un->un_label.dkl_map[dkunit].dkl_nblk;
usr/src/uts/sun/io/fd.c
2020
un->un_label.dkl_map[dkunit] =
usr/src/uts/sun/io/fd.c
2037
un->un_label.dkl_map[dkunit].dkl_cylno =
usr/src/uts/sun/io/fd.c
2039
un->un_label.dkl_map[dkunit].dkl_nblk =
usr/src/uts/sun/io/fd.c
2064
fd_build_user_vtoc(un, &vtoc);
usr/src/uts/sun/io/fd.c
209
static int fd_part_is_open(struct fdunit *un, int part);
usr/src/uts/sun/io/fd.c
2124
if ((un->un_chars->fdc_ncyl == 0) ||
usr/src/uts/sun/io/fd.c
2125
(un->un_chars->fdc_nhead == 0) ||
usr/src/uts/sun/io/fd.c
2126
(un->un_chars->fdc_secptrack == 0)) {
usr/src/uts/sun/io/fd.c
2132
if ((err = fd_build_label_vtoc(un, &vtoc)) != 0) {
usr/src/uts/sun/io/fd.c
2140
(caddr_t)&un->un_label, sizeof (struct dk_label));
usr/src/uts/sun/io/fd.c
2156
if (ddi_copyout((caddr_t)&un->un_media_state,
usr/src/uts/sun/io/fd.c
2162
if (ddi_copyout((caddr_t)un->un_chars, (caddr_t)arg,
usr/src/uts/sun/io/fd.c
2212
*(un->un_chars) = cpy.fdchar;
usr/src/uts/sun/io/fd.c
2214
un->un_curfdtype = -1;
usr/src/uts/sun/io/fd.c
226
static int fd_get_media_info(struct fdunit *un, caddr_t buf, int flag);
usr/src/uts/sun/io/fd.c
2294
if (un->un_flags & FDUNIT_CHANGED)
usr/src/uts/sun/io/fd.c
2298
un->un_flags &= ~FDUNIT_CHANGED;
usr/src/uts/sun/io/fd.c
2352
if (un->un_ejected && !(cpy.temp & FDGC_CURRENT)) {
usr/src/uts/sun/io/fd.c
2355
un->un_ejected = 0;
usr/src/uts/sun/io/fd.c
2413
err = fd_get_media_info(un, (caddr_t)arg, flag);
usr/src/uts/sun/io/fd.c
2491
spt = un->un_chars->fdc_secptrack; /* sec/trk */
usr/src/uts/sun/io/fd.c
2492
spc = un->un_chars->fdc_nhead * spt; /* sec/cyl */
usr/src/uts/sun/io/fd.c
2500
nblks = spc * un->un_chars->fdc_ncyl;
usr/src/uts/sun/io/fd.c
2953
struct fdunit *un;
usr/src/uts/sun/io/fd.c
2970
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
2971
ch = un->un_chars;
usr/src/uts/sun/io/fd.c
3089
struct fdunit *un;
usr/src/uts/sun/io/fd.c
3131
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
3132
ch = un->un_chars;
usr/src/uts/sun/io/fd.c
3134
dkm = &un->un_label.dkl_map[part];
usr/src/uts/sun/io/fd.c
3136
if (un->un_chars->fdc_medium) {
usr/src/uts/sun/io/fd.c
3142
if (un->un_iostat) {
usr/src/uts/sun/io/fd.c
3402
if (un->un_iostat) {
usr/src/uts/sun/io/fd.c
5130
struct fdunit *un;
usr/src/uts/sun/io/fd.c
5134
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
5176
un->un_ejected = 1;
usr/src/uts/sun/io/fd.c
5242
struct fdunit *un;
usr/src/uts/sun/io/fd.c
5253
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
5254
un->un_flags &= ~(FDUNIT_UNLABELED);
usr/src/uts/sun/io/fd.c
5285
if (un->un_curfdtype == -1) {
usr/src/uts/sun/io/fd.c
5294
un->un_curfdtype = 0;
usr/src/uts/sun/io/fd.c
5295
*(un->un_chars) = fdtypes[un->un_curfdtype];
usr/src/uts/sun/io/fd.c
5301
(C, "fdgetl: no. of curfdtype %d\n", un->un_curfdtype));
usr/src/uts/sun/io/fd.c
5308
un->un_chars->fdc_secptrack, (caddr_t)label,
usr/src/uts/sun/io/fd.c
5312
un->un_chars->fdc_secptrack + 1,
usr/src/uts/sun/io/fd.c
5329
un->un_curfdtype = (un->un_curfdtype + 1) % nfdtypes;
usr/src/uts/sun/io/fd.c
5330
*(un->un_chars) = fdtypes[un->un_curfdtype];
usr/src/uts/sun/io/fd.c
5342
un->un_curfdtype = 1;
usr/src/uts/sun/io/fd.c
5343
*(un->un_chars) = fdtypes[un->un_curfdtype];
usr/src/uts/sun/io/fd.c
5345
fdunpacklabel(&fdlbl_high_80, &un->un_label);
usr/src/uts/sun/io/fd.c
5354
(C, "fdgetl: fdtype=%d !!!\n", un->un_curfdtype));
usr/src/uts/sun/io/fd.c
5357
un->un_chars->fdc_transfer_rate, un->un_chars->fdc_sec_size));
usr/src/uts/sun/io/fd.c
5401
un->un_label = *label;
usr/src/uts/sun/io/fd.c
5413
un->un_flags |= FDUNIT_UNLABELED;
usr/src/uts/sun/io/fd.c
5414
switch (un->un_chars->fdc_secptrack) {
usr/src/uts/sun/io/fd.c
5416
fdunpacklabel(&fdlbl_low_80, &un->un_label);
usr/src/uts/sun/io/fd.c
5419
fdunpacklabel(&fdlbl_medium_80, &un->un_label);
usr/src/uts/sun/io/fd.c
5422
fdunpacklabel(&fdlbl_high_80, &un->un_label);
usr/src/uts/sun/io/fd.c
5425
fdunpacklabel(&fdlbl_high_21, &un->un_label);
usr/src/uts/sun/io/fd.c
5428
fdunpacklabel(&fdlbl_high_80, &un->un_label);
usr/src/uts/sun/io/fd.c
5650
fd_unit_is_open(struct fdunit *un)
usr/src/uts/sun/io/fd.c
5654
if (un->un_lyropen[i])
usr/src/uts/sun/io/fd.c
5657
if (un->un_regopen[i])
usr/src/uts/sun/io/fd.c
5668
fd_build_user_vtoc(struct fdunit *un, struct vtoc *vtoc)
usr/src/uts/sun/io/fd.c
5679
vtoc->v_bootinfo[0] = un->un_label.dkl_vtoc.v_bootinfo[0];
usr/src/uts/sun/io/fd.c
5680
vtoc->v_bootinfo[1] = un->un_label.dkl_vtoc.v_bootinfo[1];
usr/src/uts/sun/io/fd.c
5681
vtoc->v_bootinfo[2] = un->un_label.dkl_vtoc.v_bootinfo[2];
usr/src/uts/sun/io/fd.c
5684
vtoc->v_sanity = un->un_label.dkl_vtoc.v_sanity;
usr/src/uts/sun/io/fd.c
5685
vtoc->v_version = un->un_label.dkl_vtoc.v_version;
usr/src/uts/sun/io/fd.c
5688
bcopy(un->un_label.dkl_vtoc.v_volume,
usr/src/uts/sun/io/fd.c
5702
vtoc->v_nparts = un->un_label.dkl_vtoc.v_nparts;
usr/src/uts/sun/io/fd.c
5705
bcopy(un->un_label.dkl_vtoc.v_reserved,
usr/src/uts/sun/io/fd.c
5706
vtoc->v_reserved, sizeof (un->un_label.dkl_vtoc.v_reserved));
usr/src/uts/sun/io/fd.c
5713
lmap = un->un_label.dkl_map;
usr/src/uts/sun/io/fd.c
5714
lpart = un->un_label.dkl_vtoc.v_part;
usr/src/uts/sun/io/fd.c
5717
nblks = (un->un_chars->fdc_nhead * un->un_chars->fdc_secptrack *
usr/src/uts/sun/io/fd.c
5718
un->un_chars->fdc_sec_size) / DEV_BSIZE;
usr/src/uts/sun/io/fd.c
5732
bcopy(un->un_label.dkl_vtoc.v_timestamp,
usr/src/uts/sun/io/fd.c
5735
bcopy(un->un_label.dkl_asciilabel,
usr/src/uts/sun/io/fd.c
5743
fd_build_label_vtoc(struct fdunit *un, struct vtoc *vtoc)
usr/src/uts/sun/io/fd.c
5761
nblks = (un->un_chars->fdc_nhead * un->un_chars->fdc_secptrack *
usr/src/uts/sun/io/fd.c
5762
un->un_chars->fdc_sec_size) / DEV_BSIZE;
usr/src/uts/sun/io/fd.c
5781
if (ncyl > un->un_chars->fdc_ncyl) {
usr/src/uts/sun/io/fd.c
5790
bzero(&un->un_label, sizeof (un->un_label));
usr/src/uts/sun/io/fd.c
5793
un->un_label.dkl_vtoc.v_bootinfo[0] = (uint32_t)vtoc->v_bootinfo[0];
usr/src/uts/sun/io/fd.c
5794
un->un_label.dkl_vtoc.v_bootinfo[1] = (uint32_t)vtoc->v_bootinfo[1];
usr/src/uts/sun/io/fd.c
5795
un->un_label.dkl_vtoc.v_bootinfo[2] = (uint32_t)vtoc->v_bootinfo[2];
usr/src/uts/sun/io/fd.c
5797
un->un_label.dkl_vtoc.v_sanity = vtoc->v_sanity;
usr/src/uts/sun/io/fd.c
5798
un->un_label.dkl_vtoc.v_version = vtoc->v_version;
usr/src/uts/sun/io/fd.c
5800
bcopy(vtoc->v_volume, un->un_label.dkl_vtoc.v_volume, LEN_DKL_VVOL);
usr/src/uts/sun/io/fd.c
5802
un->un_label.dkl_vtoc.v_nparts = vtoc->v_nparts;
usr/src/uts/sun/io/fd.c
5804
bcopy(vtoc->v_reserved, un->un_label.dkl_vtoc.v_reserved,
usr/src/uts/sun/io/fd.c
5805
sizeof (un->un_label.dkl_vtoc.v_reserved));
usr/src/uts/sun/io/fd.c
5813
lmap = un->un_label.dkl_map;
usr/src/uts/sun/io/fd.c
5814
lpart = un->un_label.dkl_vtoc.v_part;
usr/src/uts/sun/io/fd.c
5830
un->un_label.dkl_vtoc.v_timestamp[i] = vtoc->timestamp[i];
usr/src/uts/sun/io/fd.c
5834
bcopy(vtoc->v_asciilabel, un->un_label.dkl_asciilabel, LEN_DKL_ASCII);
usr/src/uts/sun/io/fd.c
5838
un->un_label.dkl_asciilabel));
usr/src/uts/sun/io/fd.c
5841
un->un_label.dkl_magic = DKL_MAGIC;
usr/src/uts/sun/io/fd.c
5843
un->un_label.dkl_pcyl = un->un_chars->fdc_ncyl;
usr/src/uts/sun/io/fd.c
5851
un->un_label.dkl_nsect = (un->un_chars->fdc_secptrack *
usr/src/uts/sun/io/fd.c
5852
un->un_chars->fdc_sec_size) / DEV_BSIZE;
usr/src/uts/sun/io/fd.c
5855
un->un_label.dkl_ncyl = un->un_label.dkl_pcyl;
usr/src/uts/sun/io/fd.c
5856
un->un_label.dkl_nhead = un->un_chars->fdc_nhead;
usr/src/uts/sun/io/fd.c
5857
un->un_label.dkl_rpm = un->un_chars->fdc_medium ? 360 : 300;
usr/src/uts/sun/io/fd.c
5858
un->un_label.dkl_intrlv = 1;
usr/src/uts/sun/io/fd.c
5862
un->un_label.dkl_cksum = 0;
usr/src/uts/sun/io/fd.c
5863
sp = (short *)&un->un_label;
usr/src/uts/sun/io/fd.c
5868
un->un_label.dkl_cksum = sum;
usr/src/uts/sun/io/fd.c
6007
struct fdunit *un;
usr/src/uts/sun/io/fd.c
6014
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
6018
if (un->un_media_timeout_id == 0) {
usr/src/uts/sun/io/fd.c
6028
un->un_media_state = fd_get_media_state(fdc, unit);
usr/src/uts/sun/io/fd.c
6033
if (un->un_media_timeout) {
usr/src/uts/sun/io/fd.c
6034
un->un_media_timeout_id = timeout(fd_media_watch,
usr/src/uts/sun/io/fd.c
6035
(void *)(ulong_t)dev, un->un_media_timeout);
usr/src/uts/sun/io/fd.c
6062
struct fdunit *un;
usr/src/uts/sun/io/fd.c
6070
un = fdc->c_un;
usr/src/uts/sun/io/fd.c
6090
un->un_media_state = fd_get_media_state(fdc, unit);
usr/src/uts/sun/io/fd.c
6093
un->un_media_timeout = drv_usectohz(fd_check_media_time);
usr/src/uts/sun/io/fd.c
6094
un->un_media_timeout_id = timeout(fd_media_watch,
usr/src/uts/sun/io/fd.c
6095
(void *)(ulong_t)dev, un->un_media_timeout);
usr/src/uts/sun/io/fd.c
6097
while (un->un_media_state == state) {
usr/src/uts/sun/io/fd.c
6099
un->un_media_timeout = 0;
usr/src/uts/sun/io/fd.c
6105
if (un->un_media_timeout_id) {
usr/src/uts/sun/io/fd.c
6106
timeout_id_t timeid = un->un_media_timeout_id;
usr/src/uts/sun/io/fd.c
6107
un->un_media_timeout_id = 0;
usr/src/uts/sun/io/fd.c
6114
if (un->un_media_state == DKIO_INSERTED) {
usr/src/uts/sun/io/fd.c
6133
fd_get_media_info(struct fdunit *un, caddr_t buf, int flag)
usr/src/uts/sun/io/fd.c
6139
media_info.dki_lbsize = un->un_chars->fdc_sec_size;
usr/src/uts/sun/io/fd.c
6140
media_info.dki_capacity = un->un_chars->fdc_ncyl *
usr/src/uts/sun/io/fd.c
6141
un->un_chars->fdc_secptrack * un->un_chars->fdc_nhead;
usr/src/uts/sun/io/fd.c
6229
struct fdunit *un = fdc->c_un;
usr/src/uts/sun/io/fd.c
6267
un->un_state = FD_STATE_NORMAL;
usr/src/uts/sun/io/sbusmem.c
149
struct sbusmem_unit *un;
usr/src/uts/sun/io/sbusmem.c
198
if ((un = ddi_get_soft_state(sbusmem_state_head,
usr/src/uts/sun/io/sbusmem.c
212
un->dip = devi;
usr/src/uts/sun/io/sbusmem.c
213
un->size = size;
usr/src/uts/sun/io/sbusmem.c
214
un->pagesize = ddi_ptob(devi, 1);
usr/src/uts/sun/io/sbusmem.c
282
struct sbusmem_unit *un;
usr/src/uts/sun/io/sbusmem.c
287
if ((un = ddi_get_soft_state(sbusmem_state_head,
usr/src/uts/sun/io/sbusmem.c
289
*result = (void *)un->dip;
usr/src/uts/sun/io/sbusmem.c
293
"sbmem_info%d: returning dip 0x%p\n", instance, un->dip);
usr/src/uts/sun/io/sbusmem.c
328
struct sbusmem_unit *un;
usr/src/uts/sun/io/sbusmem.c
335
if ((un = ddi_get_soft_state(sbusmem_state_head, instance)) == NULL) {
usr/src/uts/sun/io/sbusmem.c
338
dip = un->dip;
usr/src/uts/sun/io/sbusmem.c
339
pagesize = un->pagesize;
usr/src/uts/sun/io/sbusmem.c
351
if (uio->uio_offset > un->size) {
usr/src/uts/sun/io/sbusmem.c
355
if (uio->uio_offset == un->size) {
usr/src/uts/sun/io/sbusmem.c
377
struct sbusmem_unit *un;
usr/src/uts/sun/io/sbusmem.c
381
if ((un = ddi_get_soft_state(sbusmem_state_head, instance)) == NULL) {
usr/src/uts/sun/io/sbusmem.c
384
if (off + len > un->size) {
usr/src/uts/sun/io/sbusmem.c
387
if ((error = devmap_devmem_setup(dhp, un->dip, NULL, 0,
usr/src/uts/sun/sys/dada/targets/daddef.h
47
#define DCD_DCD_DEVP (un->un_dcd)
usr/src/uts/sun/sys/dada/targets/daddef.h
52
#define SECDIV (un->un_secdiv)
usr/src/uts/sun/sys/dada/targets/daddef.h
53
#define SECSIZE (un->un_secsize)
usr/src/uts/sun/sys/dada/targets/daddef.h
68
#define New_state(un, s) \
usr/src/uts/sun/sys/dada/targets/daddef.h
69
(un)->un_last_state = (un)->un_state, (un)->un_state = (s)
usr/src/uts/sun/sys/dada/targets/daddef.h
70
#define Restore_state(un) \
usr/src/uts/sun/sys/dada/targets/daddef.h
71
{ uchar_t tmp = (un)->un_last_state; New_state((un), tmp); }
usr/src/uts/sun4/sys/fcode.h
379
} un;
usr/src/uts/sun4/sys/fcode.h
382
#define fc_dma_virt un.d.virt
usr/src/uts/sun4/sys/fcode.h
383
#define fc_dma_len un.d.len
usr/src/uts/sun4/sys/fcode.h
384
#define fc_dma_handle un.d.h
usr/src/uts/sun4/sys/fcode.h
385
#define fc_dma_devaddr un.d.devaddr
usr/src/uts/sun4/sys/fcode.h
386
#define fc_dma_bp un.d.bp
usr/src/uts/sun4/sys/fcode.h
388
#define fc_map_virt un.m.virt
usr/src/uts/sun4/sys/fcode.h
389
#define fc_map_len un.m.len
usr/src/uts/sun4/sys/fcode.h
390
#define fc_map_handle un.m.h
usr/src/uts/sun4/sys/fcode.h
391
#define fc_regspec un.m.regspec
usr/src/uts/sun4/sys/fcode.h
393
#define fc_nodeid_r un.n.nodeid
usr/src/uts/sun4/sys/fcode.h
395
#define fc_contig_virt un.c.virt
usr/src/uts/sun4/sys/fcode.h
396
#define fc_contig_len un.c.len
usr/src/uts/sun4/sys/fcode.h
398
#define fc_untyped_type un.r.utype
usr/src/uts/sun4/sys/fcode.h
399
#define fc_untyped_free un.r.free
usr/src/uts/sun4/sys/fcode.h
400
#define fc_untyped_r un.r.resource
usr/src/uts/sun4u/ngdr/io/dr.c
96
#define DR_GET_BOARD_DEVUNIT(sb, ut, un) (&((sb)->b_dev[NIX(ut)][un]))
usr/src/uts/sun4u/sys/sbdpriv.h
212
#define SBD_DEVICE_TRANSITION(sb, nt, un, st) \
usr/src/uts/sun4u/sys/sbdpriv.h
215
_ostate = (int)((sb)->sb_dev[NIX(nt)][un].u_common.sbdev_state); \
usr/src/uts/sun4u/sys/sbdpriv.h
219
sbd_ct_str[nt], (un), \
usr/src/uts/sun4u/sys/sbdpriv.h
223
(void *)&(sb)->sb_dev[NIX(nt)][un].u_common.sbdev_time); \
usr/src/uts/sun4u/sys/sbdpriv.h
224
(sb)->sb_dev[NIX(nt)][un].u_common.sbdev_state = (st); \
usr/src/uts/sun4u/sys/sbdpriv.h
225
(sb)->sb_dev[NIX(nt)][un].u_common.sbdev_ostate = ostate_cvt(st); \
usr/src/uts/sun4u/sys/sbdpriv.h
239
#define SBD_DEVICE_TRANSITION(sb, nt, un, st) \
usr/src/uts/sun4u/sys/sbdpriv.h
241
(sb)->sb_dev[NIX(nt)][un].u_common.sbdev_state = (st); \
usr/src/uts/sun4u/sys/sbdpriv.h
242
(sb)->sb_dev[NIX(nt)][un].u_common.sbdev_ostate = ostate_cvt(st); \
usr/src/uts/sun4u/sys/sbdpriv.h
244
(void *)&(sb)->sb_dev[NIX(nt)][un].u_common.sbdev_time); \
usr/src/uts/sun4u/sys/sbdpriv.h
252
#define SBD_DEVICE_STATE(sb, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
253
((sb)->sb_dev[NIX(nt)][un].u_common.sbdev_state)
usr/src/uts/sun4u/sys/sbdpriv.h
397
#define SBD_GET_BOARD_MEMUNIT(sb, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
398
(&((sb)->sb_dev[NIX(SBD_COMP_MEM)][un]._mu))
usr/src/uts/sun4u/sys/sbdpriv.h
399
#define SBD_GET_BOARD_CPUUNIT(sb, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
400
(&((sb)->sb_dev[NIX(SBD_COMP_CPU)][un]._cu))
usr/src/uts/sun4u/sys/sbdpriv.h
401
#define SBD_GET_BOARD_IOUNIT(sb, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
402
(&((sb)->sb_dev[NIX(SBD_COMP_IO)][un]._iu))
usr/src/uts/sun4u/sys/sbdpriv.h
438
#define SBD_DEV_IS_PRESENT(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
439
DEVSET_IN_SET((bp)->sb_dev_present, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
440
#define SBD_DEV_SET_PRESENT(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
441
DEVSET_ADD((bp)->sb_dev_present, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
442
#define SBD_DEV_CLR_PRESENT(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
443
DEVSET_DEL((bp)->sb_dev_present, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
447
#define SBD_DEV_IS_ATTACHED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
448
DEVSET_IN_SET((bp)->sb_dev_attached, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
449
#define SBD_DEV_SET_ATTACHED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
450
DEVSET_ADD((bp)->sb_dev_attached, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
451
#define SBD_DEV_CLR_ATTACHED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
452
DEVSET_DEL((bp)->sb_dev_attached, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
456
#define SBD_DEV_IS_RELEASED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
457
DEVSET_IN_SET((bp)->sb_dev_released, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
458
#define SBD_DEV_SET_RELEASED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
459
DEVSET_ADD((bp)->sb_dev_released, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
460
#define SBD_DEV_CLR_RELEASED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
461
DEVSET_DEL((bp)->sb_dev_released, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
465
#define SBD_DEV_IS_UNREFERENCED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
466
DEVSET_IN_SET((bp)->sb_dev_unreferenced, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
467
#define SBD_DEV_SET_UNREFERENCED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
468
DEVSET_ADD((bp)->sb_dev_unreferenced, (nt), (un))
usr/src/uts/sun4u/sys/sbdpriv.h
469
#define SBD_DEV_CLR_UNREFERENCED(bp, nt, un) \
usr/src/uts/sun4u/sys/sbdpriv.h
470
DEVSET_DEL((bp)->sb_dev_unreferenced, (nt), (un))
usr/src/uts/sun4v/sys/drctl.h
110
} un;
usr/src/uts/sun4v/sys/drctl.h
113
#define resp_err_msg un.err_msg
usr/src/uts/sun4v/sys/drctl.h
114
#define resp_resources un.resources
usr/src/uts/sun4v/sys/drctl.h
88
} un;
usr/src/uts/sun4v/sys/drctl.h
91
#define res_cpu_id un.cpu.id
usr/src/uts/sun4v/sys/drctl.h
92
#define res_mem_size un.mem.size
usr/src/uts/sun4v/sys/drctl.h
93
#define res_mem_addr un.mem.addr
usr/src/uts/sun4v/sys/drctl.h
94
#define res_dev_path un.dev.path
usr/src/uts/sun4v/sys/varconfig.h
77
} un;
usr/src/uts/sun4v/sys/varconfig.h
81
#define var_config_set un.vc_set
usr/src/uts/sun4v/sys/varconfig.h
82
#define var_config_delete un.vc_delete
usr/src/uts/sun4v/sys/varconfig.h
83
#define var_config_resp un.vc_resp