Lines Matching refs:cr

191 static int ccp_do_cmd(struct ccp_op *op, u32 *cr, unsigned int cr_count)  in ccp_do_cmd()  argument
224 iowrite32(*(cr + i), cr_addr); in ccp_do_cmd()
264 u32 cr[6]; in ccp_perform_aes() local
267 cr[0] = (CCP_ENGINE_AES << REQ1_ENGINE_SHIFT) in ccp_perform_aes()
272 cr[1] = op->src.u.dma.length - 1; in ccp_perform_aes()
273 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_aes()
274 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_aes()
277 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_aes()
278 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_aes()
282 cr[0] |= ((0x7f) << REQ1_AES_CFB_SIZE_SHIFT); in ccp_perform_aes()
285 cr[0] |= REQ1_EOM; in ccp_perform_aes()
288 cr[0] |= REQ1_INIT; in ccp_perform_aes()
290 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_aes()
295 u32 cr[6]; in ccp_perform_xts_aes() local
298 cr[0] = (CCP_ENGINE_XTS_AES_128 << REQ1_ENGINE_SHIFT) in ccp_perform_xts_aes()
302 cr[1] = op->src.u.dma.length - 1; in ccp_perform_xts_aes()
303 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_xts_aes()
304 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_xts_aes()
307 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_xts_aes()
308 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_xts_aes()
312 cr[0] |= REQ1_EOM; in ccp_perform_xts_aes()
315 cr[0] |= REQ1_INIT; in ccp_perform_xts_aes()
317 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_xts_aes()
322 u32 cr[6]; in ccp_perform_sha() local
325 cr[0] = (CCP_ENGINE_SHA << REQ1_ENGINE_SHIFT) in ccp_perform_sha()
328 cr[1] = op->src.u.dma.length - 1; in ccp_perform_sha()
329 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_sha()
330 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_sha()
335 cr[0] |= REQ1_EOM; in ccp_perform_sha()
336 cr[4] = lower_32_bits(op->u.sha.msg_bits); in ccp_perform_sha()
337 cr[5] = upper_32_bits(op->u.sha.msg_bits); in ccp_perform_sha()
339 cr[4] = 0; in ccp_perform_sha()
340 cr[5] = 0; in ccp_perform_sha()
343 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_sha()
348 u32 cr[6]; in ccp_perform_rsa() local
351 cr[0] = (CCP_ENGINE_RSA << REQ1_ENGINE_SHIFT) in ccp_perform_rsa()
355 cr[1] = op->u.rsa.input_len - 1; in ccp_perform_rsa()
356 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_rsa()
357 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_rsa()
360 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_rsa()
361 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_rsa()
364 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_rsa()
369 u32 cr[6]; in ccp_perform_passthru() local
372 cr[0] = (CCP_ENGINE_PASSTHRU << REQ1_ENGINE_SHIFT) in ccp_perform_passthru()
377 cr[1] = op->src.u.dma.length - 1; in ccp_perform_passthru()
379 cr[1] = op->dst.u.dma.length - 1; in ccp_perform_passthru()
382 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_passthru()
383 cr[3] = (CCP_MEMTYPE_SYSTEM << REQ4_MEMTYPE_SHIFT) in ccp_perform_passthru()
387 cr[3] |= (op->ksb_key << REQ4_KSB_SHIFT); in ccp_perform_passthru()
389 cr[2] = op->src.u.ksb * CCP_KSB_BYTES; in ccp_perform_passthru()
390 cr[3] = (CCP_MEMTYPE_KSB << REQ4_MEMTYPE_SHIFT); in ccp_perform_passthru()
394 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_passthru()
395 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_passthru()
398 cr[4] = op->dst.u.ksb * CCP_KSB_BYTES; in ccp_perform_passthru()
399 cr[5] = (CCP_MEMTYPE_KSB << REQ6_MEMTYPE_SHIFT); in ccp_perform_passthru()
403 cr[0] |= REQ1_EOM; in ccp_perform_passthru()
405 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_passthru()
410 u32 cr[6]; in ccp_perform_ecc() local
413 cr[0] = REQ1_ECC_AFFINE_CONVERT in ccp_perform_ecc()
417 cr[1] = op->src.u.dma.length - 1; in ccp_perform_ecc()
418 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_ecc()
419 cr[3] = (CCP_MEMTYPE_SYSTEM << REQ4_MEMTYPE_SHIFT) in ccp_perform_ecc()
421 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_ecc()
422 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_ecc()
425 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_ecc()