Lines Matching refs:pd_uinfo

176 	dev->pdr_uinfo = kcalloc(PPC4XX_NUM_PD, sizeof(struct pd_uinfo),
199 struct pd_uinfo *pd_uinfo = &dev->pdr_uinfo[i];
205 pd_uinfo->sa_va = &dev->shadow_sa_pool[i].sa;
208 pd_uinfo->sr_va = &dev->shadow_sr_pool[i];
209 pd_uinfo->sr_pa = dev->shadow_sr_pool_pa +
254 struct pd_uinfo *pd_uinfo = &dev->pdr_uinfo[idx];
259 pd_uinfo->state = PD_ENTRY_FREE;
448 struct pd_uinfo *pd_uinfo,
452 unsigned int first_sd = pd_uinfo->first_sd;
464 last_sd = (first_sd + pd_uinfo->num_sd);
489 struct pd_uinfo *pd_uinfo,
495 memcpy(dst, pd_uinfo->sr_va->save_digest,
501 struct pd_uinfo *pd_uinfo)
504 if (pd_uinfo->num_gd) {
505 for (i = 0; i < pd_uinfo->num_gd; i++)
507 pd_uinfo->first_gd = 0xffffffff;
508 pd_uinfo->num_gd = 0;
510 if (pd_uinfo->num_sd) {
511 for (i = 0; i < pd_uinfo->num_sd; i++)
514 pd_uinfo->first_sd = 0xffffffff;
515 pd_uinfo->num_sd = 0;
520 struct pd_uinfo *pd_uinfo,
526 req = skcipher_request_cast(pd_uinfo->async_req);
528 if (pd_uinfo->sa_va->sa_command_0.bf.scatter) {
529 crypto4xx_copy_pkt_to_dst(dev, pd, pd_uinfo,
532 dst = pd_uinfo->dest_va;
537 if (pd_uinfo->sa_va->sa_command_0.bf.save_iv == SA_SAVE_IV) {
541 pd_uinfo->sr_va->save_iv,
545 crypto4xx_ret_sg_desc(dev, pd_uinfo);
547 if (pd_uinfo->state & PD_ENTRY_BUSY)
553 struct pd_uinfo *pd_uinfo)
558 ahash_req = ahash_request_cast(pd_uinfo->async_req);
561 crypto4xx_copy_digest_to_dst(ahash_req->result, pd_uinfo, ctx);
562 crypto4xx_ret_sg_desc(dev, pd_uinfo);
564 if (pd_uinfo->state & PD_ENTRY_BUSY)
570 struct pd_uinfo *pd_uinfo,
573 struct aead_request *aead_req = container_of(pd_uinfo->async_req,
575 struct scatterlist *dst = pd_uinfo->dest_va;
581 if (pd_uinfo->sa_va->sa_command_0.bf.scatter) {
582 crypto4xx_copy_pkt_to_dst(dev, pd, pd_uinfo,
590 if (pd_uinfo->sa_va->sa_command_0.bf.dir == DIR_OUTBOUND) {
592 crypto4xx_memcpy_from_le32(icv, pd_uinfo->sr_va->save_digest,
605 if (crypto_memneq(icv, pd_uinfo->sr_va->save_digest, cp_len))
609 crypto4xx_ret_sg_desc(dev, pd_uinfo);
627 if (pd_uinfo->state & PD_ENTRY_BUSY)
636 struct pd_uinfo *pd_uinfo = &dev->pdr_uinfo[idx];
638 switch (crypto_tfm_alg_type(pd_uinfo->async_req->tfm)) {
640 crypto4xx_cipher_done(dev, pd_uinfo, pd);
643 crypto4xx_aead_done(dev, pd_uinfo, pd);
646 crypto4xx_ahash_done(dev, pd_uinfo);
697 struct pd_uinfo *pd_uinfo;
810 pd_uinfo = &dev->pdr_uinfo[pd_entry];
811 pd_uinfo->num_gd = num_gd;
812 pd_uinfo->num_sd = num_sd;
813 pd_uinfo->dest_va = dst;
814 pd_uinfo->async_req = req;
817 memcpy(pd_uinfo->sr_va->save_iv, iv, iv_len);
819 sa = pd_uinfo->sa_va;
824 *(u32 *)((unsigned long)sa + offset_to_sr_ptr) = pd_uinfo->sr_pa;
832 pd_uinfo->first_gd = fst_gd;
868 pd_uinfo->first_gd = 0xffffffff;
875 pd_uinfo->first_sd = 0xffffffff;
888 pd_uinfo->first_sd = fst_sd;
922 pd_uinfo->state = PD_ENTRY_INUSE | (is_busy ? PD_ENTRY_BUSY : 0);
1077 struct pd_uinfo *pd_uinfo;
1083 pd_uinfo = &core_dev->dev->pdr_uinfo[tail];
1085 if ((pd_uinfo->state & PD_ENTRY_INUSE) &&