Lines Matching refs:aad_len
465 static void hw_get_ccm_aad_padding(u32 aad_len, u8 *padding, u32 *padding_size) in hw_get_ccm_aad_padding() argument
469 if (aad_len == 0) { in hw_get_ccm_aad_padding()
474 if (aad_len < (0x10000 - 0x100)) { in hw_get_ccm_aad_padding()
476 } else if (sizeof(aad_len) == 8 && in hw_get_ccm_aad_padding()
477 aad_len >= (size_t)1 << (32 % (sizeof(aad_len) * 8))) { in hw_get_ccm_aad_padding()
484 padding[0] = aad_len >> 8; in hw_get_ccm_aad_padding()
485 padding[1] = aad_len; in hw_get_ccm_aad_padding()
489 padding[2] = aad_len >> (56 % (sizeof(aad_len) * 8)); in hw_get_ccm_aad_padding()
490 padding[3] = aad_len >> (48 % (sizeof(aad_len) * 8)); in hw_get_ccm_aad_padding()
491 padding[4] = aad_len >> (40 % (sizeof(aad_len) * 8)); in hw_get_ccm_aad_padding()
492 padding[5] = aad_len >> (32 % (sizeof(aad_len) * 8)); in hw_get_ccm_aad_padding()
493 padding[6] = aad_len >> 24; in hw_get_ccm_aad_padding()
494 padding[7] = aad_len >> 16; in hw_get_ccm_aad_padding()
495 padding[8] = aad_len >> 8; in hw_get_ccm_aad_padding()
496 padding[9] = aad_len; in hw_get_ccm_aad_padding()
500 padding[2] = aad_len >> 24; in hw_get_ccm_aad_padding()
501 padding[3] = aad_len >> 16; in hw_get_ccm_aad_padding()
502 padding[4] = aad_len >> 8; in hw_get_ccm_aad_padding()
509 u32 aad_len, u32 tag_size) in hw_compose_ccm_aad_iv() argument
537 if (aad_len) in hw_compose_ccm_aad_iv()
548 static int rkce_build_ccm_aad(const u8 *aad, u32 aad_len, u32 data_len, in rkce_build_ccm_aad() argument
574 hw_get_ccm_aad_padding(aad_len, pad, &pad_size); in rkce_build_ccm_aad()
576 aad_tmp_len = aad_len + AES_BLOCK_SIZE + pad_size; in rkce_build_ccm_aad()
588 hw_compose_ccm_aad_iv(aad_tmp, data_len, aad_len, tag_len); in rkce_build_ccm_aad()
591 memcpy(aad_tmp + AES_BLOCK_SIZE + pad_size, aad, aad_len); in rkce_build_ccm_aad()
753 const u8 *aad, u32 aad_len, u8 *tag) in rk_crypto_cipher() argument
805 ret = rkce_build_ccm_aad(aad, aad_len, len, in rk_crypto_cipher()
844 ret = rk_set_symm_td_sg(hw_ctx->td_aad, aad, aad_len, NULL, 0); in rk_crypto_cipher()
848 hw_ctx->td_buf->gcm_len.aad_len_l = aad_len; in rk_crypto_cipher()
856 crypto_flush_cacheline((ulong)aad, aad_len); in rk_crypto_cipher()
907 const u8 *in, u32 len, const u8 *aad, u32 aad_len, in rockchip_crypto_ae() argument
910 return rk_crypto_cipher(dev, ctx, in, out, len, true, aad, aad_len, tag); in rockchip_crypto_ae()