Lines Matching refs:skspcl
1287 struct skd_special_context *skspcl = &skdev->internal_skspcl; in skd_format_internal_skspcl() local
1288 struct fit_sg_descriptor *sgd = &skspcl->req.sksg_list[0]; in skd_format_internal_skspcl()
1293 fmh = (struct fit_msg_hdr *)&skspcl->msg_buf64[0]; in skd_format_internal_skspcl()
1298 scsi = (struct skd_scsi_request *)&skspcl->msg_buf64[8]; in skd_format_internal_skspcl()
1300 dma_address = skspcl->req.sksg_dma_address.cookies->_dmu._dmac_ll; in skd_format_internal_skspcl()
1304 sgd->host_side_addr = skspcl->db_dma_address.cookies->_dmu._dmac_ll; in skd_format_internal_skspcl()
1325 struct skd_special_context *skspcl, uint8_t opcode) in skd_send_internal_skspcl() argument
1327 struct fit_sg_descriptor *sgd = &skspcl->req.sksg_list[0]; in skd_send_internal_skspcl()
1330 if (SKD_REQ_STATE_IDLE != skspcl->req.state) { in skd_send_internal_skspcl()
1338 ASSERT(0 == (skspcl->req.id & SKD_ID_INCR)); in skd_send_internal_skspcl()
1339 skspcl->req.state = SKD_REQ_STATE_BUSY; in skd_send_internal_skspcl()
1340 skspcl->req.id += SKD_ID_INCR; in skd_send_internal_skspcl()
1343 scsi = (struct skd_scsi_request *)&skspcl->msg_buf64[8]; in skd_send_internal_skspcl()
1344 scsi->hdr.tag = skspcl->req.id; in skd_send_internal_skspcl()
1347 opcode, skspcl->req.id); in skd_send_internal_skspcl()
1381 (void) memset(skspcl->data_buf, 0x65, SKD_N_INTERNAL_BYTES); in skd_send_internal_skspcl()
1436 skd_send_special_fitmsg(skdev, skspcl); in skd_send_internal_skspcl()
1451 struct skd_special_context *skspcl = &skdev->internal_skspcl; in skd_refresh_device_data() local
1455 skd_send_internal_skspcl(skdev, skspcl, TEST_UNIT_READY); in skd_refresh_device_data()
1476 struct skd_special_context *skspcl) in skd_complete_internal() argument
1478 uint8_t *buf = skspcl->data_buf; in skd_complete_internal()
1482 (struct skd_scsi_request *)&skspcl->msg_buf64[8]; in skd_complete_internal()
1484 ASSERT(skspcl == &skdev->internal_skspcl); in skd_complete_internal()
1486 (void) ddi_dma_sync(skspcl->db_dma_address.dma_handle, 0, 0, in skd_complete_internal()
1488 (void) ddi_dma_sync(skspcl->mb_dma_address.dma_handle, 0, 0, in skd_complete_internal()
1493 skspcl->req.completion = *skcomp; in skd_complete_internal()
1494 skspcl->req.state = SKD_REQ_STATE_IDLE; in skd_complete_internal()
1495 skspcl->req.id += SKD_ID_INCR; in skd_complete_internal()
1497 status = skspcl->req.completion.status; in skd_complete_internal()
1504 skd_send_internal_skspcl(skdev, skspcl, in skd_complete_internal()
1517 skd_send_internal_skspcl(skdev, skspcl, 0x00); in skd_complete_internal()
1546 skd_send_internal_skspcl(skdev, skspcl, INQUIRY2); in skd_complete_internal()
1550 skd_send_internal_skspcl(skdev, skspcl, in skd_complete_internal()
1673 struct skd_special_context *skspcl) in skd_send_special_fitmsg() argument
1680 uint8_t *bp = skspcl->msg_buf; in skd_send_special_fitmsg()
1692 for (i = 0; i < skspcl->req.n_sg; i++) { in skd_send_special_fitmsg()
1694 &skspcl->req.sksg_list[i]; in skd_send_special_fitmsg()
1703 (void) ddi_dma_sync(skspcl->mb_dma_address.dma_handle, 0, 0, in skd_send_special_fitmsg()
1705 (void) ddi_dma_sync(skspcl->db_dma_address.dma_handle, 0, 0, in skd_send_special_fitmsg()
1712 qcmd = skspcl->mb_dma_address.cookies->dmac_laddress; in skd_send_special_fitmsg()
2129 struct skd_special_context *skspcl; in skd_complete_other() local
2146 skspcl = &skdev->internal_skspcl; in skd_complete_other()
2147 ASSERT(skspcl->req.id == req_id); in skd_complete_other()
2148 ASSERT(skspcl->req.state == SKD_REQ_STATE_BUSY); in skd_complete_other()
2151 skd_complete_internal(skdev, skcomp, skerr, skspcl); in skd_complete_other()
2866 struct skd_special_context *skspcl = &skdev->internal_skspcl; in skd_stop_device() local
2874 if (SKD_REQ_STATE_IDLE != skspcl->req.state) { in skd_stop_device()
2883 skd_send_internal_skspcl(skdev, skspcl, SYNCHRONIZE_CACHE); in skd_stop_device()
3286 struct skd_special_context *skspcl; in skd_cons_sksb() local
3290 skspcl = &skdev->internal_skspcl; in skd_cons_sksb()
3292 skspcl->req.id = 0 + SKD_ID_INTERNAL; in skd_cons_sksb()
3293 skspcl->req.state = SKD_REQ_STATE_IDLE; in skd_cons_sksb()
3297 mem = &skspcl->db_dma_address; in skd_cons_sksb()
3301 skspcl->data_buf = skd_alloc_dma_mem(skdev, mem, ATYPE_64BIT); in skd_cons_sksb()
3302 if (skspcl->data_buf == NULL) { in skd_cons_sksb()
3307 bzero(skspcl->data_buf, nbytes); in skd_cons_sksb()
3311 mem = &skspcl->mb_dma_address; in skd_cons_sksb()
3315 skspcl->msg_buf = skd_alloc_dma_mem(skdev, mem, ATYPE_64BIT); in skd_cons_sksb()
3316 if (skspcl->msg_buf == NULL) { in skd_cons_sksb()
3322 bzero(skspcl->msg_buf, nbytes); in skd_cons_sksb()
3324 skspcl->req.sksg_list = skd_cons_sg_list(skdev, 1, in skd_cons_sksb()
3325 &skspcl->req.sksg_dma_address); in skd_cons_sksb()
3328 if (skspcl->req.sksg_list == NULL) { in skd_cons_sksb()
3536 struct skd_special_context *skspcl; in skd_free_sksb() local
3538 skspcl = &skdev->internal_skspcl; in skd_free_sksb()
3540 if (skspcl->data_buf != NULL) { in skd_free_sksb()
3541 skd_free_phys(skdev, &skspcl->db_dma_address); in skd_free_sksb()
3544 skspcl->data_buf = NULL; in skd_free_sksb()
3546 if (skspcl->msg_buf != NULL) { in skd_free_sksb()
3547 skd_free_phys(skdev, &skspcl->mb_dma_address); in skd_free_sksb()
3550 skspcl->msg_buf = NULL; in skd_free_sksb()
3552 skd_free_sg_list(skdev, skspcl->req.sksg_list, 1, in skd_free_sksb()
3553 skspcl->req.sksg_dma_address); in skd_free_sksb()
3555 skspcl->req.sksg_list = NULL; in skd_free_sksb()
4960 struct skd_special_context *skspcl; in skd_detach() local
4998 skspcl = &skdev->internal_skspcl; in skd_detach()
4999 skd_send_internal_skspcl(skdev, skspcl, SYNCHRONIZE_CACHE); in skd_detach()