Lines Matching defs:skspcl

1287 	struct skd_special_context *skspcl = &skdev->internal_skspcl;
1288 struct fit_sg_descriptor *sgd = &skspcl->req.sksg_list[0];
1293 fmh = (struct fit_msg_hdr *)&skspcl->msg_buf64[0];
1298 scsi = (struct skd_scsi_request *)&skspcl->msg_buf64[8];
1300 dma_address = skspcl->req.sksg_dma_address.cookies->_dmu._dmac_ll;
1304 sgd->host_side_addr = skspcl->db_dma_address.cookies->_dmu._dmac_ll;
1317 * skspcl - request structure
1325 struct skd_special_context *skspcl, uint8_t opcode)
1327 struct fit_sg_descriptor *sgd = &skspcl->req.sksg_list[0];
1330 if (SKD_REQ_STATE_IDLE != skspcl->req.state) {
1338 ASSERT(0 == (skspcl->req.id & SKD_ID_INCR));
1339 skspcl->req.state = SKD_REQ_STATE_BUSY;
1340 skspcl->req.id += SKD_ID_INCR;
1343 scsi = (struct skd_scsi_request *)&skspcl->msg_buf64[8];
1344 scsi->hdr.tag = skspcl->req.id;
1346 Dcmn_err(CE_NOTE, "internal skspcl: opcode=%x req.id=%x ==========>",
1347 opcode, skspcl->req.id);
1381 (void) memset(skspcl->data_buf, 0x65, SKD_N_INTERNAL_BYTES);
1436 skd_send_special_fitmsg(skdev, skspcl);
1451 struct skd_special_context *skspcl = &skdev->internal_skspcl;
1455 skd_send_internal_skspcl(skdev, skspcl, TEST_UNIT_READY);
1466 * skspcl - request structure.
1476 struct skd_special_context *skspcl)
1478 uint8_t *buf = skspcl->data_buf;
1482 (struct skd_scsi_request *)&skspcl->msg_buf64[8];
1484 ASSERT(skspcl == &skdev->internal_skspcl);
1486 (void) ddi_dma_sync(skspcl->db_dma_address.dma_handle, 0, 0,
1488 (void) ddi_dma_sync(skspcl->mb_dma_address.dma_handle, 0, 0,
1493 skspcl->req.completion = *skcomp;
1494 skspcl->req.state = SKD_REQ_STATE_IDLE;
1495 skspcl->req.id += SKD_ID_INCR;
1497 status = skspcl->req.completion.status;
1504 skd_send_internal_skspcl(skdev, skspcl,
1517 skd_send_internal_skspcl(skdev, skspcl, 0x00);
1546 skd_send_internal_skspcl(skdev, skspcl, INQUIRY2);
1550 skd_send_internal_skspcl(skdev, skspcl,
1666 * skspcl - skspcl structure.
1673 struct skd_special_context *skspcl)
1680 uint8_t *bp = skspcl->msg_buf;
1692 for (i = 0; i < skspcl->req.n_sg; i++) {
1694 &skspcl->req.sksg_list[i];
1703 (void) ddi_dma_sync(skspcl->mb_dma_address.dma_handle, 0, 0,
1705 (void) ddi_dma_sync(skspcl->db_dma_address.dma_handle, 0, 0,
1712 qcmd = skspcl->mb_dma_address.cookies->dmac_laddress;
2129 struct skd_special_context *skspcl;
2146 skspcl = &skdev->internal_skspcl;
2147 ASSERT(skspcl->req.id == req_id);
2148 ASSERT(skspcl->req.state == SKD_REQ_STATE_BUSY);
2151 skd_complete_internal(skdev, skcomp, skerr, skspcl);
2866 struct skd_special_context *skspcl = &skdev->internal_skspcl;
2874 if (SKD_REQ_STATE_IDLE != skspcl->req.state) {
2883 skd_send_internal_skspcl(skdev, skspcl, SYNCHRONIZE_CACHE);
3274 * Name: skd_cons_sksb, allocates space for the skspcl msg buf
3286 struct skd_special_context *skspcl;
3290 skspcl = &skdev->internal_skspcl;
3292 skspcl->req.id = 0 + SKD_ID_INTERNAL;
3293 skspcl->req.state = SKD_REQ_STATE_IDLE;
3297 mem = &skspcl->db_dma_address;
3300 /* data_buf's DMA pointer is skspcl->db_dma_address */
3301 skspcl->data_buf = skd_alloc_dma_mem(skdev, mem, ATYPE_64BIT);
3302 if (skspcl->data_buf == NULL) {
3307 bzero(skspcl->data_buf, nbytes);
3311 mem = &skspcl->mb_dma_address;
3314 /* msg_buf DMA pointer is skspcl->mb_dma_address */
3315 skspcl->msg_buf = skd_alloc_dma_mem(skdev, mem, ATYPE_64BIT);
3316 if (skspcl->msg_buf == NULL) {
3322 bzero(skspcl->msg_buf, nbytes);
3324 skspcl->req.sksg_list = skd_cons_sg_list(skdev, 1,
3325 &skspcl->req.sksg_dma_address);
3328 if (skspcl->req.sksg_list == NULL) {
3490 * Name: skd_free_skreq, deallocates skspcl table DMA resources.
3525 * Name: skd_free_sksb, deallocates skspcl data buf and
3536 struct skd_special_context *skspcl;
3538 skspcl = &skdev->internal_skspcl;
3540 if (skspcl->data_buf != NULL) {
3541 skd_free_phys(skdev, &skspcl->db_dma_address);
3544 skspcl->data_buf = NULL;
3546 if (skspcl->msg_buf != NULL) {
3547 skd_free_phys(skdev, &skspcl->mb_dma_address);
3550 skspcl->msg_buf = NULL;
3552 skd_free_sg_list(skdev, skspcl->req.sksg_list, 1,
3553 skspcl->req.sksg_dma_address);
3555 skspcl->req.sksg_list = NULL;
4960 struct skd_special_context *skspcl;
4998 skspcl = &skdev->internal_skspcl;
4999 skd_send_internal_skspcl(skdev, skspcl, SYNCHRONIZE_CACHE);