Lines Matching defs:reqp

60 	dca_request_t		*reqp = ctx->cc_provider_private;
63 crypto_data_t *nin = &reqp->dr_ctx.in_dup;
125 reqp->dr_kcf_req = req;
126 reqp->dr_in = nin;
127 reqp->dr_out = out;
128 reqp->dr_job_stat = DS_3DESJOBS;
129 reqp->dr_byte_stat = DS_3DESBYTES;
131 rv = dca_3desstart(dca, flags, reqp);
168 dca_request_t *reqp = ctx->cc_provider_private;
171 crypto_data_t *nin = &reqp->dr_ctx.in_dup;
204 reqp->dr_kcf_req = req;
221 dca_freereq(reqp);
269 reqp->dr_in = nin;
270 reqp->dr_out = out;
271 reqp->dr_job_stat = DS_3DESJOBS;
272 reqp->dr_byte_stat = DS_3DESBYTES;
274 rv = dca_3desstart(dca, flags, reqp);
378 dca_3desstart(dca_t *dca, uint32_t flags, dca_request_t *reqp)
381 crypto_data_t *in = reqp->dr_in;
383 dca_request_t *ctx = reqp;
396 reqp->dr_pkt_length = (uint16_t)len;
454 reqp->dr_flags &= ~(DR_SCATTER | DR_GATHER);
456 dca_sgcheck(dca, reqp->dr_in, DCA_SG_CONTIG) ||
457 dca_sgcheck(dca, reqp->dr_out, DCA_SG_WALIGN)) {
458 reqp->dr_flags |= DR_SCATTER | DR_GATHER;
462 if (!(reqp->dr_flags & (DR_SCATTER | DR_GATHER))) {
463 if (dca_bindchains(reqp, len, len) == DDI_SUCCESS) {
464 reqp->dr_in->cd_offset += len;
465 reqp->dr_in->cd_length -= len;
474 if (reqp->dr_flags & DR_GATHER) {
476 &ctx->dr_ctx.activeresidlen, reqp->dr_ibuf_kaddr, len);
488 (void) ddi_dma_sync(reqp->dr_ibuf_dmah, 0, len,
490 if (dca_check_dma_handle(dca, reqp->dr_ibuf_dmah,
492 reqp->destroy = TRUE;
496 reqp->dr_in_paddr = reqp->dr_ibuf_head.dc_buffer_paddr;
497 reqp->dr_in_next = reqp->dr_ibuf_head.dc_next_paddr;
498 if (len > reqp->dr_ibuf_head.dc_buffer_length)
499 reqp->dr_in_len = reqp->dr_ibuf_head.dc_buffer_length;
501 reqp->dr_in_len = len;
509 if (reqp->dr_flags & DR_SCATTER) {
510 reqp->dr_out_paddr = reqp->dr_obuf_head.dc_buffer_paddr;
511 reqp->dr_out_next = reqp->dr_obuf_head.dc_next_paddr;
512 if (len > reqp->dr_obuf_head.dc_buffer_length)
513 reqp->dr_out_len = reqp->dr_obuf_head.dc_buffer_length;
515 reqp->dr_out_len = len;
518 reqp->dr_flags |= flags;
519 reqp->dr_callback = dca_3desdone;
522 PUTCTX32(reqp, CTX_3DESIVHI, iv[0]);
523 PUTCTX32(reqp, CTX_3DESIVLO, iv[1]);
526 return (dca_start(dca, reqp, MCR1, 1));
530 dca_3desdone(dca_request_t *reqp, int errno)
532 crypto_data_t *out = reqp->dr_out;
533 dca_request_t *ctx = reqp;
544 off = dca_length(out) + reqp->dr_pkt_length - DESBLOCK;
546 if (reqp->dr_flags & DR_SCATTER) {
547 (void) ddi_dma_sync(reqp->dr_obuf_dmah, 0,
548 reqp->dr_out_len, DDI_DMA_SYNC_FORKERNEL);
549 if (dca_check_dma_handle(reqp->dr_dca,
550 reqp->dr_obuf_dmah, DCA_FM_ECLASS_NONE) !=
552 reqp->destroy = TRUE;
557 errno = dca_scatter(reqp->dr_obuf_kaddr,
558 reqp->dr_out, reqp->dr_out_len, 0);
567 out->cd_length += reqp->dr_pkt_length;
575 if (reqp->dr_flags & DR_ENCRYPT) {
608 if (dca_length(reqp->dr_in) >= 8) {
609 errno = dca_3desstart(reqp->dr_dca, reqp->dr_flags,
610 reqp);
623 if (reqp->dr_ctx.atomic) {
627 if (reqp->dr_flags & DR_DECRYPT) {
635 ASSERT(reqp->dr_kcf_req != NULL);
637 crypto_op_notification(reqp->dr_kcf_req, errno);
643 if (reqp->dr_ctx.atomic) {
644 reqp->dr_context = NULL;
645 reqp->dr_ctx.atomic = 0;
646 reqp->dr_ctx.ctx_cm_type = 0;
647 if (reqp->destroy)
648 dca_destroyreq(reqp);
650 dca_freereq(reqp);