Lines Matching defs:skreq

626  *		skreq		- request structure.
635 struct skd_request_context *skreq, uint32_t *sg_byte_count)
644 ASSERT(skreq->sg_data_dir == SKD_DATA_DIR_HOST_TO_CARD ||
645 skreq->sg_data_dir == SKD_DATA_DIR_CARD_TO_HOST);
647 pbuf = skreq->pbuf;
655 skreq->n_sg = n_sg;
657 skreq->io_dma_handle = xfer->x_dmah;
659 skreq->total_sg_bcount = 0;
668 sgd = &skreq->sksg_list[i];
675 skreq->total_sg_bcount += cnt;
678 ddi_dma_nextcookie(skreq->io_dma_handle, &xfer->x_dmac);
681 skreq->sksg_list[n_sg - 1].next_desc_ptr = 0LL;
682 skreq->sksg_list[n_sg - 1].control = FIT_SGD_CONTROL_LAST;
684 (void) ddi_dma_sync(skreq->sksg_dma_address.dma_handle, 0, 0,
693 * skreq - skreq data structure.
701 struct skd_request_context *skreq)
707 skreq->sksg_list[skreq->n_sg - 1].next_desc_ptr =
708 skreq->sksg_dma_address.cookies->dmac_laddress +
709 ((skreq->n_sg) * sizeof (struct fit_sg_descriptor));
729 struct skd_request_context *skreq = NULL;
764 skreq = skdev->skreq_free_list;
765 if (skreq == NULL) {
770 ASSERT(skreq->state == SKD_REQ_STATE_IDLE);
771 ASSERT((skreq->id & SKD_ID_INCR) == 0);
773 skdev->skreq_free_list = skreq->next;
775 skreq->state = SKD_REQ_STATE_BUSY;
776 skreq->id += SKD_ID_INCR;
811 skreq->pbuf = pbuf;
814 skreq->did_complete = 0;
816 skreq->fitmsg_id = skmsg->id;
829 scsi_req->hdr.tag = skreq->id;
831 cpu_to_be64(skreq->sksg_dma_address.cookies->dmac_laddress);
844 skreq->sg_data_dir = SKD_DATA_DIR_CARD_TO_HOST;
847 skreq->sg_data_dir = SKD_DATA_DIR_HOST_TO_CARD;
850 skd_blkdev_preop_sg_list(skdev, skreq, &sg_byte_count);
859 "skd_start: pbuf=%p skreq->id=%x opc=%x ====>>>>>",
860 (void *)pbuf, skreq->id, *scsi_req->cdb);
869 skreq->timeout_stamp = skdev->timeout_stamp;
870 timo_slot = skreq->timeout_stamp & SKD_TIMEOUT_SLOT_MASK;
876 skreq->id, skdev->queue_depth_busy, timo_slot);
884 pbuf->skreq = skreq;
917 * skreq - request structure.
925 struct skd_request_context *skreq, int error)
928 skd_io_done(skdev, skreq->pbuf, error, SKD_IODONE_WIOC);
929 skreq->pbuf = NULL;
930 skreq->did_complete = 1;
1870 struct skd_request_context *skreq;
1947 skreq = &skdev->skreq_table[req_slot];
1952 ASSERT(skreq->id == req_id);
1954 if (SKD_REQ_STATE_ABORTED == skreq->state) {
1956 (void *)skreq, skreq->id);
1961 msg_slot = skreq->fitmsg_id & SKD_ID_SLOT_MASK;
1964 if (skmsg->id == skreq->fitmsg_id) {
1979 skreq->state = SKD_REQ_STATE_IDLE;
1980 skreq->id += SKD_ID_INCR;
1981 skreq->next = skdev->skreq_free_list;
1982 skdev->skreq_free_list = skreq;
1987 skreq->completion.status = cmp_status;
1989 pbuf = skreq->pbuf;
2007 skd_blkdev_postop_sg_list(skdev, skreq);
2009 skd_end_request(skdev, skreq, 0);
2016 skd_end_request(skdev, skreq, 0);
2021 skd_log_skreq(skdev, skreq, "retry(busy)");
2038 skreq->completion = *skcmp;
2039 skreq->err_info = *skerr;
2041 skd_end_request(skdev, skreq, -EIO);
2064 msg_slot = skreq->fitmsg_id & SKD_ID_SLOT_MASK;
2068 if (skmsg->id == skreq->fitmsg_id) {
2081 timo_slot = skreq->timeout_stamp & SKD_TIMEOUT_SLOT_MASK;
2091 skreq->state = SKD_REQ_STATE_IDLE;
2092 skreq->id += SKD_ID_INCR;
2093 skreq->next = skdev->skreq_free_list;
2094 skdev->skreq_free_list = skreq;
2469 struct skd_request_context *skreq = &skdev->skreq_table[i];
2471 if (skreq->state == SKD_REQ_STATE_BUSY) {
2472 skd_log_skreq(skdev, skreq, "requeue");
2474 ASSERT(0 != (skreq->id & SKD_ID_INCR));
2475 ASSERT(skreq->pbuf != NULL);
2477 skd_blkdev_postop_sg_list(skdev, skreq);
2479 skd_end_request(skdev, skreq, EAGAIN);
2480 skreq->pbuf = NULL;
2481 skreq->state = SKD_REQ_STATE_IDLE;
2482 skreq->id += SKD_ID_INCR;
2485 skreq[-1].next = skreq;
2487 skreq->next = NULL;
3220 * Name: skd_cons_skreq, allocates space for the skreq table.
3245 struct skd_request_context *skreq;
3247 skreq = &skdev->skreq_table[i];
3249 skreq->id = (uint16_t)(i + SKD_ID_RW_REQUEST);
3250 skreq->state = SKD_REQ_STATE_IDLE;
3252 skreq->sksg_list = skd_cons_sg_list(skdev,
3254 &skreq->sksg_dma_address);
3256 if (NULL == skreq->sksg_list) {
3261 skreq->next = &skreq[1];
3420 Dcmn_err(CE_NOTE, "destruct skreq");
3506 struct skd_request_context *skreq;
3508 skreq = &skdev->skreq_table[i];
3510 skd_free_sg_list(skdev, skreq->sksg_list,
3511 skdev->sgs_per_request, skreq->sksg_dma_address);
3513 skreq->sksg_list = NULL;
3611 * Name: skd_list_skreq, displays the skreq table entries.
3624 struct skd_request_context *skreq;
3629 skreq = &skdev->skreq_table[0];
3630 while (skreq) {
3633 "%d: skreq=%p state=%d id=%x fid=%x "
3635 inx, (void *)skreq, skreq->state,
3636 skreq->id, skreq->fitmsg_id,
3637 (void *)skreq->pbuf,
3638 skreq->sg_data_dir, skreq->did_complete);
3640 skreq = skreq->next;
3645 skreq = skdev->skreq_free_list;
3649 while (skreq) {
3651 Dcmn_err(CE_NOTE, "%d: skreq=%p state=%d id=%x fid=%x "
3652 "pbuf=%p dir=%d\n", inx, (void *)skreq,
3653 skreq->state, skreq->id, skreq->fitmsg_id,
3654 (void *)skreq->pbuf, skreq->sg_data_dir);
3656 skreq = skreq->next;
4000 * Name: skd_log_skreq, logs the skreq event.
4003 * skreq -skreq structure.
4011 struct skd_request_context *skreq, const char *event)
4015 Dcmn_err(CE_NOTE, "log_skreq: (%s) skreq=%p pbuf=%p event='%s'",
4016 skdev->name, (void *)skreq, (void *)skreq->pbuf, event);
4019 skd_skreq_state_to_str(skreq->state), skreq->state,
4020 skreq->id, skreq->fitmsg_id);
4022 skreq->timeout_stamp, skreq->sg_data_dir, skreq->n_sg);
4024 if ((pbuf = skreq->pbuf) != NULL) {