Lines Matching refs:ce

3  * sun8i-ce-cipher.c - hardware cryptographic offloader for
22 #include "sun8i-ce.h"
125 struct sun8i_ce_dev *ce = op->ce;
143 dev_dbg(ce->dev, "%s %s %u %x IV(%p %u) key=%u\n", __func__,
155 chan = &ce->chanlist[flow];
161 common = ce->variant->alg_cipher[algt->ce_algo_id];
165 if (ce->variant->cipher_t_dlen_in_bytes)
170 sym = ce->variant->op_mode[algt->ce_blockmode];
187 rctx->addr_key = dma_map_single(ce->dev, op->key, op->keylen, DMA_TO_DEVICE);
188 if (dma_mapping_error(ce->dev, rctx->addr_key)) {
189 dev_err(ce->dev, "Cannot DMA MAP KEY\n");
204 rctx->addr_iv = dma_map_single(ce->dev, chan->bounce_iv, rctx->ivlen,
206 if (dma_mapping_error(ce->dev, rctx->addr_iv)) {
207 dev_err(ce->dev, "Cannot DMA MAP IV\n");
215 nr_sgs = dma_map_sg(ce->dev, areq->src, ns, DMA_BIDIRECTIONAL);
217 dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs);
223 nr_sgs = dma_map_sg(ce->dev, areq->src, ns, DMA_TO_DEVICE);
225 dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs);
229 nr_sgd = dma_map_sg(ce->dev, areq->dst, nd, DMA_FROM_DEVICE);
231 dev_err(ce->dev, "Invalid sg number %d\n", nr_sgd);
242 dev_dbg(ce->dev, "%s total=%u SG(%d %u off=%d) todo=%u\n", __func__,
247 dev_err(ce->dev, "remaining len %d\n", len);
257 dev_dbg(ce->dev, "%s total=%u SG(%d %u off=%d) todo=%u\n", __func__,
262 dev_err(ce->dev, "remaining len %d\n", len);
274 dma_unmap_sg(ce->dev, areq->src, ns, DMA_BIDIRECTIONAL);
277 dma_unmap_sg(ce->dev, areq->src, ns, DMA_TO_DEVICE);
278 dma_unmap_sg(ce->dev, areq->dst, nd, DMA_FROM_DEVICE);
284 dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE);
296 dma_unmap_single(ce->dev, rctx->addr_key, op->keylen, DMA_TO_DEVICE);
308 struct sun8i_ce_dev *ce = op->ce;
318 chan = &ce->chanlist[flow];
323 dma_unmap_sg(ce->dev, areq->src, nr_sgs, DMA_BIDIRECTIONAL);
326 dma_unmap_sg(ce->dev, areq->src, nr_sgs, DMA_TO_DEVICE);
327 dma_unmap_sg(ce->dev, areq->dst, nr_sgd, DMA_FROM_DEVICE);
332 dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE);
344 dma_unmap_single(ce->dev, rctx->addr_key, op->keylen, DMA_TO_DEVICE);
352 struct sun8i_ce_dev *ce = op->ce;
357 err = sun8i_ce_run_task(ce, flow, crypto_tfm_alg_name(breq->base.tfm));
387 e = sun8i_ce_get_engine_number(op->ce);
389 engine = op->ce->chanlist[e].engine;
406 e = sun8i_ce_get_engine_number(op->ce);
408 engine = op->ce->chanlist[e].engine;
425 op->ce = algt->ce;
429 dev_err(op->ce->dev, "ERROR: Cannot allocate fallback for %s %ld\n",
441 err = pm_runtime_get_sync(op->ce->dev);
447 pm_runtime_put_noidle(op->ce->dev);
458 pm_runtime_put_sync_suspend(op->ce->dev);
465 struct sun8i_ce_dev *ce = op->ce;
475 dev_dbg(ce->dev, "ERROR: Invalid keylen %u\n", keylen);