Lines Matching defs:skspcl
358 struct skd_special_context *skspcl);
885 struct skd_special_context *skspcl = &skdev->internal_skspcl;
886 struct fit_sg_descriptor *sgd = &skspcl->req.sksg_list[0];
891 fmh = &skspcl->msg_buf->fmh;
895 scsi = &skspcl->msg_buf->scsi[0];
897 dma_address = skspcl->req.sksg_dma_address;
899 skspcl->req.n_sg = 1;
902 sgd->host_side_addr = skspcl->db_dma_address;
912 struct skd_special_context *skspcl,
915 struct fit_sg_descriptor *sgd = &skspcl->req.sksg_list[0];
917 unsigned char *buf = skspcl->data_buf;
920 if (skspcl->req.state != SKD_REQ_STATE_IDLE)
927 skspcl->req.state = SKD_REQ_STATE_BUSY;
929 scsi = &skspcl->msg_buf->scsi[0];
930 scsi->hdr.tag = skspcl->req.id;
981 memset(skspcl->data_buf, 0, sgd->byte_count);
989 skd_send_special_fitmsg(skdev, skspcl);
994 struct skd_special_context *skspcl = &skdev->internal_skspcl;
996 skd_send_internal_skspcl(skdev, skspcl, TEST_UNIT_READY);
1000 struct skd_special_context *skspcl)
1002 unsigned char *buf = skspcl->data_buf;
1028 struct skd_special_context *skspcl)
1030 u8 *buf = skspcl->data_buf;
1033 struct skd_scsi_request *scsi = &skspcl->msg_buf->scsi[0];
1037 SKD_ASSERT(skspcl == &skdev->internal_skspcl);
1042 skspcl->db_dma_address,
1043 skspcl->req.sksg_list[0].byte_count,
1046 skspcl->req.completion = *skcomp;
1047 skspcl->req.state = SKD_REQ_STATE_IDLE;
1049 status = skspcl->req.completion.status;
1057 skd_send_internal_skspcl(skdev, skspcl, WRITE_BUFFER);
1060 skd_send_internal_skspcl(skdev, skspcl, WRITE_BUFFER);
1070 skd_send_internal_skspcl(skdev, skspcl,
1077 skd_send_internal_skspcl(skdev, skspcl, READ_BUFFER);
1087 skd_send_internal_skspcl(skdev, skspcl,
1094 if (skd_chk_read_buf(skdev, skspcl) == 0)
1095 skd_send_internal_skspcl(skdev, skspcl,
1121 skd_send_internal_skspcl(skdev, skspcl,
1144 skd_send_internal_skspcl(skdev, skspcl, INQUIRY);
1150 skd_send_internal_skspcl(skdev, skspcl, INQUIRY);
1153 skd_send_internal_skspcl(skdev, skspcl,
1240 struct skd_special_context *skspcl)
1244 WARN_ON_ONCE(skspcl->req.n_sg != 1);
1247 u8 *bp = (u8 *)skspcl->msg_buf;
1258 "skspcl=%p id=%04x sksg_list=%p sksg_dma=%pad\n",
1259 skspcl, skspcl->req.id, skspcl->req.sksg_list,
1260 &skspcl->req.sksg_dma_address);
1261 for (i = 0; i < skspcl->req.n_sg; i++) {
1263 &skspcl->req.sksg_list[i];
1276 qcmd = skspcl->mb_dma_address;
1279 dma_sync_single_for_device(&skdev->pdev->dev, skspcl->mb_dma_address,
1282 skspcl->req.sksg_dma_address,
1286 skspcl->db_dma_address,
1287 skspcl->req.sksg_list[0].byte_count,
1595 struct skd_special_context *skspcl;
1622 skspcl = &skdev->internal_skspcl;
1623 if (skspcl->req.id == req_id &&
1624 skspcl->req.state == SKD_REQ_STATE_BUSY) {
1626 skcomp, skerr, skspcl);
2180 struct skd_special_context *skspcl = &skdev->internal_skspcl;
2191 if (skspcl->req.state != SKD_REQ_STATE_IDLE) {
2199 skd_send_internal_skspcl(skdev, skspcl, SYNCHRONIZE_CACHE);
2768 struct skd_special_context *skspcl;
2770 skspcl = &skdev->internal_skspcl;
2772 skspcl->req.id = 0 + SKD_ID_INTERNAL;
2773 skspcl->req.state = SKD_REQ_STATE_IDLE;
2775 skspcl->data_buf = skd_alloc_dma(skdev, skdev->databuf_cache,
2776 &skspcl->db_dma_address,
2779 if (skspcl->data_buf == NULL) {
2784 skspcl->msg_buf = skd_alloc_dma(skdev, skdev->msgbuf_cache,
2785 &skspcl->mb_dma_address,
2787 if (skspcl->msg_buf == NULL) {
2792 skspcl->req.sksg_list = skd_cons_sg_list(skdev, 1,
2793 &skspcl->req.sksg_dma_address);
2794 if (skspcl->req.sksg_list == NULL) {
3015 struct skd_special_context *skspcl = &skdev->internal_skspcl;
3017 skd_free_dma(skdev, skdev->databuf_cache, skspcl->data_buf,
3018 skspcl->db_dma_address, DMA_BIDIRECTIONAL);
3020 skspcl->data_buf = NULL;
3021 skspcl->db_dma_address = 0;
3023 skd_free_dma(skdev, skdev->msgbuf_cache, skspcl->msg_buf,
3024 skspcl->mb_dma_address, DMA_TO_DEVICE);
3026 skspcl->msg_buf = NULL;
3027 skspcl->mb_dma_address = 0;
3029 skd_free_sg_list(skdev, skspcl->req.sksg_list,
3030 skspcl->req.sksg_dma_address);
3032 skspcl->req.sksg_list = NULL;
3033 skspcl->req.sksg_dma_address = 0;