Lines Matching refs:uscmd
11201 struct uscsi_cmd *uscmd; in sd_ssc_send() local
11211 uscmd = ssc->ssc_uscsi_cmd; in sd_ssc_send()
11212 ASSERT(uscmd != NULL); in sd_ssc_send()
11222 if (uscmd->uscsi_cdb != NULL) { in sd_ssc_send()
11226 uscmd->uscsi_cdb[0]); in sd_ssc_send()
11247 if ((uscmd->uscsi_flags & USCSI_PMFAILFAST) && in sd_ssc_send()
11276 SD_ADDRESS(un), &uscmd); in sd_ssc_send()
11283 if ((uscmd->uscsi_cdb != NULL) && in sd_ssc_send()
11284 (uscmd->uscsi_cdb[0] == SCMD_FORMAT)) { in sd_ssc_send()
11301 uip->ui_cmdp = uscmd; in sd_ssc_send()
11308 uscmd->uscsi_flags |= USCSI_DIAGNOSE; in sd_ssc_send()
11310 uscmd->uscsi_flags &= ~USCSI_NOINTR; in sd_ssc_send()
11313 rval = scsi_uscsi_handle_cmd(dev, dataspace, uscmd, in sd_ssc_send()
11325 uscmd->uscsi_status, uscmd->uscsi_resid); in sd_ssc_send()
11326 if (uscmd->uscsi_bufaddr != NULL) { in sd_ssc_send()
11329 uscmd->uscsi_bufaddr, uscmd->uscsi_buflen); in sd_ssc_send()
11332 "data", (uchar_t *)uscmd->uscsi_bufaddr, in sd_ssc_send()
11333 uscmd->uscsi_buflen, SD_LOG_HEX); in sd_ssc_send()
11344 (void) scsi_uscsi_copyout((intptr_t)incmd, uscmd); in sd_ssc_send()
13301 struct uscsi_cmd *uscmd; in sd_initpkt_for_uscsi() local
13316 uscmd = (struct uscsi_cmd *)xp->xb_pktinfo; in sd_initpkt_for_uscsi()
13317 ASSERT(uscmd != NULL); in sd_initpkt_for_uscsi()
13340 if (uscmd->uscsi_rqlen > SENSE_LENGTH) { in sd_initpkt_for_uscsi()
13342 ((bp->b_bcount != 0) ? bp : NULL), uscmd->uscsi_cdblen, in sd_initpkt_for_uscsi()
13343 ((int)(uscmd->uscsi_rqlen) + sizeof (struct scsi_arq_status) in sd_initpkt_for_uscsi()
13349 ((bp->b_bcount != 0) ? bp : NULL), uscmd->uscsi_cdblen, in sd_initpkt_for_uscsi()
13387 uscmd->uscsi_cdb[0], 0, 0, 0); in sd_initpkt_for_uscsi()
13396 if (uscmd->uscsi_flags & USCSI_SILENT) { in sd_initpkt_for_uscsi()
13400 if (uscmd->uscsi_flags & USCSI_DIAGNOSE) { in sd_initpkt_for_uscsi()
13404 if (uscmd->uscsi_flags & USCSI_ISOLATE) { in sd_initpkt_for_uscsi()
13409 if (uscmd->uscsi_flags & USCSI_RENEGOT) { in sd_initpkt_for_uscsi()
13418 if (uscmd->uscsi_flags & USCSI_HEAD) { in sd_initpkt_for_uscsi()
13422 if (uscmd->uscsi_flags & USCSI_NOINTR) { in sd_initpkt_for_uscsi()
13431 if ((uscmd->uscsi_flags & USCSI_NOTAG) == 0) { in sd_initpkt_for_uscsi()
13432 if (uscmd->uscsi_flags & USCSI_HTAG) { in sd_initpkt_for_uscsi()
13434 } else if (uscmd->uscsi_flags & USCSI_OTAG) { in sd_initpkt_for_uscsi()
13441 if (uscmd->uscsi_flags & USCSI_NODISCON) { in sd_initpkt_for_uscsi()
13448 (void) scsi_uscsi_pktinit(uscmd, pktp); in sd_initpkt_for_uscsi()
13451 bcopy(uscmd->uscsi_cdb, pktp->pkt_cdbp, uscmd->uscsi_cdblen); in sd_initpkt_for_uscsi()
13453 if (uscmd->uscsi_timeout == 0) { in sd_initpkt_for_uscsi()
13456 pktp->pkt_time = uscmd->uscsi_timeout; in sd_initpkt_for_uscsi()
13462 xp->xb_sense_resid = uscmd->uscsi_rqresid; in sd_initpkt_for_uscsi()
13488 struct uscsi_cmd *uscmd; in sd_destroypkt_for_uscsi() local
13507 uscmd = (struct uscsi_cmd *)xp->xb_pktinfo; in sd_destroypkt_for_uscsi()
13508 ASSERT(uscmd != NULL); in sd_destroypkt_for_uscsi()
13511 uscmd->uscsi_status = ((*(pktp)->pkt_scbp) & STATUS_MASK); in sd_destroypkt_for_uscsi()
13512 uscmd->uscsi_resid = bp->b_resid; in sd_destroypkt_for_uscsi()
13515 (void) scsi_uscsi_pktfini(pktp, uscmd); in sd_destroypkt_for_uscsi()
13521 if (((uscmd->uscsi_flags & USCSI_RQENABLE) != 0) && in sd_destroypkt_for_uscsi()
13522 (uscmd->uscsi_rqlen != 0) && (uscmd->uscsi_rqbuf != NULL)) { in sd_destroypkt_for_uscsi()
13527 uscmd->uscsi_rqstatus = xp->xb_sense_status; in sd_destroypkt_for_uscsi()
13528 uscmd->uscsi_rqresid = xp->xb_sense_resid; in sd_destroypkt_for_uscsi()
13529 if (uscmd->uscsi_rqlen > SENSE_LENGTH) { in sd_destroypkt_for_uscsi()
13530 bcopy(xp->xb_sense_data, uscmd->uscsi_rqbuf, in sd_destroypkt_for_uscsi()
13533 bcopy(xp->xb_sense_data, uscmd->uscsi_rqbuf, in sd_destroypkt_for_uscsi()
20325 struct uscsi_cmd *uscmd; local
20385 uscmd = kmem_zalloc(sizeof (struct uscsi_cmd), KM_SLEEP);
20386 uscmd->uscsi_cdblen = CDB_GROUP1;
20387 uscmd->uscsi_cdb = (caddr_t)cdb;
20388 uscmd->uscsi_bufaddr = NULL;
20389 uscmd->uscsi_buflen = 0;
20390 uscmd->uscsi_rqbuf = kmem_zalloc(SENSE_LENGTH, KM_SLEEP);
20391 uscmd->uscsi_rqlen = SENSE_LENGTH;
20392 uscmd->uscsi_rqresid = SENSE_LENGTH;
20393 uscmd->uscsi_flags = USCSI_RQENABLE | USCSI_SILENT;
20394 uscmd->uscsi_timeout = sd_io_time;
20406 uip->ui_cmdp = uscmd;
20456 struct uscsi_cmd *uscmd; local
20465 uscmd = uip->ui_cmdp;
20466 ASSERT(uscmd != NULL);
20468 sense_buf = (uint8_t *)uscmd->uscsi_rqbuf;
20474 cdb = (union scsi_cdb *)uscmd->uscsi_cdb;
20481 switch (uscmd->uscsi_status) {
20488 if ((uscmd->uscsi_rqstatus == STATUS_GOOD) &&
20548 kmem_free(uscmd->uscsi_rqbuf, SENSE_LENGTH);
20549 kmem_free(uscmd->uscsi_cdb, (size_t)uscmd->uscsi_cdblen);
20550 kmem_free(uscmd, sizeof (struct uscsi_cmd));