Lines Matching refs:spu

110 	return chan_idx % iproc_priv.spu.num_chan;  in select_channel()
139 struct spu_hw *spu = &iproc_priv.spu; in spu_skcipher_rx_sg_create() local
144 mssg->spu.dst = kmalloc_objs(struct scatterlist, rx_frag_num, rctx->gfp); 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 = kmalloc_objs(struct scatterlist, tx_frag_num, rctx->gfp); in spu_skcipher_tx_sg_create()
208 if (unlikely(!mssg->spu.src)) in spu_skcipher_tx_sg_create()
211 sg = mssg->spu.src; in spu_skcipher_tx_sg_create()
219 spu->spu_xts_tweak_in_payload()) in spu_skcipher_tx_sg_create()
234 stat_len = spu->spu_tx_status_len(); in spu_skcipher_tx_sg_create()
300 struct spu_hw *spu = &iproc_priv.spu; in handle_skcipher_req() local
400 spu->spu_cipher_req_finish(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_skcipher_req()
406 stat_pad_len = spu->spu_wordalign_padlen(chunksize); in handle_skcipher_req()
412 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, 0, in handle_skcipher_req()
417 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_skcipher_req()
435 spu->spu_xts_tweak_in_payload()) in handle_skcipher_req()
445 if (spu->spu_tx_status_len()) in handle_skcipher_req()
449 spu->spu_xts_tweak_in_payload()) in handle_skcipher_req()
471 struct spu_hw *spu = &iproc_priv.spu; in handle_skcipher_resp() local
478 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_skcipher_resp()
485 spu->spu_xts_tweak_in_payload() && in handle_skcipher_resp()
529 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_rx_sg_create() local
533 mssg->spu.dst = kmalloc_objs(struct scatterlist, rx_frag_num, rctx->gfp); in spu_ahash_rx_sg_create()
534 if (!mssg->spu.dst) in spu_ahash_rx_sg_create()
537 sg = mssg->spu.dst; in spu_ahash_rx_sg_create()
549 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_ahash_rx_sg_create()
582 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_tx_sg_create() local
587 mssg->spu.src = kmalloc_objs(struct scatterlist, tx_frag_num, rctx->gfp); in spu_ahash_tx_sg_create()
588 if (!mssg->spu.src) in spu_ahash_tx_sg_create()
591 sg = mssg->spu.src; in spu_ahash_tx_sg_create()
614 stat_len = spu->spu_tx_status_len(); in spu_ahash_tx_sg_create()
651 struct spu_hw *spu = &iproc_priv.spu; in handle_ahash_req() local
772 hash_parms.type = spu->spu_hash_type(rctx->total_sent); in handle_ahash_req()
774 digestsize = spu->spu_digest_size(ctx->digestsize, ctx->auth.alg, in handle_ahash_req()
784 hash_parms.pad_len = spu->spu_hash_pad_len(hash_parms.alg, in handle_ahash_req()
815 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_ahash_req()
830 data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, chunksize); in handle_ahash_req()
833 if (spu->spu_tx_status_len()) in handle_ahash_req()
834 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_ahash_req()
840 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, data_pad_len, in handle_ahash_req()
846 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_ahash_req()
869 if (spu->spu_tx_status_len()) in handle_ahash_req()
942 struct spu_hw *spu = &iproc_priv.spu; in ahash_req_done() local
950 if (spu->spu_type == SPU_TYPE_SPUM) { in ahash_req_done()
1046 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_rx_sg_create() local
1055 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1059 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1061 assoc_buf_len = spu->spu_assoc_resp_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1068 data_padlen += spu->spu_wordalign_padlen(assoc_buf_len + in spu_aead_rx_sg_create()
1076 mssg->spu.dst = kmalloc_objs(struct scatterlist, rx_frag_num, rctx->gfp); in spu_aead_rx_sg_create()
1077 if (!mssg->spu.dst) in spu_aead_rx_sg_create()
1080 sg = mssg->spu.dst; in spu_aead_rx_sg_create()
1125 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_aead_rx_sg_create()
1168 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_tx_sg_create() local
1177 mssg->spu.src = kmalloc_objs(struct scatterlist, tx_frag_num, rctx->gfp); in spu_aead_tx_sg_create()
1178 if (!mssg->spu.src) in spu_aead_tx_sg_create()
1181 sg = mssg->spu.src; in spu_aead_tx_sg_create()
1228 stat_len = spu->spu_tx_status_len(); in spu_aead_tx_sg_create()
1255 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_req() local
1348 if (spu->spu_assoc_resp_len(ctx->cipher.mode, in handle_aead_req()
1354 aead_parms.iv_len = spu->spu_aead_ivlen(ctx->cipher.mode, in handle_aead_req()
1361 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1365 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1373 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1383 spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1387 spu->spu_ccm_update_iv(digestsize, &cipher_parms, req->assoclen, in handle_aead_req()
1399 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1404 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1427 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_aead_req()
1437 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_aead_req()
1444 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, in handle_aead_req()
1450 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_aead_req()
1503 if (spu->spu_tx_status_len()) in handle_aead_req()
1525 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_resp() local
1535 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_aead_resp()
1588 kfree(mssg->spu.src); in spu_chunk_cleanup()
1589 kfree(mssg->spu.dst); in spu_chunk_cleanup()
1621 struct spu_hw *spu = &iproc_priv.spu; in spu_rx_callback() local
1635 err = spu->spu_status_process(rctx->msg_buf.rx_stat); in spu_rx_callback()
1816 struct spu_hw *spu = &iproc_priv.spu; in skcipher_setkey() local
1854 if (spu->spu_type == SPU_TYPE_SPUM) in skcipher_setkey()
1856 else if (spu->spu_type == SPU_TYPE_SPU2) in skcipher_setkey()
1872 spu->spu_cipher_req_init(ctx->bcm_spu_req_hdr + BCM_HDR_LEN, in skcipher_setkey()
1875 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in skcipher_setkey()
1924 (iproc_priv.spu.spu_type == SPU_TYPE_SPU2)) { in ahash_enqueue()
1955 struct spu_hw *spu = &iproc_priv.spu; in __ahash_init() local
1977 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, 0, in __ahash_init()
1998 struct spu_hw *spu = &iproc_priv.spu; in spu_no_incr_hash() local
2000 if (spu->spu_type == SPU_TYPE_SPU2) in spu_no_incr_hash()
2389 if (iproc_priv.spu.spu_type == SPU_TYPE_SPUM) { in ahash_hmac_setkey()
2477 if (iproc_priv.spu.spu_type == SPU_TYPE_SPU2) { in ahash_hmac_digest()
2505 struct spu_hw *spu = &iproc_priv.spu; in aead_need_fallback() local
2526 (spu->spu_type == SPU_TYPE_SPUM) && in aead_need_fallback()
2539 (spu->spu_subtype == SPU_SUBTYPE_SPUM_NSP) && in aead_need_fallback()
2560 if (spu->spu_type == SPU_TYPE_SPUM) in aead_need_fallback()
2720 struct spu_hw *spu = &iproc_priv.spu; in aead_authenc_setkey() local
2796 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_authenc_setkey()
2815 struct spu_hw *spu = &iproc_priv.spu; in aead_gcm_ccm_setkey() local
2864 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_gcm_ccm_setkey()
4088 struct spu_hw *spu = &iproc_priv.spu; in generic_cra_init() local
4098 ctx->max_payload = spu->spu_ctx_max_payload(ctx->cipher.alg, in generic_cra_init()
4230 struct spu_hw *spu = &iproc_priv.spu; in spu_functions_register() local
4234 spu->spu_dump_msg_hdr = spum_dump_msg_hdr; in spu_functions_register()
4235 spu->spu_payload_length = spum_payload_length; in spu_functions_register()
4236 spu->spu_response_hdr_len = spum_response_hdr_len; in spu_functions_register()
4237 spu->spu_hash_pad_len = spum_hash_pad_len; in spu_functions_register()
4238 spu->spu_gcm_ccm_pad_len = spum_gcm_ccm_pad_len; in spu_functions_register()
4239 spu->spu_assoc_resp_len = spum_assoc_resp_len; in spu_functions_register()
4240 spu->spu_aead_ivlen = spum_aead_ivlen; in spu_functions_register()
4241 spu->spu_hash_type = spum_hash_type; in spu_functions_register()
4242 spu->spu_digest_size = spum_digest_size; in spu_functions_register()
4243 spu->spu_create_request = spum_create_request; in spu_functions_register()
4244 spu->spu_cipher_req_init = spum_cipher_req_init; in spu_functions_register()
4245 spu->spu_cipher_req_finish = spum_cipher_req_finish; in spu_functions_register()
4246 spu->spu_request_pad = spum_request_pad; in spu_functions_register()
4247 spu->spu_tx_status_len = spum_tx_status_len; in spu_functions_register()
4248 spu->spu_rx_status_len = spum_rx_status_len; in spu_functions_register()
4249 spu->spu_status_process = spum_status_process; in spu_functions_register()
4250 spu->spu_xts_tweak_in_payload = spum_xts_tweak_in_payload; in spu_functions_register()
4251 spu->spu_ccm_update_iv = spum_ccm_update_iv; in spu_functions_register()
4252 spu->spu_wordalign_padlen = spum_wordalign_padlen; in spu_functions_register()
4254 spu->spu_ctx_max_payload = spum_ns2_ctx_max_payload; in spu_functions_register()
4256 spu->spu_ctx_max_payload = spum_nsp_ctx_max_payload; in spu_functions_register()
4259 spu->spu_dump_msg_hdr = spu2_dump_msg_hdr; in spu_functions_register()
4260 spu->spu_ctx_max_payload = spu2_ctx_max_payload; in spu_functions_register()
4261 spu->spu_payload_length = spu2_payload_length; in spu_functions_register()
4262 spu->spu_response_hdr_len = spu2_response_hdr_len; in spu_functions_register()
4263 spu->spu_hash_pad_len = spu2_hash_pad_len; in spu_functions_register()
4264 spu->spu_gcm_ccm_pad_len = spu2_gcm_ccm_pad_len; in spu_functions_register()
4265 spu->spu_assoc_resp_len = spu2_assoc_resp_len; in spu_functions_register()
4266 spu->spu_aead_ivlen = spu2_aead_ivlen; in spu_functions_register()
4267 spu->spu_hash_type = spu2_hash_type; in spu_functions_register()
4268 spu->spu_digest_size = spu2_digest_size; in spu_functions_register()
4269 spu->spu_create_request = spu2_create_request; in spu_functions_register()
4270 spu->spu_cipher_req_init = spu2_cipher_req_init; in spu_functions_register()
4271 spu->spu_cipher_req_finish = spu2_cipher_req_finish; in spu_functions_register()
4272 spu->spu_request_pad = spu2_request_pad; in spu_functions_register()
4273 spu->spu_tx_status_len = spu2_tx_status_len; in spu_functions_register()
4274 spu->spu_rx_status_len = spu2_rx_status_len; in spu_functions_register()
4275 spu->spu_status_process = spu2_status_process; in spu_functions_register()
4276 spu->spu_xts_tweak_in_payload = spu2_xts_tweak_in_payload; in spu_functions_register()
4277 spu->spu_ccm_update_iv = spu2_ccm_update_iv; in spu_functions_register()
4278 spu->spu_wordalign_padlen = spu2_wordalign_padlen; in spu_functions_register()
4295 iproc_priv.mbox = devm_kcalloc(dev, iproc_priv.spu.num_chan, in spu_mb_init()
4307 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4321 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4333 for (i = 0; i < iproc_priv.spu.num_chan; i++) in spu_mb_release()
4344 atomic_set(&iproc_priv.next_chan, (int)iproc_priv.spu.num_chan); in spu_counters_init()
4396 struct spu_hw *spu = &iproc_priv.spu; in spu_register_ahash() local
4403 (spu->spu_type == SPU_TYPE_SPUM)) in spu_register_ahash()
4408 (spu->spu_subtype != SPU_SUBTYPE_SPU2_V2)) in spu_register_ahash()
4577 struct spu_hw *spu = &iproc_priv.spu; in spu_dt_read() local
4584 spu->num_chan = of_count_phandle_with_args(dn, "mboxes", "#mbox-cells"); in spu_dt_read()
4592 spu->spu_type = matched_spu_type->type; in spu_dt_read()
4593 spu->spu_subtype = matched_spu_type->subtype; in spu_dt_read()
4598 spu->reg_vbase[i] = devm_ioremap_resource(dev, spu_ctrl_regs); in spu_dt_read()
4599 if (IS_ERR(spu->reg_vbase[i])) { in spu_dt_read()
4600 err = PTR_ERR(spu->reg_vbase[i]); in spu_dt_read()
4603 spu->reg_vbase[i] = NULL; in spu_dt_read()
4607 spu->num_spu = i; in spu_dt_read()
4608 dev_dbg(dev, "Device has %d SPUs", spu->num_spu); in spu_dt_read()
4616 struct spu_hw *spu = &iproc_priv.spu; in bcm_spu_probe() local
4631 if (spu->spu_type == SPU_TYPE_SPUM) in bcm_spu_probe()
4633 else if (spu->spu_type == SPU_TYPE_SPU2) in bcm_spu_probe()
4636 spu_functions_register(dev, spu->spu_type, spu->spu_subtype); in bcm_spu_probe()