> > -uint16_t
> > -cn10k_cpt_crypto_adapter_enqueue(uintptr_t tag_op, struct rte_crypto_op
> > *op)
> > +static int
> > +cn10k_cpt_crypto_adapter_ev_mdata_set(struct rte_cryptodev *dev
> > __rte_unused,
> > +                                 void *sess,
> > +                                 enum rte_crypto_op_type op_type,
> > +                                 enum rte_crypto_op_sess_type sess_type,
> > +                                 void *mdata)
> >  {
> > -   union rte_event_crypto_metadata *ec_mdata;
> > -   struct cpt_inflight_req *infl_req;
> > +   union rte_event_crypto_metadata *ec_mdata = mdata;
> >     struct rte_event *rsp_info;
> > -   uint64_t lmt_base, lmt_arg;
> > -   struct cpt_inst_s *inst;
> >     struct cnxk_cpt_qp *qp;
> >     uint8_t cdev_id;
> > -   uint16_t lmt_id;
> > -   uint16_t qp_id;
> > -   int ret;
> > -
> > -   ec_mdata = cnxk_event_crypto_mdata_get(op);
> > -   if (!ec_mdata) {
> > -           rte_errno = EINVAL;
> > -           return 0;
> > -   }
> > +   int16_t qp_id;
> > +   uint64_t w2;
> >
> > +   /* Get queue pair */
> >     cdev_id = ec_mdata->request_info.cdev_id;
> >     qp_id = ec_mdata->request_info.queue_pair_id;
> >     qp = rte_cryptodevs[cdev_id].data->queue_pairs[qp_id];
> > +
> > +   /* Prepare w2 */
> >     rsp_info = &ec_mdata->response_info;
> > +   w2 = CNXK_CPT_INST_W2(
> > +           (RTE_EVENT_TYPE_CRYPTODEV << 28) | rsp_info->flow_id,
> > +           rsp_info->sched_type, rsp_info->queue_id, 0);
> > +
> > +   /* Set meta according to session type */
> > +   if (op_type == RTE_CRYPTO_OP_TYPE_SYMMETRIC) {
> > +           if (sess_type == RTE_CRYPTO_OP_SECURITY_SESSION) {
> > +                   struct cn10k_sec_session *priv;
> > +                   struct cn10k_ipsec_sa *sa;
> > +
> > +                   priv = get_sec_session_private_data(sess);
> > +                   sa = &priv->sa;
> > +                   sa->qp = qp;
> > +                   sa->inst.w2 = w2;
> > +           } else if (sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
> > +                   struct cnxk_se_sess *priv;
> > +
> > +                   priv = get_sym_session_private_data(
> > +                           sess, cn10k_cryptodev_driver_id);
> > +                   priv->qp = qp;
> > +                   priv->cpt_inst_w2 = w2;
> > +           } else
> cnXX_ca_meta_info_extract() supports SESSIONLESS case. But no support here.
> Is this expected?

This function is for setting the event metadata in session, but in case of 
sessionless
there are no sessions, so event metadata is extracted in a different way.
Hence this is correct.


Reply via email to