sys/bus/cam/cam_ccb.h
663
typedef void ac_callback_t (void *softc, u_int32_t code,
sys/bus/cam/cam_periph.h
111
void *softc;
sys/bus/cam/cam_sim.c
161
const char *sim_name, void *softc, u_int32_t unit,
sys/bus/cam/cam_sim.c
191
sim->softc = softc;
sys/bus/cam/cam_sim.c
245
sim->softc = NULL;
sys/bus/cam/cam_sim.h
113
void *softc; /* might be NULL */
sys/bus/cam/cam_sim.h
164
return (sim->softc);
sys/bus/cam/cam_sim.h
73
void *softc,
sys/bus/cam/cam_xpt.c
1555
xpt_sim->softc = periph;
sys/bus/cam/cam_xpt.c
1557
periph->softc = NULL;
sys/bus/cam/cam_xpt.c
5592
#define PROBE_SET_ACTION(softc, newaction) \
sys/bus/cam/cam_xpt.c
5596
CAM_DEBUG((softc)->periph->path, CAM_DEBUG_INFO, \
sys/bus/cam/cam_xpt.c
5597
("Probe %s to %s\n", text[(softc)->action], \
sys/bus/cam/cam_xpt.c
5599
(softc)->action = (newaction); \
sys/bus/cam/cam_xpt.c
5680
probe_softc *softc;
sys/bus/cam/cam_xpt.c
5682
softc = (probe_softc *)old_periph->softc;
sys/bus/cam/cam_xpt.c
5683
TAILQ_INSERT_TAIL(&softc->request_ccbs, &request_ccb->ccb_h,
sys/bus/cam/cam_xpt.c
5714
probe_softc *softc;
sys/bus/cam/cam_xpt.c
5728
softc = kmalloc(sizeof(*softc), M_CAMXPT, M_INTWAIT | M_ZERO);
sys/bus/cam/cam_xpt.c
5729
TAILQ_INIT(&softc->request_ccbs);
sys/bus/cam/cam_xpt.c
5730
TAILQ_INSERT_TAIL(&softc->request_ccbs, &request_ccb->ccb_h,
sys/bus/cam/cam_xpt.c
5732
softc->flags = 0;
sys/bus/cam/cam_xpt.c
5733
periph->softc = softc;
sys/bus/cam/cam_xpt.c
5734
softc->periph = periph;
sys/bus/cam/cam_xpt.c
5735
softc->action = PROBE_INVALID;
sys/bus/cam/cam_xpt.c
5758
probe_softc *softc;
sys/bus/cam/cam_xpt.c
5760
softc = (probe_softc *)periph->softc;
sys/bus/cam/cam_xpt.c
5761
ccb = (union ccb *)TAILQ_FIRST(&softc->request_ccbs);
sys/bus/cam/cam_xpt.c
5788
PROBE_SET_ACTION(softc, PROBE_TUR);
sys/bus/cam/cam_xpt.c
5792
PROBE_SET_ACTION(softc, PROBE_INQUIRY);
sys/bus/cam/cam_xpt.c
5794
PROBE_SET_ACTION(softc, PROBE_INQUIRY);
sys/bus/cam/cam_xpt.c
5798
softc->flags |= PROBE_NO_ANNOUNCE;
sys/bus/cam/cam_xpt.c
5800
softc->flags &= ~PROBE_NO_ANNOUNCE;
sys/bus/cam/cam_xpt.c
5811
probe_softc *softc;
sys/bus/cam/cam_xpt.c
5815
softc = (probe_softc *)periph->softc;
sys/bus/cam/cam_xpt.c
5818
switch (softc->action) {
sys/bus/cam/cam_xpt.c
5851
MD5Init(&softc->context);
sys/bus/cam/cam_xpt.c
5852
MD5Update(&softc->context, (unsigned char *)inq_buf,
sys/bus/cam/cam_xpt.c
5854
softc->flags |= PROBE_INQUIRY_CKSUM;
sys/bus/cam/cam_xpt.c
5856
MD5Update(&softc->context,
sys/bus/cam/cam_xpt.c
5859
softc->flags |= PROBE_SERIAL_CKSUM;
sys/bus/cam/cam_xpt.c
5861
MD5Final(softc->digest, &softc->context);
sys/bus/cam/cam_xpt.c
5864
if (softc->action == PROBE_INQUIRY)
sys/bus/cam/cam_xpt.c
5877
if (softc->action == PROBE_INQUIRY_BASIC_DV1
sys/bus/cam/cam_xpt.c
5878
|| softc->action == PROBE_INQUIRY_BASIC_DV2) {
sys/bus/cam/cam_xpt.c
6114
probe_softc *softc;
sys/bus/cam/cam_xpt.c
6120
softc = (probe_softc *)periph->softc;
sys/bus/cam/cam_xpt.c
6124
switch (softc->action) {
sys/bus/cam/cam_xpt.c
6138
PROBE_SET_ACTION(softc, PROBE_INQUIRY);
sys/bus/cam/cam_xpt.c
6173
if (softc->action == PROBE_INQUIRY
sys/bus/cam/cam_xpt.c
6175
PROBE_SET_ACTION(softc,
sys/bus/cam/cam_xpt.c
6186
PROBE_SET_ACTION(softc, PROBE_MODE_SENSE);
sys/bus/cam/cam_xpt.c
6188
PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_0);
sys/bus/cam/cam_xpt.c
6204
&softc->saved_ccb) == ERESTART) {
sys/bus/cam/cam_xpt.c
6246
&softc->saved_ccb) == ERESTART) {
sys/bus/cam/cam_xpt.c
6255
PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_0);
sys/bus/cam/cam_xpt.c
6287
&softc->saved_ccb) == ERESTART) {
sys/bus/cam/cam_xpt.c
6300
PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_1);
sys/bus/cam/cam_xpt.c
6349
&softc->saved_ccb) == ERESTART) {
sys/bus/cam/cam_xpt.c
6360
if ((softc->flags & PROBE_INQUIRY_CKSUM) != 0) {
sys/bus/cam/cam_xpt.c
6375
if (bcmp(softc->digest, digest, 16) == 0)
sys/bus/cam/cam_xpt.c
6383
&& ((softc->flags & PROBE_NO_ANNOUNCE) == 0))
sys/bus/cam/cam_xpt.c
6407
PROBE_SET_ACTION(softc, PROBE_TUR_FOR_NEGOTIATION);
sys/bus/cam/cam_xpt.c
6431
if (softc->action == PROBE_TUR_FOR_NEGOTIATION
sys/bus/cam/cam_xpt.c
6439
PROBE_SET_ACTION(softc, PROBE_INQUIRY_BASIC_DV1);
sys/bus/cam/cam_xpt.c
6443
if (softc->action == PROBE_DV_EXIT) {
sys/bus/cam/cam_xpt.c
6449
if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) {
sys/bus/cam/cam_xpt.c
6474
softc->action == PROBE_INQUIRY_BASIC_DV1 ? 1 : 2);
sys/bus/cam/cam_xpt.c
6477
PROBE_SET_ACTION(softc, PROBE_TUR_FOR_NEGOTIATION);
sys/bus/cam/cam_xpt.c
6480
PROBE_SET_ACTION(softc, PROBE_DV_EXIT);
sys/bus/cam/cam_xpt.c
6488
if (softc->action == PROBE_INQUIRY_BASIC_DV1) {
sys/bus/cam/cam_xpt.c
6489
PROBE_SET_ACTION(softc, PROBE_INQUIRY_BASIC_DV2);
sys/bus/cam/cam_xpt.c
6494
if (softc->action == PROBE_DV_EXIT) {
sys/bus/cam/cam_xpt.c
6500
if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) {
sys/bus/cam/cam_xpt.c
6516
done_ccb = (union ccb *)TAILQ_FIRST(&softc->request_ccbs);
sys/bus/cam/cam_xpt.c
6517
TAILQ_REMOVE(&softc->request_ccbs, &done_ccb->ccb_h, periph_links.tqe);
sys/bus/cam/cam_xpt.c
6520
if (TAILQ_FIRST(&softc->request_ccbs) == NULL) {
sys/bus/cam/cam_xpt.c
6531
kfree(periph->softc, M_CAMXPT);
sys/bus/cam/scsi/scsi_cd.c
1000
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1015
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1022
if (softc->flags & CD_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_cd.c
1035
if (softc->flags & CD_FLAG_OPEN)
sys/bus/cam/scsi/scsi_cd.c
1038
softc->flags |= CD_FLAG_OPEN;
sys/bus/cam/scsi/scsi_cd.c
1052
softc->flags |= CD_FLAG_CAP_MUTE;
sys/bus/cam/scsi/scsi_cd.c
1054
softc->flags &= ~CD_FLAG_CAP_MUTE;
sys/bus/cam/scsi/scsi_cd.c
1070
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1079
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1084
if ((softc->flags & CD_FLAG_DISC_REMOVABLE) != 0)
sys/bus/cam/scsi/scsi_cd.c
1091
info = &softc->disk.d_info;
sys/bus/cam/scsi/scsi_cd.c
1099
softc->device_stats.flags |= DEVSTAT_BS_UNAVAILABLE;
sys/bus/cam/scsi/scsi_cd.c
1104
softc->flags &= ~(CD_FLAG_VALID_MEDIA|CD_FLAG_VALID_TOC|CD_FLAG_OPEN);
sys/bus/cam/scsi/scsi_cd.c
1139
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1141
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1151
if ((softc->pinfo.index == CAM_UNQUEUED_INDEX)
sys/bus/cam/scsi/scsi_cd.c
1152
&& ((softc->flags & CD_FLAG_ACTIVE) == 0)) {
sys/bus/cam/scsi/scsi_cd.c
1157
softc->pinfo.priority = 1;
sys/bus/cam/scsi/scsi_cd.c
1158
softc->pinfo.generation = ++softc->changer->devq.generation;
sys/bus/cam/scsi/scsi_cd.c
1159
camq_insert(&softc->changer->devq, (cam_pinfo *)softc);
sys/bus/cam/scsi/scsi_cd.c
1169
if (((softc->changer->flags & CHANGER_TIMEOUT_SCHED)==0)
sys/bus/cam/scsi/scsi_cd.c
1170
&& ((softc->changer->flags & CHANGER_NEED_TIMEOUT)==0)
sys/bus/cam/scsi/scsi_cd.c
1171
&& ((softc->changer->flags & CHANGER_SHORT_TMOUT_SCHED)==0)){
sys/bus/cam/scsi/scsi_cd.c
1172
softc->changer->flags |= CHANGER_MANUAL_CALL;
sys/bus/cam/scsi/scsi_cd.c
1173
cdrunchangerqueue(softc->changer);
sys/bus/cam/scsi/scsi_cd.c
1175
} else if ((softc->flags & CD_FLAG_ACTIVE)
sys/bus/cam/scsi/scsi_cd.c
1176
&& ((softc->flags & CD_FLAG_SCHED_ON_COMP) == 0)) {
sys/bus/cam/scsi/scsi_cd.c
1184
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1250
softc = (struct cd_softc *)camq_remove(&changer->devq, CAMQ_HEAD);
sys/bus/cam/scsi/scsi_cd.c
1252
changer->cur_device = softc;
sys/bus/cam/scsi/scsi_cd.c
1255
softc->flags |= CD_FLAG_ACTIVE;
sys/bus/cam/scsi/scsi_cd.c
1258
wakeup(&softc->changer);
sys/bus/cam/scsi/scsi_cd.c
1259
xpt_schedule(softc->periph, /*priority*/ 1);
sys/bus/cam/scsi/scsi_cd.c
1284
cdchangerschedule(struct cd_softc *softc)
sys/bus/cam/scsi/scsi_cd.c
1288
changer = softc->changer;
sys/bus/cam/scsi/scsi_cd.c
1295
if ((softc->flags & CD_FLAG_ACTIVE)
sys/bus/cam/scsi/scsi_cd.c
1311
if (softc->flags & CD_FLAG_SCHED_ON_COMP) {
sys/bus/cam/scsi/scsi_cd.c
1312
if (--softc->bufs_left == 0) {
sys/bus/cam/scsi/scsi_cd.c
1313
softc->changer->flags |=
sys/bus/cam/scsi/scsi_cd.c
1315
softc->flags &= ~CD_FLAG_SCHED_ON_COMP;
sys/bus/cam/scsi/scsi_cd.c
1316
cdrunchangerqueue(softc->changer);
sys/bus/cam/scsi/scsi_cd.c
1318
} else if ((bioq_first(&softc->bio_queue) == NULL)
sys/bus/cam/scsi/scsi_cd.c
1319
&& (softc->outstanding_cmds == 0)) {
sys/bus/cam/scsi/scsi_cd.c
1320
softc->changer->flags |= CHANGER_MANUAL_CALL;
sys/bus/cam/scsi/scsi_cd.c
1321
cdrunchangerqueue(softc->changer);
sys/bus/cam/scsi/scsi_cd.c
1323
} else if ((softc->changer->flags & CHANGER_NEED_TIMEOUT)
sys/bus/cam/scsi/scsi_cd.c
1324
&& (softc->flags & CD_FLAG_ACTIVE)) {
sys/bus/cam/scsi/scsi_cd.c
1364
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1369
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1372
&softc->device_stats);
sys/bus/cam/scsi/scsi_cd.c
1374
if (softc->flags & CD_FLAG_CHANGER)
sys/bus/cam/scsi/scsi_cd.c
1375
cdchangerschedule(softc);
sys/bus/cam/scsi/scsi_cd.c
1383
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1386
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1388
if (softc->flags & CD_FLAG_CHANGER) {
sys/bus/cam/scsi/scsi_cd.c
1393
while ((softc->flags & CD_FLAG_ACTIVE) == 0) {
sys/bus/cam/scsi/scsi_cd.c
1397
if (softc->pinfo.index == CAM_UNQUEUED_INDEX) {
sys/bus/cam/scsi/scsi_cd.c
1398
softc->pinfo.priority = 1;
sys/bus/cam/scsi/scsi_cd.c
1399
softc->pinfo.generation =
sys/bus/cam/scsi/scsi_cd.c
1400
++softc->changer->devq.generation;
sys/bus/cam/scsi/scsi_cd.c
1401
camq_insert(&softc->changer->devq,
sys/bus/cam/scsi/scsi_cd.c
1402
(cam_pinfo *)softc);
sys/bus/cam/scsi/scsi_cd.c
1404
if (((softc->changer->flags & CHANGER_TIMEOUT_SCHED)==0)
sys/bus/cam/scsi/scsi_cd.c
1405
&& ((softc->changer->flags & CHANGER_NEED_TIMEOUT)==0)
sys/bus/cam/scsi/scsi_cd.c
1406
&& ((softc->changer->flags
sys/bus/cam/scsi/scsi_cd.c
1408
softc->changer->flags |= CHANGER_MANUAL_CALL;
sys/bus/cam/scsi/scsi_cd.c
1409
cdrunchangerqueue(softc->changer);
sys/bus/cam/scsi/scsi_cd.c
1411
sim_lock_sleep(&softc->changer, 0, "cgticb", 0,
sys/bus/cam/scsi/scsi_cd.c
1433
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1446
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1451
if ((softc->flags & CD_FLAG_INVALID)) {
sys/bus/cam/scsi/scsi_cd.c
1461
if ((softc->flags & CD_FLAG_VALID_MEDIA) == 0) {
sys/bus/cam/scsi/scsi_cd.c
1475
bioqdisksort(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_cd.c
1481
if ((softc->flags & CD_FLAG_CHANGER) == 0)
sys/bus/cam/scsi/scsi_cd.c
1501
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1507
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1511
switch (softc->state) {
sys/bus/cam/scsi/scsi_cd.c
1514
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_cd.c
1526
bioq_remove(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_cd.c
1528
devstat_start_transaction(&softc->device_stats);
sys/bus/cam/scsi/scsi_cd.c
1530
KKASSERT(bio->bio_offset % softc->params.blksize == 0);
sys/bus/cam/scsi/scsi_cd.c
1540
bio->bio_offset / softc->params.blksize,
sys/bus/cam/scsi/scsi_cd.c
1541
bp->b_bcount / softc->params.blksize,
sys/bus/cam/scsi/scsi_cd.c
1549
LIST_INSERT_HEAD(&softc->pending_ccbs,
sys/bus/cam/scsi/scsi_cd.c
1552
softc->outstanding_cmds++;
sys/bus/cam/scsi/scsi_cd.c
1554
if ((softc->flags & CD_FLAG_RETRY_UA) != 0) {
sys/bus/cam/scsi/scsi_cd.c
1556
softc->flags &= ~CD_FLAG_RETRY_UA;
sys/bus/cam/scsi/scsi_cd.c
1560
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_cd.c
1593
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1598
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1636
while ((q_bio = bioq_takefirst(&softc->bio_queue)) != NULL) {
sys/bus/cam/scsi/scsi_cd.c
1662
softc->outstanding_cmds--;
sys/bus/cam/scsi/scsi_cd.c
1664
if (softc->flags & CD_FLAG_CHANGER)
sys/bus/cam/scsi/scsi_cd.c
1665
cdchangerschedule(softc);
sys/bus/cam/scsi/scsi_cd.c
1667
devstat_end_transaction_buf(&softc->device_stats, bp);
sys/bus/cam/scsi/scsi_cd.c
1694
cdp = &softc->params;
sys/bus/cam/scsi/scsi_cd.c
1836
if (softc->flags & CD_FLAG_CHANGER)
sys/bus/cam/scsi/scsi_cd.c
1837
cdchangerschedule(softc);
sys/bus/cam/scsi/scsi_cd.c
1843
&softc->sysctl_task);
sys/bus/cam/scsi/scsi_cd.c
1845
softc->state = CD_STATE_NORMAL;
sys/bus/cam/scsi/scsi_cd.c
1857
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_cd.c
1913
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
1925
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
1945
if (((softc->flags & CD_FLAG_VALID_MEDIA) == 0)
sys/bus/cam/scsi/scsi_cd.c
2004
if (softc->flags & CD_FLAG_VALID_TOC) {
sys/bus/cam/scsi/scsi_cd.c
2009
softc->toc.header.ending_track + 1)
sys/bus/cam/scsi/scsi_cd.c
2012
softc->toc.header.ending_track + 1)
sys/bus/cam/scsi/scsi_cd.c
2014
softc->toc.header.ending_track + 1;
sys/bus/cam/scsi/scsi_cd.c
2016
softc->toc.header.starting_track;
sys/bus/cam/scsi/scsi_cd.c
2018
softc->toc.header.starting_track;
sys/bus/cam/scsi/scsi_cd.c
2021
|| (st > (softc->toc.header.ending_track -
sys/bus/cam/scsi/scsi_cd.c
2022
softc->toc.header.starting_track))) {
sys/bus/cam/scsi/scsi_cd.c
2026
sentry = &softc->toc.entries[st].addr;
sys/bus/cam/scsi/scsi_cd.c
2027
eentry = &softc->toc.entries[et].addr;
sys/bus/cam/scsi/scsi_cd.c
2043
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2160
if (softc->quirks & CD_Q_BCD_TRACKS)
sys/bus/cam/scsi/scsi_cd.c
2171
if (softc->quirks & CD_Q_BCD_TRACKS)
sys/bus/cam/scsi/scsi_cd.c
2203
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2257
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2319
if (softc->quirks & CD_Q_BCD_TRACKS)
sys/bus/cam/scsi/scsi_cd.c
2335
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2381
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2413
if (softc->quirks & CD_Q_BCD_TRACKS)
sys/bus/cam/scsi/scsi_cd.c
244
static void cdchangerschedule(struct cd_softc *softc);
sys/bus/cam/scsi/scsi_cd.c
2780
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
2785
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
2788
&& (softc->flags & CD_FLAG_DISC_LOCKED) == 0)
sys/bus/cam/scsi/scsi_cd.c
2790
&& (softc->flags & CD_FLAG_DISC_LOCKED) != 0)) {
sys/bus/cam/scsi/scsi_cd.c
2811
softc->flags &= ~CD_FLAG_DISC_LOCKED;
sys/bus/cam/scsi/scsi_cd.c
2813
softc->flags |= CD_FLAG_DISC_LOCKED;
sys/bus/cam/scsi/scsi_cd.c
2820
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
2829
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
2865
softc->flags &= ~(CD_FLAG_VALID_MEDIA|CD_FLAG_VALID_TOC);
sys/bus/cam/scsi/scsi_cd.c
2877
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_cd.c
2882
softc->device_stats.flags |= DEVSTAT_BS_UNAVAILABLE;
sys/bus/cam/scsi/scsi_cd.c
2886
info.d_media_blksize = softc->params.blksize;
sys/bus/cam/scsi/scsi_cd.c
2887
info.d_media_blocks = softc->params.disksize;
sys/bus/cam/scsi/scsi_cd.c
2888
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_cd.c
2897
if ((softc->device_stats.flags & DEVSTAT_BS_UNAVAILABLE) != 0)
sys/bus/cam/scsi/scsi_cd.c
2898
softc->device_stats.flags &= ~DEVSTAT_BS_UNAVAILABLE;
sys/bus/cam/scsi/scsi_cd.c
2899
softc->device_stats.block_size = softc->params.blksize;
sys/bus/cam/scsi/scsi_cd.c
2901
softc->flags |= CD_FLAG_VALID_MEDIA;
sys/bus/cam/scsi/scsi_cd.c
2910
bzero(&softc->toc, sizeof(softc->toc));
sys/bus/cam/scsi/scsi_cd.c
2911
toch = &softc->toc.header;
sys/bus/cam/scsi/scsi_cd.c
2937
bzero(&softc->toc, sizeof(softc->toc));
sys/bus/cam/scsi/scsi_cd.c
2941
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2955
(u_int8_t *)&softc->toc, toclen + sizeof(*toch),
sys/bus/cam/scsi/scsi_cd.c
2959
bzero(&softc->toc, sizeof(softc->toc));
sys/bus/cam/scsi/scsi_cd.c
2963
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2983
softc->toc.entries[cdindex - toch->starting_track] =
sys/bus/cam/scsi/scsi_cd.c
2986
if (softc->quirks & CD_Q_BCD_TRACKS) {
sys/bus/cam/scsi/scsi_cd.c
2988
softc->toc.entries[cdindex].track =
sys/bus/cam/scsi/scsi_cd.c
2989
bcd2bin(softc->toc.entries[cdindex].track);
sys/bus/cam/scsi/scsi_cd.c
2998
if (softc->toc.entries[cdindex].track == toch->starting_track) {
sys/bus/cam/scsi/scsi_cd.c
2999
if (softc->toc.entries[cdindex].control & 0x04)
sys/bus/cam/scsi/scsi_cd.c
3017
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_cd.c
3019
softc->flags |= CD_FLAG_VALID_TOC;
sys/bus/cam/scsi/scsi_cd.c
3028
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
3035
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
3050
if (softc->flags & CD_FLAG_CAP_MUTE)
sys/bus/cam/scsi/scsi_cd.c
3058
softc->params.disksize = scsi_4btoul(rcap_buf->addr) + 1;
sys/bus/cam/scsi/scsi_cd.c
3059
softc->params.blksize = scsi_4btoul(rcap_buf->length);
sys/bus/cam/scsi/scsi_cd.c
3068
if (softc->params.blksize > 2048 && softc->params.blksize <= 2352)
sys/bus/cam/scsi/scsi_cd.c
3069
softc->params.blksize = 2048;
sys/bus/cam/scsi/scsi_cd.c
3072
*size = softc->params.disksize;
sys/bus/cam/scsi/scsi_cd.c
3083
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
3088
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
3109
STAILQ_FOREACH(params, &softc->mode_queue, links) {
sys/bus/cam/scsi/scsi_cd.c
3128
softc->minimum_command_size = 10;
sys/bus/cam/scsi/scsi_cd.c
3230
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
3235
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
3270
&softc->saved_ccb));
sys/bus/cam/scsi/scsi_cd.c
3380
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
3385
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
3391
data->cdb_size = softc->minimum_command_size;
sys/bus/cam/scsi/scsi_cd.c
3409
/* minimum_cmd_size */ softc->minimum_command_size,
sys/bus/cam/scsi/scsi_cd.c
3421
STAILQ_INSERT_TAIL(&softc->mode_queue, data, links);
sys/bus/cam/scsi/scsi_cd.c
3428
STAILQ_REMOVE(&softc->mode_queue, data, cd_mode_params, links);
sys/bus/cam/scsi/scsi_cd.c
3479
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
3484
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
3500
cdb_size = softc->minimum_command_size;
sys/bus/cam/scsi/scsi_cd.c
3556
STAILQ_INSERT_TAIL(&softc->mode_queue, data, links);
sys/bus/cam/scsi/scsi_cd.c
3563
STAILQ_REMOVE(&softc->mode_queue, data, cd_mode_params, links);
sys/bus/cam/scsi/scsi_cd.c
386
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
390
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
397
softc->flags |= CD_FLAG_INVALID;
sys/bus/cam/scsi/scsi_cd.c
404
while ((q_bio = bioq_takefirst(&softc->bio_queue)) != NULL) {
sys/bus/cam/scsi/scsi_cd.c
417
if ((softc->flags & CD_FLAG_CHANGER)
sys/bus/cam/scsi/scsi_cd.c
418
&& (softc->pinfo.index != CAM_UNQUEUED_INDEX))
sys/bus/cam/scsi/scsi_cd.c
419
camq_remove(&softc->changer->devq, softc->pinfo.index);
sys/bus/cam/scsi/scsi_cd.c
427
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
429
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
433
if ((softc->flags & CD_FLAG_SCTX_INIT) != 0
sys/bus/cam/scsi/scsi_cd.c
434
&& sysctl_ctx_free(&softc->sysctl_ctx) != 0) {
sys/bus/cam/scsi/scsi_cd.c
444
if ((softc->flags & CD_FLAG_CHANGER)
sys/bus/cam/scsi/scsi_cd.c
445
&& (softc->flags & CD_FLAG_ACTIVE)) {
sys/bus/cam/scsi/scsi_cd.c
466
if (softc->changer->flags & CHANGER_SHORT_TMOUT_SCHED) {
sys/bus/cam/scsi/scsi_cd.c
467
callout_stop(&softc->changer->short_handle);
sys/bus/cam/scsi/scsi_cd.c
468
softc->changer->flags &= ~CHANGER_SHORT_TMOUT_SCHED;
sys/bus/cam/scsi/scsi_cd.c
470
softc->changer->devq.qfrozen_cnt--;
sys/bus/cam/scsi/scsi_cd.c
471
softc->changer->flags |= CHANGER_MANUAL_CALL;
sys/bus/cam/scsi/scsi_cd.c
472
cdrunchangerqueue(softc->changer);
sys/bus/cam/scsi/scsi_cd.c
479
if ((softc->flags & CD_FLAG_CHANGER)
sys/bus/cam/scsi/scsi_cd.c
480
&& (--softc->changer->num_devices == 0)) {
sys/bus/cam/scsi/scsi_cd.c
487
if (softc->changer->flags & CHANGER_TIMEOUT_SCHED) {
sys/bus/cam/scsi/scsi_cd.c
488
callout_stop(&softc->changer->long_handle);
sys/bus/cam/scsi/scsi_cd.c
489
softc->changer->flags &= ~CHANGER_TIMEOUT_SCHED;
sys/bus/cam/scsi/scsi_cd.c
492
if (softc->changer->flags & CHANGER_SHORT_TMOUT_SCHED) {
sys/bus/cam/scsi/scsi_cd.c
493
callout_stop(&softc->changer->short_handle);
sys/bus/cam/scsi/scsi_cd.c
494
softc->changer->flags &= ~CHANGER_SHORT_TMOUT_SCHED;
sys/bus/cam/scsi/scsi_cd.c
498
STAILQ_REMOVE(&changerq, softc->changer, cdchanger,
sys/bus/cam/scsi/scsi_cd.c
503
kfree(softc->changer, M_DEVBUF);
sys/bus/cam/scsi/scsi_cd.c
505
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_cd.c
507
if (softc->disk.d_rawdev) {
sys/bus/cam/scsi/scsi_cd.c
509
disk_destroy(&softc->disk);
sys/bus/cam/scsi/scsi_cd.c
512
kfree(softc, M_DEVBUF);
sys/bus/cam/scsi/scsi_cd.c
564
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
567
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
572
softc->flags |= CD_FLAG_RETRY_UA;
sys/bus/cam/scsi/scsi_cd.c
573
LIST_FOREACH(ccbh, &softc->pending_ccbs, periph_links.le)
sys/bus/cam/scsi/scsi_cd.c
587
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
595
softc = (struct cd_softc *)periph->softc;
sys/bus/cam/scsi/scsi_cd.c
601
sysctl_ctx_free(&softc->sysctl_ctx);
sys/bus/cam/scsi/scsi_cd.c
602
sysctl_ctx_init(&softc->sysctl_ctx);
sys/bus/cam/scsi/scsi_cd.c
603
softc->flags |= CD_FLAG_SCTX_INIT;
sys/bus/cam/scsi/scsi_cd.c
604
softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx,
sys/bus/cam/scsi/scsi_cd.c
608
if (softc->sysctl_tree == NULL) {
sys/bus/cam/scsi/scsi_cd.c
618
SYSCTL_ADD_PROC(&softc->sysctl_ctx,SYSCTL_CHILDREN(softc->sysctl_tree),
sys/bus/cam/scsi/scsi_cd.c
620
&softc->minimum_command_size, 0, cdcmdsizesysctl, "I",
sys/bus/cam/scsi/scsi_cd.c
666
struct cd_softc *softc;
sys/bus/cam/scsi/scsi_cd.c
682
softc = kmalloc(sizeof(*softc), M_DEVBUF, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_cd.c
683
sysctl_ctx_init(&softc->sysctl_ctx);
sys/bus/cam/scsi/scsi_cd.c
684
LIST_INIT(&softc->pending_ccbs);
sys/bus/cam/scsi/scsi_cd.c
685
STAILQ_INIT(&softc->mode_queue);
sys/bus/cam/scsi/scsi_cd.c
686
softc->state = CD_STATE_PROBE;
sys/bus/cam/scsi/scsi_cd.c
687
bioq_init(&softc->bio_queue);
sys/bus/cam/scsi/scsi_cd.c
689
softc->flags |= CD_FLAG_DISC_REMOVABLE;
sys/bus/cam/scsi/scsi_cd.c
691
softc->flags |= CD_FLAG_TAGGED_QUEUING;
sys/bus/cam/scsi/scsi_cd.c
693
periph->softc = softc;
sys/bus/cam/scsi/scsi_cd.c
694
softc->periph = periph;
sys/bus/cam/scsi/scsi_cd.c
707
softc->quirks = ((struct cd_quirk_entry *)match)->quirks;
sys/bus/cam/scsi/scsi_cd.c
709
softc->quirks = CD_Q_NONE;
sys/bus/cam/scsi/scsi_cd.c
717
softc->quirks |= CD_Q_10_BYTE_ONLY;
sys/bus/cam/scsi/scsi_cd.c
720
TASK_INIT(&softc->sysctl_task, 0, cdsysctlinit, periph);
sys/bus/cam/scsi/scsi_cd.c
723
if (softc->quirks & CD_Q_10_BYTE_ONLY)
sys/bus/cam/scsi/scsi_cd.c
724
softc->minimum_command_size = 10;
sys/bus/cam/scsi/scsi_cd.c
726
softc->minimum_command_size = 6;
sys/bus/cam/scsi/scsi_cd.c
733
TUNABLE_INT_FETCH(tmpstr, &softc->minimum_command_size);
sys/bus/cam/scsi/scsi_cd.c
736
if (softc->minimum_command_size < 6)
sys/bus/cam/scsi/scsi_cd.c
737
softc->minimum_command_size = 6;
sys/bus/cam/scsi/scsi_cd.c
738
else if (softc->minimum_command_size > 6)
sys/bus/cam/scsi/scsi_cd.c
739
softc->minimum_command_size = 10;
sys/bus/cam/scsi/scsi_cd.c
754
devstat_add_entry(&softc->device_stats, "cd",
sys/bus/cam/scsi/scsi_cd.c
759
disk_create(periph->unit_number, &softc->disk, &cd_ops);
sys/bus/cam/scsi/scsi_cd.c
760
disk_setdisktype(&softc->disk, "optical");
sys/bus/cam/scsi/scsi_cd.c
761
softc->disk.d_rawdev->si_iosize_max = MAXPHYS;
sys/bus/cam/scsi/scsi_cd.c
762
softc->disk.d_info.d_dsflags = DSO_ONESLICE | DSO_COMPATLABEL |
sys/bus/cam/scsi/scsi_cd.c
783
&& ((softc->quirks & CD_Q_NO_CHANGER) == 0))
sys/bus/cam/scsi/scsi_cd.c
784
|| ((softc->quirks & CD_Q_CHANGER) != 0)) {
sys/bus/cam/scsi/scsi_cd.c
792
softc->flags |= CD_FLAG_CHANGER;
sys/bus/cam/scsi/scsi_cd.c
837
nsoftc = (struct cd_softc *)nperiph->softc;
sys/bus/cam/scsi/scsi_cd.c
867
softc->changer = nchanger;
sys/bus/cam/scsi/scsi_cd.c
868
softc->pinfo.index = CAM_UNQUEUED_INDEX;
sys/bus/cam/scsi/scsi_cd.c
877
STAILQ_INSERT_TAIL(chlunhead, softc, changer_links);
sys/bus/cam/scsi/scsi_cd.c
896
softc->flags &= ~CD_FLAG_CHANGER;
sys/bus/cam/scsi/scsi_cd.c
937
&& ((((struct cd_softc *)periph->softc)->flags &
sys/bus/cam/scsi/scsi_cd.c
941
nsoftc = (struct cd_softc *)nperiph->softc;
sys/bus/cam/scsi/scsi_cd.c
965
softc->changer = nchanger;
sys/bus/cam/scsi/scsi_cd.c
966
softc->pinfo.index = CAM_UNQUEUED_INDEX;
sys/bus/cam/scsi/scsi_cd.c
974
STAILQ_INSERT_TAIL(&nchanger->chluns, softc,
sys/bus/cam/scsi/scsi_cd.c
987
if ((softc->flags & CD_FLAG_CHANGER) == 0)
sys/bus/cam/scsi/scsi_ch.c
1018
if ((softc->sc_firsts[et] <= eaddr)
sys/bus/cam/scsi/scsi_ch.c
1019
&& ((softc->sc_firsts[et] + softc->sc_counts[et])
sys/bus/cam/scsi/scsi_ch.c
1022
eaddr - softc->sc_firsts[et];
sys/bus/cam/scsi/scsi_ch.c
1064
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
1069
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
1077
if ((softc->sc_counts[chet] - cesr->cesr_element_base) <= 0
sys/bus/cam/scsi/scsi_ch.c
1079
> softc->sc_counts[chet])
sys/bus/cam/scsi/scsi_ch.c
1100
/* sea */ softc->sc_firsts[chet],
sys/bus/cam/scsi/scsi_ch.c
1109
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1137
/* sea */ softc->sc_firsts[chet]
sys/bus/cam/scsi/scsi_ch.c
1147
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1179
copy_element_status(softc, pg_hdr->flags, desc, ces);
sys/bus/cam/scsi/scsi_ch.c
1207
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
1217
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
1231
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1243
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
1251
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
1263
if (csvr->csvr_addr > (softc->sc_counts[csvr->csvr_type] - 1))
sys/bus/cam/scsi/scsi_ch.c
1266
ea = softc->sc_firsts[csvr->csvr_type] + csvr->csvr_addr;
sys/bus/cam/scsi/scsi_ch.c
1319
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1331
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
1341
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
1355
if (softc->quirks & CH_Q_NO_DBD)
sys/bus/cam/scsi/scsi_ch.c
1377
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1390
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1412
softc->sc_firsts[CHET_MT] = scsi_2btoul(ea->mtea);
sys/bus/cam/scsi/scsi_ch.c
1413
softc->sc_counts[CHET_MT] = scsi_2btoul(ea->nmte);
sys/bus/cam/scsi/scsi_ch.c
1414
softc->sc_firsts[CHET_ST] = scsi_2btoul(ea->fsea);
sys/bus/cam/scsi/scsi_ch.c
1415
softc->sc_counts[CHET_ST] = scsi_2btoul(ea->nse);
sys/bus/cam/scsi/scsi_ch.c
1416
softc->sc_firsts[CHET_IE] = scsi_2btoul(ea->fieea);
sys/bus/cam/scsi/scsi_ch.c
1417
softc->sc_counts[CHET_IE] = scsi_2btoul(ea->niee);
sys/bus/cam/scsi/scsi_ch.c
1418
softc->sc_firsts[CHET_DT] = scsi_2btoul(ea->fdtea);
sys/bus/cam/scsi/scsi_ch.c
1419
softc->sc_counts[CHET_DT] = scsi_2btoul(ea->ndte);
sys/bus/cam/scsi/scsi_ch.c
1440
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1453
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
1477
bzero(softc->sc_movemask, sizeof(softc->sc_movemask));
sys/bus/cam/scsi/scsi_ch.c
1478
bzero(softc->sc_exchangemask, sizeof(softc->sc_exchangemask));
sys/bus/cam/scsi/scsi_ch.c
1482
softc->sc_movemask[from] = moves[from];
sys/bus/cam/scsi/scsi_ch.c
1483
softc->sc_exchangemask[from] = exchanges[from];
sys/bus/cam/scsi/scsi_ch.c
256
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
258
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
265
softc->flags |= CH_FLAG_INVALID;
sys/bus/cam/scsi/scsi_ch.c
274
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
276
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
278
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
282
kfree(softc, M_DEVBUF);
sys/bus/cam/scsi/scsi_ch.c
332
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
346
softc = kmalloc(sizeof(*softc), M_DEVBUF, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_ch.c
347
softc->state = CH_STATE_PROBE;
sys/bus/cam/scsi/scsi_ch.c
348
periph->softc = softc;
sys/bus/cam/scsi/scsi_ch.c
350
softc->quirks = CH_Q_NONE;
sys/bus/cam/scsi/scsi_ch.c
357
devstat_add_entry(&softc->device_stats, "ch",
sys/bus/cam/scsi/scsi_ch.c
390
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
405
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
409
if (softc->flags & CH_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_ch.c
415
if ((softc->flags & CH_FLAG_OPEN) == 0)
sys/bus/cam/scsi/scsi_ch.c
416
softc->flags |= CH_FLAG_OPEN;
sys/bus/cam/scsi/scsi_ch.c
430
softc->flags &= ~CH_FLAG_OPEN;
sys/bus/cam/scsi/scsi_ch.c
445
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
453
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
457
softc->flags &= ~CH_FLAG_OPEN;
sys/bus/cam/scsi/scsi_ch.c
468
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
470
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
472
switch (softc->state) {
sys/bus/cam/scsi/scsi_ch.c
506
/* dbd */ (softc->quirks & CH_Q_NO_DBD) ?
sys/bus/cam/scsi/scsi_ch.c
526
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
529
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
551
softc->sc_firsts[CHET_MT] = scsi_2btoul(ea->mtea);
sys/bus/cam/scsi/scsi_ch.c
552
softc->sc_counts[CHET_MT] = scsi_2btoul(ea->nmte);
sys/bus/cam/scsi/scsi_ch.c
553
softc->sc_firsts[CHET_ST] = scsi_2btoul(ea->fsea);
sys/bus/cam/scsi/scsi_ch.c
554
softc->sc_counts[CHET_ST] = scsi_2btoul(ea->nse);
sys/bus/cam/scsi/scsi_ch.c
555
softc->sc_firsts[CHET_IE] = scsi_2btoul(ea->fieea);
sys/bus/cam/scsi/scsi_ch.c
556
softc->sc_counts[CHET_IE] = scsi_2btoul(ea->niee);
sys/bus/cam/scsi/scsi_ch.c
557
softc->sc_firsts[CHET_DT] = scsi_2btoul(ea->fdtea);
sys/bus/cam/scsi/scsi_ch.c
558
softc->sc_counts[CHET_DT] = scsi_2btoul(ea->ndte);
sys/bus/cam/scsi/scsi_ch.c
559
softc->sc_picker = softc->sc_firsts[CHET_MT];
sys/bus/cam/scsi/scsi_ch.c
565
softc->sc_counts[CHET_ST],
sys/bus/cam/scsi/scsi_ch.c
566
PLURAL(softc->sc_counts[CHET_ST]),
sys/bus/cam/scsi/scsi_ch.c
567
softc->sc_counts[CHET_DT],
sys/bus/cam/scsi/scsi_ch.c
568
PLURAL(softc->sc_counts[CHET_DT]),
sys/bus/cam/scsi/scsi_ch.c
569
softc->sc_counts[CHET_MT],
sys/bus/cam/scsi/scsi_ch.c
570
PLURAL(softc->sc_counts[CHET_MT]),
sys/bus/cam/scsi/scsi_ch.c
571
softc->sc_counts[CHET_IE],
sys/bus/cam/scsi/scsi_ch.c
572
PLURAL(softc->sc_counts[CHET_IE]));
sys/bus/cam/scsi/scsi_ch.c
608
softc->quirks |= CH_Q_NO_DBD;
sys/bus/cam/scsi/scsi_ch.c
641
softc->state = CH_STATE_NORMAL;
sys/bus/cam/scsi/scsi_ch.c
670
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
674
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
677
&softc->saved_ccb));
sys/bus/cam/scsi/scsi_ch.c
687
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
700
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
738
*(int *)addr = softc->sc_picker - softc->sc_firsts[CHET_MT];
sys/bus/cam/scsi/scsi_ch.c
745
if (new_picker > (softc->sc_counts[CHET_MT] - 1)) {
sys/bus/cam/scsi/scsi_ch.c
749
softc->sc_picker = softc->sc_firsts[CHET_MT] + new_picker;
sys/bus/cam/scsi/scsi_ch.c
756
cp->cp_npickers = softc->sc_counts[CHET_MT];
sys/bus/cam/scsi/scsi_ch.c
757
cp->cp_nslots = softc->sc_counts[CHET_ST];
sys/bus/cam/scsi/scsi_ch.c
758
cp->cp_nportals = softc->sc_counts[CHET_IE];
sys/bus/cam/scsi/scsi_ch.c
759
cp->cp_ndrives = softc->sc_counts[CHET_DT];
sys/bus/cam/scsi/scsi_ch.c
794
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
800
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
807
if ((cm->cm_fromunit > (softc->sc_counts[cm->cm_fromtype] - 1)) ||
sys/bus/cam/scsi/scsi_ch.c
808
(cm->cm_tounit > (softc->sc_counts[cm->cm_totype] - 1)))
sys/bus/cam/scsi/scsi_ch.c
814
if ((softc->sc_movemask[cm->cm_fromtype] & (1 << cm->cm_totype)) == 0)
sys/bus/cam/scsi/scsi_ch.c
820
fromelem = softc->sc_firsts[cm->cm_fromtype] + cm->cm_fromunit;
sys/bus/cam/scsi/scsi_ch.c
821
toelem = softc->sc_firsts[cm->cm_totype] + cm->cm_tounit;
sys/bus/cam/scsi/scsi_ch.c
830
/* tea */ softc->sc_picker,
sys/bus/cam/scsi/scsi_ch.c
839
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
849
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
855
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
862
if ((ce->ce_srcunit > (softc->sc_counts[ce->ce_srctype] - 1)) ||
sys/bus/cam/scsi/scsi_ch.c
863
(ce->ce_fdstunit > (softc->sc_counts[ce->ce_fdsttype] - 1)) ||
sys/bus/cam/scsi/scsi_ch.c
864
(ce->ce_sdstunit > (softc->sc_counts[ce->ce_sdsttype] - 1)))
sys/bus/cam/scsi/scsi_ch.c
870
if (((softc->sc_exchangemask[ce->ce_srctype] &
sys/bus/cam/scsi/scsi_ch.c
872
((softc->sc_exchangemask[ce->ce_fdsttype] &
sys/bus/cam/scsi/scsi_ch.c
879
src = softc->sc_firsts[ce->ce_srctype] + ce->ce_srcunit;
sys/bus/cam/scsi/scsi_ch.c
880
dst1 = softc->sc_firsts[ce->ce_fdsttype] + ce->ce_fdstunit;
sys/bus/cam/scsi/scsi_ch.c
881
dst2 = softc->sc_firsts[ce->ce_sdsttype] + ce->ce_sdstunit;
sys/bus/cam/scsi/scsi_ch.c
890
/* tea */ softc->sc_picker,
sys/bus/cam/scsi/scsi_ch.c
903
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
913
struct ch_softc *softc;
sys/bus/cam/scsi/scsi_ch.c
919
softc = (struct ch_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ch.c
926
if (cp->cp_unit > (softc->sc_counts[cp->cp_type] - 1))
sys/bus/cam/scsi/scsi_ch.c
932
dst = softc->sc_firsts[cp->cp_type] + cp->cp_unit;
sys/bus/cam/scsi/scsi_ch.c
941
/* tea */ softc->sc_picker,
sys/bus/cam/scsi/scsi_ch.c
950
&softc->device_stats);
sys/bus/cam/scsi/scsi_ch.c
984
copy_element_status(struct ch_softc *softc,
sys/bus/cam/scsi/scsi_ch.c
995
if ((softc->sc_firsts[et] <= eaddr)
sys/bus/cam/scsi/scsi_ch.c
996
&& ((softc->sc_firsts[et] + softc->sc_counts[et])
sys/bus/cam/scsi/scsi_ch.c
998
ces->ces_addr = eaddr - softc->sc_firsts[et];
sys/bus/cam/scsi/scsi_da.c
1014
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
1017
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
1022
softc->flags |= DA_FLAG_RETRY_UA;
sys/bus/cam/scsi/scsi_da.c
1023
LIST_FOREACH(ccbh, &softc->pending_ccbs, periph_links.le)
sys/bus/cam/scsi/scsi_da.c
1037
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
1045
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
1051
sysctl_ctx_free(&softc->sysctl_ctx);
sys/bus/cam/scsi/scsi_da.c
1052
sysctl_ctx_init(&softc->sysctl_ctx);
sys/bus/cam/scsi/scsi_da.c
1053
softc->flags |= DA_FLAG_SCTX_INIT;
sys/bus/cam/scsi/scsi_da.c
1054
softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx,
sys/bus/cam/scsi/scsi_da.c
1057
if (softc->sysctl_tree == NULL) {
sys/bus/cam/scsi/scsi_da.c
1067
SYSCTL_ADD_PROC(&softc->sysctl_ctx,SYSCTL_CHILDREN(softc->sysctl_tree),
sys/bus/cam/scsi/scsi_da.c
1069
&softc->minimum_cmd_size, 0, dacmdsizesysctl, "I",
sys/bus/cam/scsi/scsi_da.c
1073
if (softc->disk.d_info.d_trimflag) {
sys/bus/cam/scsi/scsi_da.c
1074
SYSCTL_ADD_INT(&softc->sysctl_ctx,
sys/bus/cam/scsi/scsi_da.c
1075
SYSCTL_CHILDREN(softc->sysctl_tree),
sys/bus/cam/scsi/scsi_da.c
1079
&softc->trim_enabled,
sys/bus/cam/scsi/scsi_da.c
1122
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
1140
softc = kmalloc(sizeof(*softc), M_DEVBUF, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_da.c
1141
sysctl_ctx_init(&softc->sysctl_ctx);
sys/bus/cam/scsi/scsi_da.c
1142
LIST_INIT(&softc->pending_ccbs);
sys/bus/cam/scsi/scsi_da.c
1143
softc->state = DA_STATE_PROBE;
sys/bus/cam/scsi/scsi_da.c
1144
bioq_init(&softc->bio_queue_trim);
sys/bus/cam/scsi/scsi_da.c
1145
bioq_init(&softc->bio_queue_rd);
sys/bus/cam/scsi/scsi_da.c
1146
bioq_init(&softc->bio_queue_wr);
sys/bus/cam/scsi/scsi_da.c
1148
softc->flags |= DA_FLAG_PACK_REMOVABLE;
sys/bus/cam/scsi/scsi_da.c
1150
softc->flags |= DA_FLAG_TAGGED_QUEUING;
sys/bus/cam/scsi/scsi_da.c
1159
softc->trim_max_ranges =
sys/bus/cam/scsi/scsi_da.c
1163
periph->softc = softc;
sys/bus/cam/scsi/scsi_da.c
1176
softc->quirks = ((struct da_quirk_entry *)match)->quirks;
sys/bus/cam/scsi/scsi_da.c
1178
softc->quirks = DA_Q_NONE;
sys/bus/cam/scsi/scsi_da.c
1187
softc->quirks |= DA_Q_NO_SYNC_CACHE;
sys/bus/cam/scsi/scsi_da.c
1190
TASK_INIT(&softc->sysctl_task, 0, dasysctlinit, periph);
sys/bus/cam/scsi/scsi_da.c
1198
softc->quirks |= DA_Q_NO_6_BYTE;
sys/bus/cam/scsi/scsi_da.c
1203
if (softc->quirks & DA_Q_NO_6_BYTE || SID_TYPE(&cgd->inq_data) == T_RBC)
sys/bus/cam/scsi/scsi_da.c
1204
softc->minimum_cmd_size = 10;
sys/bus/cam/scsi/scsi_da.c
1206
softc->minimum_cmd_size = 6;
sys/bus/cam/scsi/scsi_da.c
1213
TUNABLE_INT_FETCH(tmpstr, &softc->minimum_cmd_size);
sys/bus/cam/scsi/scsi_da.c
1218
if (softc->minimum_cmd_size < 6)
sys/bus/cam/scsi/scsi_da.c
1219
softc->minimum_cmd_size = 6;
sys/bus/cam/scsi/scsi_da.c
1220
else if ((softc->minimum_cmd_size > 6)
sys/bus/cam/scsi/scsi_da.c
1221
&& (softc->minimum_cmd_size <= 10))
sys/bus/cam/scsi/scsi_da.c
1222
softc->minimum_cmd_size = 10;
sys/bus/cam/scsi/scsi_da.c
1223
else if ((softc->minimum_cmd_size > 10)
sys/bus/cam/scsi/scsi_da.c
1224
&& (softc->minimum_cmd_size <= 12))
sys/bus/cam/scsi/scsi_da.c
1225
softc->minimum_cmd_size = 12;
sys/bus/cam/scsi/scsi_da.c
1226
else if (softc->minimum_cmd_size > 12)
sys/bus/cam/scsi/scsi_da.c
1227
softc->minimum_cmd_size = 16;
sys/bus/cam/scsi/scsi_da.c
1237
devstat_add_entry(&softc->device_stats, "da",
sys/bus/cam/scsi/scsi_da.c
1247
disk_create(periph->unit_number, &softc->disk, &da_ops);
sys/bus/cam/scsi/scsi_da.c
1249
softc->disk.d_rawdev->si_iosize_max = MAXPHYS;
sys/bus/cam/scsi/scsi_da.c
1251
softc->disk.d_rawdev->si_iosize_max = cpi->maxio;
sys/bus/cam/scsi/scsi_da.c
1256
softc->disk.d_rawdev->si_iosize_max);
sys/bus/cam/scsi/scsi_da.c
1286
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
1288
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
1290
switch (softc->state) {
sys/bus/cam/scsi/scsi_da.c
1305
bio_rd = bioq_first(&softc->bio_queue_rd);
sys/bus/cam/scsi/scsi_da.c
1306
bio_wr = bioq_first(&softc->bio_queue_wr);
sys/bus/cam/scsi/scsi_da.c
1327
if (!softc->trim_running &&
sys/bus/cam/scsi/scsi_da.c
1328
(bio = bioq_first(&softc->bio_queue_trim)) != NULL) {
sys/bus/cam/scsi/scsi_da.c
1329
struct trim_request *req = &softc->trim_req;
sys/bus/cam/scsi/scsi_da.c
1333
softc->trim_running = 1;
sys/bus/cam/scsi/scsi_da.c
1341
count = bp->b_bcount / softc->params.secsize;
sys/bus/cam/scsi/scsi_da.c
1342
lba = bio1->bio_offset/softc->params.secsize;
sys/bus/cam/scsi/scsi_da.c
1344
bioq_remove(&softc->bio_queue_trim, bio1);
sys/bus/cam/scsi/scsi_da.c
1364
bio1 = bioq_first(&softc->bio_queue_trim);
sys/bus/cam/scsi/scsi_da.c
1366
bio1->bio_buf->b_bcount / softc->params.secsize >
sys/bus/cam/scsi/scsi_da.c
1367
(softc->trim_max_ranges - ranges) * 0xffff)
sys/bus/cam/scsi/scsi_da.c
1384
LIST_INSERT_HEAD(&softc->pending_ccbs,
sys/bus/cam/scsi/scsi_da.c
1388
devstat_start_transaction(&softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
1429
(bio_rd || softc->outstanding_cmds_rd) &&
sys/bus/cam/scsi/scsi_da.c
1430
(bio_wr || softc->outstanding_cmds_wr) &&
sys/bus/cam/scsi/scsi_da.c
1431
softc->tps_rd * 100 < softc->tps_wr * da_balance_ratio) {
sys/bus/cam/scsi/scsi_da.c
1433
} else if (bio_rd == NULL && softc->outstanding_cmds_rd == 0 &&
sys/bus/cam/scsi/scsi_da.c
1434
softc->tps_rd < softc->tps_wr * 2) {
sys/bus/cam/scsi/scsi_da.c
1435
softc->tps_rd += 100;
sys/bus/cam/scsi/scsi_da.c
1437
if (softc->tps_ticks != ticks) {
sys/bus/cam/scsi/scsi_da.c
1438
softc->tps_ticks = ticks;
sys/bus/cam/scsi/scsi_da.c
1439
softc->tps_rd = (softc->tps_rd * (hz - 1)) / hz;
sys/bus/cam/scsi/scsi_da.c
1440
softc->tps_wr = (softc->tps_wr * (hz - 1)) / hz;
sys/bus/cam/scsi/scsi_da.c
1448
softc->outstanding_cmds_rd ||
sys/bus/cam/scsi/scsi_da.c
1449
softc->outstanding_cmds_wr)) {
sys/bus/cam/scsi/scsi_da.c
1451
softc,
sys/bus/cam/scsi/scsi_da.c
1452
softc->outstanding_cmds_rd, rd_limit,
sys/bus/cam/scsi/scsi_da.c
1453
softc->outstanding_cmds_wr, wr_limit,
sys/bus/cam/scsi/scsi_da.c
1454
softc->tps_rd / 100, softc->tps_wr / 100);
sys/bus/cam/scsi/scsi_da.c
1458
if (bio_rd && softc->outstanding_cmds_rd < rd_limit) {
sys/bus/cam/scsi/scsi_da.c
1460
bioq_remove(&softc->bio_queue_rd, bio);
sys/bus/cam/scsi/scsi_da.c
1461
softc->tps_rd += 100;
sys/bus/cam/scsi/scsi_da.c
1462
} else if (bio_wr && softc->outstanding_cmds_wr < wr_limit) {
sys/bus/cam/scsi/scsi_da.c
1464
bioq_remove(&softc->bio_queue_wr, bio);
sys/bus/cam/scsi/scsi_da.c
1465
softc->tps_wr += 100;
sys/bus/cam/scsi/scsi_da.c
1468
softc->flags |= DA_FLAG_RD_LIMIT;
sys/bus/cam/scsi/scsi_da.c
1470
softc->flags |= DA_FLAG_WR_LIMIT;
sys/bus/cam/scsi/scsi_da.c
1480
devstat_start_transaction(&softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
1490
KKASSERT(bio->bio_offset % softc->params.secsize == 0);
sys/bus/cam/scsi/scsi_da.c
1499
softc->minimum_cmd_size,
sys/bus/cam/scsi/scsi_da.c
1500
bio->bio_offset / softc->params.secsize,
sys/bus/cam/scsi/scsi_da.c
1501
bp->b_bcount / softc->params.secsize,
sys/bus/cam/scsi/scsi_da.c
1513
if (softc->quirks & DA_Q_NO_SYNC_CACHE) {
sys/bus/cam/scsi/scsi_da.c
1517
&softc->device_stats, bp);
sys/bus/cam/scsi/scsi_da.c
1533
if (softc->disk.d_info.d_trimflag & DA_FLAG_CAN_TRIM){
sys/bus/cam/scsi/scsi_da.c
1550
LIST_INSERT_HEAD(&softc->pending_ccbs,
sys/bus/cam/scsi/scsi_da.c
1554
++softc->outstanding_cmds_wr;
sys/bus/cam/scsi/scsi_da.c
1556
++softc->outstanding_cmds_rd;
sys/bus/cam/scsi/scsi_da.c
1560
if ((softc->flags & DA_FLAG_RETRY_UA) != 0) {
sys/bus/cam/scsi/scsi_da.c
1562
softc->flags &= ~DA_FLAG_RETRY_UA;
sys/bus/cam/scsi/scsi_da.c
1572
if (bioq_first(&softc->bio_queue_rd) ||
sys/bus/cam/scsi/scsi_da.c
1573
bioq_first(&softc->bio_queue_wr)) {
sys/bus/cam/scsi/scsi_da.c
1628
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
1641
softc = (struct da_softc *)xpt_path_periph(ccb->ccb_h.path)->softc;
sys/bus/cam/scsi/scsi_da.c
1642
softc->minimum_cmd_size = 10;
sys/bus/cam/scsi/scsi_da.c
1671
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
1675
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
1716
softc->flags |= DA_FLAG_PACK_INVALID;
sys/bus/cam/scsi/scsi_da.c
1726
daflushbioq(&softc->bio_queue_wr, EIO);
sys/bus/cam/scsi/scsi_da.c
1761
--softc->outstanding_cmds_wr;
sys/bus/cam/scsi/scsi_da.c
1762
if (softc->flags & DA_FLAG_WR_LIMIT) {
sys/bus/cam/scsi/scsi_da.c
1763
softc->flags &= ~DA_FLAG_WR_LIMIT;
sys/bus/cam/scsi/scsi_da.c
1767
--softc->outstanding_cmds_rd;
sys/bus/cam/scsi/scsi_da.c
1768
if (softc->flags &
sys/bus/cam/scsi/scsi_da.c
1770
softc->flags &=
sys/bus/cam/scsi/scsi_da.c
1776
devstat_end_transaction_buf(&softc->device_stats, bp);
sys/bus/cam/scsi/scsi_da.c
1783
for (i = 1; i < softc->trim_max_ranges &&
sys/bus/cam/scsi/scsi_da.c
1793
softc->trim_running = 0;
sys/bus/cam/scsi/scsi_da.c
1815
if (softc->state == DA_STATE_PROBE)
sys/bus/cam/scsi/scsi_da.c
1830
if (softc->state == DA_STATE_PROBE) {
sys/bus/cam/scsi/scsi_da.c
1843
softc->state = DA_STATE_PROBE2;
sys/bus/cam/scsi/scsi_da.c
1854
dp = &softc->params;
sys/bus/cam/scsi/scsi_da.c
1863
info.d_media_blksize = softc->params.secsize;
sys/bus/cam/scsi/scsi_da.c
1864
info.d_media_blocks = softc->params.sectors;
sys/bus/cam/scsi/scsi_da.c
1866
info.d_secpertrack = softc->params.secs_per_track;
sys/bus/cam/scsi/scsi_da.c
1867
info.d_nheads = softc->params.heads;
sys/bus/cam/scsi/scsi_da.c
1868
info.d_ncylinders = softc->params.cylinders;
sys/bus/cam/scsi/scsi_da.c
1869
info.d_secpercyl = softc->params.heads *
sys/bus/cam/scsi/scsi_da.c
1870
softc->params.secs_per_track;
sys/bus/cam/scsi/scsi_da.c
1975
if (softc->trim_max_ranges) {
sys/bus/cam/scsi/scsi_da.c
1981
softc->state = DA_STATE_NORMAL;
sys/bus/cam/scsi/scsi_da.c
1995
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_da.c
2003
&softc->sysctl_task);
sys/bus/cam/scsi/scsi_da.c
2029
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
2034
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
2066
&softc->saved_ccb));
sys/bus/cam/scsi/scsi_da.c
2072
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
2076
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
2079
&& (softc->flags & DA_FLAG_PACK_LOCKED) == 0)
sys/bus/cam/scsi/scsi_da.c
2081
&& (softc->flags & DA_FLAG_PACK_LOCKED) != 0)) {
sys/bus/cam/scsi/scsi_da.c
2097
SF_RETRY_UA, &softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
2101
softc->flags &= ~DA_FLAG_PACK_LOCKED;
sys/bus/cam/scsi/scsi_da.c
2103
softc->flags |= DA_FLAG_PACK_LOCKED;
sys/bus/cam/scsi/scsi_da.c
2116
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
2121
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
2122
dp = &softc->params;
sys/bus/cam/scsi/scsi_da.c
2124
if (softc->flags & DA_FLAG_CAP_MUTE) /* additional ccb flags */
sys/bus/cam/scsi/scsi_da.c
2139
if (softc->flags & DA_FLAG_OPEN)
sys/bus/cam/scsi/scsi_da.c
2141
if ((softc->flags & DA_FLAG_PACK_REMOVABLE) == 0)
sys/bus/cam/scsi/scsi_da.c
2150
info.d_media_blksize = softc->params.secsize;
sys/bus/cam/scsi/scsi_da.c
2151
info.d_media_blocks = softc->params.sectors;
sys/bus/cam/scsi/scsi_da.c
2153
info.d_secpertrack = softc->params.secs_per_track;
sys/bus/cam/scsi/scsi_da.c
2154
info.d_nheads = softc->params.heads;
sys/bus/cam/scsi/scsi_da.c
2155
info.d_ncylinders = softc->params.cylinders;
sys/bus/cam/scsi/scsi_da.c
2156
info.d_secpercyl = softc->params.heads *
sys/bus/cam/scsi/scsi_da.c
2157
softc->params.secs_per_track;
sys/bus/cam/scsi/scsi_da.c
2159
if (info.d_media_blocks != softc->disk.d_info.d_media_blocks) {
sys/bus/cam/scsi/scsi_da.c
2167
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_da.c
2177
disk_setdiskinfo(&softc->disk, &info);
sys/bus/cam/scsi/scsi_da.c
2185
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
2193
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
2218
&softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
2253
&softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
2283
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
2286
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
2288
dp = &softc->params;
sys/bus/cam/scsi/scsi_da.c
2336
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
2342
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
2348
if (((softc->flags & DA_FLAG_OPEN) == 0)
sys/bus/cam/scsi/scsi_da.c
2349
|| (softc->quirks & DA_Q_NO_SYNC_CACHE)) {
sys/bus/cam/scsi/scsi_da.c
497
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
526
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
532
if ((softc->flags & DA_FLAG_PACK_INVALID) != 0) {
sys/bus/cam/scsi/scsi_da.c
534
disk_invalidate(&softc->disk);
sys/bus/cam/scsi/scsi_da.c
535
softc->flags &= ~DA_FLAG_PACK_INVALID;
sys/bus/cam/scsi/scsi_da.c
539
softc->flags |= DA_FLAG_OPEN;
sys/bus/cam/scsi/scsi_da.c
563
if ((softc->device_stats.flags & DEVSTAT_BS_UNAVAILABLE) != 0){
sys/bus/cam/scsi/scsi_da.c
564
softc->device_stats.block_size = softc->params.secsize;
sys/bus/cam/scsi/scsi_da.c
565
softc->device_stats.flags &= ~DEVSTAT_BS_UNAVAILABLE;
sys/bus/cam/scsi/scsi_da.c
570
softc->flags &= ~DA_FLAG_CAP_MUTE;
sys/bus/cam/scsi/scsi_da.c
571
if ((softc->flags & DA_FLAG_PACK_REMOVABLE) != 0 &&
sys/bus/cam/scsi/scsi_da.c
572
(softc->quirks & DA_Q_NO_PREVENT) == 0)
sys/bus/cam/scsi/scsi_da.c
575
softc->flags |= DA_FLAG_CAP_MUTE;
sys/bus/cam/scsi/scsi_da.c
576
softc->flags &= ~DA_FLAG_OPEN;
sys/bus/cam/scsi/scsi_da.c
588
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
604
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
606
if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) {
sys/bus/cam/scsi/scsi_da.c
623
&softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
656
if ((softc->flags & DA_FLAG_PACK_REMOVABLE) != 0) {
sys/bus/cam/scsi/scsi_da.c
657
if ((softc->quirks & DA_Q_NO_PREVENT) == 0)
sys/bus/cam/scsi/scsi_da.c
664
softc->device_stats.flags |= DEVSTAT_BS_UNAVAILABLE;
sys/bus/cam/scsi/scsi_da.c
670
if (softc->flags & DA_FLAG_OPEN) {
sys/bus/cam/scsi/scsi_da.c
671
softc->flags &= ~DA_FLAG_OPEN;
sys/bus/cam/scsi/scsi_da.c
693
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
702
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
722
if ((softc->flags & DA_FLAG_PACK_INVALID)) {
sys/bus/cam/scsi/scsi_da.c
732
bioqdisksort(&softc->bio_queue_wr, bio);
sys/bus/cam/scsi/scsi_da.c
734
bioqdisksort(&softc->bio_queue_trim, bio);
sys/bus/cam/scsi/scsi_da.c
736
bioqdisksort(&softc->bio_queue_rd, bio);
sys/bus/cam/scsi/scsi_da.c
761
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
771
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
773
secsize = softc->params.secsize; /* XXX: or ap->a_secsize? */
sys/bus/cam/scsi/scsi_da.c
775
if ((softc->flags & DA_FLAG_PACK_INVALID) != 0) {
sys/bus/cam/scsi/scsi_da.c
796
/*minimum_cmd_size*/ softc->minimum_cmd_size,
sys/bus/cam/scsi/scsi_da.c
823
if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) {
sys/bus/cam/scsi/scsi_da.c
899
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
901
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
908
softc->flags |= DA_FLAG_PACK_INVALID;
sys/bus/cam/scsi/scsi_da.c
915
daflushbioq(&softc->bio_queue_trim, ENXIO);
sys/bus/cam/scsi/scsi_da.c
916
daflushbioq(&softc->bio_queue_wr, ENXIO);
sys/bus/cam/scsi/scsi_da.c
917
daflushbioq(&softc->bio_queue_rd, ENXIO);
sys/bus/cam/scsi/scsi_da.c
940
struct da_softc *softc;
sys/bus/cam/scsi/scsi_da.c
942
softc = (struct da_softc *)periph->softc;
sys/bus/cam/scsi/scsi_da.c
944
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_da.c
950
if ((softc->flags & DA_FLAG_SCTX_INIT) != 0
sys/bus/cam/scsi/scsi_da.c
951
&& sysctl_ctx_free(&softc->sysctl_ctx) != 0) {
sys/bus/cam/scsi/scsi_da.c
954
periph->softc = NULL;
sys/bus/cam/scsi/scsi_da.c
955
if (softc->disk.d_rawdev) {
sys/bus/cam/scsi/scsi_da.c
957
disk_destroy(&softc->disk);
sys/bus/cam/scsi/scsi_da.c
961
kfree(softc, M_DEVBUF);
sys/bus/cam/scsi/scsi_pass.c
150
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
152
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
159
softc->flags |= PASS_FLAG_INVALID;
sys/bus/cam/scsi/scsi_pass.c
170
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
172
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
174
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_pass.c
182
kfree(softc, M_DEVBUF);
sys/bus/cam/scsi/scsi_pass.c
241
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
256
softc = kmalloc(sizeof(*softc), M_DEVBUF, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_pass.c
257
softc->state = PASS_STATE_NORMAL;
sys/bus/cam/scsi/scsi_pass.c
258
softc->pd_type = SID_TYPE(&cgd->inq_data);
sys/bus/cam/scsi/scsi_pass.c
260
periph->softc = softc;
sys/bus/cam/scsi/scsi_pass.c
270
devstat_add_entry(&softc->device_stats, "pass", periph->unit_number, 0,
sys/bus/cam/scsi/scsi_pass.c
273
softc->pd_type |
sys/bus/cam/scsi/scsi_pass.c
302
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
324
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
326
if (softc->flags & PASS_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_pass.c
360
if ((softc->flags & PASS_FLAG_OPEN) == 0) {
sys/bus/cam/scsi/scsi_pass.c
361
softc->flags |= PASS_FLAG_OPEN;
sys/bus/cam/scsi/scsi_pass.c
377
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
390
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
391
softc->flags &= ~PASS_FLAG_OPEN;
sys/bus/cam/scsi/scsi_pass.c
402
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
404
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
406
switch (softc->state) {
sys/bus/cam/scsi/scsi_pass.c
534
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
538
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
605
&softc->device_stats);
sys/bus/cam/scsi/scsi_pass.c
621
struct pass_softc *softc;
sys/bus/cam/scsi/scsi_pass.c
624
softc = (struct pass_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pass.c
627
&softc->saved_ccb));
sys/bus/cam/scsi/scsi_pt.c
142
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
157
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
160
if (softc->flags & PT_FLAG_DEVICE_INVALID) {
sys/bus/cam/scsi/scsi_pt.c
166
if ((softc->flags & PT_FLAG_OPEN) == 0)
sys/bus/cam/scsi/scsi_pt.c
167
softc->flags |= PT_FLAG_OPEN;
sys/bus/cam/scsi/scsi_pt.c
185
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
193
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
197
softc->flags &= ~PT_FLAG_OPEN;
sys/bus/cam/scsi/scsi_pt.c
215
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
225
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
230
if ((softc->flags & PT_FLAG_DEVICE_INVALID)) {
sys/bus/cam/scsi/scsi_pt.c
239
bioq_insert_tail(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_pt.c
288
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
302
softc = kmalloc(sizeof(*softc), M_DEVBUF, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_pt.c
303
LIST_INIT(&softc->pending_ccbs);
sys/bus/cam/scsi/scsi_pt.c
304
softc->state = PT_STATE_NORMAL;
sys/bus/cam/scsi/scsi_pt.c
305
bioq_init(&softc->bio_queue);
sys/bus/cam/scsi/scsi_pt.c
307
softc->io_timeout = SCSI_PT_DEFAULT_TIMEOUT * 1000;
sys/bus/cam/scsi/scsi_pt.c
309
periph->softc = softc;
sys/bus/cam/scsi/scsi_pt.c
314
devstat_add_entry(&softc->device_stats, "pt",
sys/bus/cam/scsi/scsi_pt.c
344
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
348
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
355
softc->flags |= PT_FLAG_DEVICE_INVALID;
sys/bus/cam/scsi/scsi_pt.c
362
while ((q_bio = bioq_takefirst(&softc->bio_queue)) != NULL) {
sys/bus/cam/scsi/scsi_pt.c
376
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
378
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
380
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_pt.c
385
kfree(softc, M_DEVBUF);
sys/bus/cam/scsi/scsi_pt.c
426
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
429
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
434
softc->flags |= PT_FLAG_RETRY_UA;
sys/bus/cam/scsi/scsi_pt.c
435
LIST_FOREACH(ccbh, &softc->pending_ccbs, periph_links.le)
sys/bus/cam/scsi/scsi_pt.c
448
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
452
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
457
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_pt.c
469
bioq_remove(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_pt.c
472
devstat_start_transaction(&softc->device_stats);
sys/bus/cam/scsi/scsi_pt.c
483
/*timeout*/softc->io_timeout);
sys/bus/cam/scsi/scsi_pt.c
491
LIST_INSERT_HEAD(&softc->pending_ccbs, &start_ccb->ccb_h,
sys/bus/cam/scsi/scsi_pt.c
495
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_pt.c
509
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
512
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
552
softc->flags |= PT_FLAG_DEVICE_INVALID;
sys/bus/cam/scsi/scsi_pt.c
560
while ((q_bio = bioq_takefirst(&softc->bio_queue)) != NULL) {
sys/bus/cam/scsi/scsi_pt.c
596
devstat_end_transaction_buf(&softc->device_stats, bp);
sys/bus/cam/scsi/scsi_pt.c
611
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
615
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
618
&softc->saved_ccb));
sys/bus/cam/scsi/scsi_pt.c
627
struct pt_softc *softc;
sys/bus/cam/scsi/scsi_pt.c
637
softc = (struct pt_softc *)periph->softc;
sys/bus/cam/scsi/scsi_pt.c
643
if (softc->io_timeout >= 1000)
sys/bus/cam/scsi/scsi_pt.c
644
*(int *)addr = softc->io_timeout / 1000;
sys/bus/cam/scsi/scsi_pt.c
654
softc->io_timeout = *(int *)addr * 1000;
sys/bus/cam/scsi/scsi_sa.c
1000
if ((g->mt_resid = (short) softc->last_io_resid) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1002
softc->last_io_resid = 0;
sys/bus/cam/scsi/scsi_sa.c
1006
if ((g->mt_resid = (short)softc->last_ctl_resid) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1008
softc->last_ctl_resid = 0;
sys/bus/cam/scsi/scsi_sa.c
1024
sep->io_resid = softc->last_io_resid;
sys/bus/cam/scsi/scsi_sa.c
1025
bcopy((caddr_t) &softc->last_io_sense, sep->io_sense,
sys/bus/cam/scsi/scsi_sa.c
1027
bcopy((caddr_t) &softc->last_io_cdb, sep->io_cdb,
sys/bus/cam/scsi/scsi_sa.c
1029
sep->ctl_resid = softc->last_ctl_resid;
sys/bus/cam/scsi/scsi_sa.c
1030
bcopy((caddr_t) &softc->last_ctl_sense, sep->ctl_sense,
sys/bus/cam/scsi/scsi_sa.c
1032
bcopy((caddr_t) &softc->last_ctl_cdb, sep->ctl_cdb,
sys/bus/cam/scsi/scsi_sa.c
1035
if ((SA_IS_CTRL(dev) == 0 && softc->open_pending_mount) ||
sys/bus/cam/scsi/scsi_sa.c
1037
bzero((caddr_t) &softc->errinfo,
sys/bus/cam/scsi/scsi_sa.c
1038
sizeof (softc->errinfo));
sys/bus/cam/scsi/scsi_sa.c
1047
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1080
nmarks = softc->filemarks;
sys/bus/cam/scsi/scsi_sa.c
1085
softc->flags |= SA_FLAG_EIO_PENDING;
sys/bus/cam/scsi/scsi_sa.c
1088
nmarks -= softc->filemarks;
sys/bus/cam/scsi/scsi_sa.c
1119
nmarks = softc->filemarks;
sys/bus/cam/scsi/scsi_sa.c
1126
nmarks -= softc->filemarks;
sys/bus/cam/scsi/scsi_sa.c
1137
softc->flags &=
sys/bus/cam/scsi/scsi_sa.c
1139
softc->filemarks = 0;
sys/bus/cam/scsi/scsi_sa.c
1143
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1147
softc->flags &=
sys/bus/cam/scsi/scsi_sa.c
1149
softc->flags &= ~SA_FLAG_ERR_PENDING;
sys/bus/cam/scsi/scsi_sa.c
1150
softc->filemarks = 0;
sys/bus/cam/scsi/scsi_sa.c
1153
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1155
softc->flags &=
sys/bus/cam/scsi/scsi_sa.c
1157
softc->flags &= ~SA_FLAG_ERR_PENDING;
sys/bus/cam/scsi/scsi_sa.c
1160
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1162
softc->flags &=
sys/bus/cam/scsi/scsi_sa.c
1164
softc->flags &= ~SA_FLAG_ERR_PENDING;
sys/bus/cam/scsi/scsi_sa.c
1168
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1172
softc->flags &= ~SA_FLAG_TAPE_WRITTEN;
sys/bus/cam/scsi/scsi_sa.c
1173
softc->filemarks = 0;
sys/bus/cam/scsi/scsi_sa.c
1177
softc->flags &= ~SA_FLAG_TAPE_FROZEN;
sys/bus/cam/scsi/scsi_sa.c
1187
softc->flags &= ~SA_FLAG_TAPE_MOUNTED;
sys/bus/cam/scsi/scsi_sa.c
1200
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1205
softc->last_media_blksize =
sys/bus/cam/scsi/scsi_sa.c
1206
softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
1207
softc->media_blksize = count;
sys/bus/cam/scsi/scsi_sa.c
1209
softc->flags |= SA_FLAG_FIXED;
sys/bus/cam/scsi/scsi_sa.c
1211
softc->blk_shift =
sys/bus/cam/scsi/scsi_sa.c
1213
softc->blk_mask = count - 1;
sys/bus/cam/scsi/scsi_sa.c
1215
softc->blk_mask = ~0;
sys/bus/cam/scsi/scsi_sa.c
1216
softc->blk_shift = 0;
sys/bus/cam/scsi/scsi_sa.c
1221
softc->quirks &= ~SA_QUIRK_VARIABLE;
sys/bus/cam/scsi/scsi_sa.c
1222
softc->quirks |= SA_QUIRK_FIXED;
sys/bus/cam/scsi/scsi_sa.c
1224
softc->flags &= ~SA_FLAG_FIXED;
sys/bus/cam/scsi/scsi_sa.c
1225
if (softc->max_blk == 0) {
sys/bus/cam/scsi/scsi_sa.c
1226
softc->max_blk = ~0;
sys/bus/cam/scsi/scsi_sa.c
1228
softc->blk_shift = 0;
sys/bus/cam/scsi/scsi_sa.c
1229
if (softc->blk_gran != 0) {
sys/bus/cam/scsi/scsi_sa.c
1230
softc->blk_mask =
sys/bus/cam/scsi/scsi_sa.c
1231
softc->blk_gran - 1;
sys/bus/cam/scsi/scsi_sa.c
1233
softc->blk_mask = 0;
sys/bus/cam/scsi/scsi_sa.c
1238
softc->quirks |= SA_QUIRK_VARIABLE;
sys/bus/cam/scsi/scsi_sa.c
1239
softc->quirks &= ~SA_QUIRK_FIXED;
sys/bus/cam/scsi/scsi_sa.c
1244
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1255
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1261
if ((softc->quirks & SA_QUIRK_NOCOMP) ||
sys/bus/cam/scsi/scsi_sa.c
1262
(softc->flags & SA_FLAG_COMP_UNSUPP)) {
sys/bus/cam/scsi/scsi_sa.c
1279
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1283
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1287
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1291
PENDING_MOUNT_CHECK(softc, periph, dev);
sys/bus/cam/scsi/scsi_sa.c
1296
if (softc->quirks & SA_QUIRK_1FM)
sys/bus/cam/scsi/scsi_sa.c
1306
softc->quirks &= ~SA_QUIRK_2FM;
sys/bus/cam/scsi/scsi_sa.c
1307
softc->quirks |= SA_QUIRK_1FM;
sys/bus/cam/scsi/scsi_sa.c
1310
softc->quirks &= ~SA_QUIRK_1FM;
sys/bus/cam/scsi/scsi_sa.c
1311
softc->quirks |= SA_QUIRK_2FM;
sys/bus/cam/scsi/scsi_sa.c
1326
if (error == 0 && (softc->flags & SA_FLAG_TAPE_FROZEN)) {
sys/bus/cam/scsi/scsi_sa.c
1332
softc->fileno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
1333
softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
1334
softc->flags &= ~SA_FLAG_TAPE_FROZEN;
sys/bus/cam/scsi/scsi_sa.c
1377
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
1381
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
1388
softc->flags |= SA_FLAG_INVALID;
sys/bus/cam/scsi/scsi_sa.c
1395
while ((q_bio = bioq_takefirst(&softc->bio_queue)) != NULL) {
sys/bus/cam/scsi/scsi_sa.c
1402
softc->queue_count = 0;
sys/bus/cam/scsi/scsi_sa.c
1411
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
1413
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
1415
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1420
kfree(softc, M_SCSISA);
sys/bus/cam/scsi/scsi_sa.c
1468
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
1484
softc = kmalloc(sizeof (*softc), M_SCSISA, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_sa.c
1485
softc->scsi_rev = SID_ANSI_REV(&cgd->inq_data);
sys/bus/cam/scsi/scsi_sa.c
1486
softc->state = SA_STATE_NORMAL;
sys/bus/cam/scsi/scsi_sa.c
1487
softc->fileno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
1488
softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
1490
bioq_init(&softc->bio_queue);
sys/bus/cam/scsi/scsi_sa.c
1491
periph->softc = softc;
sys/bus/cam/scsi/scsi_sa.c
1503
softc->quirks = ((struct sa_quirk_entry *)match)->quirks;
sys/bus/cam/scsi/scsi_sa.c
1504
softc->last_media_blksize =
sys/bus/cam/scsi/scsi_sa.c
1511
softc->quirks = SA_QUIRK_NONE;
sys/bus/cam/scsi/scsi_sa.c
1519
devstat_add_entry(&softc->device_stats, "sa", periph->unit_number, 0,
sys/bus/cam/scsi/scsi_sa.c
1573
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
1575
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
1580
switch (softc->state) {
sys/bus/cam/scsi/scsi_sa.c
1590
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_sa.c
1601
} else if ((softc->flags & SA_FLAG_ERR_PENDING) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1604
softc->queue_count--;
sys/bus/cam/scsi/scsi_sa.c
1605
bioq_remove(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_sa.c
1609
if ((softc->flags & SA_FLAG_EOM_PENDING) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1615
} else if ((softc->flags & SA_FLAG_EOF_PENDING) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1623
if (bioq_first(&softc->bio_queue) != NULL) {
sys/bus/cam/scsi/scsi_sa.c
1627
} else if ((softc->flags & SA_FLAG_EIO_PENDING) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1631
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_sa.c
1637
softc->flags &= ~SA_FLAG_ERR_PENDING;
sys/bus/cam/scsi/scsi_sa.c
1641
(softc->flags & SA_FLAG_ERR_PENDING),
sys/bus/cam/scsi/scsi_sa.c
1642
(bio != NULL)? "not " : " ", softc->queue_count));
sys/bus/cam/scsi/scsi_sa.c
1648
bioq_remove(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_sa.c
1650
softc->queue_count--;
sys/bus/cam/scsi/scsi_sa.c
1652
if ((softc->flags & SA_FLAG_FIXED) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1653
if (softc->blk_shift != 0) {
sys/bus/cam/scsi/scsi_sa.c
1655
bp->b_bcount >> softc->blk_shift;
sys/bus/cam/scsi/scsi_sa.c
1656
} else if (softc->media_blksize != 0) {
sys/bus/cam/scsi/scsi_sa.c
1658
bp->b_bcount / softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
1681
devstat_start_transaction(&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1702
softc->dsreg = (bp->b_cmd == BUF_CMD_READ) ?
sys/bus/cam/scsi/scsi_sa.c
1706
FALSE, (softc->flags & SA_FLAG_FIXED) != 0,
sys/bus/cam/scsi/scsi_sa.c
1712
bio = bioq_first(&softc->bio_queue);
sys/bus/cam/scsi/scsi_sa.c
1724
panic("state 0x%x in sastart", softc->state);
sys/bus/cam/scsi/scsi_sa.c
1733
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
1736
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
1746
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
1774
softc->flags |= SA_FLAG_TAPE_FROZEN;
sys/bus/cam/scsi/scsi_sa.c
1775
while ((q_bio = bioq_takefirst(&softc->bio_queue)) != NULL) {
sys/bus/cam/scsi/scsi_sa.c
1797
softc->flags |= SA_FLAG_TAPE_WRITTEN;
sys/bus/cam/scsi/scsi_sa.c
1798
softc->filemarks = 0;
sys/bus/cam/scsi/scsi_sa.c
1801
(softc->blkno != (daddr_t) -1)) {
sys/bus/cam/scsi/scsi_sa.c
1802
if ((softc->flags & SA_FLAG_FIXED) != 0) {
sys/bus/cam/scsi/scsi_sa.c
1804
if (softc->blk_shift != 0) {
sys/bus/cam/scsi/scsi_sa.c
1806
softc->blk_shift;
sys/bus/cam/scsi/scsi_sa.c
1809
softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
1811
softc->blkno += (daddr_t) l;
sys/bus/cam/scsi/scsi_sa.c
1813
softc->blkno++;
sys/bus/cam/scsi/scsi_sa.c
1821
if (error || (softc->flags & SA_FLAG_ERR_PENDING))
sys/bus/cam/scsi/scsi_sa.c
1830
devstat_end_transaction_buf(&softc->device_stats, bp);
sys/bus/cam/scsi/scsi_sa.c
1857
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
1861
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
1872
if (softc->flags & SA_FLAG_TAPE_MOUNTED) {
sys/bus/cam/scsi/scsi_sa.c
1880
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1883
softc->flags &= ~SA_FLAG_TAPE_MOUNTED;
sys/bus/cam/scsi/scsi_sa.c
1887
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1894
softc->flags &= ~SA_FLAG_TAPE_MOUNTED;
sys/bus/cam/scsi/scsi_sa.c
1911
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1915
if ((softc->flags & SA_FLAG_TAPE_MOUNTED) == 0) {
sys/bus/cam/scsi/scsi_sa.c
1925
softc->flags &= ~(SA_FLAG_TAPE_WP|SA_FLAG_TAPE_WRITTEN|
sys/bus/cam/scsi/scsi_sa.c
1928
softc->filemarks = 0;
sys/bus/cam/scsi/scsi_sa.c
1936
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1946
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1963
if ((softc->quirks & SA_QUIRK_NODREAD) == 0) {
sys/bus/cam/scsi/scsi_sa.c
1969
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1975
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
1992
SF_NO_PRINT | SF_RETRY_UA, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
2003
softc->blk_gran = 0;
sys/bus/cam/scsi/scsi_sa.c
2004
softc->max_blk = ~0;
sys/bus/cam/scsi/scsi_sa.c
2005
softc->min_blk = 0;
sys/bus/cam/scsi/scsi_sa.c
2007
if (softc->scsi_rev >= SCSI_REV_SPC) {
sys/bus/cam/scsi/scsi_sa.c
2008
softc->blk_gran = RBL_GRAN(rblim);
sys/bus/cam/scsi/scsi_sa.c
2010
softc->blk_gran = 0;
sys/bus/cam/scsi/scsi_sa.c
2018
softc->max_blk = scsi_3btoul(rblim->maximum);
sys/bus/cam/scsi/scsi_sa.c
2019
softc->min_blk = scsi_2btoul(rblim->minimum);
sys/bus/cam/scsi/scsi_sa.c
2028
&softc->media_blksize,
sys/bus/cam/scsi/scsi_sa.c
2029
&softc->media_density,
sys/bus/cam/scsi/scsi_sa.c
2030
&softc->media_numblks,
sys/bus/cam/scsi/scsi_sa.c
2031
&softc->buffer_mode, &write_protect,
sys/bus/cam/scsi/scsi_sa.c
2032
&softc->speed, &comp_supported,
sys/bus/cam/scsi/scsi_sa.c
2033
&comp_enabled, &softc->comp_algorithm,
sys/bus/cam/scsi/scsi_sa.c
2051
if ((softc->quirks & (SA_QUIRK_FIXED|SA_QUIRK_VARIABLE)) == 0) {
sys/bus/cam/scsi/scsi_sa.c
2060
if (softc->media_density == SCSI_DEFAULT_DENSITY) {
sys/bus/cam/scsi/scsi_sa.c
2085
softc->media_density = ctry[i];
sys/bus/cam/scsi/scsi_sa.c
2090
switch (softc->media_density) {
sys/bus/cam/scsi/scsi_sa.c
2099
softc->quirks &= ~SA_QUIRK_2FM;
sys/bus/cam/scsi/scsi_sa.c
2100
softc->quirks |= SA_QUIRK_FIXED|SA_QUIRK_1FM;
sys/bus/cam/scsi/scsi_sa.c
2101
softc->last_media_blksize = 512;
sys/bus/cam/scsi/scsi_sa.c
2105
softc->quirks &= ~SA_QUIRK_2FM;
sys/bus/cam/scsi/scsi_sa.c
2106
softc->quirks |= SA_QUIRK_FIXED|SA_QUIRK_1FM;
sys/bus/cam/scsi/scsi_sa.c
2107
softc->last_media_blksize = 1024;
sys/bus/cam/scsi/scsi_sa.c
2110
softc->last_media_blksize =
sys/bus/cam/scsi/scsi_sa.c
2111
softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
2112
softc->quirks |= SA_QUIRK_VARIABLE;
sys/bus/cam/scsi/scsi_sa.c
2122
if ((softc->quirks & SA_QUIRK_2FM) == 0) {
sys/bus/cam/scsi/scsi_sa.c
2123
switch (softc->media_density) {
sys/bus/cam/scsi/scsi_sa.c
2129
softc->quirks &= ~SA_QUIRK_1FM;
sys/bus/cam/scsi/scsi_sa.c
2130
softc->quirks |= SA_QUIRK_2FM;
sys/bus/cam/scsi/scsi_sa.c
2140
if ((softc->max_blk < softc->media_blksize) ||
sys/bus/cam/scsi/scsi_sa.c
2141
(softc->min_blk > softc->media_blksize &&
sys/bus/cam/scsi/scsi_sa.c
2142
softc->media_blksize)) {
sys/bus/cam/scsi/scsi_sa.c
2145
"block settings (%d)- adjusting\n", softc->min_blk,
sys/bus/cam/scsi/scsi_sa.c
2146
softc->max_blk, softc->media_blksize);
sys/bus/cam/scsi/scsi_sa.c
2147
softc->max_blk = softc->min_blk =
sys/bus/cam/scsi/scsi_sa.c
2148
softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
2165
if ((softc->quirks & SA_QUIRK_FIXED) &&
sys/bus/cam/scsi/scsi_sa.c
2166
(softc->quirks & SA_QUIRK_NO_MODESEL) == 0 &&
sys/bus/cam/scsi/scsi_sa.c
2167
(softc->media_blksize != softc->last_media_blksize)) {
sys/bus/cam/scsi/scsi_sa.c
2168
softc->media_blksize = softc->last_media_blksize;
sys/bus/cam/scsi/scsi_sa.c
2169
if (softc->media_blksize == 0) {
sys/bus/cam/scsi/scsi_sa.c
2170
softc->media_blksize = 512;
sys/bus/cam/scsi/scsi_sa.c
2171
if (softc->media_blksize < softc->min_blk) {
sys/bus/cam/scsi/scsi_sa.c
2172
softc->media_blksize = softc->min_blk;
sys/bus/cam/scsi/scsi_sa.c
2176
softc->media_blksize, 0, 0, SF_NO_PRINT);
sys/bus/cam/scsi/scsi_sa.c
2180
softc->media_blksize);
sys/bus/cam/scsi/scsi_sa.c
2185
if ((softc->quirks & SA_QUIRK_VARIABLE) &&
sys/bus/cam/scsi/scsi_sa.c
2186
(softc->media_blksize != 0)) {
sys/bus/cam/scsi/scsi_sa.c
2187
softc->last_media_blksize = softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
2188
softc->media_blksize = 0;
sys/bus/cam/scsi/scsi_sa.c
2199
softc->quirks &= ~SA_QUIRK_VARIABLE;
sys/bus/cam/scsi/scsi_sa.c
2200
softc->quirks |= SA_QUIRK_FIXED;
sys/bus/cam/scsi/scsi_sa.c
2201
if (softc->last_media_blksize == 0)
sys/bus/cam/scsi/scsi_sa.c
2202
softc->last_media_blksize = 512;
sys/bus/cam/scsi/scsi_sa.c
2215
if (softc->media_blksize) {
sys/bus/cam/scsi/scsi_sa.c
2216
softc->flags |= SA_FLAG_FIXED;
sys/bus/cam/scsi/scsi_sa.c
2217
if (powerof2(softc->media_blksize)) {
sys/bus/cam/scsi/scsi_sa.c
2218
softc->blk_shift =
sys/bus/cam/scsi/scsi_sa.c
2219
ffs(softc->media_blksize) - 1;
sys/bus/cam/scsi/scsi_sa.c
2220
softc->blk_mask = softc->media_blksize - 1;
sys/bus/cam/scsi/scsi_sa.c
2222
softc->blk_mask = ~0;
sys/bus/cam/scsi/scsi_sa.c
2223
softc->blk_shift = 0;
sys/bus/cam/scsi/scsi_sa.c
2232
if (softc->max_blk == 0) {
sys/bus/cam/scsi/scsi_sa.c
2233
softc->max_blk = ~0;
sys/bus/cam/scsi/scsi_sa.c
2235
softc->blk_shift = 0;
sys/bus/cam/scsi/scsi_sa.c
2236
if (softc->blk_gran != 0) {
sys/bus/cam/scsi/scsi_sa.c
2237
softc->blk_mask = softc->blk_gran - 1;
sys/bus/cam/scsi/scsi_sa.c
2239
softc->blk_mask = 0;
sys/bus/cam/scsi/scsi_sa.c
2244
softc->flags |= SA_FLAG_TAPE_WP;
sys/bus/cam/scsi/scsi_sa.c
2247
if (softc->saved_comp_algorithm == 0)
sys/bus/cam/scsi/scsi_sa.c
2248
softc->saved_comp_algorithm =
sys/bus/cam/scsi/scsi_sa.c
2249
softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
2250
softc->flags |= SA_FLAG_COMP_SUPP;
sys/bus/cam/scsi/scsi_sa.c
2252
softc->flags |= SA_FLAG_COMP_ENABLED;
sys/bus/cam/scsi/scsi_sa.c
2254
softc->flags |= SA_FLAG_COMP_UNSUPP;
sys/bus/cam/scsi/scsi_sa.c
2256
if ((softc->buffer_mode == SMH_SA_BUF_MODE_NOBUF) &&
sys/bus/cam/scsi/scsi_sa.c
2257
(softc->quirks & SA_QUIRK_NO_MODESEL) == 0) {
sys/bus/cam/scsi/scsi_sa.c
2261
softc->buffer_mode = SMH_SA_BUF_MODE_SIBUF;
sys/bus/cam/scsi/scsi_sa.c
2271
softc->flags |= SA_FLAG_TAPE_MOUNTED;
sys/bus/cam/scsi/scsi_sa.c
2278
softc->dsreg = MTIO_DSREG_NIL;
sys/bus/cam/scsi/scsi_sa.c
2280
softc->fileno = softc->blkno = 0;
sys/bus/cam/scsi/scsi_sa.c
2281
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
2284
if ((softc->quirks & SA_QUIRK_2FM) == 0)
sys/bus/cam/scsi/scsi_sa.c
2285
softc->quirks |= SA_QUIRK_1FM;
sys/bus/cam/scsi/scsi_sa.c
2287
if ((softc->quirks & SA_QUIRK_1FM) == 0)
sys/bus/cam/scsi/scsi_sa.c
2288
softc->quirks |= SA_QUIRK_2FM;
sys/bus/cam/scsi/scsi_sa.c
2303
softc->last_io_resid = 0;
sys/bus/cam/scsi/scsi_sa.c
2304
softc->last_ctl_resid = 0;
sys/bus/cam/scsi/scsi_sa.c
2318
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
2320
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
2322
if ((softc->flags & SA_FLAG_TAPE_WRITTEN) != 0) {
sys/bus/cam/scsi/scsi_sa.c
2324
if (softc->quirks & SA_QUIRK_2FM)
sys/bus/cam/scsi/scsi_sa.c
2327
markswanted -= softc->filemarks;
sys/bus/cam/scsi/scsi_sa.c
2353
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
2362
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
2380
if ((softc->flags & SA_FLAG_FIXED) != 0)
sys/bus/cam/scsi/scsi_sa.c
2381
resid *= softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
2385
if ((softc->flags & SA_FLAG_FIXED) != 0) {
sys/bus/cam/scsi/scsi_sa.c
2386
if (softc->media_blksize)
sys/bus/cam/scsi/scsi_sa.c
2387
info /= softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
2391
bcopy((caddr_t) sense, (caddr_t) &softc->last_io_sense,
sys/bus/cam/scsi/scsi_sa.c
2393
bcopy(csio->cdb_io.cdb_bytes, softc->last_io_cdb,
sys/bus/cam/scsi/scsi_sa.c
2395
softc->last_io_resid = resid;
sys/bus/cam/scsi/scsi_sa.c
2396
softc->last_resid_was_io = 1;
sys/bus/cam/scsi/scsi_sa.c
2398
bcopy((caddr_t) sense, (caddr_t) &softc->last_ctl_sense,
sys/bus/cam/scsi/scsi_sa.c
2400
bcopy(csio->cdb_io.cdb_bytes, softc->last_ctl_cdb,
sys/bus/cam/scsi/scsi_sa.c
2402
softc->last_ctl_resid = resid;
sys/bus/cam/scsi/scsi_sa.c
2403
softc->last_resid_was_io = 0;
sys/bus/cam/scsi/scsi_sa.c
2439
return (cam_periph_error(ccb, cflgs, sflgs, &softc->saved_ccb));
sys/bus/cam/scsi/scsi_sa.c
2452
return (cam_periph_error(ccb, cflgs, sflgs, &softc->saved_ccb));
sys/bus/cam/scsi/scsi_sa.c
2466
softc->flags |= SA_FLAG_EOM_PENDING;
sys/bus/cam/scsi/scsi_sa.c
2478
if (softc->quirks & SA_QUIRK_1FM) {
sys/bus/cam/scsi/scsi_sa.c
2480
softc->flags |= SA_FLAG_EOM_PENDING;
sys/bus/cam/scsi/scsi_sa.c
2485
if (softc->flags & SA_FLAG_FIXED) {
sys/bus/cam/scsi/scsi_sa.c
2487
softc->flags |= SA_FLAG_EOF_PENDING;
sys/bus/cam/scsi/scsi_sa.c
2493
if (softc->fileno != (daddr_t) -1) {
sys/bus/cam/scsi/scsi_sa.c
2494
softc->fileno++;
sys/bus/cam/scsi/scsi_sa.c
2495
softc->blkno = 0;
sys/bus/cam/scsi/scsi_sa.c
2512
if (softc->flags & SA_FLAG_FIXED) {
sys/bus/cam/scsi/scsi_sa.c
2513
softc->flags |= SA_FLAG_EIO_PENDING;
sys/bus/cam/scsi/scsi_sa.c
2520
if (softc->blkno != (daddr_t) -1) {
sys/bus/cam/scsi/scsi_sa.c
2521
softc->blkno++;
sys/bus/cam/scsi/scsi_sa.c
2553
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
2558
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
2561
if (softc->quirks & SA_QUIRK_NO_CPAGE)
sys/bus/cam/scsi/scsi_sa.c
2570
if (softc->quirks & SA_QUIRK_NOCOMP) {
sys/bus/cam/scsi/scsi_sa.c
2588
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
2605
softc->quirks |= SA_QUIRK_NOCOMP;
sys/bus/cam/scsi/scsi_sa.c
2652
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
2740
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
2755
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
2819
} else if (softc->scsi_rev > SCSI_REV_CCS) {
sys/bus/cam/scsi/scsi_sa.c
2822
mode_blk->density = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
2836
if (softc->buffer_mode == SMH_SA_BUF_MODE_SIBUF) {
sys/bus/cam/scsi/scsi_sa.c
2874
softc->saved_comp_algorithm != 0) {
sys/bus/cam/scsi/scsi_sa.c
2875
dcp->sel_comp_alg = softc->saved_comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
2906
softc->saved_comp_algorithm != 0) {
sys/bus/cam/scsi/scsi_sa.c
2907
scsi_ulto4b(softc->saved_comp_algorithm,
sys/bus/cam/scsi/scsi_sa.c
2909
scsi_ulto4b(softc->saved_comp_algorithm,
sys/bus/cam/scsi/scsi_sa.c
2959
sense_flags, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3002
} else if (softc->scsi_rev > SCSI_REV_CCS) {
sys/bus/cam/scsi/scsi_sa.c
3005
mode_blk->density = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
3017
&softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3028
softc->flags &= ~SA_FLAG_COMP_ENABLED;
sys/bus/cam/scsi/scsi_sa.c
3035
softc->saved_comp_algorithm = softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
3036
softc->comp_algorithm = 0;
sys/bus/cam/scsi/scsi_sa.c
3038
softc->flags |= SA_FLAG_COMP_ENABLED;
sys/bus/cam/scsi/scsi_sa.c
3039
softc->comp_algorithm = calg;
sys/bus/cam/scsi/scsi_sa.c
3050
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3054
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3056
if ((action == PR_ALLOW) && (softc->flags & SA_FLAG_TAPE_LOCKED) == 0)
sys/bus/cam/scsi/scsi_sa.c
3058
if ((action == PR_PREVENT) && (softc->flags & SA_FLAG_TAPE_LOCKED) != 0)
sys/bus/cam/scsi/scsi_sa.c
3076
error = cam_periph_runccb(ccb, saerror, 0, sf, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3080
softc->flags &= ~SA_FLAG_TAPE_LOCKED;
sys/bus/cam/scsi/scsi_sa.c
3082
softc->flags |= SA_FLAG_TAPE_LOCKED;
sys/bus/cam/scsi/scsi_sa.c
3092
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3095
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3104
softc->dsreg = MTIO_DSREG_REW;
sys/bus/cam/scsi/scsi_sa.c
3105
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3106
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3113
softc->fileno = softc->blkno = (daddr_t) 0;
sys/bus/cam/scsi/scsi_sa.c
3115
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3123
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3126
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3139
softc->last_ctl_resid = 0;
sys/bus/cam/scsi/scsi_sa.c
3141
softc->dsreg = (count < 0)? MTIO_DSREG_REV : MTIO_DSREG_FWD;
sys/bus/cam/scsi/scsi_sa.c
3142
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3143
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3170
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3172
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3173
} else if (code == SS_FILEMARKS && softc->fileno != (daddr_t) -1) {
sys/bus/cam/scsi/scsi_sa.c
3174
softc->fileno += (count - softc->last_ctl_resid);
sys/bus/cam/scsi/scsi_sa.c
3175
if (softc->fileno < 0) /* we must of hit BOT */
sys/bus/cam/scsi/scsi_sa.c
3176
softc->fileno = 0;
sys/bus/cam/scsi/scsi_sa.c
3177
softc->blkno = 0;
sys/bus/cam/scsi/scsi_sa.c
3178
} else if (code == SS_BLOCKS && softc->blkno != (daddr_t) -1) {
sys/bus/cam/scsi/scsi_sa.c
3179
softc->blkno += (count - softc->last_ctl_resid);
sys/bus/cam/scsi/scsi_sa.c
3181
if (softc->last_ctl_resid || softc->blkno < 0) {
sys/bus/cam/scsi/scsi_sa.c
3182
if (softc->fileno == 0) {
sys/bus/cam/scsi/scsi_sa.c
3183
softc->blkno = 0;
sys/bus/cam/scsi/scsi_sa.c
3185
softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3197
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3200
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3201
if (softc->open_rdonly)
sys/bus/cam/scsi/scsi_sa.c
3210
softc->last_ctl_resid = 0;
sys/bus/cam/scsi/scsi_sa.c
3212
softc->dsreg = MTIO_DSREG_FMK;
sys/bus/cam/scsi/scsi_sa.c
3216
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3219
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3225
struct sa_softc *softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3226
nwm = nmarks - softc->last_ctl_resid;
sys/bus/cam/scsi/scsi_sa.c
3227
softc->filemarks += nwm;
sys/bus/cam/scsi/scsi_sa.c
3236
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3237
} else if (softc->fileno != (daddr_t) -1) {
sys/bus/cam/scsi/scsi_sa.c
3238
softc->fileno += nwm;
sys/bus/cam/scsi/scsi_sa.c
3239
softc->blkno = 0;
sys/bus/cam/scsi/scsi_sa.c
3249
struct sa_softc *softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3262
if (hard && (softc->flags & SA_FLAG_TAPE_WRITTEN)) {
sys/bus/cam/scsi/scsi_sa.c
3272
softc->dsreg = MTIO_DSREG_RBSY;
sys/bus/cam/scsi/scsi_sa.c
3273
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3274
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3294
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3305
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3313
softc->dsreg = MTIO_DSREG_POS;
sys/bus/cam/scsi/scsi_sa.c
3314
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3315
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3322
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3330
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3333
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3342
softc->dsreg = MTIO_DSREG_TEN;
sys/bus/cam/scsi/scsi_sa.c
3343
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3344
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3350
softc->fileno = softc->blkno = (daddr_t) 0;
sys/bus/cam/scsi/scsi_sa.c
3352
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3360
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3363
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3370
softc->dsreg = MTIO_DSREG_RBSY;
sys/bus/cam/scsi/scsi_sa.c
3372
SF_RETRY_UA | SF_NO_PRINT, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3373
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3392
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3395
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3404
softc->dsreg = (load)? MTIO_DSREG_LD : MTIO_DSREG_UNL;
sys/bus/cam/scsi/scsi_sa.c
3405
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3406
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
3411
softc->fileno = softc->blkno = (daddr_t) -1;
sys/bus/cam/scsi/scsi_sa.c
3413
softc->fileno = softc->blkno = (daddr_t) 0;
sys/bus/cam/scsi/scsi_sa.c
3422
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
3425
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
3426
if (softc->open_rdonly)
sys/bus/cam/scsi/scsi_sa.c
3435
softc->dsreg = MTIO_DSREG_ZER;
sys/bus/cam/scsi/scsi_sa.c
3436
error = cam_periph_runccb(ccb, saerror, 0, 0, &softc->device_stats);
sys/bus/cam/scsi/scsi_sa.c
3437
softc->dsreg = MTIO_DSREG_REST;
sys/bus/cam/scsi/scsi_sa.c
444
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
463
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
466
("saopen(%d): dev=0x%x softc=0x%x\n", unit, unit, softc->flags));
sys/bus/cam/scsi/scsi_sa.c
469
softc->ctrl_mode = 1;
sys/bus/cam/scsi/scsi_sa.c
480
if (softc->flags & SA_FLAG_OPEN) {
sys/bus/cam/scsi/scsi_sa.c
482
} else if (softc->flags & SA_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_sa.c
488
softc->open_rdonly = (ap->a_oflags & O_RDWR) == O_RDONLY;
sys/bus/cam/scsi/scsi_sa.c
499
softc->flags |= SA_FLAG_OPEN;
sys/bus/cam/scsi/scsi_sa.c
500
softc->open_pending_mount = 1;
sys/bus/cam/scsi/scsi_sa.c
513
softc->flags |= SA_FLAG_OPEN;
sys/bus/cam/scsi/scsi_sa.c
524
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
536
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
539
("saclose(%d): dev=0x%x softc=0x%x\n", unit, unit, softc->flags));
sys/bus/cam/scsi/scsi_sa.c
542
softc->open_rdonly = 0;
sys/bus/cam/scsi/scsi_sa.c
544
softc->ctrl_mode = 0;
sys/bus/cam/scsi/scsi_sa.c
550
if (softc->open_pending_mount) {
sys/bus/cam/scsi/scsi_sa.c
551
softc->flags &= ~SA_FLAG_OPEN;
sys/bus/cam/scsi/scsi_sa.c
552
softc->open_pending_mount = 0;
sys/bus/cam/scsi/scsi_sa.c
566
writing = (softc->flags & SA_FLAG_TAPE_WRITTEN) != 0;
sys/bus/cam/scsi/scsi_sa.c
577
softc->flags |= SA_FLAG_TAPE_FROZEN;
sys/bus/cam/scsi/scsi_sa.c
588
if ((softc->flags & SA_FLAG_TAPE_MOUNTED) == 0) {
sys/bus/cam/scsi/scsi_sa.c
628
if (error == 0 && writing && (softc->quirks & SA_QUIRK_2FM)) {
sys/bus/cam/scsi/scsi_sa.c
637
softc->flags |= SA_FLAG_TAPE_FROZEN;
sys/bus/cam/scsi/scsi_sa.c
650
softc->filemarks = 0;
sys/bus/cam/scsi/scsi_sa.c
651
softc->flags &= ~SA_FLAG_TAPE_WRITTEN;
sys/bus/cam/scsi/scsi_sa.c
656
softc->flags &= ~closedbits;
sys/bus/cam/scsi/scsi_sa.c
661
if (softc->flags & SA_FLAG_TAPE_FROZEN) {
sys/bus/cam/scsi/scsi_sa.c
667
if ((softc->flags & SA_FLAG_TAPE_MOUNTED) == 0)
sys/bus/cam/scsi/scsi_sa.c
688
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
703
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
705
if (softc->flags & SA_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_sa.c
711
if (softc->flags & SA_FLAG_TAPE_FROZEN) {
sys/bus/cam/scsi/scsi_sa.c
722
if (bp->b_cmd == BUF_CMD_WRITE && softc->open_rdonly) {
sys/bus/cam/scsi/scsi_sa.c
728
if (softc->open_pending_mount) {
sys/bus/cam/scsi/scsi_sa.c
736
softc->open_pending_mount = 0;
sys/bus/cam/scsi/scsi_sa.c
748
if (softc->flags & SA_FLAG_FIXED) {
sys/bus/cam/scsi/scsi_sa.c
753
if (((softc->blk_mask != ~0) &&
sys/bus/cam/scsi/scsi_sa.c
754
((bp->b_bcount & softc->blk_mask) != 0)) ||
sys/bus/cam/scsi/scsi_sa.c
755
((softc->blk_mask == ~0) &&
sys/bus/cam/scsi/scsi_sa.c
756
((bp->b_bcount % softc->min_blk) != 0))) {
sys/bus/cam/scsi/scsi_sa.c
759
softc->min_blk);
sys/bus/cam/scsi/scsi_sa.c
764
} else if ((bp->b_bcount > softc->max_blk) ||
sys/bus/cam/scsi/scsi_sa.c
765
(bp->b_bcount < softc->min_blk) ||
sys/bus/cam/scsi/scsi_sa.c
766
(bp->b_bcount & softc->blk_mask) != 0) {
sys/bus/cam/scsi/scsi_sa.c
771
if (softc->blk_mask != 0) {
sys/bus/cam/scsi/scsi_sa.c
772
kprintf("a multiple of %d ", (0x1 << softc->blk_gran));
sys/bus/cam/scsi/scsi_sa.c
774
kprintf("between %d and %d bytes\n", softc->min_blk,
sys/bus/cam/scsi/scsi_sa.c
775
softc->max_blk);
sys/bus/cam/scsi/scsi_sa.c
784
bioq_insert_tail(&softc->bio_queue, bio);
sys/bus/cam/scsi/scsi_sa.c
785
softc->queue_count++;
sys/bus/cam/scsi/scsi_sa.c
789
(softc->flags & SA_FLAG_FIXED)? "fixed" : "variable",
sys/bus/cam/scsi/scsi_sa.c
792
if (softc->queue_count > 1) {
sys/bus/cam/scsi/scsi_sa.c
794
("sastrategy: queue count now %d\n", softc->queue_count));
sys/bus/cam/scsi/scsi_sa.c
817
#define PENDING_MOUNT_CHECK(softc, periph, dev) \
sys/bus/cam/scsi/scsi_sa.c
818
if (softc->open_pending_mount) { \
sys/bus/cam/scsi/scsi_sa.c
824
softc->open_pending_mount = 0; \
sys/bus/cam/scsi/scsi_sa.c
833
struct sa_softc *softc;
sys/bus/cam/scsi/scsi_sa.c
850
softc = (struct sa_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sa.c
936
if (!SA_IS_CTRL(dev) && !softc->open_pending_mount) {
sys/bus/cam/scsi/scsi_sa.c
942
&softc->media_blksize, &softc->media_density,
sys/bus/cam/scsi/scsi_sa.c
943
&softc->media_numblks, &softc->buffer_mode,
sys/bus/cam/scsi/scsi_sa.c
944
&write_protect, &softc->speed, &comp_supported,
sys/bus/cam/scsi/scsi_sa.c
945
&comp_enabled, &softc->comp_algorithm, NULL);
sys/bus/cam/scsi/scsi_sa.c
949
softc->flags |= SA_FLAG_TAPE_WP;
sys/bus/cam/scsi/scsi_sa.c
951
softc->flags &= ~SA_FLAG_TAPE_WP;
sys/bus/cam/scsi/scsi_sa.c
952
softc->flags &= ~(SA_FLAG_COMP_SUPP|
sys/bus/cam/scsi/scsi_sa.c
955
if (softc->saved_comp_algorithm == 0)
sys/bus/cam/scsi/scsi_sa.c
956
softc->saved_comp_algorithm =
sys/bus/cam/scsi/scsi_sa.c
957
softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
958
softc->flags |= SA_FLAG_COMP_SUPP;
sys/bus/cam/scsi/scsi_sa.c
960
softc->flags |= SA_FLAG_COMP_ENABLED;
sys/bus/cam/scsi/scsi_sa.c
962
softc->flags |= SA_FLAG_COMP_UNSUPP;
sys/bus/cam/scsi/scsi_sa.c
966
if (softc->flags & SA_FLAG_COMP_UNSUPP) {
sys/bus/cam/scsi/scsi_sa.c
973
if ((softc->flags & SA_FLAG_COMP_ENABLED) == 0) {
sys/bus/cam/scsi/scsi_sa.c
976
g->mt_comp = softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
978
g->mt_comp0 = softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
979
g->mt_comp1 = softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
980
g->mt_comp2 = softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
981
g->mt_comp3 = softc->comp_algorithm;
sys/bus/cam/scsi/scsi_sa.c
983
g->mt_density = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
984
g->mt_density0 = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
985
g->mt_density1 = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
986
g->mt_density2 = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
987
g->mt_density3 = softc->media_density;
sys/bus/cam/scsi/scsi_sa.c
988
g->mt_blksiz = softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
989
g->mt_blksiz0 = softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
990
g->mt_blksiz1 = softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
991
g->mt_blksiz2 = softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
992
g->mt_blksiz3 = softc->media_blksize;
sys/bus/cam/scsi/scsi_sa.c
993
g->mt_fileno = softc->fileno;
sys/bus/cam/scsi/scsi_sa.c
994
g->mt_blkno = softc->blkno;
sys/bus/cam/scsi/scsi_sa.c
995
g->mt_dsreg = (short) softc->dsreg;
sys/bus/cam/scsi/scsi_sa.c
999
if (softc->last_resid_was_io) {
sys/bus/cam/scsi/scsi_ses.c
217
struct ses_softc *softc;
sys/bus/cam/scsi/scsi_ses.c
219
softc = (struct ses_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ses.c
226
softc->ses_flags |= SES_FLAG_INVALID;
sys/bus/cam/scsi/scsi_ses.c
234
struct ses_softc *softc;
sys/bus/cam/scsi/scsi_ses.c
236
softc = (struct ses_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ses.c
241
kfree(softc, M_SCSISES);
sys/bus/cam/scsi/scsi_ses.c
299
struct ses_softc *softc;
sys/bus/cam/scsi/scsi_ses.c
314
softc = kmalloc(sizeof (struct ses_softc), M_SCSISES, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_ses.c
315
periph->softc = softc;
sys/bus/cam/scsi/scsi_ses.c
316
softc->periph = periph;
sys/bus/cam/scsi/scsi_ses.c
318
softc->ses_type = ses_type(&cgd->inq_data, sizeof (cgd->inq_data));
sys/bus/cam/scsi/scsi_ses.c
320
switch (softc->ses_type) {
sys/bus/cam/scsi/scsi_ses.c
324
softc->ses_vec.softc_init = ses_softc_init;
sys/bus/cam/scsi/scsi_ses.c
325
softc->ses_vec.init_enc = ses_init_enc;
sys/bus/cam/scsi/scsi_ses.c
326
softc->ses_vec.get_encstat = ses_get_encstat;
sys/bus/cam/scsi/scsi_ses.c
327
softc->ses_vec.set_encstat = ses_set_encstat;
sys/bus/cam/scsi/scsi_ses.c
328
softc->ses_vec.get_objstat = ses_get_objstat;
sys/bus/cam/scsi/scsi_ses.c
329
softc->ses_vec.set_objstat = ses_set_objstat;
sys/bus/cam/scsi/scsi_ses.c
332
softc->ses_vec.softc_init = safte_softc_init;
sys/bus/cam/scsi/scsi_ses.c
333
softc->ses_vec.init_enc = safte_init_enc;
sys/bus/cam/scsi/scsi_ses.c
334
softc->ses_vec.get_encstat = safte_get_encstat;
sys/bus/cam/scsi/scsi_ses.c
335
softc->ses_vec.set_encstat = safte_set_encstat;
sys/bus/cam/scsi/scsi_ses.c
336
softc->ses_vec.get_objstat = safte_get_objstat;
sys/bus/cam/scsi/scsi_ses.c
337
softc->ses_vec.set_objstat = safte_set_objstat;
sys/bus/cam/scsi/scsi_ses.c
343
kfree(softc, M_SCSISES);
sys/bus/cam/scsi/scsi_ses.c
361
switch (softc->ses_type) {
sys/bus/cam/scsi/scsi_ses.c
391
struct ses_softc *softc;
sys/bus/cam/scsi/scsi_ses.c
412
softc = (struct ses_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ses.c
414
if (softc->ses_flags & SES_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_ses.c
418
if (softc->ses_flags & SES_FLAG_OPEN) {
sys/bus/cam/scsi/scsi_ses.c
422
if (softc->ses_vec.softc_init == NULL) {
sys/bus/cam/scsi/scsi_ses.c
427
softc->ses_flags |= SES_FLAG_OPEN;
sys/bus/cam/scsi/scsi_ses.c
428
if ((softc->ses_flags & SES_FLAG_INITIALIZED) == 0) {
sys/bus/cam/scsi/scsi_ses.c
429
error = (*softc->ses_vec.softc_init)(softc, 1);
sys/bus/cam/scsi/scsi_ses.c
431
softc->ses_flags &= ~SES_FLAG_OPEN;
sys/bus/cam/scsi/scsi_ses.c
433
softc->ses_flags |= SES_FLAG_INITIALIZED;
sys/bus/cam/scsi/scsi_ses.c
449
struct ses_softc *softc;
sys/bus/cam/scsi/scsi_ses.c
459
softc = (struct ses_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ses.c
460
softc->ses_flags &= ~SES_FLAG_OPEN;
sys/bus/cam/scsi/scsi_ses.c
487
struct ses_softc *softc;
sys/bus/cam/scsi/scsi_ses.c
491
softc = (struct ses_softc *)periph->softc;
sys/bus/cam/scsi/scsi_ses.c
493
return (cam_periph_error(ccb, cflags, sflags, &softc->ses_saved_ccb));
sys/bus/cam/scsi/scsi_ses.c
521
ssc = (struct ses_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
171
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
173
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
180
softc->flags |= SG_FLAG_INVALID;
sys/bus/cam/scsi/scsi_sg.c
196
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
198
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
201
devstat_remove_entry(&softc->device_stats);
sys/bus/cam/scsi/scsi_sg.c
203
destroy_dev(softc->dev);
sys/bus/cam/scsi/scsi_sg.c
205
kfree(softc, M_DEVBUF);
sys/bus/cam/scsi/scsi_sg.c
257
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
272
softc = kmalloc(sizeof(*softc), M_DEVBUF, M_WAITOK | M_ZERO);
sys/bus/cam/scsi/scsi_sg.c
273
softc->state = SG_STATE_NORMAL;
sys/bus/cam/scsi/scsi_sg.c
274
softc->pd_type = SID_TYPE(&cgd->inq_data);
sys/bus/cam/scsi/scsi_sg.c
275
softc->sg_timeout = SG_DEFAULT_TIMEOUT / SG_DEFAULT_HZ * hz;
sys/bus/cam/scsi/scsi_sg.c
276
softc->sg_user_timeout = SG_DEFAULT_TIMEOUT;
sys/bus/cam/scsi/scsi_sg.c
277
TAILQ_INIT(&softc->rdwr_done);
sys/bus/cam/scsi/scsi_sg.c
278
periph->softc = softc;
sys/bus/cam/scsi/scsi_sg.c
286
devstat_add_entry(&softc->device_stats, "sg",
sys/bus/cam/scsi/scsi_sg.c
290
softc->pd_type |
sys/bus/cam/scsi/scsi_sg.c
295
softc->dev = make_dev(&sg_ops, periph->unit_number,
sys/bus/cam/scsi/scsi_sg.c
298
make_dev_alias(softc->dev, "sg%c", 'a' + periph->unit_number);
sys/bus/cam/scsi/scsi_sg.c
300
softc->dev->si_drv1 = periph;
sys/bus/cam/scsi/scsi_sg.c
319
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
321
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
323
switch (softc->state) {
sys/bus/cam/scsi/scsi_sg.c
337
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
340
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
353
&softc->device_stats,
sys/bus/cam/scsi/scsi_sg.c
379
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
402
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
403
if (softc->flags & SG_FLAG_INVALID) {
sys/bus/cam/scsi/scsi_sg.c
408
if ((softc->flags & SG_FLAG_OPEN) == 0) {
sys/bus/cam/scsi/scsi_sg.c
409
softc->flags |= SG_FLAG_OPEN;
sys/bus/cam/scsi/scsi_sg.c
425
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
433
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
434
softc->flags &= ~SG_FLAG_OPEN;
sys/bus/cam/scsi/scsi_sg.c
449
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
459
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
490
softc->sg_user_timeout = user_timeout;
sys/bus/cam/scsi/scsi_sg.c
491
softc->sg_timeout = user_timeout / SG_DEFAULT_HZ * hz;
sys/bus/cam/scsi/scsi_sg.c
499
ap->a_sysmsg->sysmsg_result = softc->sg_user_timeout;
sys/bus/cam/scsi/scsi_sg.c
595
id.scsi_type = softc->pd_type;
sys/bus/cam/scsi/scsi_sg.c
716
sc = periph->softc;
sys/bus/cam/scsi/scsi_sg.c
782
sc = periph->softc;
sys/bus/cam/scsi/scsi_sg.c
863
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
867
softc = periph->softc;
sys/bus/cam/scsi/scsi_sg.c
886
SF_RETRY_UA, &softc->device_stats);
sys/bus/cam/scsi/scsi_sg.c
897
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
899
softc = periph->softc;
sys/bus/cam/scsi/scsi_sg.c
900
devstat_start_transaction(&softc->device_stats);
sys/bus/cam/scsi/scsi_sg.c
909
struct sg_softc *softc;
sys/bus/cam/scsi/scsi_sg.c
912
softc = (struct sg_softc *)periph->softc;
sys/bus/cam/scsi/scsi_sg.c
915
&softc->saved_ccb));
sys/bus/cam/scsi/scsi_targ_bh.c
233
struct targbh_softc *softc;
sys/bus/cam/scsi/scsi_targ_bh.c
237
softc = (struct targbh_softc *)periph->softc;
sys/bus/cam/scsi/scsi_targ_bh.c
239
if ((softc->flags & TARGBH_FLAG_LUN_ENABLED) != 0)
sys/bus/cam/scsi/scsi_targ_bh.c
261
softc->flags |= TARGBH_FLAG_LUN_ENABLED;
sys/bus/cam/scsi/scsi_targ_bh.c
284
softc->accept_tio_list;
sys/bus/cam/scsi/scsi_targ_bh.c
285
softc->accept_tio_list = atio;
sys/bus/cam/scsi/scsi_targ_bh.c
314
SLIST_INSERT_HEAD(&softc->immed_notify_slist, &inot->ccb_h,
sys/bus/cam/scsi/scsi_targ_bh.c
333
struct targbh_softc *softc;
sys/bus/cam/scsi/scsi_targ_bh.c
338
softc = (struct targbh_softc *)periph->softc;
sys/bus/cam/scsi/scsi_targ_bh.c
339
if ((softc->flags & TARGBH_FLAG_LUN_ENABLED) == 0)
sys/bus/cam/scsi/scsi_targ_bh.c
347
while ((atio = softc->accept_tio_list) != NULL) {
sys/bus/cam/scsi/scsi_targ_bh.c
348
softc->accept_tio_list =
sys/bus/cam/scsi/scsi_targ_bh.c
356
while ((ccb_h = SLIST_FIRST(&softc->immed_notify_slist)) != NULL) {
sys/bus/cam/scsi/scsi_targ_bh.c
357
SLIST_REMOVE_HEAD(&softc->immed_notify_slist, periph_links.sle);
sys/bus/cam/scsi/scsi_targ_bh.c
380
softc->flags &= ~TARGBH_FLAG_LUN_ENABLED;
sys/bus/cam/scsi/scsi_targ_bh.c
387
struct targbh_softc *softc;
sys/bus/cam/scsi/scsi_targ_bh.c
390
softc = kmalloc(sizeof(*softc), M_SCSIBH, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_targ_bh.c
391
TAILQ_INIT(&softc->pending_queue);
sys/bus/cam/scsi/scsi_targ_bh.c
392
TAILQ_INIT(&softc->work_queue);
sys/bus/cam/scsi/scsi_targ_bh.c
393
softc->accept_tio_list = NULL;
sys/bus/cam/scsi/scsi_targ_bh.c
394
SLIST_INIT(&softc->immed_notify_slist);
sys/bus/cam/scsi/scsi_targ_bh.c
395
softc->state = TARGBH_STATE_NORMAL;
sys/bus/cam/scsi/scsi_targ_bh.c
396
periph->softc = softc;
sys/bus/cam/scsi/scsi_targ_bh.c
397
softc->init_level++;
sys/bus/cam/scsi/scsi_targ_bh.c
405
struct targbh_softc *softc;
sys/bus/cam/scsi/scsi_targ_bh.c
407
softc = (struct targbh_softc *)periph->softc;
sys/bus/cam/scsi/scsi_targ_bh.c
409
softc->state = TARGBH_STATE_TEARDOWN;
sys/bus/cam/scsi/scsi_targ_bh.c
413
switch (softc->init_level) {
sys/bus/cam/scsi/scsi_targ_bh.c
420
sim_lock_sleep(softc, 0, "targbh", hz/2, periph->sim->lock);
sys/bus/cam/scsi/scsi_targ_bh.c
421
kfree(softc, M_SCSIBH);
sys/bus/cam/scsi/scsi_targ_bh.c
429
struct targbh_softc *softc;
sys/bus/cam/scsi/scsi_targ_bh.c
436
softc = (struct targbh_softc *)periph->softc;
sys/bus/cam/scsi/scsi_targ_bh.c
438
ccbh = TAILQ_FIRST(&softc->work_queue);
sys/bus/cam/scsi/scsi_targ_bh.c
448
TAILQ_REMOVE(&softc->work_queue, ccbh, periph_links.tqe);
sys/bus/cam/scsi/scsi_targ_bh.c
449
TAILQ_INSERT_HEAD(&softc->pending_queue, ccbh,
sys/bus/cam/scsi/scsi_targ_bh.c
511
ccbh = TAILQ_FIRST(&softc->work_queue);
sys/bus/cam/scsi/scsi_targ_bh.c
520
struct targbh_softc *softc;
sys/bus/cam/scsi/scsi_targ_bh.c
522
softc = (struct targbh_softc *)periph->softc;
sys/bus/cam/scsi/scsi_targ_bh.c
541
if (softc->state == TARGBH_STATE_TEARDOWN
sys/bus/cam/scsi/scsi_targ_bh.c
627
TAILQ_INSERT_HEAD(&softc->work_queue, &atio->ccb_h,
sys/bus/cam/scsi/scsi_targ_bh.c
631
TAILQ_INSERT_TAIL(&softc->work_queue, &atio->ccb_h,
sys/bus/cam/scsi/scsi_targ_bh.c
648
TAILQ_REMOVE(&softc->pending_queue, &atio->ccb_h,
sys/bus/cam/scsi/scsi_targ_bh.c
678
if (softc->state != TARGBH_STATE_TEARDOWN) {
sys/bus/cam/scsi/scsi_targ_bh.c
702
if (softc->state == TARGBH_STATE_TEARDOWN
sys/bus/cam/scsi/scsi_target.c
1002
ccb->ccb_h.targ_descr = targgetdescr(softc);
sys/bus/cam/scsi/scsi_target.c
1008
targfreeccb(struct targ_softc *softc, union ccb *ccb)
sys/bus/cam/scsi/scsi_target.c
1037
targgetdescr(struct targ_softc *softc)
sys/bus/cam/scsi/scsi_target.c
1074
abort_all_pending(struct targ_softc *softc)
sys/bus/cam/scsi/scsi_target.c
1081
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("abort_all_pending\n"));
sys/bus/cam/scsi/scsi_target.c
1084
while ((descr = TAILQ_FIRST(&softc->work_queue)) != NULL) {
sys/bus/cam/scsi/scsi_target.c
1085
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
1087
TAILQ_REMOVE(&softc->work_queue, descr, tqe);
sys/bus/cam/scsi/scsi_target.c
1088
TAILQ_INSERT_TAIL(&softc->abort_queue, descr, tqe);
sys/bus/cam/scsi/scsi_target.c
1096
xpt_setup_ccb(&cab->ccb_h, softc->path, /*priority*/0);
sys/bus/cam/scsi/scsi_target.c
1099
TAILQ_FOREACH(ccb_h, &softc->pending_ccb_queue, periph_links.tqe) {
sys/bus/cam/scsi/scsi_target.c
1100
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
1113
sim = xpt_path_sim(softc->path);
sys/bus/cam/scsi/scsi_target.c
1114
sim_lock_sleep(&softc->pending_ccb_queue, PCATCH, "tgabrt", 0,
sys/bus/cam/scsi/scsi_target.c
1119
if (!TAILQ_EMPTY(&softc->user_ccb_queue) ||
sys/bus/cam/scsi/scsi_target.c
1120
!TAILQ_EMPTY(&softc->abort_queue)) {
sys/bus/cam/scsi/scsi_target.c
1121
notify_user(softc);
sys/bus/cam/scsi/scsi_target.c
1129
notify_user(struct targ_softc *softc)
sys/bus/cam/scsi/scsi_target.c
1135
KNOTE(&softc->read_kq.ki_note, 0);
sys/bus/cam/scsi/scsi_target.c
1136
wakeup(&softc->user_ccb_queue);
sys/bus/cam/scsi/scsi_target.c
125
static cam_status targenable(struct targ_softc *softc,
sys/bus/cam/scsi/scsi_target.c
128
static cam_status targdisable(struct targ_softc *softc);
sys/bus/cam/scsi/scsi_target.c
132
static int targusermerge(struct targ_softc *softc,
sys/bus/cam/scsi/scsi_target.c
135
static int targsendccb(struct targ_softc *softc, union ccb *ccb,
sys/bus/cam/scsi/scsi_target.c
139
static int targreturnccb(struct targ_softc *softc,
sys/bus/cam/scsi/scsi_target.c
141
static union ccb * targgetccb(struct targ_softc *softc, xpt_opcode type,
sys/bus/cam/scsi/scsi_target.c
143
static void targfreeccb(struct targ_softc *softc, union ccb *ccb);
sys/bus/cam/scsi/scsi_target.c
145
targgetdescr(struct targ_softc *softc);
sys/bus/cam/scsi/scsi_target.c
149
static void abort_all_pending(struct targ_softc *softc);
sys/bus/cam/scsi/scsi_target.c
150
static void notify_user(struct targ_softc *softc);
sys/bus/cam/scsi/scsi_target.c
172
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
192
softc = kmalloc(sizeof(*softc), M_TARG, M_INTWAIT | M_ZERO);
sys/bus/cam/scsi/scsi_target.c
193
dev->si_drv1 = softc;
sys/bus/cam/scsi/scsi_target.c
194
softc->state = TARG_STATE_OPENED;
sys/bus/cam/scsi/scsi_target.c
195
softc->periph = NULL;
sys/bus/cam/scsi/scsi_target.c
196
softc->path = NULL;
sys/bus/cam/scsi/scsi_target.c
198
TAILQ_INIT(&softc->pending_ccb_queue);
sys/bus/cam/scsi/scsi_target.c
199
TAILQ_INIT(&softc->work_queue);
sys/bus/cam/scsi/scsi_target.c
200
TAILQ_INIT(&softc->abort_queue);
sys/bus/cam/scsi/scsi_target.c
201
TAILQ_INIT(&softc->user_ccb_queue);
sys/bus/cam/scsi/scsi_target.c
211
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
215
softc = (struct targ_softc *)dev->si_drv1;
sys/bus/cam/scsi/scsi_target.c
216
if ((softc->periph == NULL) ||
sys/bus/cam/scsi/scsi_target.c
217
(softc->state & TARG_STATE_LUN_ENABLED) == 0) {
sys/bus/cam/scsi/scsi_target.c
220
kfree(softc, M_TARG);
sys/bus/cam/scsi/scsi_target.c
228
periph = softc->periph;
sys/bus/cam/scsi/scsi_target.c
231
error = targdisable(softc);
sys/bus/cam/scsi/scsi_target.c
234
if (softc->periph != NULL) {
sys/bus/cam/scsi/scsi_target.c
235
cam_periph_invalidate(softc->periph);
sys/bus/cam/scsi/scsi_target.c
236
softc->periph = NULL;
sys/bus/cam/scsi/scsi_target.c
240
kfree(softc, M_TARG);
sys/bus/cam/scsi/scsi_target.c
254
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
257
softc = (struct targ_softc *)ap->a_head.a_dev->si_drv1;
sys/bus/cam/scsi/scsi_target.c
277
status = targenable(softc, path, new_lun->grp6_len,
sys/bus/cam/scsi/scsi_target.c
284
if (softc->periph == NULL) {
sys/bus/cam/scsi/scsi_target.c
288
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
289
status = targdisable(softc);
sys/bus/cam/scsi/scsi_target.c
290
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
298
if ((softc->state & TARG_STATE_LUN_ENABLED) == 0) {
sys/bus/cam/scsi/scsi_target.c
307
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
308
xpt_setup_ccb(&cdbg->ccb_h, softc->path, /*priority*/0);
sys/bus/cam/scsi/scsi_target.c
313
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
333
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
335
softc = (struct targ_softc *)ap->a_head.a_dev->si_drv1;
sys/bus/cam/scsi/scsi_target.c
341
kn->kn_hook = (caddr_t)softc;
sys/bus/cam/scsi/scsi_target.c
345
kn->kn_hook = (caddr_t)softc;
sys/bus/cam/scsi/scsi_target.c
352
knote_insert(&softc->read_kq.ki_note, kn);
sys/bus/cam/scsi/scsi_target.c
359
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
361
softc = (struct targ_softc *)kn->kn_hook;
sys/bus/cam/scsi/scsi_target.c
362
knote_remove(&softc->read_kq.ki_note, kn);
sys/bus/cam/scsi/scsi_target.c
369
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
372
softc = (struct targ_softc *)kn->kn_hook;
sys/bus/cam/scsi/scsi_target.c
373
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
374
retval = !TAILQ_EMPTY(&softc->user_ccb_queue) ||
sys/bus/cam/scsi/scsi_target.c
375
!TAILQ_EMPTY(&softc->abort_queue);
sys/bus/cam/scsi/scsi_target.c
376
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
415
targenable(struct targ_softc *softc, struct cam_path *path, int grp6_len,
sys/bus/cam/scsi/scsi_target.c
422
if ((softc->state & TARG_STATE_LUN_ENABLED) != 0)
sys/bus/cam/scsi/scsi_target.c
446
del_softc = (struct targ_softc *)periph->softc;
sys/bus/cam/scsi/scsi_target.c
460
"targ", CAM_PERIPH_BIO, path, targasync, 0, softc);
sys/bus/cam/scsi/scsi_target.c
478
softc->state |= TARG_STATE_LUN_ENABLED;
sys/bus/cam/scsi/scsi_target.c
488
targdisable(struct targ_softc *softc)
sys/bus/cam/scsi/scsi_target.c
492
if ((softc->state & TARG_STATE_LUN_ENABLED) == 0)
sys/bus/cam/scsi/scsi_target.c
495
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("targdisable\n"));
sys/bus/cam/scsi/scsi_target.c
499
abort_all_pending(softc);
sys/bus/cam/scsi/scsi_target.c
503
status = targendislun(softc->path, /*enable*/0,
sys/bus/cam/scsi/scsi_target.c
506
softc->state &= ~TARG_STATE_LUN_ENABLED;
sys/bus/cam/scsi/scsi_target.c
517
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
520
softc = (struct targ_softc *)arg;
sys/bus/cam/scsi/scsi_target.c
521
periph->softc = softc;
sys/bus/cam/scsi/scsi_target.c
522
softc->periph = periph;
sys/bus/cam/scsi/scsi_target.c
523
softc->path = periph->path;
sys/bus/cam/scsi/scsi_target.c
530
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
534
softc = (struct targ_softc *)periph->softc;
sys/bus/cam/scsi/scsi_target.c
541
while ((ccb_h = TAILQ_FIRST(&softc->user_ccb_queue)) != NULL) {
sys/bus/cam/scsi/scsi_target.c
542
TAILQ_REMOVE(&softc->user_ccb_queue, ccb_h, periph_links.tqe);
sys/bus/cam/scsi/scsi_target.c
543
targfreeccb(softc, (union ccb *)ccb_h);
sys/bus/cam/scsi/scsi_target.c
545
while ((descr = TAILQ_FIRST(&softc->abort_queue)) != NULL) {
sys/bus/cam/scsi/scsi_target.c
546
TAILQ_REMOVE(&softc->abort_queue, descr, tqe);
sys/bus/cam/scsi/scsi_target.c
550
softc->periph = NULL;
sys/bus/cam/scsi/scsi_target.c
551
softc->path = NULL;
sys/bus/cam/scsi/scsi_target.c
552
periph->softc = NULL;
sys/bus/cam/scsi/scsi_target.c
561
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
566
softc = (struct targ_softc *)ap->a_head.a_dev->si_drv1;
sys/bus/cam/scsi/scsi_target.c
568
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
575
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
588
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
589
ccb = targgetccb(softc, func_code, priority);
sys/bus/cam/scsi/scsi_target.c
593
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
596
TAILQ_INSERT_TAIL(&softc->pending_ccb_queue,
sys/bus/cam/scsi/scsi_target.c
599
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
602
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
604
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
607
descr = targgetdescr(softc);
sys/bus/cam/scsi/scsi_target.c
612
TAILQ_INSERT_TAIL(&softc->work_queue,
sys/bus/cam/scsi/scsi_target.c
615
xpt_schedule(softc->periph, priority);
sys/bus/cam/scsi/scsi_target.c
617
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
620
ccb = targgetccb(softc, func_code, priority);
sys/bus/cam/scsi/scsi_target.c
626
if (targusermerge(softc, descr, ccb) != EFAULT)
sys/bus/cam/scsi/scsi_target.c
627
targsendccb(softc, ccb, descr);
sys/bus/cam/scsi/scsi_target.c
628
targreturnccb(softc, ccb);
sys/bus/cam/scsi/scsi_target.c
630
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
653
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
657
softc = (struct targ_softc *)periph->softc;
sys/bus/cam/scsi/scsi_target.c
658
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("targstart %p\n", start_ccb));
sys/bus/cam/scsi/scsi_target.c
661
descr = TAILQ_FIRST(&softc->work_queue);
sys/bus/cam/scsi/scsi_target.c
666
TAILQ_REMOVE(&softc->work_queue, descr, tqe);
sys/bus/cam/scsi/scsi_target.c
667
next_descr = TAILQ_FIRST(&softc->work_queue);
sys/bus/cam/scsi/scsi_target.c
671
error = targusermerge(softc, descr, start_ccb);
sys/bus/cam/scsi/scsi_target.c
673
error = targsendccb(softc, start_ccb, descr);
sys/bus/cam/scsi/scsi_target.c
681
TAILQ_INSERT_TAIL(&softc->abort_queue, descr, tqe);
sys/bus/cam/scsi/scsi_target.c
683
notify_user(softc);
sys/bus/cam/scsi/scsi_target.c
693
targusermerge(struct targ_softc *softc, struct targ_cmd_descr *descr,
sys/bus/cam/scsi/scsi_target.c
707
xpt_setup_ccb(k_ccbh, softc->path, descr->priority);
sys/bus/cam/scsi/scsi_target.c
726
TAILQ_FOREACH(ccb_h, &softc->pending_ccb_queue,
sys/bus/cam/scsi/scsi_target.c
732
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
752
targsendccb(struct targ_softc *softc, union ccb *ccb,
sys/bus/cam/scsi/scsi_target.c
805
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("sendccb %p\n", ccb));
sys/bus/cam/scsi/scsi_target.c
808
TAILQ_INSERT_TAIL(&softc->pending_ccb_queue, ccb_h,
sys/bus/cam/scsi/scsi_target.c
821
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
824
softc = (struct targ_softc *)periph->softc;
sys/bus/cam/scsi/scsi_target.c
825
TAILQ_REMOVE(&softc->pending_ccb_queue, &done_ccb->ccb_h,
sys/bus/cam/scsi/scsi_target.c
829
if ((softc->state & TARG_STATE_LUN_ENABLED) == 0) {
sys/bus/cam/scsi/scsi_target.c
830
targfreeccb(softc, done_ccb);
sys/bus/cam/scsi/scsi_target.c
834
if (TAILQ_EMPTY(&softc->pending_ccb_queue))
sys/bus/cam/scsi/scsi_target.c
835
wakeup(&softc->pending_ccb_queue);
sys/bus/cam/scsi/scsi_target.c
842
TAILQ_INSERT_TAIL(&softc->user_ccb_queue, &done_ccb->ccb_h,
sys/bus/cam/scsi/scsi_target.c
844
notify_user(softc);
sys/bus/cam/scsi/scsi_target.c
860
struct targ_softc *softc;
sys/bus/cam/scsi/scsi_target.c
868
softc = (struct targ_softc *)ap->a_head.a_dev->si_drv1;
sys/bus/cam/scsi/scsi_target.c
869
user_queue = &softc->user_ccb_queue;
sys/bus/cam/scsi/scsi_target.c
870
abort_queue = &softc->abort_queue;
sys/bus/cam/scsi/scsi_target.c
871
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("targread\n"));
sys/bus/cam/scsi/scsi_target.c
874
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
880
softc->periph->sim->lock);
sys/bus/cam/scsi/scsi_target.c
891
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
905
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
907
error = targreturnccb(softc, (union ccb *)ccb_h);
sys/bus/cam/scsi/scsi_target.c
910
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
912
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
926
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
sys/bus/cam/scsi/scsi_target.c
930
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
932
cam_periph_lock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
949
cam_periph_unlock(softc->periph);
sys/bus/cam/scsi/scsi_target.c
955
targreturnccb(struct targ_softc *softc, union ccb *ccb)
sys/bus/cam/scsi/scsi_target.c
962
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("targreturnccb %p\n", ccb));
sys/bus/cam/scsi/scsi_target.c
977
xpt_print(softc->path,
sys/bus/cam/scsi/scsi_target.c
981
targfreeccb(softc, ccb);
sys/bus/cam/scsi/scsi_target.c
987
targgetccb(struct targ_softc *softc, xpt_opcode type, int priority)
sys/bus/cam/scsi/scsi_target.c
997
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("getccb %p\n", ccb));
sys/bus/cam/scsi/scsi_target.c
999
xpt_setup_ccb(&ccb->ccb_h, softc->path, priority);
sys/bus/u4b/storage/umass.c
2227
sc->sc_sim->softc = NULL;
sys/dev/acpica/acpi_thinkpad/acpi_thinkpad.c
329
static void thinkpad_led(void *softc, int onoff);
sys/dev/acpica/acpi_thinkpad/acpi_thinkpad.c
391
thinkpad_led(void *softc, int onoff)
sys/dev/acpica/acpi_thinkpad/acpi_thinkpad.c
393
struct acpi_thinkpad_softc *sc = softc;
sys/dev/disk/advansys/advansys.c
669
adv = (struct adv_softc *)xpt_path_sim(ccb->ccb_h.path)->softc;
sys/dev/disk/isp/isp_freebsd.c
3104
struct isptarg_softc *softc = periph->softc;
sys/dev/disk/isp/isp_freebsd.c
3114
ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, iccb->ccb_h.path, "%s: function code 0x%x INOTQ=%c WORKQ=%c REWORKQ=%c\n", __func__, iccb->ccb_h.func_code,
sys/dev/disk/isp/isp_freebsd.c
3115
TAILQ_FIRST(&softc->inot_queue)? 'y' : 'n', TAILQ_FIRST(&softc->work_queue)? 'y' : 'n', TAILQ_FIRST(&softc->rework_queue)? 'y' : 'n');
sys/dev/disk/isp/isp_freebsd.c
3119
ccbh = TAILQ_FIRST(&softc->inot_queue);
sys/dev/disk/isp/isp_freebsd.c
3121
TAILQ_REMOVE(&softc->inot_queue, ccbh, periph_links.tqe);
sys/dev/disk/isp/isp_freebsd.c
3122
if (TAILQ_FIRST(&softc->inot_queue) || TAILQ_FIRST(&softc->work_queue) || TAILQ_FIRST(&softc->rework_queue)) {
sys/dev/disk/isp/isp_freebsd.c
3125
isptargnotify(softc->isp, iccb, (struct ccb_immediate_notify *)ccbh);
sys/dev/disk/isp/isp_freebsd.c
3132
ccbh = TAILQ_FIRST(&softc->rework_queue);
sys/dev/disk/isp/isp_freebsd.c
3135
TAILQ_REMOVE(&softc->rework_queue, ccbh, periph_links.tqe);
sys/dev/disk/isp/isp_freebsd.c
3136
more = TAILQ_FIRST(&softc->work_queue) || TAILQ_FIRST(&softc->rework_queue);
sys/dev/disk/isp/isp_freebsd.c
3138
ccbh = TAILQ_FIRST(&softc->work_queue);
sys/dev/disk/isp/isp_freebsd.c
3140
ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, iccb->ccb_h.path, "%s: woken up but no work?\n", __func__);
sys/dev/disk/isp/isp_freebsd.c
3145
TAILQ_REMOVE(&softc->work_queue, ccbh, periph_links.tqe);
sys/dev/disk/isp/isp_freebsd.c
3146
more = TAILQ_FIRST(&softc->work_queue) != NULL;
sys/dev/disk/isp/isp_freebsd.c
3161
ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, ccbh->path, "%s: [0x%x] processing ATIO from 0x%x CDB=0x%x data_offset=%u\n", __func__, atio->tag_id, atio->init_id,
sys/dev/disk/isp/isp_freebsd.c
3407
struct isptarg_softc *softc;
sys/dev/disk/isp/isp_freebsd.c
3409
softc = (struct isptarg_softc *)arg;
sys/dev/disk/isp/isp_freebsd.c
3410
periph->softc = softc;
sys/dev/disk/isp/isp_freebsd.c
3411
softc->periph = periph;
sys/dev/disk/isp/isp_freebsd.c
3412
softc->path = periph->path;
sys/dev/disk/isp/isp_freebsd.c
3413
ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, periph->path, "%s called\n", __func__);
sys/dev/disk/isp/isp_freebsd.c
3420
struct isptarg_softc *softc;
sys/dev/disk/isp/isp_freebsd.c
3421
softc = (struct isptarg_softc *)periph->softc;
sys/dev/disk/isp/isp_freebsd.c
3422
ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, periph->path, "%s called\n", __func__);
sys/dev/disk/isp/isp_freebsd.c
3423
softc->periph = NULL;
sys/dev/disk/isp/isp_freebsd.c
3424
softc->path = NULL;
sys/dev/disk/isp/isp_freebsd.c
3425
periph->softc = NULL;
sys/dev/disk/isp/isp_freebsd.c
3431
struct isptarg_softc *softc;
sys/dev/disk/isp/isp_freebsd.c
3437
softc = (struct isptarg_softc *)periph->softc;
sys/dev/disk/isp/isp_freebsd.c
3438
isp = softc->isp;
sys/dev/disk/isp/isp_freebsd.c
3445
TAILQ_INSERT_TAIL(&softc->work_queue, &ccb->ccb_h, periph_links.tqe);
sys/dev/disk/isp/isp_freebsd.c
3451
TAILQ_INSERT_TAIL(&softc->inot_queue, &ccb->ccb_h, periph_links.tqe);
sys/dev/disk/isp/isp_freebsd.c
3465
TAILQ_INSERT_TAIL(&softc->rework_queue, &atio->ccb_h, periph_links.tqe);
sys/dev/disk/isp/isp_freebsd.c
3508
struct isptarg_softc *softc = NULL;
sys/dev/disk/isp/isp_freebsd.c
3524
softc = kmalloc(sizeof (*softc), M_ISPTARG, M_WAITOK | M_ZERO);
sys/dev/disk/isp/isp_freebsd.c
3525
TAILQ_INIT(&softc->work_queue);
sys/dev/disk/isp/isp_freebsd.c
3526
TAILQ_INIT(&softc->rework_queue);
sys/dev/disk/isp/isp_freebsd.c
3527
TAILQ_INIT(&softc->running_queue);
sys/dev/disk/isp/isp_freebsd.c
3528
TAILQ_INIT(&softc->inot_queue);
sys/dev/disk/isp/isp_freebsd.c
3529
softc->isp = isp;
sys/dev/disk/isp/isp_freebsd.c
3547
status = cam_periph_alloc(isptargctor, NULL, isptargdtor, isptargstart, "isptarg", CAM_PERIPH_BIO, wpath, NULL, 0, softc);
sys/dev/disk/isp/isp_freebsd.c
3560
status = cam_periph_alloc(isptargctor, NULL, isptargdtor, isptargstart, "isptarg", CAM_PERIPH_BIO, path, NULL, 0, softc);
sys/dev/disk/isp/isp_freebsd.c
3712
if (softc) {
sys/dev/disk/isp/isp_freebsd.c
3713
kfree(softc, M_ISPTARG);
sys/dev/disk/nata/atapi-cam.c
347
struct atapi_xpt_softc *softc = (struct atapi_xpt_softc*)cam_sim_softc(sim);
sys/dev/disk/nata/atapi-cam.c
383
if (softc->ata_ch && tid != CAM_TARGET_WILDCARD) {
sys/dev/disk/nata/atapi-cam.c
384
lockmgr(&softc->state_lock, LK_EXCLUSIVE);
sys/dev/disk/nata/atapi-cam.c
385
if (softc->atadev[tid] == NULL) {
sys/dev/disk/nata/atapi-cam.c
388
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
391
switch (softc->atadev[ccb_h->target_id]->mode) {
sys/dev/disk/nata/atapi-cam.c
421
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
432
ata_controlcmd(softc->atadev[tid]->dev, ATA_DEVICE_RESET, 0, 0, 0);
sys/dev/disk/nata/atapi-cam.c
440
ata_reinit(softc->parent);
sys/dev/disk/nata/atapi-cam.c
482
lockmgr(&softc->state_lock, LK_EXCLUSIVE);
sys/dev/disk/nata/atapi-cam.c
483
if (softc->flags & DETACHING) {
sys/dev/disk/nata/atapi-cam.c
486
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
490
if (softc->atadev[tid] == NULL) {
sys/dev/disk/nata/atapi-cam.c
493
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
501
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
532
device_printf(softc->dev, "unknown IO operation\n");
sys/dev/disk/nata/atapi-cam.c
536
if ((hcb = allocate_hcb(softc, unit, bus, ccb)) == NULL) {
sys/dev/disk/nata/atapi-cam.c
615
if ((softc->atadev[tid]->mode >= ATA_DMA) && len > 0 && !(len & 15))
sys/dev/disk/nata/atapi-cam.c
618
request->dev = softc->atadev[tid]->dev;
sys/dev/disk/nata/atapi-cam.c
623
min(softc->ata_ch->dma->max_iosize, 65534));
sys/dev/disk/nata/atapi-cam.c
634
TAILQ_INSERT_TAIL(&softc->pending_hcbs, hcb, chain);
sys/dev/disk/nata/atapi-cam.c
637
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
656
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
660
softc->flags |= RESOURCE_SHORTAGE;
sys/dev/disk/nata/atapi-cam.c
668
lockmgr(&softc->state_lock, LK_RELEASE);
sys/dev/disk/nata/atapi-cam.c
690
scp = hcb->softc;
sys/dev/disk/nata/atapi-cam.c
770
struct atapi_xpt_softc *softc;
sys/dev/disk/nata/atapi-cam.c
776
softc = hcb->softc;
sys/dev/disk/nata/atapi-cam.c
780
if (softc->flags & RESOURCE_SHORTAGE) {
sys/dev/disk/nata/atapi-cam.c
781
softc->flags &= ~RESOURCE_SHORTAGE;
sys/dev/disk/nata/atapi-cam.c
79
struct atapi_xpt_softc *softc;
sys/dev/disk/nata/atapi-cam.c
856
allocate_hcb(struct atapi_xpt_softc *softc, int unit, int bus, union ccb *ccb)
sys/dev/disk/nata/atapi-cam.c
861
hcb->softc = softc;
sys/dev/disk/nata/atapi-cam.c
872
TAILQ_REMOVE(&hcb->softc->pending_hcbs, hcb, chain);
sys/dev/disk/sbp/sbp.c
2188
struct sbp_softc *sbp = (struct sbp_softc *)sim->softc;
sys/dev/disk/sbp/sbp.c
2562
sbp = (struct sbp_softc *)sim->softc;
sys/dev/disk/vpo/vpo.c
332
struct vpo_data *vpo = (struct vpo_data *)sim->softc;
sys/dev/drm/drm_dragonfly.c
253
struct drm_softc *softc = device_get_softc(kdev);
sys/dev/drm/drm_dragonfly.c
254
struct drm_device *dev = softc->drm_driver_data;
sys/dev/drm/drm_drv.c
1172
struct drm_softc *softc = device_get_softc(kdev);
sys/dev/drm/drm_drv.c
1174
dev = softc->drm_driver_data;
sys/dev/drm/drm_drv.c
544
struct drm_softc *softc = device_get_softc(parent->bsddev);
sys/dev/drm/drm_drv.c
546
softc->drm_driver_data = dev;
sys/dev/drm/radeon/radeon_drv.c
844
struct drm_softc *softc = device_get_softc(kdev);
sys/dev/drm/radeon/radeon_drv.c
845
struct drm_device *dev = softc->drm_driver_data;
sys/dev/drm/radeon/radeon_drv.c
853
struct drm_softc *softc = device_get_softc(kdev);
sys/dev/drm/radeon/radeon_drv.c
854
struct drm_device *dev = softc->drm_driver_data;
sys/dev/misc/evdev/evdev.c
443
evdev_set_methods(struct evdev_dev *evdev, void *softc,
sys/dev/misc/evdev/evdev.c
448
evdev->ev_softc = softc;
sys/dev/misc/musycc/musycc.c
1043
struct softc *sc;
sys/dev/misc/musycc/musycc.c
1095
struct softc *sc;
sys/dev/misc/musycc/musycc.c
1195
struct softc *sc;
sys/dev/misc/musycc/musycc.c
1314
struct softc *sc;
sys/dev/misc/musycc/musycc.c
1418
struct softc *sc;
sys/dev/misc/musycc/musycc.c
160
struct softc;
sys/dev/misc/musycc/musycc.c
164
struct softc *sc;
sys/dev/misc/musycc/musycc.c
255
struct softc serial[NPORT];
sys/dev/misc/musycc/musycc.c
397
init_ctrl(struct softc *sc)
sys/dev/misc/musycc/musycc.c
444
status_chans(struct softc *sc, char *s)
sys/dev/misc/musycc/musycc.c
482
status_8370(struct softc *sc, char *s)
sys/dev/misc/musycc/musycc.c
526
dump_8370(struct softc *sc, char *s, int offset)
sys/dev/misc/musycc/musycc.c
545
init_8370(struct softc *sc)
sys/dev/misc/musycc/musycc.c
644
musycc_intr0_tx_eom(struct softc *sc, int ch)
sys/dev/misc/musycc/musycc.c
681
musycc_intr0_rx_eom(struct softc *sc, int ch)
sys/dev/misc/musycc/musycc.c
77
struct softc;
sys/dev/misc/musycc/musycc.c
770
struct softc *sc;
sys/dev/misc/musycc/musycc.c
78
static void init_8370(struct softc *sc);
sys/dev/misc/musycc/musycc.c
849
struct softc *sc;
sys/dev/misc/musycc/musycc.c
908
struct softc *sc;
sys/dev/misc/musycc/musycc.c
991
struct softc *sc;
sys/dev/misc/syscons/scterm-dumb.c
75
dumb_init(scr_stat *scp, void **softc, int code)
sys/dev/misc/syscons/scterm-dumb.c
88
dumb_term(scr_stat *scp, void **softc)
sys/dev/misc/syscons/scterm-sc.c
114
scterm_init(scr_stat *scp, void **softc, int code)
sys/dev/misc/syscons/scterm-sc.c
118
if (*softc == NULL) {
sys/dev/misc/syscons/scterm-sc.c
121
*softc = &reserved_term_stat;
sys/dev/misc/syscons/scterm-sc.c
123
tcp = *softc;
sys/dev/misc/syscons/scterm-sc.c
162
scterm_term(scr_stat *scp, void **softc)
sys/dev/misc/syscons/scterm-sc.c
164
if (*softc == &reserved_term_stat) {
sys/dev/misc/syscons/scterm-sc.c
165
*softc = NULL;
sys/dev/netif/mn/if_mn.c
1061
mn_tx_intr(struct softc *sc, u_int32_t vector)
sys/dev/netif/mn/if_mn.c
1098
mn_rx_intr(struct softc *sc, u_int32_t vector)
sys/dev/netif/mn/if_mn.c
1187
struct softc *sc;
sys/dev/netif/mn/if_mn.c
1280
struct softc *sc;
sys/dev/netif/mn/if_mn.c
1293
sc = (struct softc *)kmalloc(sizeof *sc, M_MN, M_WAITOK | M_ZERO);
sys/dev/netif/mn/if_mn.c
161
struct softc;
sys/dev/netif/mn/if_mn.c
167
static void mn_create_channel(struct softc *sc, int chan);
sys/dev/netif/mn/if_mn.c
168
static int mn_reset(struct softc *sc);
sys/dev/netif/mn/if_mn.c
174
static void m32_dump(struct softc *sc);
sys/dev/netif/mn/if_mn.c
175
static void f54_dump(struct softc *sc);
sys/dev/netif/mn/if_mn.c
178
static void f54_init(struct softc *sc);
sys/dev/netif/mn/if_mn.c
210
struct softc *sc;
sys/dev/netif/mn/if_mn.c
290
struct softc *sc;
sys/dev/netif/mn/if_mn.c
330
struct softc *sc;
sys/dev/netif/mn/if_mn.c
450
struct softc *sc;
sys/dev/netif/mn/if_mn.c
579
struct softc *sc;
sys/dev/netif/mn/if_mn.c
656
struct softc *sc;
sys/dev/netif/mn/if_mn.c
747
struct softc *sc;
sys/dev/netif/mn/if_mn.c
803
mn_create_channel(struct softc *sc, int chan)
sys/dev/netif/mn/if_mn.c
821
m32_dump(struct softc *sc)
sys/dev/netif/mn/if_mn.c
853
f54_dump(struct softc *sc)
sys/dev/netif/mn/if_mn.c
873
m32_init(struct softc *sc)
sys/dev/netif/mn/if_mn.c
895
f54_init(struct softc *sc)
sys/dev/netif/mn/if_mn.c
932
mn_reset(struct softc *sc)
sys/dev/netif/mn/if_mn.c
989
f54_intr(struct softc *sc)
sys/dev/raid/mpr/mpr.c
1234
mpr_lock(ctx->softc);
sys/dev/raid/mpr/mpr.c
1248
mpr_unlock(ctx->softc);
sys/dev/raid/mpr/mpr_user.c
1544
ctx->softc = sc;
sys/dev/raid/mpr/mprvar.h
274
struct mpr_softc *softc;
sys/dev/raid/tws/tws_cam.c
247
struct tws_softc *sc = periph->softc;
sys/dev/sound/pci/emu10kx.c
301
void* softc;
sys/dev/sound/pci/emu10kx.c
304
uint32_t(*irq_func) (void *softc, uint32_t irq);
sys/dev/sound/pci/emu10kx.c
920
emu_intr_register(struct emu_sc_info *sc, uint32_t inte_mask, uint32_t intr_mask, uint32_t(*func) (void *softc, uint32_t irq), void *isc)
sys/dev/sound/pci/emu10kx.c
930
sc->ihandler[i].softc = isc;
sys/dev/sound/pci/emu10kx.c
966
sc->ihandler[hnumber].softc = NULL;
sys/dev/sound/pci/emu10kx.c
996
ack |= sc->ihandler[i].irq_func(sc->ihandler[i].softc,
sys/dev/sound/pci/emu10kx.h
148
int emu_intr_register(struct emu_sc_info *sc, uint32_t inte_mask, uint32_t intr_mask, uint32_t(*func) (void *softc, uint32_t irq), void *isc);
sys/kern/kern_udev.c
667
struct udev_softc *softc;
sys/kern/kern_udev.c
676
softc = kmalloc(sizeof(*softc), M_UDEV, M_WAITOK | M_ZERO);
sys/kern/kern_udev.c
677
softc->unit = unit;
sys/kern/kern_udev.c
679
TAILQ_INSERT_TAIL(&udevq, softc, entry);
sys/kern/kern_udev.c
682
softc->dev = make_only_dev(&udev_dev_ops, unit, ap->a_cred->cr_ruid,
sys/kern/kern_udev.c
684
softc->dev->si_drv1 = softc;
sys/kern/kern_udev.c
685
ap->a_dev = softc->dev;
sys/kern/kern_udev.c
695
struct udev_softc *softc = ap->a_head.a_dev->si_drv1;
sys/kern/kern_udev.c
698
if (softc == NULL || softc->opened) {
sys/kern/kern_udev.c
702
softc->opened = 1;
sys/kern/kern_udev.c
712
struct udev_softc *softc = ap->a_head.a_dev->si_drv1;
sys/kern/kern_udev.c
714
KKASSERT(softc->dev == ap->a_head.a_dev);
sys/kern/kern_udev.c
715
KKASSERT(softc->opened == 1);
sys/kern/kern_udev.c
719
TAILQ_REMOVE(&udevq, softc, entry);
sys/kern/kern_udev.c
721
if (softc->initiated) {
sys/kern/kern_udev.c
722
TAILQ_REMOVE(&udev_evq, &softc->marker, link);
sys/kern/kern_udev.c
723
softc->initiated = 0;
sys/kern/kern_udev.c
727
softc->opened = 0;
sys/kern/kern_udev.c
728
softc->dev = NULL;
sys/kern/kern_udev.c
738
devfs_clone_bitmap_put(&DEVFS_CLONE_BITMAP(udev), softc->unit);
sys/kern/kern_udev.c
741
kfree(softc, M_UDEV);
sys/kern/kern_udev.c
753
struct udev_softc *softc = ap->a_head.a_dev->si_drv1;
sys/kern/kern_udev.c
763
kn->kn_hook = (caddr_t)softc;
sys/kern/kern_udev.c
793
struct udev_softc *softc = (void *)kn->kn_hook;
sys/kern/kern_udev.c
798
if (softc->initiated) {
sys/kern/kern_udev.c
799
ev = TAILQ_NEXT(&softc->marker, link);
sys/kern/kern_udev.c
813
struct udev_softc *softc = ap->a_head.a_dev->si_drv1;
sys/kern/kern_udev.c
826
if (softc->initiated == 0) {
sys/kern/kern_udev.c
827
softc->initiated = 1;
sys/kern/kern_udev.c
829
TAILQ_INSERT_HEAD(&udev_evq, &softc->marker, link);
sys/kern/kern_udev.c
837
if (softc->initiated) {
sys/kern/kern_udev.c
838
ev = TAILQ_NEXT(&softc->marker, link);
sys/kern/kern_udev.c
856
TAILQ_REMOVE(&udev_evq, &softc->marker, link);
sys/kern/kern_udev.c
858
ev, &softc->marker, link);
sys/kern/kern_udev.c
878
struct udev_softc *softc = ap->a_head.a_dev->si_drv1;
sys/kern/kern_udev.c
911
error = cmd_fn[i].fn(softc, pref, ap->a_cmd, dict);
sys/kern/kern_udev.c
962
udev_getdevs_ioctl(struct udev_softc *softc, struct plistref *pref,
sys/kern/kern_udev.c
974
if (softc->initiated == 0) {
sys/kern/kern_udev.c
975
softc->initiated = 1;
sys/kern/kern_udev.c
977
TAILQ_INSERT_HEAD(&udev_evq, &softc->marker, link);
sys/kern/subr_bus.c
1217
dev->softc = NULL;
sys/kern/subr_bus.c
1784
return dev->softc;
sys/kern/subr_bus.c
1788
device_set_softc(device_t dev, void *softc)
sys/kern/subr_bus.c
1790
if (dev->softc && !(dev->flags & DF_EXTERNALSOFTC))
sys/kern/subr_bus.c
1791
kfree(dev->softc, M_BUS);
sys/kern/subr_bus.c
1792
dev->softc = softc;
sys/kern/subr_bus.c
1793
if (dev->softc)
sys/kern/subr_bus.c
1943
if (dev->softc && !(dev->flags & DF_EXTERNALSOFTC)) {
sys/kern/subr_bus.c
1944
kfree(dev->softc, M_BUS);
sys/kern/subr_bus.c
1945
dev->softc = NULL;
sys/kern/subr_bus.c
1953
dev->softc = kmalloc(driver->size, M_BUS,
sys/kern/subr_bus.c
3683
(dev->softc? "":"no "),
sys/sys/bus.h
397
void device_set_softc(device_t dev, void *softc);
sys/sys/bus_private.h
135
void *softc;