Lines Matching refs:spu
120 return chan_idx % iproc_priv.spu.num_chan; in select_channel()
149 struct spu_hw *spu = &iproc_priv.spu; in spu_ablkcipher_rx_sg_create() local
154 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_ablkcipher_rx_sg_create()
156 if (!mssg->spu.dst) in spu_ablkcipher_rx_sg_create()
159 sg = mssg->spu.dst; in spu_ablkcipher_rx_sg_create()
166 spu->spu_xts_tweak_in_payload()) in spu_ablkcipher_rx_sg_create()
187 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_ablkcipher_rx_sg_create()
216 struct spu_hw *spu = &iproc_priv.spu; in spu_ablkcipher_tx_sg_create() local
222 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_ablkcipher_tx_sg_create()
224 if (unlikely(!mssg->spu.src)) in spu_ablkcipher_tx_sg_create()
227 sg = mssg->spu.src; in spu_ablkcipher_tx_sg_create()
235 spu->spu_xts_tweak_in_payload()) in spu_ablkcipher_tx_sg_create()
250 stat_len = spu->spu_tx_status_len(); in spu_ablkcipher_tx_sg_create()
316 struct spu_hw *spu = &iproc_priv.spu; in handle_ablkcipher_req() local
444 spu->spu_cipher_req_finish(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_ablkcipher_req()
450 stat_pad_len = spu->spu_wordalign_padlen(chunksize); in handle_ablkcipher_req()
456 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, 0, in handle_ablkcipher_req()
461 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_ablkcipher_req()
479 spu->spu_xts_tweak_in_payload()) in handle_ablkcipher_req()
489 if (spu->spu_tx_status_len()) in handle_ablkcipher_req()
493 spu->spu_xts_tweak_in_payload()) in handle_ablkcipher_req()
515 struct spu_hw *spu = &iproc_priv.spu; in handle_ablkcipher_resp() local
524 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_ablkcipher_resp()
531 spu->spu_xts_tweak_in_payload() && in handle_ablkcipher_resp()
578 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_rx_sg_create() local
582 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_ahash_rx_sg_create()
584 if (!mssg->spu.dst) in spu_ahash_rx_sg_create()
587 sg = mssg->spu.dst; in spu_ahash_rx_sg_create()
599 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_ahash_rx_sg_create()
632 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_tx_sg_create() local
637 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_ahash_tx_sg_create()
639 if (!mssg->spu.src) in spu_ahash_tx_sg_create()
642 sg = mssg->spu.src; in spu_ahash_tx_sg_create()
665 stat_len = spu->spu_tx_status_len(); in spu_ahash_tx_sg_create()
702 struct spu_hw *spu = &iproc_priv.spu; in handle_ahash_req() local
823 hash_parms.type = spu->spu_hash_type(rctx->total_sent); in handle_ahash_req()
825 digestsize = spu->spu_digest_size(ctx->digestsize, ctx->auth.alg, in handle_ahash_req()
835 hash_parms.pad_len = spu->spu_hash_pad_len(hash_parms.alg, in handle_ahash_req()
866 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_ahash_req()
881 data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, chunksize); in handle_ahash_req()
884 if (spu->spu_tx_status_len()) in handle_ahash_req()
885 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_ahash_req()
891 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, data_pad_len, in handle_ahash_req()
897 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_ahash_req()
920 if (spu->spu_tx_status_len()) in handle_ahash_req()
993 struct spu_hw *spu = &iproc_priv.spu; in ahash_req_done() local
1001 if (spu->spu_type == SPU_TYPE_SPUM) { in ahash_req_done()
1098 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_rx_sg_create() local
1107 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1111 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1113 assoc_buf_len = spu->spu_assoc_resp_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1120 data_padlen += spu->spu_wordalign_padlen(assoc_buf_len + in spu_aead_rx_sg_create()
1128 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_aead_rx_sg_create()
1130 if (!mssg->spu.dst) in spu_aead_rx_sg_create()
1133 sg = mssg->spu.dst; in spu_aead_rx_sg_create()
1178 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_aead_rx_sg_create()
1221 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_tx_sg_create() local
1230 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_aead_tx_sg_create()
1232 if (!mssg->spu.src) in spu_aead_tx_sg_create()
1235 sg = mssg->spu.src; in spu_aead_tx_sg_create()
1282 stat_len = spu->spu_tx_status_len(); in spu_aead_tx_sg_create()
1309 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_req() local
1402 if (spu->spu_assoc_resp_len(ctx->cipher.mode, in handle_aead_req()
1408 aead_parms.iv_len = spu->spu_aead_ivlen(ctx->cipher.mode, in handle_aead_req()
1415 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1419 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1427 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1437 spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1441 spu->spu_ccm_update_iv(digestsize, &cipher_parms, req->assoclen, in handle_aead_req()
1453 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1458 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1481 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_aead_req()
1491 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_aead_req()
1498 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, in handle_aead_req()
1504 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_aead_req()
1557 if (spu->spu_tx_status_len()) in handle_aead_req()
1579 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_resp() local
1589 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_aead_resp()
1642 kfree(mssg->spu.src); in spu_chunk_cleanup()
1643 kfree(mssg->spu.dst); in spu_chunk_cleanup()
1675 struct spu_hw *spu = &iproc_priv.spu; in spu_rx_callback() local
1693 err = spu->spu_status_process(rctx->msg_buf.rx_stat); in spu_rx_callback()
1915 struct spu_hw *spu = &iproc_priv.spu; in ablkcipher_setkey() local
1958 if (spu->spu_type == SPU_TYPE_SPUM) in ablkcipher_setkey()
1960 else if (spu->spu_type == SPU_TYPE_SPU2) in ablkcipher_setkey()
1976 spu->spu_cipher_req_init(ctx->bcm_spu_req_hdr + BCM_HDR_LEN, in ablkcipher_setkey()
1979 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in ablkcipher_setkey()
2028 (iproc_priv.spu.spu_type == SPU_TYPE_SPU2)) { in ahash_enqueue()
2059 struct spu_hw *spu = &iproc_priv.spu; in __ahash_init() local
2081 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, 0, in __ahash_init()
2102 struct spu_hw *spu = &iproc_priv.spu; in spu_no_incr_hash() local
2104 if (spu->spu_type == SPU_TYPE_SPU2) in spu_no_incr_hash()
2494 if (iproc_priv.spu.spu_type == SPU_TYPE_SPUM) { in ahash_hmac_setkey()
2578 if (iproc_priv.spu.spu_type == SPU_TYPE_SPU2) { in ahash_hmac_digest()
2606 struct spu_hw *spu = &iproc_priv.spu; in aead_need_fallback() local
2627 (spu->spu_type == SPU_TYPE_SPUM) && in aead_need_fallback()
2640 (spu->spu_subtype == SPU_SUBTYPE_SPUM_NSP) && in aead_need_fallback()
2648 if (spu->spu_type == SPU_TYPE_SPUM) in aead_need_fallback()
2845 struct spu_hw *spu = &iproc_priv.spu; in aead_authenc_setkey() local
2971 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_authenc_setkey()
2991 struct spu_hw *spu = &iproc_priv.spu; in aead_gcm_ccm_setkey() local
3044 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_gcm_ccm_setkey()
4327 struct spu_hw *spu = &iproc_priv.spu; in generic_cra_init() local
4337 ctx->max_payload = spu->spu_ctx_max_payload(ctx->cipher.alg, in generic_cra_init()
4456 struct spu_hw *spu = &iproc_priv.spu; in spu_functions_register() local
4460 spu->spu_dump_msg_hdr = spum_dump_msg_hdr; in spu_functions_register()
4461 spu->spu_payload_length = spum_payload_length; in spu_functions_register()
4462 spu->spu_response_hdr_len = spum_response_hdr_len; in spu_functions_register()
4463 spu->spu_hash_pad_len = spum_hash_pad_len; in spu_functions_register()
4464 spu->spu_gcm_ccm_pad_len = spum_gcm_ccm_pad_len; in spu_functions_register()
4465 spu->spu_assoc_resp_len = spum_assoc_resp_len; in spu_functions_register()
4466 spu->spu_aead_ivlen = spum_aead_ivlen; in spu_functions_register()
4467 spu->spu_hash_type = spum_hash_type; in spu_functions_register()
4468 spu->spu_digest_size = spum_digest_size; in spu_functions_register()
4469 spu->spu_create_request = spum_create_request; in spu_functions_register()
4470 spu->spu_cipher_req_init = spum_cipher_req_init; in spu_functions_register()
4471 spu->spu_cipher_req_finish = spum_cipher_req_finish; in spu_functions_register()
4472 spu->spu_request_pad = spum_request_pad; in spu_functions_register()
4473 spu->spu_tx_status_len = spum_tx_status_len; in spu_functions_register()
4474 spu->spu_rx_status_len = spum_rx_status_len; in spu_functions_register()
4475 spu->spu_status_process = spum_status_process; in spu_functions_register()
4476 spu->spu_xts_tweak_in_payload = spum_xts_tweak_in_payload; in spu_functions_register()
4477 spu->spu_ccm_update_iv = spum_ccm_update_iv; in spu_functions_register()
4478 spu->spu_wordalign_padlen = spum_wordalign_padlen; in spu_functions_register()
4480 spu->spu_ctx_max_payload = spum_ns2_ctx_max_payload; in spu_functions_register()
4482 spu->spu_ctx_max_payload = spum_nsp_ctx_max_payload; in spu_functions_register()
4485 spu->spu_dump_msg_hdr = spu2_dump_msg_hdr; in spu_functions_register()
4486 spu->spu_ctx_max_payload = spu2_ctx_max_payload; in spu_functions_register()
4487 spu->spu_payload_length = spu2_payload_length; in spu_functions_register()
4488 spu->spu_response_hdr_len = spu2_response_hdr_len; in spu_functions_register()
4489 spu->spu_hash_pad_len = spu2_hash_pad_len; in spu_functions_register()
4490 spu->spu_gcm_ccm_pad_len = spu2_gcm_ccm_pad_len; in spu_functions_register()
4491 spu->spu_assoc_resp_len = spu2_assoc_resp_len; in spu_functions_register()
4492 spu->spu_aead_ivlen = spu2_aead_ivlen; in spu_functions_register()
4493 spu->spu_hash_type = spu2_hash_type; in spu_functions_register()
4494 spu->spu_digest_size = spu2_digest_size; in spu_functions_register()
4495 spu->spu_create_request = spu2_create_request; in spu_functions_register()
4496 spu->spu_cipher_req_init = spu2_cipher_req_init; in spu_functions_register()
4497 spu->spu_cipher_req_finish = spu2_cipher_req_finish; in spu_functions_register()
4498 spu->spu_request_pad = spu2_request_pad; in spu_functions_register()
4499 spu->spu_tx_status_len = spu2_tx_status_len; in spu_functions_register()
4500 spu->spu_rx_status_len = spu2_rx_status_len; in spu_functions_register()
4501 spu->spu_status_process = spu2_status_process; in spu_functions_register()
4502 spu->spu_xts_tweak_in_payload = spu2_xts_tweak_in_payload; in spu_functions_register()
4503 spu->spu_ccm_update_iv = spu2_ccm_update_iv; in spu_functions_register()
4504 spu->spu_wordalign_padlen = spu2_wordalign_padlen; in spu_functions_register()
4521 iproc_priv.mbox = devm_kcalloc(dev, iproc_priv.spu.num_chan, in spu_mb_init()
4533 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4547 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4559 for (i = 0; i < iproc_priv.spu.num_chan; i++) in spu_mb_release()
4570 atomic_set(&iproc_priv.next_chan, (int)iproc_priv.spu.num_chan); in spu_counters_init()
4595 struct spu_hw *spu = &iproc_priv.spu; in spu_register_ablkcipher() local
4601 (spu->spu_type == SPU_TYPE_SPU2)) in spu_register_ablkcipher()
4630 struct spu_hw *spu = &iproc_priv.spu; in spu_register_ahash() local
4637 (spu->spu_type == SPU_TYPE_SPUM)) in spu_register_ahash()
4642 (spu->spu_subtype != SPU_SUBTYPE_SPU2_V2)) in spu_register_ahash()
4807 struct spu_hw *spu = &iproc_priv.spu; in spu_dt_read() local
4814 spu->num_chan = of_count_phandle_with_args(dn, "mboxes", "#mbox-cells"); in spu_dt_read()
4822 spu->spu_type = matched_spu_type->type; in spu_dt_read()
4823 spu->spu_subtype = matched_spu_type->subtype; in spu_dt_read()
4829 spu->reg_vbase[i] = devm_ioremap_resource(dev, spu_ctrl_regs); in spu_dt_read()
4830 if (IS_ERR(spu->reg_vbase[i])) { in spu_dt_read()
4831 err = PTR_ERR(spu->reg_vbase[i]); in spu_dt_read()
4834 spu->reg_vbase[i] = NULL; in spu_dt_read()
4838 spu->num_spu = i; in spu_dt_read()
4839 dev_dbg(dev, "Device has %d SPUs", spu->num_spu); in spu_dt_read()
4847 struct spu_hw *spu = &iproc_priv.spu; in bcm_spu_probe() local
4862 if (spu->spu_type == SPU_TYPE_SPUM) in bcm_spu_probe()
4864 else if (spu->spu_type == SPU_TYPE_SPU2) in bcm_spu_probe()
4867 spu_functions_register(&pdev->dev, spu->spu_type, spu->spu_subtype); in bcm_spu_probe()