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_array(rx_frag_num, sizeof(struct scatterlist), in spu_skcipher_rx_sg_create()
146 if (!mssg->spu.dst) in spu_skcipher_rx_sg_create()
149 sg = mssg->spu.dst; in spu_skcipher_rx_sg_create()
156 spu->spu_xts_tweak_in_payload()) in spu_skcipher_rx_sg_create()
173 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_skcipher_rx_sg_create()
202 struct spu_hw *spu = &iproc_priv.spu; in spu_skcipher_tx_sg_create() local
208 mssg->spu.src = kmalloc_array(tx_frag_num, sizeof(struct scatterlist), in spu_skcipher_tx_sg_create()
210 if (unlikely(!mssg->spu.src)) in spu_skcipher_tx_sg_create()
213 sg = mssg->spu.src; in spu_skcipher_tx_sg_create()
221 spu->spu_xts_tweak_in_payload()) in spu_skcipher_tx_sg_create()
236 stat_len = spu->spu_tx_status_len(); in spu_skcipher_tx_sg_create()
302 struct spu_hw *spu = &iproc_priv.spu; in handle_skcipher_req() local
402 spu->spu_cipher_req_finish(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_skcipher_req()
408 stat_pad_len = spu->spu_wordalign_padlen(chunksize); in handle_skcipher_req()
414 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, 0, in handle_skcipher_req()
419 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_skcipher_req()
437 spu->spu_xts_tweak_in_payload()) in handle_skcipher_req()
447 if (spu->spu_tx_status_len()) in handle_skcipher_req()
451 spu->spu_xts_tweak_in_payload()) in handle_skcipher_req()
473 struct spu_hw *spu = &iproc_priv.spu; in handle_skcipher_resp() local
480 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_skcipher_resp()
487 spu->spu_xts_tweak_in_payload() && in handle_skcipher_resp()
531 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_rx_sg_create() local
535 mssg->spu.dst = kmalloc_array(rx_frag_num, sizeof(struct scatterlist), in spu_ahash_rx_sg_create()
537 if (!mssg->spu.dst) in spu_ahash_rx_sg_create()
540 sg = mssg->spu.dst; in spu_ahash_rx_sg_create()
552 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_ahash_rx_sg_create()
585 struct spu_hw *spu = &iproc_priv.spu; in spu_ahash_tx_sg_create() local
590 mssg->spu.src = kmalloc_array(tx_frag_num, sizeof(struct scatterlist), in spu_ahash_tx_sg_create()
592 if (!mssg->spu.src) in spu_ahash_tx_sg_create()
595 sg = mssg->spu.src; in spu_ahash_tx_sg_create()
618 stat_len = spu->spu_tx_status_len(); in spu_ahash_tx_sg_create()
655 struct spu_hw *spu = &iproc_priv.spu; in handle_ahash_req() local
776 hash_parms.type = spu->spu_hash_type(rctx->total_sent); in handle_ahash_req()
778 digestsize = spu->spu_digest_size(ctx->digestsize, ctx->auth.alg, in handle_ahash_req()
788 hash_parms.pad_len = spu->spu_hash_pad_len(hash_parms.alg, in handle_ahash_req()
819 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_ahash_req()
834 data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, chunksize); in handle_ahash_req()
837 if (spu->spu_tx_status_len()) in handle_ahash_req()
838 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_ahash_req()
844 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, data_pad_len, in handle_ahash_req()
850 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_ahash_req()
873 if (spu->spu_tx_status_len()) in handle_ahash_req()
946 struct spu_hw *spu = &iproc_priv.spu; in ahash_req_done() local
954 if (spu->spu_type == SPU_TYPE_SPUM) { in ahash_req_done()
1050 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_rx_sg_create() local
1059 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1063 data_padlen = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1065 assoc_buf_len = spu->spu_assoc_resp_len(ctx->cipher.mode, in spu_aead_rx_sg_create()
1072 data_padlen += spu->spu_wordalign_padlen(assoc_buf_len + in spu_aead_rx_sg_create()
1080 mssg->spu.dst = kmalloc_array(rx_frag_num, sizeof(struct scatterlist), in spu_aead_rx_sg_create()
1082 if (!mssg->spu.dst) in spu_aead_rx_sg_create()
1085 sg = mssg->spu.dst; in spu_aead_rx_sg_create()
1130 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_aead_rx_sg_create()
1173 struct spu_hw *spu = &iproc_priv.spu; in spu_aead_tx_sg_create() local
1182 mssg->spu.src = kmalloc_array(tx_frag_num, sizeof(struct scatterlist), in spu_aead_tx_sg_create()
1184 if (!mssg->spu.src) in spu_aead_tx_sg_create()
1187 sg = mssg->spu.src; in spu_aead_tx_sg_create()
1234 stat_len = spu->spu_tx_status_len(); in spu_aead_tx_sg_create()
1261 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_req() local
1354 if (spu->spu_assoc_resp_len(ctx->cipher.mode, in handle_aead_req()
1360 aead_parms.iv_len = spu->spu_aead_ivlen(ctx->cipher.mode, in handle_aead_req()
1367 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1371 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1379 aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1389 spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, in handle_aead_req()
1393 spu->spu_ccm_update_iv(digestsize, &cipher_parms, req->assoclen, in handle_aead_req()
1405 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1410 aead_parms.data_pad_len = spu->spu_gcm_ccm_pad_len( in handle_aead_req()
1433 spu_hdr_len = spu->spu_create_request(rctx->msg_buf.bcm_spu_req_hdr + in handle_aead_req()
1443 stat_pad_len = spu->spu_wordalign_padlen(db_size); in handle_aead_req()
1450 spu->spu_request_pad(rctx->msg_buf.spu_req_pad, in handle_aead_req()
1456 spu->spu_dump_msg_hdr(rctx->msg_buf.bcm_spu_req_hdr + BCM_HDR_LEN, in handle_aead_req()
1509 if (spu->spu_tx_status_len()) in handle_aead_req()
1531 struct spu_hw *spu = &iproc_priv.spu; in handle_aead_resp() local
1541 payload_len = spu->spu_payload_length(rctx->msg_buf.spu_resp_hdr); in handle_aead_resp()
1594 kfree(mssg->spu.src); in spu_chunk_cleanup()
1595 kfree(mssg->spu.dst); in spu_chunk_cleanup()
1627 struct spu_hw *spu = &iproc_priv.spu; in spu_rx_callback() local
1641 err = spu->spu_status_process(rctx->msg_buf.rx_stat); in spu_rx_callback()
1822 struct spu_hw *spu = &iproc_priv.spu; in skcipher_setkey() local
1860 if (spu->spu_type == SPU_TYPE_SPUM) in skcipher_setkey()
1862 else if (spu->spu_type == SPU_TYPE_SPU2) in skcipher_setkey()
1878 spu->spu_cipher_req_init(ctx->bcm_spu_req_hdr + BCM_HDR_LEN, in skcipher_setkey()
1881 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in skcipher_setkey()
1930 (iproc_priv.spu.spu_type == SPU_TYPE_SPU2)) { in ahash_enqueue()
1961 struct spu_hw *spu = &iproc_priv.spu; in __ahash_init() local
1983 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, 0, in __ahash_init()
2004 struct spu_hw *spu = &iproc_priv.spu; in spu_no_incr_hash() local
2006 if (spu->spu_type == SPU_TYPE_SPU2) in spu_no_incr_hash()
2395 if (iproc_priv.spu.spu_type == SPU_TYPE_SPUM) { in ahash_hmac_setkey()
2483 if (iproc_priv.spu.spu_type == SPU_TYPE_SPU2) { in ahash_hmac_digest()
2511 struct spu_hw *spu = &iproc_priv.spu; in aead_need_fallback() local
2532 (spu->spu_type == SPU_TYPE_SPUM) && in aead_need_fallback()
2545 (spu->spu_subtype == SPU_SUBTYPE_SPUM_NSP) && in aead_need_fallback()
2566 if (spu->spu_type == SPU_TYPE_SPUM) in aead_need_fallback()
2726 struct spu_hw *spu = &iproc_priv.spu; in aead_authenc_setkey() local
2802 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_authenc_setkey()
2821 struct spu_hw *spu = &iproc_priv.spu; in aead_gcm_ccm_setkey() local
2870 ctx->spu_resp_hdr_len = spu->spu_response_hdr_len(ctx->authkeylen, in aead_gcm_ccm_setkey()
4094 struct spu_hw *spu = &iproc_priv.spu; in generic_cra_init() local
4104 ctx->max_payload = spu->spu_ctx_max_payload(ctx->cipher.alg, in generic_cra_init()
4236 struct spu_hw *spu = &iproc_priv.spu; in spu_functions_register() local
4240 spu->spu_dump_msg_hdr = spum_dump_msg_hdr; in spu_functions_register()
4241 spu->spu_payload_length = spum_payload_length; in spu_functions_register()
4242 spu->spu_response_hdr_len = spum_response_hdr_len; in spu_functions_register()
4243 spu->spu_hash_pad_len = spum_hash_pad_len; in spu_functions_register()
4244 spu->spu_gcm_ccm_pad_len = spum_gcm_ccm_pad_len; in spu_functions_register()
4245 spu->spu_assoc_resp_len = spum_assoc_resp_len; in spu_functions_register()
4246 spu->spu_aead_ivlen = spum_aead_ivlen; in spu_functions_register()
4247 spu->spu_hash_type = spum_hash_type; in spu_functions_register()
4248 spu->spu_digest_size = spum_digest_size; in spu_functions_register()
4249 spu->spu_create_request = spum_create_request; in spu_functions_register()
4250 spu->spu_cipher_req_init = spum_cipher_req_init; in spu_functions_register()
4251 spu->spu_cipher_req_finish = spum_cipher_req_finish; in spu_functions_register()
4252 spu->spu_request_pad = spum_request_pad; in spu_functions_register()
4253 spu->spu_tx_status_len = spum_tx_status_len; in spu_functions_register()
4254 spu->spu_rx_status_len = spum_rx_status_len; in spu_functions_register()
4255 spu->spu_status_process = spum_status_process; in spu_functions_register()
4256 spu->spu_xts_tweak_in_payload = spum_xts_tweak_in_payload; in spu_functions_register()
4257 spu->spu_ccm_update_iv = spum_ccm_update_iv; in spu_functions_register()
4258 spu->spu_wordalign_padlen = spum_wordalign_padlen; in spu_functions_register()
4260 spu->spu_ctx_max_payload = spum_ns2_ctx_max_payload; in spu_functions_register()
4262 spu->spu_ctx_max_payload = spum_nsp_ctx_max_payload; in spu_functions_register()
4265 spu->spu_dump_msg_hdr = spu2_dump_msg_hdr; in spu_functions_register()
4266 spu->spu_ctx_max_payload = spu2_ctx_max_payload; in spu_functions_register()
4267 spu->spu_payload_length = spu2_payload_length; in spu_functions_register()
4268 spu->spu_response_hdr_len = spu2_response_hdr_len; in spu_functions_register()
4269 spu->spu_hash_pad_len = spu2_hash_pad_len; in spu_functions_register()
4270 spu->spu_gcm_ccm_pad_len = spu2_gcm_ccm_pad_len; in spu_functions_register()
4271 spu->spu_assoc_resp_len = spu2_assoc_resp_len; in spu_functions_register()
4272 spu->spu_aead_ivlen = spu2_aead_ivlen; in spu_functions_register()
4273 spu->spu_hash_type = spu2_hash_type; in spu_functions_register()
4274 spu->spu_digest_size = spu2_digest_size; in spu_functions_register()
4275 spu->spu_create_request = spu2_create_request; in spu_functions_register()
4276 spu->spu_cipher_req_init = spu2_cipher_req_init; in spu_functions_register()
4277 spu->spu_cipher_req_finish = spu2_cipher_req_finish; in spu_functions_register()
4278 spu->spu_request_pad = spu2_request_pad; in spu_functions_register()
4279 spu->spu_tx_status_len = spu2_tx_status_len; in spu_functions_register()
4280 spu->spu_rx_status_len = spu2_rx_status_len; in spu_functions_register()
4281 spu->spu_status_process = spu2_status_process; in spu_functions_register()
4282 spu->spu_xts_tweak_in_payload = spu2_xts_tweak_in_payload; in spu_functions_register()
4283 spu->spu_ccm_update_iv = spu2_ccm_update_iv; in spu_functions_register()
4284 spu->spu_wordalign_padlen = spu2_wordalign_padlen; in spu_functions_register()
4301 iproc_priv.mbox = devm_kcalloc(dev, iproc_priv.spu.num_chan, in spu_mb_init()
4313 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4327 for (i = 0; i < iproc_priv.spu.num_chan; i++) { in spu_mb_init()
4339 for (i = 0; i < iproc_priv.spu.num_chan; i++) in spu_mb_release()
4350 atomic_set(&iproc_priv.next_chan, (int)iproc_priv.spu.num_chan); in spu_counters_init()
4402 struct spu_hw *spu = &iproc_priv.spu; in spu_register_ahash() local
4409 (spu->spu_type == SPU_TYPE_SPUM)) in spu_register_ahash()
4414 (spu->spu_subtype != SPU_SUBTYPE_SPU2_V2)) in spu_register_ahash()
4583 struct spu_hw *spu = &iproc_priv.spu; in spu_dt_read() local
4590 spu->num_chan = of_count_phandle_with_args(dn, "mboxes", "#mbox-cells"); in spu_dt_read()
4598 spu->spu_type = matched_spu_type->type; in spu_dt_read()
4599 spu->spu_subtype = matched_spu_type->subtype; in spu_dt_read()
4604 spu->reg_vbase[i] = devm_ioremap_resource(dev, spu_ctrl_regs); in spu_dt_read()
4605 if (IS_ERR(spu->reg_vbase[i])) { in spu_dt_read()
4606 err = PTR_ERR(spu->reg_vbase[i]); in spu_dt_read()
4609 spu->reg_vbase[i] = NULL; in spu_dt_read()
4613 spu->num_spu = i; in spu_dt_read()
4614 dev_dbg(dev, "Device has %d SPUs", spu->num_spu); in spu_dt_read()
4622 struct spu_hw *spu = &iproc_priv.spu; in bcm_spu_probe() local
4637 if (spu->spu_type == SPU_TYPE_SPUM) in bcm_spu_probe()
4639 else if (spu->spu_type == SPU_TYPE_SPU2) in bcm_spu_probe()
4642 spu_functions_register(dev, spu->spu_type, spu->spu_subtype); in bcm_spu_probe()