Lines Matching refs:rctx
34 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_done() local
46 dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); in qce_ahash_done()
47 dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); in qce_ahash_done()
49 memcpy(rctx->digest, result->auth_iv, digestsize); in qce_ahash_done()
53 rctx->byte_count[0] = cpu_to_be32(result->auth_byte_count[0]); in qce_ahash_done()
54 rctx->byte_count[1] = cpu_to_be32(result->auth_byte_count[1]); in qce_ahash_done()
60 req->src = rctx->src_orig; in qce_ahash_done()
61 req->nbytes = rctx->nbytes_orig; in qce_ahash_done()
62 rctx->last_blk = false; in qce_ahash_done()
63 rctx->first_blk = false; in qce_ahash_done()
71 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_async_req_handle() local
75 unsigned long flags = rctx->flags; in qce_ahash_async_req_handle()
79 rctx->authkey = ctx->authkey; in qce_ahash_async_req_handle()
80 rctx->authklen = QCE_SHA_HMAC_KEY_SIZE; in qce_ahash_async_req_handle()
82 rctx->authkey = ctx->authkey; in qce_ahash_async_req_handle()
83 rctx->authklen = AES_KEYSIZE_128; in qce_ahash_async_req_handle()
86 rctx->src_nents = sg_nents_for_len(req->src, req->nbytes); in qce_ahash_async_req_handle()
87 if (rctx->src_nents < 0) { in qce_ahash_async_req_handle()
89 return rctx->src_nents; in qce_ahash_async_req_handle()
92 ret = dma_map_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); in qce_ahash_async_req_handle()
96 sg_init_one(&rctx->result_sg, qce->dma.result_buf, QCE_RESULT_BUF_SZ); in qce_ahash_async_req_handle()
98 ret = dma_map_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); in qce_ahash_async_req_handle()
102 ret = qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents, in qce_ahash_async_req_handle()
103 &rctx->result_sg, 1, qce_ahash_done, async_req); in qce_ahash_async_req_handle()
118 dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); in qce_ahash_async_req_handle()
120 dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); in qce_ahash_async_req_handle()
126 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_init() local
130 memset(rctx, 0, sizeof(*rctx)); in qce_ahash_init()
131 rctx->first_blk = true; in qce_ahash_init()
132 rctx->last_blk = false; in qce_ahash_init()
133 rctx->flags = tmpl->alg_flags; in qce_ahash_init()
134 memcpy(rctx->digest, std_iv, sizeof(rctx->digest)); in qce_ahash_init()
142 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_export() local
143 unsigned long flags = rctx->flags; in qce_ahash_export()
151 out_state->count = rctx->count; in qce_ahash_export()
153 rctx->digest, digestsize); in qce_ahash_export()
154 memcpy(out_state->buffer, rctx->buf, blocksize); in qce_ahash_export()
158 out_state->count = rctx->count; in qce_ahash_export()
160 rctx->digest, digestsize); in qce_ahash_export()
161 memcpy(out_state->buf, rctx->buf, blocksize); in qce_ahash_export()
173 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_import_common() local
179 rctx->count = in_count; in qce_import_common()
180 memcpy(rctx->buf, buffer, blocksize); in qce_import_common()
183 rctx->first_blk = 1; in qce_import_common()
185 rctx->first_blk = 0; in qce_import_common()
195 rctx->byte_count[0] = (__force __be32)(count & ~SHA_PADDING_MASK); in qce_import_common()
196 rctx->byte_count[1] = (__force __be32)(count >> 32); in qce_import_common()
197 qce_cpu_to_be32p_array((__be32 *)rctx->digest, (const u8 *)state, in qce_import_common()
199 rctx->buflen = (unsigned int)(in_count & (blocksize - 1)); in qce_import_common()
206 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_import() local
207 unsigned long flags = rctx->flags; in qce_ahash_import()
229 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_update() local
239 rctx->count += req->nbytes; in qce_ahash_update()
242 total = req->nbytes + rctx->buflen; in qce_ahash_update()
245 scatterwalk_map_and_copy(rctx->buf + rctx->buflen, req->src, in qce_ahash_update()
247 rctx->buflen += req->nbytes; in qce_ahash_update()
252 rctx->src_orig = req->src; in qce_ahash_update()
253 rctx->nbytes_orig = req->nbytes; in qce_ahash_update()
259 if (rctx->buflen) in qce_ahash_update()
260 memcpy(rctx->tmpbuf, rctx->buf, rctx->buflen); in qce_ahash_update()
266 scatterwalk_map_and_copy(rctx->buf, req->src, src_offset, in qce_ahash_update()
273 len = rctx->buflen; in qce_ahash_update()
289 if (rctx->buflen) { in qce_ahash_update()
290 sg_init_table(rctx->sg, 2); in qce_ahash_update()
291 sg_set_buf(rctx->sg, rctx->tmpbuf, rctx->buflen); in qce_ahash_update()
292 sg_chain(rctx->sg, 2, req->src); in qce_ahash_update()
293 req->src = rctx->sg; in qce_ahash_update()
297 rctx->buflen = hash_later; in qce_ahash_update()
304 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_final() local
308 if (!rctx->buflen) in qce_ahash_final()
311 rctx->last_blk = true; in qce_ahash_final()
313 rctx->src_orig = req->src; in qce_ahash_final()
314 rctx->nbytes_orig = req->nbytes; in qce_ahash_final()
316 memcpy(rctx->tmpbuf, rctx->buf, rctx->buflen); in qce_ahash_final()
317 sg_init_one(rctx->sg, rctx->tmpbuf, rctx->buflen); in qce_ahash_final()
319 req->src = rctx->sg; in qce_ahash_final()
320 req->nbytes = rctx->buflen; in qce_ahash_final()
327 struct qce_sha_reqctx *rctx = ahash_request_ctx(req); in qce_ahash_digest() local
336 rctx->src_orig = req->src; in qce_ahash_digest()
337 rctx->nbytes_orig = req->nbytes; in qce_ahash_digest()
338 rctx->first_blk = true; in qce_ahash_digest()
339 rctx->last_blk = true; in qce_ahash_digest()