Lines Matching refs:spu

109 	return chan_idx % iproc_priv.spu.num_chan;  in select_channel()
138 struct spu_hw *spu = &iproc_priv.spu; in spu_skcipher_rx_sg_create() local
143 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_skcipher_rx_sg_create()
145 if (!mssg->spu.dst) in spu_skcipher_rx_sg_create()
148 sg = mssg->spu.dst; in spu_skcipher_rx_sg_create()
155 spu->spu_xts_tweak_in_payload()) in spu_skcipher_rx_sg_create()
172 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_skcipher_rx_sg_create()
201 struct spu_hw *spu = &iproc_priv.spu; in spu_skcipher_tx_sg_create() local
207 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_skcipher_tx_sg_create()
209 if (unlikely(!mssg->spu.src)) in spu_skcipher_tx_sg_create()
212 sg = mssg->spu.src; in spu_skcipher_tx_sg_create()
220 spu->spu_xts_tweak_in_payload()) in spu_skcipher_tx_sg_create()
235 stat_len = spu->spu_tx_status_len(); in spu_skcipher_tx_sg_create()
301 struct spu_hw *spu = &iproc_priv.spu; in handle_skcipher_req() local
401 spu->spu_cipher_req_finish(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_skcipher_req()
407 stat_pad_len = spu->spu_wordalign_padlen(chunksize); in handle_skcipher_req()
413 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, 0, in handle_skcipher_req()
418 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_skcipher_req()
436 spu->spu_xts_tweak_in_payload()) in handle_skcipher_req()
446 if (spu->spu_tx_status_len()) in handle_skcipher_req()
450 spu->spu_xts_tweak_in_payload()) in handle_skcipher_req()
472 struct spu_hw *spu = &iproc_priv.spu; in handle_skcipher_resp() local
479 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_skcipher_resp()
486 spu->spu_xts_tweak_in_payload() && in handle_skcipher_resp()
530 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_rx_sg_create() local
534 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_ahash_rx_sg_create()
536 if (!mssg->spu.dst) in spu_ahash_rx_sg_create()
539 sg = mssg->spu.dst; in spu_ahash_rx_sg_create()
551 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_ahash_rx_sg_create()
584 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_tx_sg_create() local
589 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_ahash_tx_sg_create()
591 if (!mssg->spu.src) in spu_ahash_tx_sg_create()
594 sg = mssg->spu.src; in spu_ahash_tx_sg_create()
617 stat_len = spu->spu_tx_status_len(); in spu_ahash_tx_sg_create()
654 struct spu_hw *spu = &iproc_priv.spu; in handle_ahash_req() local
775 hash_parms.type = spu->spu_hash_type(rctx->total_sent); in handle_ahash_req()
777 digestsize = spu->spu_digest_size(ctx->digestsize, ctx->auth.alg, in handle_ahash_req()
787 hash_parms.pad_len = spu->spu_hash_pad_len(hash_parms.alg, in handle_ahash_req()
818 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_ahash_req()
833 data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, chunksize); in handle_ahash_req()
836 if (spu->spu_tx_status_len()) in handle_ahash_req()
837 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_ahash_req()
843 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, data_pad_len, in handle_ahash_req()
849 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_ahash_req()
872 if (spu->spu_tx_status_len()) in handle_ahash_req()
945 struct spu_hw *spu = &iproc_priv.spu; in ahash_req_done() local
953 if (spu->spu_type == SPU_TYPE_SPUM) { in ahash_req_done()
1049 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_rx_sg_create() local
1058 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1062 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1064 assoc_buf_len = spu->spu_assoc_resp_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1071 data_padlen += spu->spu_wordalign_padlen(assoc_buf_len + in spu_aead_rx_sg_create()
1079 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_aead_rx_sg_create()
1081 if (!mssg->spu.dst) in spu_aead_rx_sg_create()
1084 sg = mssg->spu.dst; in spu_aead_rx_sg_create()
1129 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_aead_rx_sg_create()
1172 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_tx_sg_create() local
1181 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_aead_tx_sg_create()
1183 if (!mssg->spu.src) in spu_aead_tx_sg_create()
1186 sg = mssg->spu.src; in spu_aead_tx_sg_create()
1233 stat_len = spu->spu_tx_status_len(); in spu_aead_tx_sg_create()
1260 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_req() local
1353 if (spu->spu_assoc_resp_len(ctx->cipher.mode, in handle_aead_req()
1359 aead_parms.iv_len = spu->spu_aead_ivlen(ctx->cipher.mode, in handle_aead_req()
1366 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1370 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1378 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1388 spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1392 spu->spu_ccm_update_iv(digestsize, &cipher_parms, req->assoclen, in handle_aead_req()
1404 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1409 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1432 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_aead_req()
1442 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_aead_req()
1449 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, in handle_aead_req()
1455 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_aead_req()
1508 if (spu->spu_tx_status_len()) in handle_aead_req()
1530 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_resp() local
1540 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_aead_resp()
1593 kfree(mssg->spu.src); in spu_chunk_cleanup()
1594 kfree(mssg->spu.dst); in spu_chunk_cleanup()
1626 struct spu_hw *spu = &iproc_priv.spu; in spu_rx_callback() local
1640 err = spu->spu_status_process(rctx->msg_buf.rx_stat); in spu_rx_callback()
1821 struct spu_hw *spu = &iproc_priv.spu; in skcipher_setkey() local
1859 if (spu->spu_type == SPU_TYPE_SPUM) in skcipher_setkey()
1861 else if (spu->spu_type == SPU_TYPE_SPU2) in skcipher_setkey()
1877 spu->spu_cipher_req_init(ctx->bcm_spu_req_hdr + BCM_HDR_LEN, in skcipher_setkey()
1880 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in skcipher_setkey()
1929 (iproc_priv.spu.spu_type == SPU_TYPE_SPU2)) { in ahash_enqueue()
1960 struct spu_hw *spu = &iproc_priv.spu; in __ahash_init() local
1982 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, 0, in __ahash_init()
2003 struct spu_hw *spu = &iproc_priv.spu; in spu_no_incr_hash() local
2005 if (spu->spu_type == SPU_TYPE_SPU2) in spu_no_incr_hash()
2394 if (iproc_priv.spu.spu_type == SPU_TYPE_SPUM) { in ahash_hmac_setkey()
2479 if (iproc_priv.spu.spu_type == SPU_TYPE_SPU2) { in ahash_hmac_digest()
2507 struct spu_hw *spu = &iproc_priv.spu; in aead_need_fallback() local
2528 (spu->spu_type == SPU_TYPE_SPUM) && in aead_need_fallback()
2541 (spu->spu_subtype == SPU_SUBTYPE_SPUM_NSP) && in aead_need_fallback()
2562 if (spu->spu_type == SPU_TYPE_SPUM) in aead_need_fallback()
2722 struct spu_hw *spu = &iproc_priv.spu; in aead_authenc_setkey() local
2798 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_authenc_setkey()
2817 struct spu_hw *spu = &iproc_priv.spu; in aead_gcm_ccm_setkey() local
2866 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_gcm_ccm_setkey()
4147 struct spu_hw *spu = &iproc_priv.spu; in generic_cra_init() local
4157 ctx->max_payload = spu->spu_ctx_max_payload(ctx->cipher.alg, in generic_cra_init()
4289 struct spu_hw *spu = &iproc_priv.spu; in spu_functions_register() local
4293 spu->spu_dump_msg_hdr = spum_dump_msg_hdr; in spu_functions_register()
4294 spu->spu_payload_length = spum_payload_length; in spu_functions_register()
4295 spu->spu_response_hdr_len = spum_response_hdr_len; in spu_functions_register()
4296 spu->spu_hash_pad_len = spum_hash_pad_len; in spu_functions_register()
4297 spu->spu_gcm_ccm_pad_len = spum_gcm_ccm_pad_len; in spu_functions_register()
4298 spu->spu_assoc_resp_len = spum_assoc_resp_len; in spu_functions_register()
4299 spu->spu_aead_ivlen = spum_aead_ivlen; in spu_functions_register()
4300 spu->spu_hash_type = spum_hash_type; in spu_functions_register()
4301 spu->spu_digest_size = spum_digest_size; in spu_functions_register()
4302 spu->spu_create_request = spum_create_request; in spu_functions_register()
4303 spu->spu_cipher_req_init = spum_cipher_req_init; in spu_functions_register()
4304 spu->spu_cipher_req_finish = spum_cipher_req_finish; in spu_functions_register()
4305 spu->spu_request_pad = spum_request_pad; in spu_functions_register()
4306 spu->spu_tx_status_len = spum_tx_status_len; in spu_functions_register()
4307 spu->spu_rx_status_len = spum_rx_status_len; in spu_functions_register()
4308 spu->spu_status_process = spum_status_process; in spu_functions_register()
4309 spu->spu_xts_tweak_in_payload = spum_xts_tweak_in_payload; in spu_functions_register()
4310 spu->spu_ccm_update_iv = spum_ccm_update_iv; in spu_functions_register()
4311 spu->spu_wordalign_padlen = spum_wordalign_padlen; in spu_functions_register()
4313 spu->spu_ctx_max_payload = spum_ns2_ctx_max_payload; in spu_functions_register()
4315 spu->spu_ctx_max_payload = spum_nsp_ctx_max_payload; in spu_functions_register()
4318 spu->spu_dump_msg_hdr = spu2_dump_msg_hdr; in spu_functions_register()
4319 spu->spu_ctx_max_payload = spu2_ctx_max_payload; in spu_functions_register()
4320 spu->spu_payload_length = spu2_payload_length; in spu_functions_register()
4321 spu->spu_response_hdr_len = spu2_response_hdr_len; in spu_functions_register()
4322 spu->spu_hash_pad_len = spu2_hash_pad_len; in spu_functions_register()
4323 spu->spu_gcm_ccm_pad_len = spu2_gcm_ccm_pad_len; in spu_functions_register()
4324 spu->spu_assoc_resp_len = spu2_assoc_resp_len; in spu_functions_register()
4325 spu->spu_aead_ivlen = spu2_aead_ivlen; in spu_functions_register()
4326 spu->spu_hash_type = spu2_hash_type; in spu_functions_register()
4327 spu->spu_digest_size = spu2_digest_size; in spu_functions_register()
4328 spu->spu_create_request = spu2_create_request; in spu_functions_register()
4329 spu->spu_cipher_req_init = spu2_cipher_req_init; in spu_functions_register()
4330 spu->spu_cipher_req_finish = spu2_cipher_req_finish; in spu_functions_register()
4331 spu->spu_request_pad = spu2_request_pad; in spu_functions_register()
4332 spu->spu_tx_status_len = spu2_tx_status_len; in spu_functions_register()
4333 spu->spu_rx_status_len = spu2_rx_status_len; in spu_functions_register()
4334 spu->spu_status_process = spu2_status_process; in spu_functions_register()
4335 spu->spu_xts_tweak_in_payload = spu2_xts_tweak_in_payload; in spu_functions_register()
4336 spu->spu_ccm_update_iv = spu2_ccm_update_iv; in spu_functions_register()
4337 spu->spu_wordalign_padlen = spu2_wordalign_padlen; in spu_functions_register()
4354 iproc_priv.mbox = devm_kcalloc(dev, iproc_priv.spu.num_chan, in spu_mb_init()
4366 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4380 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4392 for (i = 0; i < iproc_priv.spu.num_chan; i++) in spu_mb_release()
4403 atomic_set(&iproc_priv.next_chan, (int)iproc_priv.spu.num_chan); in spu_counters_init()
4455 struct spu_hw *spu = &iproc_priv.spu; in spu_register_ahash() local
4462 (spu->spu_type == SPU_TYPE_SPUM)) in spu_register_ahash()
4467 (spu->spu_subtype != SPU_SUBTYPE_SPU2_V2)) in spu_register_ahash()
4636 struct spu_hw *spu = &iproc_priv.spu; in spu_dt_read() local
4643 spu->num_chan = of_count_phandle_with_args(dn, "mboxes", "#mbox-cells"); in spu_dt_read()
4651 spu->spu_type = matched_spu_type->type; in spu_dt_read()
4652 spu->spu_subtype = matched_spu_type->subtype; in spu_dt_read()
4657 spu->reg_vbase[i] = devm_ioremap_resource(dev, spu_ctrl_regs); in spu_dt_read()
4658 if (IS_ERR(spu->reg_vbase[i])) { in spu_dt_read()
4659 err = PTR_ERR(spu->reg_vbase[i]); in spu_dt_read()
4662 spu->reg_vbase[i] = NULL; in spu_dt_read()
4666 spu->num_spu = i; in spu_dt_read()
4667 dev_dbg(dev, "Device has %d SPUs", spu->num_spu); in spu_dt_read()
4675 struct spu_hw *spu = &iproc_priv.spu; in bcm_spu_probe() local
4690 if (spu->spu_type == SPU_TYPE_SPUM) in bcm_spu_probe()
4692 else if (spu->spu_type == SPU_TYPE_SPU2) in bcm_spu_probe()
4695 spu_functions_register(dev, spu->spu_type, spu->spu_subtype); in bcm_spu_probe()