caamalg.c (b70366e5d31788650b2a5cec5cd13ea80ac7e44a) caamalg.c (b189817cf7894e03fd3700acd923221d3007259e)
1/*
2 * caam - Freescale FSL CAAM support for crypto API
3 *
4 * Copyright 2008-2011 Freescale Semiconductor, Inc.
5 * Copyright 2016 NXP
6 *
7 * Based on talitos crypto API driver.
8 *

--- 252 unchanged lines hidden (view full) ---

261 else
262 ctx->cdata.key_dma = ctx->key_dma + ctx->adata.keylen_pad;
263
264 ctx->adata.key_inline = !!(inl_mask & 1);
265 ctx->cdata.key_inline = !!(inl_mask & 2);
266
267 /* aead_encrypt shared descriptor */
268 desc = ctx->sh_desc_enc;
1/*
2 * caam - Freescale FSL CAAM support for crypto API
3 *
4 * Copyright 2008-2011 Freescale Semiconductor, Inc.
5 * Copyright 2016 NXP
6 *
7 * Based on talitos crypto API driver.
8 *

--- 252 unchanged lines hidden (view full) ---

261 else
262 ctx->cdata.key_dma = ctx->key_dma + ctx->adata.keylen_pad;
263
264 ctx->adata.key_inline = !!(inl_mask & 1);
265 ctx->cdata.key_inline = !!(inl_mask & 2);
266
267 /* aead_encrypt shared descriptor */
268 desc = ctx->sh_desc_enc;
269 cnstr_shdsc_aead_encap(desc, &ctx->cdata, &ctx->adata, ctx->authsize,
270 is_rfc3686, nonce, ctx1_iv_off);
269 cnstr_shdsc_aead_encap(desc, &ctx->cdata, &ctx->adata, ivsize,
270 ctx->authsize, is_rfc3686, nonce, ctx1_iv_off,
271 false);
271 dma_sync_single_for_device(jrdev, ctx->sh_desc_enc_dma,
272 desc_bytes(desc), DMA_TO_DEVICE);
273
274skip_enc:
275 /*
276 * Job Descriptor and Shared Descriptors
277 * must all fit into the 64-word Descriptor h/w Buffer
278 */

--- 15 unchanged lines hidden (view full) ---

294
295 ctx->adata.key_inline = !!(inl_mask & 1);
296 ctx->cdata.key_inline = !!(inl_mask & 2);
297
298 /* aead_decrypt shared descriptor */
299 desc = ctx->sh_desc_dec;
300 cnstr_shdsc_aead_decap(desc, &ctx->cdata, &ctx->adata, ivsize,
301 ctx->authsize, alg->caam.geniv, is_rfc3686,
272 dma_sync_single_for_device(jrdev, ctx->sh_desc_enc_dma,
273 desc_bytes(desc), DMA_TO_DEVICE);
274
275skip_enc:
276 /*
277 * Job Descriptor and Shared Descriptors
278 * must all fit into the 64-word Descriptor h/w Buffer
279 */

--- 15 unchanged lines hidden (view full) ---

295
296 ctx->adata.key_inline = !!(inl_mask & 1);
297 ctx->cdata.key_inline = !!(inl_mask & 2);
298
299 /* aead_decrypt shared descriptor */
300 desc = ctx->sh_desc_dec;
301 cnstr_shdsc_aead_decap(desc, &ctx->cdata, &ctx->adata, ivsize,
302 ctx->authsize, alg->caam.geniv, is_rfc3686,
302 nonce, ctx1_iv_off);
303 nonce, ctx1_iv_off, false);
303 dma_sync_single_for_device(jrdev, ctx->sh_desc_dec_dma,
304 desc_bytes(desc), DMA_TO_DEVICE);
305
306 if (!alg->caam.geniv)
307 goto skip_givenc;
308
309 /*
310 * Job Descriptor and Shared Descriptors

--- 17 unchanged lines hidden (view full) ---

328
329 ctx->adata.key_inline = !!(inl_mask & 1);
330 ctx->cdata.key_inline = !!(inl_mask & 2);
331
332 /* aead_givencrypt shared descriptor */
333 desc = ctx->sh_desc_enc;
334 cnstr_shdsc_aead_givencap(desc, &ctx->cdata, &ctx->adata, ivsize,
335 ctx->authsize, is_rfc3686, nonce,
304 dma_sync_single_for_device(jrdev, ctx->sh_desc_dec_dma,
305 desc_bytes(desc), DMA_TO_DEVICE);
306
307 if (!alg->caam.geniv)
308 goto skip_givenc;
309
310 /*
311 * Job Descriptor and Shared Descriptors

--- 17 unchanged lines hidden (view full) ---

329
330 ctx->adata.key_inline = !!(inl_mask & 1);
331 ctx->cdata.key_inline = !!(inl_mask & 2);
332
333 /* aead_givencrypt shared descriptor */
334 desc = ctx->sh_desc_enc;
335 cnstr_shdsc_aead_givencap(desc, &ctx->cdata, &ctx->adata, ivsize,
336 ctx->authsize, is_rfc3686, nonce,
336 ctx1_iv_off);
337 ctx1_iv_off, false);
337 dma_sync_single_for_device(jrdev, ctx->sh_desc_enc_dma,
338 desc_bytes(desc), DMA_TO_DEVICE);
339
340skip_givenc:
341 return 0;
342}
343
344static int aead_setauthsize(struct crypto_aead *authenc,

--- 3212 unchanged lines hidden ---
338 dma_sync_single_for_device(jrdev, ctx->sh_desc_enc_dma,
339 desc_bytes(desc), DMA_TO_DEVICE);
340
341skip_givenc:
342 return 0;
343}
344
345static int aead_setauthsize(struct crypto_aead *authenc,

--- 3212 unchanged lines hidden ---