Lines Matching refs:cr
192 static int ccp_do_cmd(struct ccp_op *op, u32 *cr, unsigned int cr_count) in ccp_do_cmd() argument
225 iowrite32(*(cr + i), cr_addr); in ccp_do_cmd()
265 u32 cr[6]; in ccp_perform_aes() local
268 cr[0] = (CCP_ENGINE_AES << REQ1_ENGINE_SHIFT) in ccp_perform_aes()
273 cr[1] = op->src.u.dma.length - 1; in ccp_perform_aes()
274 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_aes()
275 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_aes()
278 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_aes()
279 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_aes()
283 cr[0] |= ((0x7f) << REQ1_AES_CFB_SIZE_SHIFT); in ccp_perform_aes()
286 cr[0] |= REQ1_EOM; in ccp_perform_aes()
289 cr[0] |= REQ1_INIT; in ccp_perform_aes()
291 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_aes()
296 u32 cr[6]; in ccp_perform_xts_aes() local
299 cr[0] = (CCP_ENGINE_XTS_AES_128 << REQ1_ENGINE_SHIFT) in ccp_perform_xts_aes()
303 cr[1] = op->src.u.dma.length - 1; in ccp_perform_xts_aes()
304 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_xts_aes()
305 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_xts_aes()
308 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_xts_aes()
309 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_xts_aes()
313 cr[0] |= REQ1_EOM; in ccp_perform_xts_aes()
316 cr[0] |= REQ1_INIT; in ccp_perform_xts_aes()
318 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_xts_aes()
323 u32 cr[6]; in ccp_perform_sha() local
326 cr[0] = (CCP_ENGINE_SHA << REQ1_ENGINE_SHIFT) in ccp_perform_sha()
329 cr[1] = op->src.u.dma.length - 1; in ccp_perform_sha()
330 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_sha()
331 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_sha()
336 cr[0] |= REQ1_EOM; in ccp_perform_sha()
337 cr[4] = lower_32_bits(op->u.sha.msg_bits); in ccp_perform_sha()
338 cr[5] = upper_32_bits(op->u.sha.msg_bits); in ccp_perform_sha()
340 cr[4] = 0; in ccp_perform_sha()
341 cr[5] = 0; in ccp_perform_sha()
344 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_sha()
349 u32 cr[6]; in ccp_perform_rsa() local
352 cr[0] = (CCP_ENGINE_RSA << REQ1_ENGINE_SHIFT) in ccp_perform_rsa()
356 cr[1] = op->u.rsa.input_len - 1; in ccp_perform_rsa()
357 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_rsa()
358 cr[3] = (op->ksb_ctx << REQ4_KSB_SHIFT) in ccp_perform_rsa()
361 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_rsa()
362 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_rsa()
365 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_rsa()
370 u32 cr[6]; in ccp_perform_passthru() local
373 cr[0] = (CCP_ENGINE_PASSTHRU << REQ1_ENGINE_SHIFT) in ccp_perform_passthru()
378 cr[1] = op->src.u.dma.length - 1; in ccp_perform_passthru()
380 cr[1] = op->dst.u.dma.length - 1; in ccp_perform_passthru()
383 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_passthru()
384 cr[3] = (CCP_MEMTYPE_SYSTEM << REQ4_MEMTYPE_SHIFT) in ccp_perform_passthru()
388 cr[3] |= (op->ksb_key << REQ4_KSB_SHIFT); in ccp_perform_passthru()
390 cr[2] = op->src.u.ksb * CCP_KSB_BYTES; in ccp_perform_passthru()
391 cr[3] = (CCP_MEMTYPE_KSB << REQ4_MEMTYPE_SHIFT); in ccp_perform_passthru()
395 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_passthru()
396 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_passthru()
399 cr[4] = op->dst.u.ksb * CCP_KSB_BYTES; in ccp_perform_passthru()
400 cr[5] = (CCP_MEMTYPE_KSB << REQ6_MEMTYPE_SHIFT); in ccp_perform_passthru()
404 cr[0] |= REQ1_EOM; in ccp_perform_passthru()
406 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_passthru()
411 u32 cr[6]; in ccp_perform_ecc() local
414 cr[0] = REQ1_ECC_AFFINE_CONVERT in ccp_perform_ecc()
418 cr[1] = op->src.u.dma.length - 1; in ccp_perform_ecc()
419 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_ecc()
420 cr[3] = (CCP_MEMTYPE_SYSTEM << REQ4_MEMTYPE_SHIFT) in ccp_perform_ecc()
422 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_ecc()
423 cr[5] = (CCP_MEMTYPE_SYSTEM << REQ6_MEMTYPE_SHIFT) in ccp_perform_ecc()
426 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_ecc()