Lines Matching refs:pktp
784 struct scsi_pkt *pktp, struct buf *bp, struct sd_xbuf *xp);
909 static int sd_setup_next_rw_pkt(struct sd_lun *un, struct scsi_pkt *pktp,
931 static void sdintr(struct scsi_pkt *pktp);
963 struct scsi_pkt *pktp);
983 struct sd_xbuf *xp, struct scsi_pkt *pktp);
989 struct sd_xbuf *xp, struct scsi_pkt *pktp);
991 struct sd_xbuf *xp, struct scsi_pkt *pktp);
993 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp);
995 struct sd_xbuf *xp, struct scsi_pkt *pktp);
998 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1000 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1004 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1010 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1013 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp);
1016 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp);
1019 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp);
1021 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1024 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp);
1026 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1028 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1030 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1033 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp);
1039 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1041 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1043 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1045 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1047 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1049 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1051 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1053 struct sd_xbuf *xp, struct scsi_pkt *pktp);
1055 static void sd_reset_target(struct sd_lun *un, struct scsi_pkt *pktp);
1266 static void sd_faultinjection(struct scsi_pkt *pktp);
12898 struct scsi_pkt *pktp = NULL; in sd_initpkt_for_buf() local
12931 pktp = xp->xb_pktp; in sd_initpkt_for_buf()
12933 pktp = NULL; in sd_initpkt_for_buf()
12946 rval = sd_setup_rw_pkt(un, &pktp, bp, in sd_initpkt_for_buf()
12958 (pktp->pkt_resid != 0)) { in sd_initpkt_for_buf()
12964 xp->xb_dma_resid = pktp->pkt_resid; in sd_initpkt_for_buf()
12967 pktp->pkt_resid = 0; in sd_initpkt_for_buf()
12973 pktp->pkt_flags = un->un_tagflags; in sd_initpkt_for_buf()
12974 pktp->pkt_time = un->un_cmd_timeout; in sd_initpkt_for_buf()
12975 pktp->pkt_comp = sdintr; in sd_initpkt_for_buf()
12977 pktp->pkt_private = bp; in sd_initpkt_for_buf()
12978 *pktpp = pktp; in sd_initpkt_for_buf()
13218 struct scsi_pkt *pktp, struct buf *bp, in sd_setup_next_rw_pkt() argument
13225 ASSERT(pktp != NULL); in sd_setup_next_rw_pkt()
13226 ASSERT(pktp->pkt_cdbp != NULL); in sd_setup_next_rw_pkt()
13228 cdbp = (union scsi_cdb *)pktp->pkt_cdbp; in sd_setup_next_rw_pkt()
13242 if (scsi_init_pkt(SD_ADDRESS(un), pktp, bp, 0, 0, 0, 0, in sd_setup_next_rw_pkt()
13243 NULL_FUNC, NULL) == pktp) { in sd_setup_next_rw_pkt()
13245 if (pktp->pkt_resid != 0) { in sd_setup_next_rw_pkt()
13247 SD_BYTES2TGTBLOCKS(un, pktp->pkt_resid); in sd_setup_next_rw_pkt()
13251 SD_FILL_SCSI1_LUN(un, pktp); in sd_setup_next_rw_pkt()
13303 struct scsi_pkt *pktp; in sd_initpkt_for_uscsi() local
13341 pktp = scsi_init_pkt(SD_ADDRESS(un), NULL, in sd_initpkt_for_uscsi()
13348 pktp = scsi_init_pkt(SD_ADDRESS(un), NULL, in sd_initpkt_for_uscsi()
13355 if (pktp == NULL) { in sd_initpkt_for_uscsi()
13378 (bp->b_bcount != 0) && (pktp->pkt_resid != 0)) { in sd_initpkt_for_uscsi()
13379 scsi_destroy_pkt(pktp); in sd_initpkt_for_uscsi()
13386 (void) scsi_setup_cdb((union scsi_cdb *)pktp->pkt_cdbp, in sd_initpkt_for_uscsi()
13389 SD_FILL_SCSI1_LUN(un, pktp); in sd_initpkt_for_uscsi()
13445 pktp->pkt_flags = flags; 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()
13454 pktp->pkt_time = un->un_uscsi_timeout; in sd_initpkt_for_uscsi()
13456 pktp->pkt_time = uscmd->uscsi_timeout; in sd_initpkt_for_uscsi()
13464 pktp->pkt_private = bp; in sd_initpkt_for_uscsi()
13465 pktp->pkt_comp = sdintr; in sd_initpkt_for_uscsi()
13466 *pktpp = pktp; in sd_initpkt_for_uscsi()
13490 struct scsi_pkt *pktp; in sd_destroypkt_for_uscsi() local
13500 pktp = SD_GET_PKTP(bp); in sd_destroypkt_for_uscsi()
13501 ASSERT(pktp != NULL); in sd_destroypkt_for_uscsi()
13511 uscmd->uscsi_status = ((*(pktp)->pkt_scbp) & STATUS_MASK); in sd_destroypkt_for_uscsi()
13515 (void) scsi_uscsi_pktfini(pktp, uscmd); in sd_destroypkt_for_uscsi()
13542 suip->ui_pkt_reason = pktp->pkt_reason; in sd_destroypkt_for_uscsi()
13543 suip->ui_pkt_state = pktp->pkt_state; in sd_destroypkt_for_uscsi()
13544 suip->ui_pkt_statistics = pktp->pkt_statistics; in sd_destroypkt_for_uscsi()
14213 struct scsi_pkt *pktp; local
14214 int (*funcp)(struct buf *bp, struct scsi_pkt **pktp);
14219 switch ((*funcp)(bp, &pktp)) {
14221 xp->xb_pktp = pktp;
14224 pktp);
14592 struct scsi_pkt *pktp; local
14602 pktp = SD_GET_PKTP(bp);
14616 if (sd_setup_next_xfer(un, bp, pktp, xp) != 0) {
14653 sd_ssc_extract_info(&sfip->fm_ssc, un, pktp, bp, xp);
14663 sd_ssc_extract_info(&sfip->fm_ssc, un, pktp, bp, xp);
14868 struct scsi_pkt *pktp; local
14876 pktp = SD_GET_PKTP(bp);
14877 ASSERT(pktp != NULL);
14897 if ((pktp->pkt_flags & FLAG_DIAGNOSE) != 0) {
14901 (uchar_t *)pktp->pkt_cdbp, CDB_SIZE, SD_LOG_HEX);
14939 if ((pktp->pkt_flags & FLAG_ISOLATE) != 0) {
15068 if ((pktp->pkt_reason == CMD_CMPLT) &&
15069 (SD_GET_PKT_STATUS(pktp) == STATUS_GOOD) &&
15070 (pktp->pkt_resid != 0)) {
15071 uchar_t op = SD_GET_PKT_OPCODE(pktp) & 0x1F;
15073 SD_UPDATE_B_RESID(bp, pktp);
15126 sd_ssc_extract_info(&sfip->fm_ssc, un, pktp, bp, xp);
15480 struct scsi_pkt *pktp) argument
15513 if ((pktp->pkt_flags & FLAG_DIAGNOSE) == 0) {
16041 sdintr(struct scsi_pkt *pktp) argument
16049 ASSERT(pktp != NULL);
16050 bp = (struct buf *)pktp->pkt_private;
16063 sd_faultinjection(pktp);
16097 if (pktp->pkt_reason == CMD_DEV_GONE) {
16119 if (pktp->pkt_state & STATE_XARQ_DONE) {
16121 "sdintr: extra sense data received. pkt=%p\n", pktp);
16129 if ((pktp->pkt_state & STATE_ARQ_DONE) &&
16136 if ((pktp->pkt_flags & FLAG_DIAGNOSE) != 0) {
16142 asp = (struct scsi_arq_status *)(pktp->pkt_scbp);
16147 if (pktp->pkt_state & STATE_XARQ_DONE) {
16195 ((pktp->pkt_flags & FLAG_SENSING) == 0)) {
16196 scsi_dmafree(pktp);
16204 sd_handle_auto_request_sense(un, bp, xp, pktp);
16209 if (pktp->pkt_flags & FLAG_SENSING) {
16213 sd_handle_request_sense(un, bp, xp, pktp);
16234 if ((pktp->pkt_reason == CMD_CMPLT) &&
16235 (SD_GET_PKT_STATUS(pktp) == STATUS_GOOD)) {
16240 if (pktp->pkt_resid == 0) {
16243 } else if (((SD_GET_PKT_OPCODE(pktp) & 0x1F) != SCMD_READ) &&
16244 ((SD_GET_PKT_OPCODE(pktp) & 0x1F) != SCMD_WRITE)) {
16245 SD_UPDATE_B_RESID(bp, pktp);
16249 SD_UPDATE_B_RESID(bp, pktp);
16294 ((pktp->pkt_flags & FLAG_SENSING) == 0)) {
16295 scsi_dmafree(pktp);
16306 if ((pktp->pkt_flags & FLAG_DIAGNOSE) != 0) {
16314 if ((pktp->pkt_reason == CMD_CMPLT) &&
16315 (SD_GET_PKT_STATUS(pktp) == STATUS_CHECK)) {
16316 sd_send_request_sense_command(un, bp, pktp);
16327 switch (pktp->pkt_reason) {
16329 switch (SD_GET_PKT_STATUS(pktp)) {
16337 sd_pkt_status_good(un, bp, xp, pktp);
16344 sd_pkt_status_check_condition(un, bp, xp, pktp);
16350 sd_pkt_status_busy(un, bp, xp, pktp);
16356 sd_pkt_status_reservation_conflict(un, bp, xp, pktp);
16362 sd_pkt_status_qfull(un, bp, xp, pktp);
16372 SD_GET_PKT_STATUS(pktp));
16387 SD_GET_PKT_STATUS(pktp));
16401 sd_pkt_reason_cmd_incomplete(un, bp, xp, pktp);
16406 sd_pkt_reason_cmd_tran_err(un, bp, xp, pktp);
16411 sd_pkt_reason_cmd_reset(un, bp, xp, pktp);
16416 sd_pkt_reason_cmd_aborted(un, bp, xp, pktp);
16421 sd_pkt_reason_cmd_timeout(un, bp, xp, pktp);
16426 sd_pkt_reason_cmd_unx_bus_free(un, bp, xp, pktp);
16431 sd_pkt_reason_cmd_tag_reject(un, bp, xp, pktp);
16443 sd_pkt_reason_default(un, bp, xp, pktp);
16481 struct scsi_pkt *pktp; local
16489 pktp = SD_GET_PKTP(bp);
16490 ASSERT(pktp != NULL);
16503 if ((pktp->pkt_flags & FLAG_SILENT) == 0) {
16521 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
16529 ASSERT(pktp != NULL);
16530 ASSERT(pktp->pkt_reason == CMD_CMPLT);
16531 ASSERT(SD_GET_PKT_STATUS(pktp) == STATUS_GOOD);
16532 ASSERT(pktp->pkt_resid != 0);
16537 switch (SD_GET_PKT_OPCODE(pktp) & 0x1F) {
16545 SD_UPDATE_B_RESID(bp, pktp);
16701 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
16710 ASSERT(pktp != NULL);
16711 ASSERT(pktp != un->un_rqs_pktp);
16719 asp = (struct scsi_arq_status *)(pktp->pkt_scbp);
16730 sd_reset_target(un, pktp);
16770 sd_decode_sense(un, bp, xp, pktp);
16823 struct scsi_pkt *pktp; local
16834 pktp = SD_GET_PKTP(bp);
16835 ASSERT(pktp != NULL);
16848 sd_pkt_status_reservation_conflict(un, bp, xp, pktp);
16901 if ((pktp->pkt_flags & FLAG_SILENT) == 0) {
16981 struct scsi_pkt *pktp) argument
16990 ASSERT(pktp != NULL);
16996 sd_sense_key_no_sense(un, bp, xp, pktp);
17000 bp, xp, pktp);
17004 bp, xp, pktp);
17009 xp->xb_sense_data, bp, xp, pktp);
17012 sd_sense_key_illegal_request(un, bp, xp, pktp);
17016 bp, xp, pktp);
17021 sd_sense_key_fail_command(un, bp, xp, pktp);
17024 sd_sense_key_blank_check(un, bp, xp, pktp);
17027 sd_sense_key_aborted_command(un, bp, xp, pktp);
17035 bp, xp, pktp);
17172 struct scsi_pkt *pktp; local
17185 pktp = SD_GET_PKTP(bp);
17186 ASSERT(pktp != NULL);
17216 ((pktp->pkt_flags & FLAG_SILENT) == 0)) {
17235 (uchar_t *)pktp->pkt_cdbp, CDB_SIZE, SD_LOG_HEX);
17241 if ((pktp->pkt_flags & FLAG_SILENT) != 0) {
17254 (pktp->pkt_resid == 0))) {
17255 scsi_vu_errmsg(SD_SCSI_DEVP(un), pktp, sd_label, severity,
17272 struct scsi_pkt *pktp) argument
17280 ASSERT(pktp != NULL);
17302 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17312 ASSERT(pktp != NULL);
17336 if (pktp->pkt_resid == 0) {
17359 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17369 ASSERT(pktp != NULL);
17446 sd_reset_target(un, pktp);
17456 sd_reset_target(un, pktp);
17522 if (pktp->pkt_cdbp[0] == SCMD_START_STOP) {
17612 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17621 ASSERT(pktp != NULL);
17677 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17685 ASSERT(pktp != NULL);
17710 struct buf *bp, struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17727 ASSERT(pktp != NULL);
17780 if (taskq_dispatch(sd_tq, sd_media_change_task, pktp,
17860 struct scsi_pkt *pktp) argument
17868 ASSERT(pktp != NULL);
17890 struct scsi_pkt *pktp) argument
17898 ASSERT(pktp != NULL);
17925 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17933 ASSERT(pktp != NULL);
17961 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
17970 ASSERT(pktp != NULL);
17978 if ((pktp->pkt_flags & FLAG_SILENT) == 0) {
18010 struct scsi_pkt *pktp; local
18017 pktp = SD_GET_PKTP(bp);
18018 ASSERT(pktp != NULL);
18026 (pktp->pkt_flags & FLAG_SILENT)) {
18044 ((pktp->pkt_reason == un->un_last_pkt_reason) &&
18054 reasonp = (((pktp->pkt_statistics & STAT_PERR) != 0) ? "parity error" :
18055 scsi_rname(pktp->pkt_reason));
18070 if ((pktp->pkt_reason != CMD_CMPLT) || (xp->xb_retry_count == 0)) {
18071 un->un_last_pkt_reason = pktp->pkt_reason;
18140 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
18148 ASSERT(pktp != NULL);
18152 if (pktp->pkt_state != STATE_GOT_BUS) {
18154 sd_reset_target(un, pktp);
18163 if ((pktp->pkt_state & STATE_GOT_TARGET) == 0) {
18167 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18185 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
18191 ASSERT(pktp != NULL);
18199 if (((pktp->pkt_statistics & STAT_PERR) == 0) &&
18200 (pktp->pkt_state != STATE_GOT_BUS)) {
18202 sd_reset_target(un, pktp);
18205 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18223 struct scsi_pkt *pktp) argument
18229 ASSERT(pktp != NULL);
18233 sd_reset_target(un, pktp);
18235 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18261 struct scsi_pkt *pktp) argument
18267 ASSERT(pktp != NULL);
18271 sd_reset_target(un, pktp);
18273 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18298 struct scsi_pkt *pktp) argument
18304 ASSERT(pktp != NULL);
18308 sd_reset_target(un, pktp);
18310 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18334 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
18342 ASSERT(pktp != NULL);
18345 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18347 funcp = ((pktp->pkt_statistics & STAT_PERR) == 0) ?
18365 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
18371 ASSERT(pktp != NULL);
18374 pktp->pkt_flags = 0;
18385 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18404 struct scsi_pkt *pktp) argument
18410 ASSERT(pktp != NULL);
18413 sd_reset_target(un, pktp);
18415 SD_UPDATE_RESERVATION_STATUS(un, pktp);
18433 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
18439 ASSERT(pktp != NULL);
18453 sd_send_request_sense_command(un, bp, pktp);
18480 struct scsi_pkt *pktp) argument
18486 ASSERT(pktp != NULL);
18574 struct sd_xbuf *xp, struct scsi_pkt *pktp) argument
18580 ASSERT(pktp != NULL);
18588 int cmd = SD_GET_PKT_OPCODE(pktp);
18656 struct scsi_pkt *pktp) argument
18662 ASSERT(pktp != NULL);
18690 sd_reset_target(struct sd_lun *un, struct scsi_pkt *pktp) argument
18696 ASSERT(pktp != NULL);
18703 if ((pktp->pkt_statistics &
18906 struct scsi_pkt *pktp = arg; local
18915 ASSERT(pktp != NULL);
18916 bp = (struct buf *)pktp->pkt_private;
25666 sd_scsi_poll(struct sd_lun *un, struct scsi_pkt *pktp) argument
25672 ASSERT(pktp != NULL);
25676 if (scsi_ifgetcap(&pktp->pkt_address, "tagged-qing", 1) == 1) {
25677 pktp->pkt_flags |= un->un_tagflags;
25678 pktp->pkt_flags &= ~FLAG_NODISCON;
25681 status = sd_ddi_scsi_poll(pktp);
25691 (SD_GET_PKT_STATUS(pktp) == STATUS_CHECK) &&
25692 (pktp->pkt_state & STATE_ARQ_DONE) == 0 &&
25693 (pktp->pkt_reason != CMD_DEV_GONE))
29828 sd_faultinjection(struct scsi_pkt *pktp) argument
29839 ASSERT(pktp != NULL);
29842 bp = (struct buf *)pktp->pkt_private;
29875 SD_CONDSET(pktp, pkt, pkt_flags, "pkt_flags");
29876 SD_CONDSET(*pktp, pkt, pkt_scbp, "pkt_scbp");
29878 SD_CONDSET(*pktp, pkt, pkt_cdbp, "pkt_cdbp");
29879 SD_CONDSET(pktp, pkt, pkt_state, "pkt_state");
29880 SD_CONDSET(pktp, pkt, pkt_statistics, "pkt_statistics");
29881 SD_CONDSET(pktp, pkt, pkt_reason, "pkt_reason");
29936 bcopy(fi_arq, pktp->pkt_scbp, sizeof (struct sd_fi_arq));
31027 sd_ssc_extract_info(sd_ssc_t *ssc, struct sd_lun *un, struct scsi_pkt *pktp, argument
31039 ASSERT(pktp != NULL);
31048 cdbp = (union scsi_cdb *)pktp->pkt_cdbp;
31071 if (SD_GET_PKT_STATUS(pktp) == STATUS_CHECK &&
31082 ssc->ssc_uscsi_cmd->uscsi_status = ((*(pktp)->pkt_scbp) & STATUS_MASK);
31087 path_instance = pktp->pkt_path_instance;
31088 if (scsi_pkt_allocated_correctly(pktp) && path_instance)
31096 ssc->ssc_uscsi_info->ui_pkt_reason = pktp->pkt_reason;
31097 ssc->ssc_uscsi_info->ui_pkt_state = pktp->pkt_state;
31098 ssc->ssc_uscsi_info->ui_pkt_statistics = pktp->pkt_statistics;
31105 if ((pktp->pkt_reason == CMD_CMPLT) &&