Lines Matching defs:atio

2231 		isp_prt(isp, ISP_LOGWARN, "bad atio (0x%x) leaked to platform", status);
2341 isp_prt(isp, ISP_LOGWARN, "bogus atio (0x%x) leaked to platform", aep->at_status);
3519 atp = isp_get_atpd(isp, tptr, accb->atio.tag_id);
3688 struct ccb_accept_tio *atio;
3715 atio = (struct ccb_accept_tio *)ccbh;
3725 atio = (struct ccb_accept_tio *)ccbh;
3730 ATIO_PPD(atio)->on_queue = 0;
3732 if (atio->tag_id == 0xffffffff || atio->ccb_h.func_code != XPT_ACCEPT_TARGET_IO) {
3741 memset(&atio->sense_data, 0, sizeof (atio->sense_data));
3742 cdb = atio->cdb_io.cdb_bytes;
3743 ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, ccbh->path, "%s: [0x%x] processing ATIO from %s queue initiator 0x%x CDB=0x%x data_offset=%u\n", __func__, atio->tag_id,
3744 queue, atio->init_id, cdb[0], ATIO_PPD(atio)->offset);
3746 return_lun = XS_LUN(atio);
3748 xpt_print(atio->ccb_h.path, "[0x%x] Non-Zero Lun %d: cdb0=0x%x\n", atio->tag_id, return_lun, cdb[0]);
3751 SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR;
3752 SDFIXED(atio->sense_data)->flags = SSD_KEY_ILLEGAL_REQUEST;
3753 SDFIXED(atio->sense_data)->add_sense_code = 0x25; /* LOGICAL UNIT NOT SUPPORTED */
3754 atio->sense_len = SSD_MIN_SIZE;
3762 data_len = sizeof (atio->sense_data);
3783 r = isptarg_rwparm(cdb, disk_data, disk_size, ATIO_PPD(atio)->offset, &data_ptr, &data_len, &last);
3786 SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR;
3787 SDFIXED(atio->sense_data)->flags = SSD_KEY_ILLEGAL_REQUEST;
3789 SDFIXED(atio->sense_data)->add_sense_code = 0x21; /* LOGICAL BLOCK ADDRESS OUT OF RANGE */
3791 SDFIXED(atio->sense_data)->add_sense_code = 0x20; /* INVALID COMMAND OPERATION CODE */
3793 atio->sense_len = SSD_MIN_SIZE;
3804 ATIO_PPD(atio)->offset += data_len;
3818 SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR;
3819 SDFIXED(atio->sense_data)->flags = SSD_KEY_UNIT_ATTENTION;
3820 SDFIXED(atio->sense_data)->add_sense_code = 0x24; /* INVALID FIELD IN CDB */
3821 atio->sense_len = SSD_MIN_SIZE;
3842 SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR;
3843 SDFIXED(atio->sense_data)->flags = SSD_KEY_UNIT_ATTENTION;
3844 SDFIXED(atio->sense_data)->add_sense_code = 0x29; /* POWER ON, RESET, OR BUS DEVICE RESET OCCURRED */
3845 atio->sense_len = SSD_MIN_SIZE;
3860 SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR;
3861 SDFIXED(atio->sense_data)->flags = SSD_KEY_ILLEGAL_REQUEST;
3862 SDFIXED(atio->sense_data)->add_sense_code = 0x24; /* INVALID FIELD IN CDB */
3863 atio->sense_len = SSD_MIN_SIZE;
3914 SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR;
3915 SDFIXED(atio->sense_data)->flags = SSD_KEY_ILLEGAL_REQUEST;
3916 SDFIXED(atio->sense_data)->add_sense_code = 0x20; /* INVALID COMMAND OPERATION CODE */
3917 atio->sense_len = SSD_MIN_SIZE;
3929 csio->sense_len = atio->sense_len;
3930 csio->sense_data = atio->sense_data;
3935 cam_fill_ctio(csio, 0, isptarg_done, flags, MSG_SIMPLE_Q_TAG, atio->tag_id, atio->init_id, status, data_ptr, data_len, 30 * hz);
3936 iccb->ccb_h.target_id = atio->ccb_h.target_id;
3938 iccb->ccb_h.ccb_atio = atio;
3939 CTIO_SEQ(iccb) = ATIO_PPD(atio)->sequence++;
3940 ATIO_PPD(atio)->ctio_cnt++;
3942 KASSERT((ATIO_PPD(atio)->status_sent == 0), ("we have already sent status for 0x%x in %s", atio->tag_id, __func__));
3943 ATIO_PPD(atio)->status_sent = 1;
3945 ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, atio->ccb_h.path, "%s: sending downstream for 0x%x sequence %u len %u flags %x\n", __func__, atio->tag_id, CTIO_SEQ(iccb), data_len, flags);
3948 if ((atio->ccb_h.status & CAM_DEV_QFRZN) != 0) {
3950 atio->ccb_h.status &= ~CAM_DEV_QFRZN;
3953 if (is_data_cmd && ATIO_PPD(atio)->status_sent == 0 && ATIO_PPD(atio)->ctio_cnt < MULTI_CCB_DATA_CNT && ATIO_PPD(atio)->on_queue == 0) {
3954 ISP_PATH_PRT(softc->isp, ISP_LOGTDEBUG0, atio->ccb_h.path, "%s: more still to do for 0x%x\n", __func__, atio->tag_id);
3955 TAILQ_INSERT_TAIL(&softc->rework_queue, &atio->ccb_h, periph_links.tqe);
3956 ATIO_PPD(atio)->on_queue = 1;
3995 struct ccb_accept_tio *atio;
4005 atio = (struct ccb_accept_tio *) ccb;
4006 ISP_PATH_PRT(isp, ISP_LOGTDEBUG0, ccb->ccb_h.path, "[0x%x] ATIO seen in %s\n", atio->tag_id, __func__);
4007 memset(ATIO_PPD(atio), 0, sizeof (ppd_t));
4009 ATIO_PPD(atio)->on_queue = 1;
4019 atio = ccb->ccb_h.ccb_atio;
4020 KASSERT((ATIO_PPD(atio)->ctio_cnt != 0), ("ctio zero when finishing a CTIO"));
4021 ATIO_PPD(atio)->ctio_cnt--;
4026 ISP_PATH_PRT(isp, ISP_LOGWARN, ccb->ccb_h.path, "[0x%x] got message to return to reset offset to 0x%x at sequence %u\n", atio->tag_id, newoff, CTIO_SEQ(ccb));
4027 ATIO_PPD(atio)->offset = newoff;
4028 ATIO_PPD(atio)->status_sent = 0;
4029 if (ATIO_PPD(atio)->on_queue == 0) {
4030 TAILQ_INSERT_TAIL(&softc->rework_queue, &atio->ccb_h, periph_links.tqe);
4031 ATIO_PPD(atio)->on_queue = 1;
4037 xpt_action((union ccb *)atio);
4041 ISP_PATH_PRT(isp, ISP_LOGTDEBUG0, ccb->ccb_h.path, "[0x%x] MID CTIO sequence %u seen in %s\n", atio->tag_id, CTIO_SEQ(ccb), __func__);
4042 if (ATIO_PPD(atio)->status_sent == 0 && ATIO_PPD(atio)->on_queue == 0) {
4043 TAILQ_INSERT_TAIL(&softc->rework_queue, &atio->ccb_h, periph_links.tqe);
4044 ATIO_PPD(atio)->on_queue = 1;
4048 KASSERT((ATIO_PPD(atio)->ctio_cnt == 0), ("ctio count still %d when we think we've sent the STATUS ctio", ATIO_PPD(atio)->ctio_cnt));
4049 ISP_PATH_PRT(isp, ISP_LOGTDEBUG0, ccb->ccb_h.path, "[0x%x] FINAL CTIO sequence %u seen in %s\n", atio->tag_id, CTIO_SEQ(ccb), __func__);
4050 xpt_action((union ccb *)atio);
4996 tag = ccb->atio.tag_id;
5009 if (ccb->atio.tag_id) {
5010 atio_private_data_t *atp = isp_get_atpd(isp, tptr, ccb->atio.tag_id);
5018 ccb->atio.tag_id, tptr->atio_count);
5019 ccb->atio.tag_id = 0;